diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-11-27 22:10:38 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-11-27 23:06:17 +0100 |
commit | 6b30eb189e48e290136d6a838729cf2eb07ee82f (patch) | |
tree | 7706a194d238e855743af5a8a49acc4ca92f7046 /guix/gexp.scm | |
parent | 61ad9bc2adc189f41128874649b115cfaadec48d (diff) |
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.scm | 3 |
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))))))) |