diff --git a/asdf.lisp b/asdf.lisp index 252cc5ed1fb5d68620c1317cc35ba4aa29f4f6d4..7211b5f35831b36143639a6df856aee13b2a3351 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -262,7 +262,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.657" (1+ (length "VERSION")))) + (subseq "VERSION:1.658" (1+ (length "VERSION")))) (defun asdf-version () "Exported interface to the version of ASDF currently installed. A string. @@ -2355,7 +2355,7 @@ with a different configuration, so the configuration would be re-read then." (defun location-designator-p (x) (flet ((componentp (c) (typep c '(or string pathname keyword)))) - (or (componentp x) (and (consp x) (every #'componentp x))))) + (or (null x) (componentp x) (and (consp x) (every #'componentp x))))) (defun validate-output-translations-directive (directive) (unless @@ -2367,8 +2367,7 @@ with a different configuration, so the configuration would be re-read then." (or (and (eq (first directive) :include) (typep (second directive) '(or string pathname null))) (and (location-designator-p (first directive)) - (or (location-designator-p (second directive)) - (null (second directive)))))) + (location-designator-p (second directive))))) (and (length=n-p directive 1) (location-designator-p (first directive)))))) (error "Invalid directive ~S~%" directive)) @@ -2505,10 +2504,11 @@ with a different configuration, so the configuration would be re-read then." (if (eq src :include) (when dst (process-output-translations (pathname dst) :inherit nil :collect collect)) - (let* ((trusrc (truenamize (resolve-location src t))) - (trudst (if dst (resolve-location dst t) trusrc))) - (funcall collect (list trudst trudst)) - (funcall collect (list trusrc trudst))))))) + (when src + (let* ((trusrc (truenamize (resolve-location src t))) + (trudst (if dst (resolve-location dst t) trusrc))) + (funcall collect (list trudst trudst)) + (funcall collect (list trusrc trudst)))))))) (defun compute-output-translations (&optional parameter) "read the configuration, return it" diff --git a/asdf.texinfo b/asdf.texinfo index 72a4cc2e8ac29ac145d1b72e52275b00a5ee8d14..8d036bb78683b7a14b4cb256c6234e3809baab72 100644 --- a/asdf.texinfo +++ b/asdf.texinfo @@ -496,8 +496,8 @@ Note that your Operating System distribution or your system administrator may already have configured translations for you. In absence of any configuration, the default is to redirect everything under an implementation-dependent subdirectory of @file{~/.cache/common-lisp/}. -Once again, see the document @file{README.asdf-output-translations} -for full details. +@xref{Controlling where ASDF searches for systems} for full details. + Also note that when choosing a filename, the convention is to use the @file{.conf} extension @@ -2099,6 +2099,7 @@ DIRECTORY-DESIGNATOR := (ABSOLUTE-COMPONENT-DESIGNATOR RELATIVE-COMPONENT-DESIGNATOR ...) ABSOLUTE-COMPONENT-DESIGNATOR := + NULL | ;; As source: skip this entry. As destination: same as source STRING | ;; namestring (directory is assumed, better be absolute or bust, ``/**/*.*'' added) PATHNAME | ;; pathname (better be an absolute directory or bust) :HOME | ;; designates the user-homedir-pathname ~/ @@ -2631,7 +2632,7 @@ when they upgrade to the upstream version. Note that in the past there was an add-on to ASDF called @code{ASDF-binary-locations}, developed by Gary King. That add-on has been merged into ASDF proper, -then superseded by the asdf-output-translations facility. +then superseded by the @code{asdf-output-translations} facility. Note that use of @code{asdf-output-translations} can interfere with one aspect of your systems