summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-18 00:21:33 +0200
committerLudovic Courtès <ludo@gnu.org>2020-10-18 00:21:33 +0200
commit6be71461309bad19dcd96faa151ca691d87f28df (patch)
tree9cb39b4ab23a9992a74b1f9247734e8875b0e3c4
parentd14221bf65cfbe7f8f5b7cac44132087cab70bf5 (diff)
downloadguix-6be71461309bad19dcd96faa151ca691d87f28df.tar.gz
gexp: 'assume-valid-file-name' has files looked up under the CWD.
Fixes a bug introduced in 5d4ad8e1be6d60c38577e2f3d92cc5642b12eff0,
whereby files enclosed in 'assume-valid-file-name' would be looked up
relative to the source directory instead of relative to the current
directory.

* guix/gexp.scm (local-file): In the 'assume-valid-file-name' case, look
up FILE relative to the current working directory.
-rw-r--r--guix/gexp.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 76fffc4908..9339b226b7 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -457,11 +457,11 @@ appears."
                       (delay (absolute-file-name file (current-source-directory)))
                       rest ...))
       ((_ (assume-valid-file-name file) rest ...)
-       ;; FILE is not a literal, so resolve it relative to the source
+       ;; FILE is not a literal, so resolve it relative to the current
        ;; directory.  Since the user declared FILE is valid, do not pass
        ;; #:literal? #f so that we do not warn about it later on.
        #'(%local-file file
-                      (delay (absolute-file-name file (current-source-directory)))
+                      (delay (absolute-file-name file (getcwd)))
                       rest ...))
       ((_ file rest ...)
        ;; Resolve FILE relative to the current directory.