aboutsummaryrefslogtreecommitdiff
path: root/guix/scripts/repl.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-09-19 16:26:44 +0200
committerLudovic Courtès <ludo@gnu.org>2020-09-19 22:52:36 +0200
commit1b179d7876f19f04009a2f9e248ac10711f4c660 (patch)
treed3dfb99a2c0eaee62c32f647b93ceb65b9a2a778 /guix/scripts/repl.scm
parent0996fcc657593955845c2761d7eb0f656149fe11 (diff)
downloadguix-1b179d7876f19f04009a2f9e248ac10711f4c660.tar
guix-1b179d7876f19f04009a2f9e248ac10711f4c660.tar.gz
describe: Save the original value of (program-arguments).
Fixes <https://bugs.gnu.org/42688>. Reported by pkill9 <pkill9@runbox.com>. This ensures that 'guix repl -s SCRIPT' give SCRIPT the right value of (current-profile), which in turn ensures that (%package-module-path) is initialized with the right set of channels. * guix/describe.scm (initial-program-arguments): New variable. (current-profile): Use it. * guix/scripts/repl.scm (guix-repl): Call 'current-profile' before 'set-program-arguments'.
Diffstat (limited to 'guix/scripts/repl.scm')
-rw-r--r--guix/scripts/repl.scm8
1 files changed, 8 insertions, 0 deletions
diff --git a/guix/scripts/repl.scm b/guix/scripts/repl.scm
index 7d4e474e92..9f20803efc 100644
--- a/guix/scripts/repl.scm
+++ b/guix/scripts/repl.scm
@@ -27,6 +27,7 @@
#:use-module (srfi srfi-37)
#:use-module (ice-9 match)
#:use-module (rnrs bytevectors)
+ #:autoload (guix describe) (current-profile)
#:autoload (system repl repl) (start-repl)
#:autoload (system repl server)
(make-tcp-server-socket make-unix-domain-server-socket)
@@ -176,6 +177,13 @@ call THUNK."
;; Run script
(save-module-excursion
(lambda ()
+ ;; Invoke 'current-profile' so that it memoizes the correct value
+ ;; based on (program-arguments), before we call
+ ;; 'set-program-arguments'. This in turn ensures that
+ ;; (%package-module-path) will contain entries for the channels
+ ;; available in the current profile.
+ (current-profile)
+
(set-program-arguments script)
(set-user-module)