From 993054c4d3897b59012a89dd0b84f86d08a7299e Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <fare@tunes.org> Date: Sun, 21 Mar 2010 11:47:45 -0400 Subject: [PATCH] 1.658: accept NULL pathname designator in output-translations (means: skip entry). --- asdf.lisp | 16 ++++++++-------- asdf.texinfo | 7 ++++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/asdf.lisp b/asdf.lisp index 252cc5ed..7211b5f3 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 b1a39d35..a87c97ca 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 -- GitLab