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:
parent
a2985bb101
commit
dc856223f5
12
guix/ui.scm
12
guix/ui.scm
|
@ -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.
|
||||||
|
|
Loading…
Reference in New Issue