ui: Add 'display-hint'.

* guix/ui.scm (known-variable-definition): New procedure.
(report-load-error): Use it.
This commit is contained in:
Ludovic Courtès 2017-11-09 23:27:56 +01:00
parent d8f075c3a3
commit 935542fbde
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 8 additions and 3 deletions

View File

@ -229,6 +229,13 @@ messages."
(else
#t))))))
(define* (display-hint message #:optional (port (current-error-port)))
"Display MESSAGE, a l10n message possibly containing Texinfo markup, to
PORT."
(format port (G_ "hint: ~a~%")
(fill-paragraph (texi->plain-text message)
(terminal-columns) 8)))
(define* (report-load-error file args #:optional frame)
"Report the failure to load FILE, a user-provided Scheme file.
ARGS is the list of arguments received by the 'throw' handler."
@ -262,9 +269,7 @@ ARGS is the list of arguments received by the 'throw' handler."
%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))))
(display-hint (condition-fix-hint obj))))
((error args ...)
(report-error (G_ "failed to load '~a':~%") file)
(apply display-error frame (current-error-port) args))))