diff options
-rw-r--r-- | guix/ui.scm | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index 953cf9ea7f..8893cc8eee 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -136,9 +136,7 @@ messages." (and (string? (syntax->datum #'fmt)) (free-identifier=? #'underscore #'G_)) #'(begin - (format (guix-warning-port) "~:[~*~;guix ~a: ~]~a" - (program-name) (program-name) - (gettext prefix %gettext-domain)) + (print-diagnostic-prefix prefix) (format (guix-warning-port) (gettext fmt %gettext-domain) args (... ...)))) ((name (N-underscore singular plural n) args (... ...)) @@ -146,9 +144,7 @@ messages." (string? (syntax->datum #'plural)) (free-identifier=? #'N-underscore #'N_)) #'(begin - (format (guix-warning-port) "~:[~*~;guix ~a: ~]~a" - (program-name) (program-name) - (gettext prefix %gettext-domain)) + (print-diagnostic-prefix prefix) (format (guix-warning-port) (ngettext singular plural n %gettext-domain) args (... ...)))))))))) @@ -166,6 +162,14 @@ messages." (report-error args ...) (exit 1))) +(define (print-diagnostic-prefix prefix) + "Print PREFIX as a diagnostic line prefix." + (format (guix-warning-port) "~:[~*~;guix ~a: ~]~a" + (program-name) (program-name) + (if (string-null? prefix) + prefix + (gettext prefix %gettext-domain)))) + (define (print-unbound-variable-error port key args default-printer) ;; Print unbound variable errors more nicely, and in the right language. (match args |