diff --git a/Makefile b/Makefile
index c3516029ffc03968facb5abd373d7f3bd979860b..94db918994ca9ce87459300d0bef0f344edb081c 100644
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,7 @@ ECL ?= ecl
 MKCL ?= mkcl
 CMUCL ?= cmucl
 ABCL ?= abcl
+XCL ?= xcl
 SCL ?= scl
 ALLEGRO ?= alisp
 ALLEGROMODERN ?= mlisp
@@ -93,12 +94,13 @@ test-upgrade:
 	use_mkcl () { li="${MKCL} -norc" ; ev="-eval" ; } ; \
 	use_cmucl () { li="${CMUCL} -noinit" ; ev="-eval" ; } ; \
 	use_abcl () { li="${ABCL} --noinit --nosystem --noinform" ; ev="--eval" ; } ; \
+	use_xcl () { li="${XCL} --noinit --nosystem --noinform" ; ev="--eval" ; } ; \
 	use_scl () { li="${SCL} -noinit" ; ev="-eval" ; } ; \
 	use_allegro () { li="${ALLEGRO} -q" ; ev="-e" ; } ; \
 	use_allegromodern () { li="${ALLEGROMODERN} -q" ; ev="-e" ; } ; \
 	use_lispworks () { li="${LISPWORKS} -siteinit - -init -" ; ev="-eval" ; } ; \
 	use_${lisp} ; \
-	su=test/script-support ; lu="(load\"$$su\")" ; \
+	su=test/script-support.lisp ; lu="(load\"$$su\")" ; \
 	lv="$$li $$ev $$lu $$ev" ; \
 	for tag in 1.37 1.97 1.369 `git tag -l '2.0??'` `git tag -l '2.??'` ; do \
 	  rm -f $$fa ; \
@@ -117,6 +119,8 @@ test-upgrade:
 		: Skip, because of various ASDF issues ;; \
 	      mkcl:1.*|mkcl:2.0[01]*|mkcl:2.2[0-3]:*) \
 		: Skip, because MKCL is only supported starting with 2.24 ;; \
+	      xcl:1.*|xcl:2.00*|xcl:2.01[0-4]:*) \
+		: Skip, because it is slow and XCL comes with 2.014.2 ;; \
 	      *) (set -x ; \
                   case $$x in \
 		    load-system) l="$$lo (asdf-test::load-asdf-system)" ;; \
diff --git a/asdf.asd b/asdf.asd
index 44b25252b5380b8c616bb72c8c4671f31bea9bd8..d5389c647d5248015a995c7d3fe073f1055e428c 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.26.41" ;; to be automatically updated by bin/bump-revision
+  :version "2.26.42" ;; to be automatically updated by bin/bump-revision
   :depends-on ()
   :components
   ((:file "asdf")))
diff --git a/asdf.lisp b/asdf.lisp
index 32403042e9324a25307c7cff346c78701a0e87a3..a6680cf8b77c248e52eab0666957b763eab2b0e5 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1,5 +1,5 @@
 ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.26.41: Another System Definition Facility.
+;;; This is ASDF 2.26.42: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
@@ -118,7 +118,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.26.41")
+         (asdf-version "2.26.42")
          (existing-asdf (find-class 'component nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version)))
@@ -2205,6 +2205,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.
 (defclass prepare-op (upward-operation) ())
 
 (defmethod component-depends-on ((o prepare-op) (c component))
+  (declare (ignorable o))
   `((load-op ,@(loop :for dep :in (component-sibling-dependencies c)
                      :collect (resolve-dependency-spec c dep)))
     ,@(call-next-method)))
@@ -2497,6 +2498,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.
     #-(or ecl mkcl) (list f)))
 
 (defmethod component-depends-on ((o compile-op) (c component))
+  (declare (ignorable o))
   `((prepare-op ,c) ,@(call-next-method)))
 
 (defmethod perform ((o compile-op) (c static-file))
@@ -2543,9 +2545,11 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.
   nil)
 
 (defmethod component-depends-on ((o load-op) (c component))
+  (declare (ignorable o))
   `((prepare-op ,c) ,@(call-next-method)))
 
 (defmethod component-depends-on ((o load-op) (c source-file))
+  (declare (ignorable o))
   `((compile-op ,c) ,@(call-next-method)))
 
 (defmethod operation-description ((o load-op) component)
@@ -2573,6 +2577,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.
 (defclass prepare-source-op (upward-operation) ())
 
 (defmethod component-depends-on ((o prepare-source-op) (c source-file))
+  (declare (ignorable o))
   `((load-source-op ,@(component-sibling-dependencies c)) ,@(call-next-method)))
 (defmethod input-files ((o prepare-source-op) (c component))
   nil)
@@ -2582,6 +2587,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.
   nil)
 
 (defmethod component-depends-on ((o load-source-op) (c component))
+  (declare (ignorable o))
   `((prepare-source-op ,c) ,@(call-next-method)))
 
 (defmethod perform ((o load-source-op) (c cl-source-file))
@@ -4737,6 +4743,7 @@ with a different configuration, so the configuration would be re-read then."
 (defclass load-fasl-op (basic-load-op) ())
 
 (defmethod component-depends-on ((o load-fasl-op) (c system))
+  (declare (ignorable o))
   `((load-fasl-op ,@(loop :for dep :in (component-sibling-dependencies c)
                      :collect (resolve-dependency-spec c dep)))
     (,(if (user-system-p c) 'fasl-op 'load-op) ,c)
@@ -4902,12 +4909,12 @@ using WRITE-SEQUENCE and a sensibly sized buffer." ; copied from xcvb-driver
         (copy-stream-to-stream i o :element-type '(unsigned-byte 8))))))
 
 (defun* combine-fasls (inputs output)
-  #-(or allegro clisp clozure cmu lispworks sbcl scl)
+  #-(or allegro clisp clozure cmu lispworks sbcl scl xcl)
   (declare (ignore inputs output))
-  #-(or allegro clisp clozure cmu lispworks sbcl scl)
+  #-(or allegro clisp clozure cmu lispworks sbcl scl xcl)
   (error "~S is not supported on ~A" 'combine-fasls (implementation-type))
   #+clozure (ccl:fasl-concatenate output inputs :if-exists :supersede)
-  #+(or allegro clisp cmu sbcl scl) (concatenate-files inputs output)
+  #+(or allegro clisp cmu sbcl scl xcl) (concatenate-files inputs output)
   #+lispworks
   (let (fasls)
     (unwind-protect
@@ -4973,6 +4980,7 @@ using WRITE-SEQUENCE and a sensibly sized buffer." ; copied from xcvb-driver
   (list (system-fasl s)))
 
 (defmethod component-depends-on ((o load-fasl-op) (s precompiled-system))
+  (declare (ignorable o))
   `((load-op ,s) ,@(call-next-method)))
 
 #| ;; Example use:
@@ -5021,6 +5029,7 @@ using WRITE-SEQUENCE and a sensibly sized buffer." ; copied from xcvb-driver
     :when sub-files :collect (first sub-files)))
 
 (defmethod component-depends-on ((o bundle-op) (c system))
+  (declare (ignorable o))
   `((compile-op ,c) ,@(call-next-method)))
 
 (defmethod output-files ((o bundle-op) (c system))
diff --git a/test/asdf-pathname-test.script b/test/asdf-pathname-test.script
index 0ae227e23d44f596ced12fd1de6d632d93653331..d7450f956410c636077b22d93773fc38ee3875cf 100644
--- a/test/asdf-pathname-test.script
+++ b/test/asdf-pathname-test.script
@@ -316,7 +316,7 @@
  (format t "output translations: ~S~%" (asdf::output-translations))
 
  #+gcl (format t "~&~A~&" (progn (defvar *x* -1) (incf *x*)))
-
+ #-xcl ;;---*** pathnames are known to be massively broken on XCL
  (flet ((same (s1 s2 p1 p2)
           (unless (equal (namestring p1) (namestring p2))
             (describe p1) (describe p2)
@@ -331,6 +331,7 @@
      #-gcl
      (x (asdf::resolve-location '("/foo" "bar" :**/ "baz" #p"*.*") :directory nil :wilden t) #p"/foo/bar/**/baz/*.*")))
 
+ #-xcl ;;---*** pathnames are known to be massively broken on XCL
  (or (test-component-pathnames :delete-host t :support-string-pathnames nil)
      (leave-lisp "test failed" 1)))
 
diff --git a/test/test-logical-pathname.script b/test/test-logical-pathname.script
index 64bd15d03972ba3681ed2035fe34750c6e1d12af..7441e7276913191156878eb802655df096b768f2 100644
--- a/test/test-logical-pathname.script
+++ b/test/test-logical-pathname.script
@@ -16,12 +16,14 @@
  (format t "~S~%" (translate-logical-pathname "ASDF:test;test-force.asd"))
  (format t "~S~%" (truename "ASDF:test;test-force.asd"))
 
+ #-xcl
  (progn
    (format t "Test logical pathnames in central registry~%")
    (setf *central-registry* '(#p"ASDF:test;"))
    (initialize-source-registry '(:source-registry :ignore-inherited-configuration))
    (load-system :test-logical-pathname :force t))
 
+ #-xcl
  (progn
    (format t "Test logical pathnames in source-registry, non-recursive~%")
    (clear-system :test-logical-pathname)
@@ -30,6 +32,7 @@
     '(:source-registry (:directory #p"ASDF:test;") :ignore-inherited-configuration))
    (load-system :test-logical-pathname :force t))
 
+ #-xcl
  (progn
    (format t "Test logical pathnames in source-registry, recursive~%")
    (clear-system :test-logical-pathname)