ui: Do not call 'display-error' for SRFI-34 exceptions.

* guix/ui.scm (report-load-error, warn-about-load-error, read/eval): Add
  clause for SRFI-34 exceptions.
master
Ludovic Courtès 2015-05-31 21:54:28 +02:00
parent 97c15a297d
commit 23185ceadc
1 changed files with 7 additions and 0 deletions

View File

@ -229,6 +229,8 @@ ARGS is the list of arguments received by the 'throw' handler."
(let ((loc (source-properties->location properties)))
(format (current-error-port) (_ "~a: error: ~a~%")
(location->string loc) message)))
(('srfi-34 obj)
(report-error (_ "exception thrown: ~s~%") obj))
((error args ...)
(report-error (_ "failed to load '~a':~%") file)
(apply display-error frame (current-error-port) args))))
@ -244,6 +246,9 @@ exiting. ARGS is the list of arguments received by the 'throw' handler."
(let ((loc (source-properties->location properties)))
(format (current-error-port) (_ "~a: warning: ~a~%")
(location->string loc) message)))
(('srfi-34 obj)
(warning (_ "failed to load '~a': exception thrown: ~s~%")
file obj))
((error args ...)
(warning (_ "failed to load '~a':~%") file)
(apply display-error #f (current-error-port) args))))
@ -450,6 +455,8 @@ interpreted."
(match args
(('syntax-error proc message properties form . rest)
(report-error (_ "syntax error: ~a~%") message))
(('srfi-34 obj)
(report-error (_ "exception thrown: ~s~%") obj))
((error args ...)
(apply display-error #f (current-error-port) args))
(what? #f))