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 b1a39d35960232b87db7359540dc75e44818f87f..a87c97cad285f24ef548d2403a884b8254bcaa0d 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 @@ -2089,6 +2089,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 ~/ @@ -2621,7 +2622,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