Message ID | 20211111234648.672963-1-bauermann@kolabnow.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#51780] environment: Fix ‘--check’ with exported PS1 variable. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
Hi, Thiago Jung Bauermann <bauermann@kolabnow.com> skribis: > If your .bashrc (unnecessarily) exports PS1 and you’re in a non-login > shell, Guix crashes: > > user@popigai:~$ guix shell --check coreutils > guix shell: checking the environment variables visible from shell '/bin/bash'... > Backtrace: > 14 (primitive-load "/home/user/.config/guix/current/bin/g…") > In guix/ui.scm: > 2206:7 13 (run-guix . _) > 2169:10 12 (run-guix-command _ . _) > In ice-9/boot-9.scm: > 1752:10 11 (with-exception-handler _ _ #:unwind? _ # _) > 1752:10 10 (with-exception-handler _ _ #:unwind? _ # _) > In guix/store.scm: > 658:37 9 (thunk) > 1320:8 8 (call-with-build-handler _ _) > 1320:8 7 (call-with-build-handler #<procedure 7fe393b7c420 at g…> …) > In guix/status.scm: > 800:4 6 (call-with-status-report _ _) > In guix/scripts/environment.scm: > 951:12 5 (_) > In guix/store.scm: > 2119:24 4 (run-with-store #<store-connection 256.99 7fe39627e500> …) > In guix/scripts/environment.scm: > 521:35 3 (_ _) > In unknown file: > 2 (string=? ("PS1" . "${debian_chroot:+($debian_chroot)…") …) > In ice-9/boot-9.scm: > 1685:16 1 (raise-exception _ #:continuable? _) > 1685:16 0 (raise-exception _ #:continuable? _) > > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > In procedure string=: Wrong type argument in position 1 (expecting string): ("PS1" . "${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]${EXTRA}\\$ ") > user@popigai:~$ > > This is because the match pattern doesn’t expect `(vhash-assoc "PS1" actual)` > to return a pair. > > * guix/scripts/environment.scm (validate-child-shell-environment): Change > match pattern to expect a pair. Oops, good catch! Applied, thanks. Ludo’.
Hello Ludo,
Em domingo, 14 de novembro de 2021, às 19:16:51 -03, Ludovic Courtès
escreveu:
> Oops, good catch! Applied, thanks.
Thank you!
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 8176de4a5e8c..821f20e2f223 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -517,7 +517,7 @@ (define-syntax-rule (warn exp ...) (unless warned? (match (vhash-assoc "PS1" actual) (#f #f) - (str + ((_ . str) (when (and (getenv "PS1") (string=? str (getenv "PS1"))) (warning (G_ "'PS1' is the same in sub-shell~%")) (display-hint (G_ "Consider setting a different prompt for