From 6b30eb189e48e290136d6a838729cf2eb07ee82f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 27 Nov 2021 22:10:38 +0100 Subject: 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. --- guix/gexp.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'guix') 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 @@ (define-gexp-compiler file-append-compiler expander => (lambda (obj lowered output) (match obj (($ 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))))))) -- cgit v1.2.3