diff --git a/asdf-ecl.lisp b/asdf-ecl.lisp
index 0f4885a3215a22bf5308a3b61795743906978547..38f6e86b1bcebd53212e308479a1bad7e0bfa6ad 100644
--- a/asdf-ecl.lisp
+++ b/asdf-ecl.lisp
@@ -168,8 +168,8 @@
 (defmethod output-files ((o bundle-op) (c system))
   (let ((name (concatenate 'base-string (component-name c)
                            (slot-value o 'name-suffix))))
-    (list (merge-pathnames (compile-file-pathname name :type (bundle-op-type o))
-                           (component-relative-pathname c)))))
+    (list (merge-pathnames* (compile-file-pathname name :type (bundle-op-type o))
+                            (component-relative-pathname c)))))
 
 (defmethod output-files ((o fasl-op) (c system))
   (loop for file in (call-next-method)
diff --git a/asdf.lisp b/asdf.lisp
index b8af0139f49f6e511f0f6a8dea067b0f5de930e3..b7024933256620a027319e2788456eb4dc7f2d6d 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -247,7 +247,7 @@
   ;; This parameter isn't actually user-visible
   ;; -- please use the exported function ASDF:ASDF-VERSION below.
   ;; the 1+ hair is to ensure that we don't do an inadvertent find and replace
-  (subseq "VERSION:1.633" (1+ (length "VERSION"))))
+  (subseq "VERSION:1.634" (1+ (length "VERSION"))))
 
 (defun asdf-version ()
   "Exported interface to the version of ASDF currently installed. A string.
@@ -2207,7 +2207,7 @@ output to `*verbose-out*`.  Returns the shell's exit code."
 ;;; ---------------------------------------------------------------------------
 ;;; Generic support for configuration files
 (defun user-configuration-directory ()
-  (merge-pathnames #p".config/" (user-homedir-pathname)))
+  (merge-pathnames* #p".config/" (user-homedir-pathname)))
 (defun system-configuration-directory ()
   #p"/etc/")
 
@@ -2419,15 +2419,15 @@ with a different configuration, so the configuration would be re-read then."
 
 (defparameter *implementation-output-translations*
   `(:output-translations
-   ;; If clozure had any precompiled ASDF system, we'd use that:
-   ; #+clozure (,(ccl::ccl-directory) ())
-   ;; SBCL *does* have precompiled ASDF system, so we use this:
-   #+sbcl (,(getenv "SBCL_HOME") ())
-   ;; All-import, here is where we want user stuff to be:
-   :inherit-configuration
-   ;; If we want to enable the user cache by default, here would be the place:
-   :enable-user-cache
-   ))
+    ;; Some implementations have precompiled ASDF systems,
+    ;; so we must disable translations for implementation paths.
+    #+sbcl (,(getenv "SBCL_HOME") ())
+    #+ecl (,(translate-logical-pathname "SYS:**;*.*") ()) ; only needed if LPNs are resolved manually.
+    #+clozure (,(wilden (ccl::ccl-directory)) ()) ; not needed: no precompiled ASDF system
+    ;; All-import, here is where we want user stuff to be:
+    :inherit-configuration
+    ;; If we want to enable the user cache by default, here would be the place:
+    :enable-user-cache))
 
 (defun implementation-output-translations ()
   *implementation-output-translations*)
@@ -2763,10 +2763,10 @@ with a different configuration, so the configuration would be re-read then."
    :inherit-configuration))
 (defun default-source-registry ()
   `(:source-registry
-    #+sbcl (:directory ,(merge-pathnames ".sbcl/systems/" (user-homedir-pathname)))
+    #+sbcl (:directory ,(merge-pathnames* ".sbcl/systems/" (user-homedir-pathname)))
     (:directory ,(truenamize (directory-namestring *default-pathname-defaults*)))
-    (:directory ,(merge-pathnames ".local/share/common-lisp/systems/" (user-homedir-pathname)))
-    (:tree ,(merge-pathnames ".local/share/common-lisp/source/" (user-homedir-pathname)))
+    (:directory ,(merge-pathnames* ".local/share/common-lisp/systems/" (user-homedir-pathname)))
+    (:tree ,(merge-pathnames* ".local/share/common-lisp/source/" (user-homedir-pathname)))
     (:directory "/usr/local/share/common-lisp/systems/")
     (:tree "/usr/local/share/common-lisp/source/")
     (:directory "/usr/local/share/common-lisp/systems/")
@@ -2775,13 +2775,13 @@ with a different configuration, so the configuration would be re-read then."
     (:tree "/usr/share/common-lisp/source/")
     :inherit-configuration))
 (defun user-source-registry ()
-  (merge-pathnames *source-registry-file* (user-configuration-directory)))
+  (merge-pathnames* *source-registry-file* (user-configuration-directory)))
 (defun system-source-registry ()
-  (merge-pathnames *source-registry-file* (system-configuration-directory)))
+  (merge-pathnames* *source-registry-file* (system-configuration-directory)))
 (defun user-source-registry-directory ()
-  (merge-pathnames *source-registry-directory* (user-configuration-directory)))
+  (merge-pathnames* *source-registry-directory* (user-configuration-directory)))
 (defun system-source-registry-directory ()
-  (merge-pathnames *source-registry-directory* (system-configuration-directory)))
+  (merge-pathnames* *source-registry-directory* (system-configuration-directory)))
 (defun environment-source-registry ()
   (getenv "CL_SOURCE_REGISTRY"))
 
diff --git a/asdf.texinfo b/asdf.texinfo
index f8bf9550ecd5b3b585cc7e57fc6d9e2f1568e9ef..9f75035e5b2c78854a666a18788f28ca9a259a24 100644
--- a/asdf.texinfo
+++ b/asdf.texinfo
@@ -142,6 +142,17 @@ to learn how to define a system of your own.
 @c XXXX missing @xref here!
 Later chapters describe the ASDF internals and how to extend ASDF.
 
+NOTA BENE:
+We are preparing for a release of ASDF 2,
+which will have version 2.000 and later.
+The current release 1.634 has all the code we think we need,
+but we're still working on documentation,
+and on fixing the occasional bug.
+For all practical purposes, ASDF 2 refers to releases later than 1.634,
+and ASDF 1 to any release earlier than 1.369 or so.
+Once ASDF 2.000 is released, older versions will not be supported anymore,
+and we'll push @code{:asdf2} onto @code{*features*}.
+
 
 @node Loading ASDF, Configuring ASDF, Introduction, Top
 @comment  node-name,  next,  previous,  up
@@ -1498,29 +1509,29 @@ Configurations specify mappings from source locations to binary locations.
      from a script, from its own configuration file, etc.
 
   @item
-        The source registry will be configured from
+     The source registry will be configured from
      the environment variable @code{ASDF_OUTPUT_TRANSLATIONS} if it exists.
 
   @item
-  The source registry will be configured from
+     The source registry will be configured from
      user configuration file
 	@file{~/.config/common-lisp/asdf-output-translations.conf}
      if it exists.
 
   @item
-  The source registry will be configured from
+     The source registry will be configured from
      user configuration directory
 	@file{~/.config/common-lisp/asdf-output-translations.conf.d/}
      if it exists.
 
   @item
-  The source registry will be configured from
+     The source registry will be configured from
      system configuration file
 	@file{/etc/common-lisp/asdf-output-translations.conf}
      if it exists.
 
   @item
-  The source registry will be configured from
+     The source registry will be configured from
      system configuration directory
 	@file{/etc/common-lisp/asdf-output-translations.conf.d/}
      if it exists.
@@ -1537,7 +1548,7 @@ includes its inherited configuration.
 
 Additionally, some implementation-specific directories
 may be automatically added to whatever mappings are specified
-in configuration files, no matter if the last one inherits or not.
+in configuration files, no matter whether the last one inherits or not.
 
 
 @section Backward Compatibility
@@ -1634,7 +1645,8 @@ Relative components better be either relative
 or subdirectories of the path before them, or bust.
 
 The last component, if not a pathname, is notionally completed by @file{/**/*.*}.
-You can specify more fine-grained patterns by using a pathname object,
+You can specify more fine-grained patterns
+by using a pathname object as the last component
 e.g. @file{#p"some/path/**/foo*/bar-*.fasl"}
 
 You may use @code{#+features} to customize the configuration file.
@@ -1787,7 +1799,7 @@ and to Peter van Eynde for @code{Common Lisp Controller}.
 All bad design ideas and implementation bugs are to mine, not theirs.
 But so are good design ideas and elegant implementation tricks.
 
- -- Francois-Rene Rideau @email{fare@@tunes.org}
+ --- Francois-Rene Rideau @email{fare@@tunes.org}
 
 @c @section Default locations
 @c @findex output-files-for-system-and-operation
diff --git a/test/compile-asdf.lisp b/test/compile-asdf.lisp
index dc171c2c95e2945fb0e58066843a9fcf44a7d40b..8d274d56634f6c6984f29b95882f3c40a597bd36 100644
--- a/test/compile-asdf.lisp
+++ b/test/compile-asdf.lisp
@@ -1,6 +1,6 @@
 (in-package #:common-lisp-user)
 
-(load (merge-pathnames "script-support" *load-pathname*))
+(load (make-pathname :name "script-support" :defaults *load-pathname*))
 
 (cond ((probe-file *asdf-lisp*)
        (ensure-directories-exist *asdf-fasl*)
diff --git a/test/script-support.lisp b/test/script-support.lisp
index 6db18a8f3f2c6e05d47d2b2e75a51c00a64f8116..f030e4c50deb4ab2d0517888763553bd7fca17ae 100644
--- a/test/script-support.lisp
+++ b/test/script-support.lisp
@@ -1,8 +1,20 @@
 (in-package #:common-lisp-user)
 
-(defvar *asdf-lisp* (truename (merge-pathnames "../asdf.lisp" *load-truename*)))
-(defvar *asdf-fasl* (compile-file-pathname (merge-pathnames "tmp/" *asdf-lisp*)))
-(defun load-asdf () (load *asdf-fasl*))
+;; We can't use asdf:merge-pathnames* because ASDF isn't loaded yet.
+;; We still want to work despite and host/device funkiness.
+(defvar *asdf-lisp*
+  (truename
+   (merge-pathnames
+    (make-pathname :directory '(:relative :up) :name "asdf" :type "lisp"
+                   :defaults *load-truename*)
+    *load-truename*)))
+(defvar *asdf-fasl*
+  (compile-file-pathname
+   (merge-pathnames
+    (make-pathname :directory '(:relative "tmp") :defaults *asdf-lisp*)
+    *asdf-lisp*)))
+(defun load-asdf ()
+  (load *asdf-fasl*))
 
 #+allegro
 (setf excl:*warn-on-nested-reader-conditionals* nil)