I'm not sure as to the comments regarding program name memoization, but could the solution be as simple as adding the call to (%package-module-path) without deleting (current-profile)?
There's probably a more elegant solution, but I found that this patch resolved the issue: --8<---------------cut here---------------start------------->8--- guix/scripts/repl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/scripts/repl.scm b/guix/scripts/repl.scm index cb71e59b05..c8e875eb05 100644 --- a/guix/scripts/repl.scm +++ b/guix/scripts/repl.scm @@ -26,6 +26,7 @@ (define-module (guix scripts repl) #:use-module (srfi srfi-37) #:use-module (ice-9 match) #:autoload (guix describe) (current-profile) + #:autoload (gnu packages) (%package-module-path) #:autoload (system repl repl) (start-repl) #:autoload (system repl server) (make-tcp-server-socket make-unix-domain-server-socket) @@ -192,8 +193,8 @@ (define-command (guix-repl . args) ;; (%package-module-path) will contain entries for the channels ;; available in the current profile. (current-profile) - (set-program-arguments script) + (%package-module-path) (set-user-module) ;; When passed a relative file name, 'load-in-vicinity' searches the @@ -209,7 +210,6 @@ (define-command (guix-repl . args) ((guile) (save-module-excursion (lambda () - (current-profile) ;populate (%package-module-path); see above (set-user-module) ;; Do not exit repl on SIGINT. ((@@ (ice-9 top-repl) call-with-sigint) base-commit: 6f5ea7ac1acb3d1c53baf7620cca66cc87fe5a73 -- 2.41.0 --8<---------------cut here---------------end--------------->8--- The previous fix in 96739561b87db592716431953cfbbb614e8ff87a did not matter in my testing, so with that + earlier discussion I removed the second (current-profile) call. I have a barebones channel set up at https://git.sr.ht/~freakingpenguin/channel-demo if it's of any help for reproducing the issue. Just a couple of Guile scripts + guix time-machine wrappers. -- Take it easy, Richard Sent Making my computer weirder one commit at a time.