diff options
| author | David Elsing <david.elsing@posteo.net> | 2025-03-04 20:33:08 +0000 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2025-03-05 00:28:49 +0100 |
| commit | 30e51cb6b42e86f9f94d6380f69a1020ee99ff39 (patch) | |
| tree | 6bcf2847774381f7c3a102c1a0ae143ee97d9879 /etc | |
| parent | 749eb1a2dd9fdf63a71f223b3f6756d9cb5940e6 (diff) | |
gexp: ‘with-parameters’ properly handles ‘%graft?’.
Fixes <https://issues.guix.gnu.org/75879>.
* .dir-locals.el (scheme-mode): Remove mparameterize indentation rules.
Add state-parameterize and store-parameterize indentation rules.
* etc/manifests/system-tests.scm (test-for-current-guix): Replace
mparameterize with store-parameterize.
* etc/manifests/time-travel.scm (guix-instance-compiler): Likewise.
* gnu/tests.scm (compile-system-test): Likewise.
* guix/gexp.scm (compile-parameterized): Use state-call-with-parameters.
* guix/monads.scm (mparameterize): Remove macro.
(state-call-with-parameters): New procedure.
(state-parameterize): New macro.
* guix/store.scm (store-parameterize): New macro.
* tests/gexp.scm ("with-parameters for %graft?"): New test.
* tests/monads.scm ("mparameterize"): Remove test.
("state-parameterize"): New test.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I0c74066ca3f37072815b073fb3039925488a9645
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/manifests/system-tests.scm | 2 | ||||
| -rw-r--r-- | etc/manifests/time-travel.scm | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/etc/manifests/system-tests.scm b/etc/manifests/system-tests.scm index 4e16c53dcfc..430f5075207 100644 --- a/etc/manifests/system-tests.scm +++ b/etc/manifests/system-tests.scm @@ -53,7 +53,7 @@ instance." (map (lambda (test) (system-test (inherit test) - (value (mparameterize %store-monad ((current-guix-package guix)) + (value (store-parameterize ((current-guix-package guix)) (system-test-value test))))) (match (getenv "TESTS") (#f diff --git a/etc/manifests/time-travel.scm b/etc/manifests/time-travel.scm index 039ca89889d..5256d2195c2 100644 --- a/etc/manifests/time-travel.scm +++ b/etc/manifests/time-travel.scm @@ -22,7 +22,7 @@ (use-modules (srfi srfi-9) (ice-9 match) (guix channels) (guix gexp) ((guix store) #:select (%store-monad)) - ((guix monads) #:select (mparameterize return)) + ((guix monads) #:select (store-parameterize return)) ((guix git) #:select (%repository-cache-directory)) ((guix build utils) #:select (mkdir-p))) @@ -40,9 +40,9 @@ ;; When this manifest is evaluated by Cuirass, make sure it does not ;; fiddle with the cached checkout that Cuirass is also using since ;; concurrent accesses are unsafe. - (mparameterize %store-monad ((%repository-cache-directory - (string-append (%repository-cache-directory) - "/time-travel/" system))) + (store-parameterize ((%repository-cache-directory + (string-append (%repository-cache-directory) + "/time-travel/" system))) (return (mkdir-p (%repository-cache-directory))) (latest-channel-derivation channels))))) |
