From 89d02b98f90995b8c070ca1041a85711983584c7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 30 May 2013 00:49:34 +0200 Subject: ui: define-diagnostic: Don't mark `_' and `N_' as literals. * guix/ui.scm (define-diagnostic): Use `free-identifier=?' to compare the user's input with `_' and `N-". This should fix builds with Guile 2.1. Reported by Cojocaru Alexandru . --- guix/ui.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'guix') 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))) -- cgit v1.2.3