diff --git a/guix/ui.scm b/guix/ui.scm index cd47989ca6..370b41b9dc 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -77,17 +77,19 @@ (define-syntax name (define (augmented-format-string fmt) (string-append "~:[~*~;guix ~a: ~]~a" (syntax->datum fmt))) - (syntax-case x (N_ _) ; these are literals, yeah... - ((name (_ fmt) args (... ...)) - (string? (syntax->datum #'fmt)) + (syntax-case x () + ((name (underscore fmt) args (... ...)) + (and (string? (syntax->datum #'fmt)) + (free-identifier=? #'underscore #'_)) (with-syntax ((fmt* (augmented-format-string #'fmt)) (prefix (datum->syntax x prefix))) #'(format (guix-warning-port) (gettext fmt*) (program-name) (program-name) prefix args (... ...)))) - ((name (N_ singular plural n) args (... ...)) + ((name (N-underscore singular plural n) args (... ...)) (and (string? (syntax->datum #'singular)) - (string? (syntax->datum #'plural))) + (string? (syntax->datum #'plural)) + (free-identifier=? #'N-underscore #'N_)) (with-syntax ((s (augmented-format-string #'singular)) (p (augmented-format-string #'plural)) (prefix (datum->syntax x prefix)))