diff --git a/action.lisp b/action.lisp
index c7d9d2811f75cf612b0bd30c7f267c10eecbfcd1..4d194cec64f8bbd3f7e8e69710423b56cee23ecb 100644
--- a/action.lisp
+++ b/action.lisp
@@ -6,7 +6,6 @@
   (:recycle :asdf/action :asdf)
   (:use :asdf/common-lisp :asdf/driver :asdf/upgrade
    :asdf/component :asdf/system #:asdf/cache :asdf/find-system :asdf/find-component :asdf/operation)
-  (:intern #:stamp #:done-p)
   (:export
    #:action #:define-convenience-action-methods
    #:explain #:action-description
@@ -17,7 +16,7 @@
    #:component-operation-time #:mark-operation-done #:compute-action-stamp
    #:perform #:perform-with-restarts #:retry #:accept #:feature
    #:traverse-actions #:traverse-sub-actions #:required-components ;; in plan
-   #:action-path #:find-action))
+   #:action-path #:find-action #:stamp #:done-p))
 (in-package :asdf/action)
 
 (deftype action () '(cons operation component)) ;; a step to be performed while building the system
diff --git a/asdf.asd b/asdf.asd
index 31277183bb03d0aa5199989310a12b1ded0bf925..8ce533878d5989426c8b8797bf7d35175b0783a1 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -66,7 +66,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.26.171" ;; to be automatically updated by make bump-version
+  :version "2.26.172" ;; to be automatically updated by make bump-version
   :depends-on ()
   #+asdf3 :encoding #+asdf3 :utf-8
   ;; For most purposes, asdf itself specially counts as a builtin system.
diff --git a/common-lisp.lisp b/common-lisp.lisp
index 007c83f667681e7d912e12fed76430e7c288217b..72f1d24485db0964ea2a037eb586f167b1158ba9 100644
--- a/common-lisp.lisp
+++ b/common-lisp.lisp
@@ -150,19 +150,20 @@
       (labels ((emit (start end)
                  (when (and (zerop start) (= end length))
                    (return-from remove-substrings string))
-                 (unless stream (setf stream (make-string-output-stream)))
-                 (write-string string stream :start start :end end))
+                 (when (< start end)
+                   (unless stream (setf stream (make-string-output-stream)))
+                   (write-string string stream :start start :end end)))
                (recurse (substrings start end)
                  (cond
-                   ((= start end))
+                   ((>= start end))
                    ((null substrings) (emit start end))
                    (t (let* ((sub (first substrings))
-                             (found (search sub string))
+                             (found (search sub string :start2 start :end2 end))
                              (more (rest substrings)))
                         (cond
                           (found
                            (recurse more start found)
-                           (recurse more (+ found (length sub)) end))
+                           (recurse substrings (+ found (length sub)) end))
                           (t
                            (recurse more start end))))))))
         (recurse substrings 0 length))
diff --git a/filesystem.lisp b/filesystem.lisp
index 76e6239a7476196b62a3a85caf8c5b08763d3ed0..95a4ba2721296add739507e73d665a621f7a4749 100644
--- a/filesystem.lisp
+++ b/filesystem.lisp
@@ -91,7 +91,8 @@ or the original (parsed) pathname if it is false (the default)."
             #-(or allegro clisp gcl2.6)
             (if truename
                 (probe-file p)
-                (and (ignore-errors
+                (and (not (wild-pathname-p p))
+                     (ignore-errors
                       (let ((pp (translate-logical-pathname p)))
                         #+(or cmu scl) (unix:unix-stat (ext:unix-namestring pp))
                         #+(and lispworks unix) (system:get-file-stat pp)
diff --git a/header.lisp b/header.lisp
index 0f500de5f6731605df701f11b5d761af90c28cd6..90c87f3334d5f13df33a19f9c450f05ed79611ef 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.26.171: Another System Definition Facility.
+;;; This is ASDF 2.26.172: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/package.lisp b/package.lisp
index 3b39ac2947b4ef02231b8a6babc894f3b13616c1..a16e38e35a6a57235520b2f620098eb88667fb82 100644
--- a/package.lisp
+++ b/package.lisp
@@ -393,7 +393,7 @@ or when loading the package is optional."
     (check-type symbol symbol)
     (check-type to-package package)
     (check-type from-package package)
-    (check-type mixp boolean)
+    (check-type mixp (member nil t)) ; no cl:boolean on Genera
     (check-type shadowed hash-table)
     (check-type imported hash-table)
     (check-type inherited hash-table)
@@ -482,7 +482,7 @@ or when loading the package is optional."
   (defun ensure-symbol (name package intern recycle shadowed imported inherited exported)
     (check-type name string)
     (check-type package package)
-    (check-type intern boolean)
+    (check-type intern (member nil t)) ; no cl:boolean on Genera
     (check-type shadowed hash-table)
     (check-type imported hash-table)
     (check-type inherited hash-table)
diff --git a/plan.lisp b/plan.lisp
index 59dfabf029b69d0f108882ed291080041b620040..d21cf25c6116018ce1e13045e51c294eb24d3018 100644
--- a/plan.lisp
+++ b/plan.lisp
@@ -64,9 +64,9 @@ the action of OPERATION on COMPONENT in the PLAN"))
   (:documentation "Status of an action in a plan"))
 
 (defmethod print-object ((status planned-action-status) stream)
-  (print-unreadable-object (status stream :type t)
-    (with-slots (stamp done-p planned-p) status
-      (format stream "~@{~S~^ ~}" :stamp stamp :done-p done-p :planned-p planned-p))))
+  (print-unreadable-object (status stream :type t :identity nil)
+    (with-slots (stamp done-p planned-p index) status
+      (format stream "~@{~S~^ ~}" :stamp stamp :done-p done-p :planned-p planned-p :index index))))
 
 (defmethod action-planned-p (action-status)
   (declare (ignorable action-status)) ; default method for non planned-action-status objects
diff --git a/upgrade.lisp b/upgrade.lisp
index 76793634b5070abbe7b5af9d2cb46492acb0fc25..94c4458bb0fa52d5cb1bb4f2803e27b43a54f053 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -51,7 +51,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
          ;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
          ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
          ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
-         (asdf-version "2.26.171")
+         (asdf-version "2.26.172")
          (existing-version (asdf-version)))
     (setf *asdf-version* asdf-version)
     (when (and existing-version (not (equal asdf-version existing-version)))
diff --git a/version.lisp-expr b/version.lisp-expr
index c8ff516594fe25b0f46e02aceb25c5325d22857d..ee7ae3cfaf4ab310346314b86b841fa468e9c88e 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1 +1 @@
-"2.26.171"
+"2.26.172"