diff --git a/Makefile b/Makefile
index 14164e8dc82b38277ca7d18772f793668abd48c3..b50448c34760407190145245017c9784224ddce6 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,12 @@ webhome_public	:= "http://common-lisp.net/project/asdf/"
 clnet_home      := "/project/asdf/public_html/"
 sourceDirectory := $(shell pwd)
 
+ifdef ASDF_TEST_LISPS
+lisps ?= ${ASDF_TEST_LISPS}
+else
 lisps ?= ccl clisp sbcl ecl cmucl abcl scl allegro
+endif
+
 ## MINOR FAIL: ecl-bytecodes (failure in test-compile-file-failure.script)
 ## MINOR FAIL: xcl (logical pathname issue in asdf-pathname-test.script)
 ## OCCASIONALLY TESTED BY NOT ME: allegromodern (not in my free demo version)
diff --git a/asdf.asd b/asdf.asd
index 0666e9d7bb03ab9a563a732a67952f4017ce6ce8..77655112cfe1d61fbb10fbddb611832f4023c147 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -14,7 +14,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.017.22" ;; to be automatically updated by bin/bump-revision
+  :version "2.017.24" ;; to be automatically updated by bin/bump-revision
   :depends-on ()
   :components
   ((:file "asdf")
diff --git a/asdf.lisp b/asdf.lisp
index 6a24cc0b64b05263d51a34bb791bda5955b474a2..a8a5daf46a8e839d771be8e9871fbb3dd21592a1 100755
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.017.22: Another System Definition Facility.
+;;; This is ASDF 2.017.24: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
@@ -110,7 +110,7 @@
          ;; "2.345.6" would be a development version in the official upstream
          ;; "2.345.0.7" would be your seventh local modification of official release 2.345
          ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
-         (asdf-version "2.017.22")
+         (asdf-version "2.017.24")
          (existing-asdf (find-class 'component nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version)))
@@ -2368,9 +2368,9 @@ recursive calls to traverse.")
         (*compile-file-failure-behaviour* (operation-on-failure operation)))
     (multiple-value-bind (output warnings-p failure-p)
         (call-with-around-compile-hook
-         c (lambda ()
-             (apply *compile-op-compile-file-function* source-file
-                    :output-file output-file (compile-op-flags operation))))
+         c #'(lambda ()
+               (apply *compile-op-compile-file-function* source-file
+                      :output-file output-file (compile-op-flags operation))))
       (unless output
         (error 'compile-error :component c :operation operation))
       (when failure-p
@@ -2476,7 +2476,7 @@ recursive calls to traverse.")
   (declare (ignorable o))
   (let ((source (component-pathname c)))
     (setf (component-property c 'last-loaded-as-source)
-          (and (call-with-around-compile-hook c (lambda () (load source)))
+          (and (call-with-around-compile-hook c #'(lambda () (load source)))
                (get-universal-time)))))
 
 (defmethod perform ((operation load-source-op) (c static-file))
@@ -3116,6 +3116,9 @@ located."
               ccl::*openmcl-minor-version*
               (logand ccl::fasl-version #xFF))
       #+cmu (substitute #\- #\/ s)
+      #+scl (format nil "~A~A" s
+		    ;; ANSI upper case vs lower case.
+		    (ecase ext:*case-mode* (:upper "") (:lower "l")))
       #+ecl (format nil "~A~@[-~A~]" s
                     (let ((vcs-id (ext:lisp-implementation-vcs-id)))
                       (subseq vcs-id 0 (min (length vcs-id) 8))))
@@ -4017,7 +4020,8 @@ with a different configuration, so the configuration would be re-read then."
   `(:source-registry
     #+sbcl (:tree ,(truenamize (getenv "SBCL_HOME")))
     :inherit-configuration
-    #+cmu (:tree #p"modules:")))
+    #+cmu (:tree #p"modules:")
+    #+scl (:tree #p"file://modules/")))
 (defun* default-source-registry ()
   (flet ((try (x sub) (try-directory-subpath x sub)))
     `(:source-registry
diff --git a/test/script-support.lisp b/test/script-support.lisp
index a3bb399963c36f2ff56e542069d4349752d7df7a..7accdd99a9fc428cde3badcaea687421c4e51fae 100644
--- a/test/script-support.lisp
+++ b/test/script-support.lisp
@@ -46,9 +46,9 @@
 
 #-sbcl
 (defun native-namestring (x)
-  (let* ((p (pathname x)))
+  (let ((p (pathname x)))
     #+clozure (ccl:native-translated-namestring p)
-    #+(or cmu scl) (ext:unix-namestring p)
+    #+(or cmu scl) (ext:unix-namestring p nil)
     #+sbcl (sb-ext:native-namestring p)
     #-(or clozure cmu sbcl scl) (namestring p)))