diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-01-01 22:22:14 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-01-01 23:30:30 +0100 |
commit | 5e2e4a51f93f98c35824e4a7f5a88274d1551b4c (patch) | |
tree | a177456b845a28b17fdb62f5f4babf7ab10d657e /guix | |
parent | 4a6e889feba7bb382bb9e356d15e8260a256ced4 (diff) |
gexp: Support 'ungexp' forms in improper lists.
* guix/gexp.scm (gexp)[collect-escapes, substitute-references]: Replace
the (exp0 exp ...) patterns with (exp0 . exp) to match improper lists.
Adjust clause bodies accordingly.
* tests/gexp.scm ("one input package, dotted list"): New test.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/gexp.scm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm index 79a7b18b09..1f7fbef0a0 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -812,9 +812,9 @@ environment." (cons exp result)) ((ungexp-native-splicing _ ...) (cons exp result)) - ((exp0 exp ...) + ((exp0 . exp) (let ((result (loop #'exp0 result))) - (fold loop result #'(exp ...)))) + (loop #'exp result))) (_ result)))) @@ -875,9 +875,9 @@ environment." (substitute-ungexp-splicing exp substs)) (((ungexp-native-splicing _ ...) rest ...) (substitute-ungexp-splicing exp substs)) - ((exp0 exp ...) + ((exp0 . exp) #`(cons #,(substitute-references #'exp0 substs) - #,(substitute-references #'(exp ...) substs))) + #,(substitute-references #'exp substs))) (x #''x))) (syntax-case s (ungexp output) |