gexp: Add 'with-imported-modules' macro.
authorLudovic Courtès <ludo@gnu.org>
Sun, 3 Jul 2016 20:26:19 +0000 (22:26 +0200)
committerLudovic Courtès <ludo@gnu.org>
Tue, 12 Jul 2016 20:47:08 +0000 (22:47 +0200)
commit0bb9929eaa3f963ae75478e789723f9e8582116b
tree570de4e4ed75c040bd5f2175285cb02b9a5324e8
parentaffd7761f3b38f7d5670a4e91fefef72174621cc
gexp: Add 'with-imported-modules' macro.

* guix/gexp.scm (<gexp>)[modules]: New field.
(gexp-modules): New procedure.
(gexp->derivation): Use it and append the result to %MODULES.
Update docstring to mark #:modules as deprecated.
(current-imported-modules, with-imported-modules): New macros.
(gexp): Pass CURRENT-IMPORTED-MODULES as second argument to 'gexp'.
(gexp->script): Use and honor 'gexp-modules'; define '%modules'.
* tests/gexp.scm ("gexp->derivation & with-imported-modules")
("gexp->derivation & nested with-imported-modules")
("gexp-modules & ungexp", "gexp-modules & ungexp-splicing"):
New tests.
("program-file"): Use 'with-imported-modules'.  Remove #:modules
argument to 'program-file'.
* doc/guix.texi (G-Expressions): Document 'with-imported-modules'.
Mark #:modules of 'gexp->derivation' as deprecated.
* emacs/guix-devel.el: Add syntax for 'with-imported-modules'.
(guix-devel-keywords): Add it.
* .dir-locals.el: Likewise.
.dir-locals.el
doc/guix.texi
emacs/guix-devel.el
guix/gexp.scm
tests/gexp.scm