summaryrefslogtreecommitdiff
path: root/guix/gexp.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-11-27 22:10:38 +0100
committerLudovic Courtès <ludo@gnu.org>2021-11-27 23:06:17 +0100
commit6b30eb189e48e290136d6a838729cf2eb07ee82f (patch)
tree7706a194d238e855743af5a8a49acc4ca92f7046 /guix/gexp.scm
parent61ad9bc2adc189f41128874649b115cfaadec48d (diff)
downloadguix-patches-6b30eb189e48e290136d6a838729cf2eb07ee82f.tar
guix-patches-6b30eb189e48e290136d6a838729cf2eb07ee82f.tar.gz
gexp: 'file-append' correctly handles bases without an expander.
This fixes this use case: (file-append (let-system ...) ...) * guix/gexp.scm (file-append-compiler): When BASE lacks an expander, delegate to LOWERED. * tests/gexp.scm ("let-system in file-append"): New test.
Diffstat (limited to 'guix/gexp.scm')
-rw-r--r--guix/gexp.scm3
1 files changed, 2 insertions, 1 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 56b1bb4951..01dca902f7 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -685,7 +685,8 @@ SUFFIX."
expander => (lambda (obj lowered output)
(match obj
(($ <file-append> base suffix)
- (let* ((expand (lookup-expander base))
+ (let* ((expand (or (lookup-expander base)
+ (lookup-expander lowered)))
(base (expand base lowered output)))
(string-append base (string-concatenate suffix)))))))