From 05f3d34094b23dc9612ff6641a0257bc4f7dcd12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 4 Aug 2020 21:27:30 +0200 Subject: [PATCH] ui: Report key-and-arg exceptions correctly. Fixes . Reported by Jan Wielkiewicz . Regression introduced in efe037fc5cc3134bbc3ef4e36b49a3f788921b68 whereby errors like 'wrong-type-arg' would be improperly reported: guix environment: error: Wrong type argument in position ~A (expecting ~A): ~S See also commit a07d5e558b5403dad0a59776b950b6b02169c249. * guix/ui.scm (call-with-error-handling): Move 'message-condition?' clause after '&exception-with-kind-and-args' clause. --- guix/ui.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 42afdc2856..efc3f39186 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -795,14 +795,6 @@ (define (manifest-entry-output* entry) (invoke-error-stop-signal c) (cons (invoke-error-program c) (invoke-error-arguments c)))) - ((message-condition? c) - ;; Normally '&message' error conditions have an i18n'd message. - (report-error (and (error-location? c) (error-location c)) - (G_ "~a~%") - (gettext (condition-message c) %gettext-domain)) - (when (fix-hint? c) - (display-hint (condition-fix-hint c))) - (exit 1)) ((formatted-message? c) (apply report-error @@ -825,7 +817,16 @@ (define (manifest-entry-output* entry) (guile-3 ((exception-predicate &exception-with-kind-and-args) c)) (else #f)) - (raise c))) + (raise c)) + + ((message-condition? c) + ;; Normally '&message' error conditions have an i18n'd message. + (report-error (and (error-location? c) (error-location c)) + (G_ "~a~%") + (gettext (condition-message c) %gettext-domain)) + (when (fix-hint? c) + (display-hint (condition-fix-hint c))) + (exit 1))) ;; Catch EPIPE and the likes. (catch 'system-error thunk