diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-08-18 14:53:10 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-08-18 15:01:58 +0200 |
commit | 667b2508464374a01db3588504b981ec9266a2ea (patch) | |
tree | 64c495a3dda285cdfa3e89589864ec58a02c6042 /.dir-locals.el | |
parent | 68a61e9ffb4d1c8b54db68d61a3669bda50f1bd2 (diff) | |
download | guix-667b2508464374a01db3588504b981ec9266a2ea.tar guix-667b2508464374a01db3588504b981ec9266a2ea.tar.gz |
gexp: Add 'ungexp-native' and 'ungexp-native-splicing'.
* guix/gexp.scm (<gexp>)[natives]: New field.
(write-gexp): Use both 'gexp-references' and
'gexp-native-references'.
(gexp->derivation): Use both 'gexp-inputs' and 'gexp-native-inputs',
and append them.
(gexp-inputs): Add 'references' parameter and honor it.
(gexp-native-inputs): New procedure.
(gexp->sexp)[reference->sexp]: Add 'native?' parameter and honor it.
Use it, and use 'gexp-native-references'.
(gexp)[collect-native-escapes]: New procedure.
[escape->ref]: Handle 'ungexp-native' and 'ungexp-native-splicing'.
[substitute-ungexp, substitute-ungexp-splicing]: New procedures.
[substitute-references]: Use them, and handle 'ungexp-native' and
'ungexp-native-splicing'.
Adjust generated 'make-gexp' call to provide both normal references
and native references.
[read-ungexp]: Support 'ungexp-native' and
'ungexp-native-splicing'.
Add reader extension for #+.
* tests/gexp.scm (gexp-native-inputs): New procedure.
(gexp->sexp*): Add 'target' parameter.
("ungexp + ungexp-native",
"input list + ungexp-native",
"input list splicing + ungexp-native-splicing",
"gexp->derivation, ungexp-native",
"gexp->derivation, ungexp + ungexp-native"): New tests.
("sugar"): Add tests for #+ and #+@.
* doc/guix.texi (G-Expressions): Document 'ungexp-native' et al.
Diffstat (limited to '.dir-locals.el')
-rw-r--r-- | .dir-locals.el | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/.dir-locals.el b/.dir-locals.el index 69c25cbe8f..ce7033757d 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -40,11 +40,12 @@ (eval . (put 'mlet 'scheme-indent-function 2)) (eval . (put 'run-with-store 'scheme-indent-function 1)) - ;; Recognize '~' and '$', as used for gexps, as quotation symbols. This - ;; notably allows '(' in Paredit to not insert a space when the preceding - ;; symbol is one of these. + ;; Recognize '~', '+', and '$', as used for gexps, as quotation symbols. + ;; This notably allows '(' in Paredit to not insert a space when the + ;; preceding symbol is one of these. (eval . (modify-syntax-entry ?~ "'")) - (eval . (modify-syntax-entry ?$ "'")))) + (eval . (modify-syntax-entry ?$ "'")) + (eval . (modify-syntax-entry ?+ "'")))) (emacs-lisp-mode . ((indent-tabs-mode . nil))) (texinfo-mode . ((indent-tabs-mode . nil) (fill-column . 72)))) |