diff --git a/asdf.lisp b/asdf.lisp
index 301fa401348ca895c156a3d570691b0c0dee76ad..8f1226384ddfea6661551c5f90482a8f8b33dbf8 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -70,7 +70,7 @@
 
 (eval-when (:load-toplevel :compile-toplevel :execute)
   (let* ((asdf-version ;; the 1+ helps the version bumping script discriminate
-          (subseq "VERSION:2.116" (1+ (length "VERSION"))))
+          (subseq "VERSION:2.117" (1+ (length "VERSION"))))
          (existing-asdf (find-package :asdf))
          (vername '#:*asdf-version*)
          (versym (and existing-asdf
@@ -753,8 +753,10 @@ actually-existing directory."
   "when given a pathname P, probes the filesystem for a file or directory
 with given pathname and if it exists return its truename."
   (and (pathnamep p) (not (wild-pathname-p p))
+       #+(or allegro clozure cmu ecl sbcl scl) (probe-file p)
        #+clisp (ext:probe-pathname p)
-       #-clisp (probe-file p)))
+       #-(or allegro clisp clozure cmu ecl sbcl scl)
+       (ignore-errors (truename p))))
 
 (defun* truenamize (p)
   "Resolve as much of a pathname as possible"
diff --git a/test/run-tests.sh b/test/run-tests.sh
index ccac29eed13d8b7dc5aa5229d8d011f7d9f98df5..ec906f8367a8c08f2a17c3aa0c74785090f82776 100755
--- a/test/run-tests.sh
+++ b/test/run-tests.sh
@@ -41,11 +41,12 @@ if [ x"$1" = "xhelp" ]; then
     usage
     exit 1
 fi
+lisp=$1 ; shift
 
-if [ -z "$2" ]; then
+if [ -z "$*" ]; then
     scripts="*.script"
 else
-    scripts="$2"
+    scripts="$*"
 fi
 
 sok=1
@@ -98,7 +99,6 @@ do_tests() {
 # terminate on error
 set -e
 
-lisp=$1
 if [ -z $1 ] ; then
     lisp="sbcl"
 fi
diff --git a/test/test-configuration.script b/test/test-configuration.script
index 9b6406cf3e5cc99908d05057b5c12ec49406e44e..a0ec2a8897d9f0777f7e87d8dd6e63e8182f003b 100644
--- a/test/test-configuration.script
+++ b/test/test-configuration.script
@@ -25,7 +25,7 @@
                            :direction :output
                            :if-exists :supersede)
         (with-standard-io-syntax
-          (format out "~{~S~}" contents))))))
+          (format out "~{~S~%~}" contents))))))
 
 (defparameter *test-asd-directories*
   (loop
@@ -69,6 +69,9 @@
 
 (create-asd-files)
 (create-conf-files)
+
+#+abcl (trace directory)
+
 (initialize-source-registry
  `(:source-registry (:include ,(under-test-directory "conf.d/"))
                     :ignore-inherited-configuration))
diff --git a/wild-modules.lisp b/wild-modules.lisp
index 7a8267d071c6781b9b0405ba37e5555f1b424bf4..033479b5ba01be9f2295a1b91ee3de0bd3d248cc 100644
--- a/wild-modules.lisp
+++ b/wild-modules.lisp
@@ -12,27 +12,22 @@
 use a wild pathname instead." module)))
 
 (defmethod reinitialize-instance :after ((self wild-module) &key)
-  (let ((pathname (slot-value self 'relative-pathname)))
-    (and pathname
-         (not (wild-pathname-p pathname))
-         (sysdef-error "Wild-module ~A specified with non-wild pathname ~A."
-                       self pathname))
+  (let ((pathname (component-pathname self)))
+    (unless (and pathname (wild-pathname-p pathname))
+      (sysdef-error "Wild-module ~A specified with non-wild pathname ~A."
+                    self pathname))
     (setf (slot-value self 'components)
-          (let* ((*default-pathname-defaults* (component-parent-pathname self))
-                 (files (directory (merge-pathnames (component-relative-pathname self))))
+          (let* ((files (directory pathname))
                  (class (wild-module-component-class self))
                  (options (wild-module-component-options self)))
             (mapcar (lambda (file)
                       (apply #'make-instance class
-                             :name (file-namestring file)
-                                        ;; XXX fails when wildcards are in
-                                        ;; the directory or higher parts.
+                             :name (namestring file)
                              :pathname file
                              :parent self
                              options))
-                    files)))))
+                    files)))
+    (compute-module-components-by-name self)
+    (values)))
 
-;; Don't export wild-module or else will get a full warning
-;; when (require :asdf) if asdf is already loaded
-
-;;(export '(wild-module))
+(export 'wild-module)