ui: Add an 'unbound-variable' exception printer.

* guix/ui.scm (print-unbound-variable-error): New variable.
Use it as the 'unbound-variable' printer.
This commit is contained in:
Ludovic Courtès 2017-11-09 23:31:18 +01:00
parent a2985bb101
commit dc856223f5
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 12 additions and 0 deletions

View File

@ -149,6 +149,18 @@ messages."
(report-error args ...) (report-error args ...)
(exit 1))) (exit 1)))
(define (print-unbound-variable-error port key args default-printer)
;; Print unbound variable errors more nicely, and in the right language.
(match args
((proc message (variable) _ ...)
;; We can always omit PROC because when it's useful (i.e., different from
;; "module-lookup"), it gets displayed before.
(format port (G_ "~a: unbound variable") variable))
(_
(default-printer))))
(set-exception-printer! 'unbound-variable print-unbound-variable-error)
(define (make-user-module modules) (define (make-user-module modules)
"Return a new user module with the additional MODULES loaded." "Return a new user module with the additional MODULES loaded."
;; Module in which the machine description file is loaded. ;; Module in which the machine description file is loaded.