aboutsummaryrefslogtreecommitdiff
path: root/guix/ui.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-01-26 23:40:24 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-01-26 23:40:24 +0100
commit1d7051f82b3235bc62c02ee9df56974803f7e20e (patch)
tree6dfb0832b24f5d07869900c7d662c91a7469445f /guix/ui.scm
parent80921d298ae87444ca4b401ab71ba038d5fe6d40 (diff)
parent435c2c39aa364d43facc61967eba833165adc966 (diff)
downloadgnu-guix-1d7051f82b3235bc62c02ee9df56974803f7e20e.tar
gnu-guix-1d7051f82b3235bc62c02ee9df56974803f7e20e.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'guix/ui.scm')
-rw-r--r--guix/ui.scm11
1 files changed, 11 insertions, 0 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index 4857a88827..a47dafecd4 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -770,6 +770,17 @@ directories:~{ ~a~}~%")
(gettext (condition-message c) %gettext-domain))
(display-hint (condition-fix-hint c))
(exit 1))
+
+ ;; On Guile 3.0.0, exceptions such as 'unbound-variable' come are
+ ;; compound and include a '&message'. However, that message only
+ ;; contains the format string. Thus, special-case it here to
+ ;; avoid displaying a bare format string.
+ ((cond-expand
+ (guile-3
+ ((exception-predicate &exception-with-kind-and-args) c))
+ (else #f))
+ (raise c))
+
((message-condition? c)
;; Normally '&message' error conditions have an i18n'd message.
(leave (G_ "~a~%")