diff options
Diffstat (limited to 'guix/ui.scm')
| -rw-r--r-- | guix/ui.scm | 23 | 
1 files changed, 19 insertions, 4 deletions
| diff --git a/guix/ui.scm b/guix/ui.scm index 40371e4710..a1152605e6 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -251,10 +251,20 @@ ARGS is the list of arguments received by the 'throw' handler."                 (location->string loc) message)))      (('srfi-34 obj)       (if (message-condition? obj) -         (report-error (G_ "~a~%") -                       (gettext (condition-message obj) -                                %gettext-domain)) -         (report-error (G_ "exception thrown: ~s~%") obj))) +         (if (error-location? obj) +             (format (current-error-port) +                     (G_ "~a: error: ~a~%") +                     (location->string (error-location obj)) +                     (gettext (condition-message obj) +                              %gettext-domain)) +             (report-error (G_ "~a~%") +                           (gettext (condition-message obj) +                                    %gettext-domain))) +         (report-error (G_ "exception thrown: ~s~%") obj)) +     (when (fix-hint? obj) +       (format (current-error-port) (G_ "hint: ~a~%") +               (fill-paragraph (texi->plain-text (condition-fix-hint obj)) +                               (terminal-columns) 8))))      ((error args ...)       (report-error (G_ "failed to load '~a':~%") file)       (apply display-error frame (current-error-port) args)))) @@ -517,6 +527,11 @@ interpreted."  directories:~{ ~a~}~%")                      (file-search-error-file-name c)                      (file-search-error-search-path c))) +            ((and (error-location? c) (message-condition? c)) +             (format (current-error-port) +                     (G_ "~a: error: ~a~%") +                     (location->string (error-location c)) +                     (gettext (condition-message c) %gettext-domain)))              ((message-condition? c)               ;; Normally '&message' error conditions have an i18n'd message.               (leave (G_ "~a~%") | 
