On Tue, 23 Aug 2016 12:15:17 +0200 Ricardo Wurmus <rek...@elephly.net> wrote:
> Eric Bavier <ericbav...@openmailbox.org> writes: > > > On Mon, 22 Aug 2016 22:03:58 +0200 > > Ricardo Wurmus <rek...@elephly.net> wrote: > > > >> John Darrington <j...@darrington.wattle.id.au> writes: > >> > >> > These somehow crept in, but are an explicit violation of GNU policy and > >> > coding standards. > >> > >> Good catch! Thanks for fixing this. > >> > >> ~~ Ricardo > > > > How about the attached patch to catch such things earlier? > > I like it. Thanks, Eric! > > Not sure if we should use “for-each” here (going through the string > once for each character) or if we could just go through the string once, > checking for any character match. > > Also, should we replace “sign” with “character”? In this updated patch I addressed both of these concerns. It's also about 14% faster (on a single benchmark :). `~Eric
From 46a8f3322392fcd6a7641062ff6b3d23685f394b Mon Sep 17 00:00:00 2001 From: Eric Bavier <bav...@member.fsf.org> Date: Tue, 23 Aug 2016 02:08:02 -0500 Subject: [PATCH] guix: lint: Check descriptions for trademark signs. * guix/scripts/lint.scm (check-description-style): Emit a warning if trademark signs found in description. --- guix/scripts/lint.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 51191e7..07e46a9 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -161,6 +161,17 @@ markup is valid return a plain-text version of DESCRIPTION, otherwise #f." 'description) #f))) + (define (check-trademarks description) + "Check that DESCRIPTION does not contain 'â¢' or '®' characters. See +http://www.gnu.org/prep/standards/html_node/Trademarks.html." + (match (string-index description (char-set #\⢠#\®)) + ((and (? number?) index) + (emit-warning package + (format #f (_ "description should not contain ~ +trademark sign '~a' at ~d") + (string-ref description index) index))) + (else #t))) + (define (check-proper-start description) (unless (or (properly-starts-sentence? description) (string-prefix-ci? (package-name package) description)) @@ -191,6 +202,7 @@ by two spaces; possible infraction~p at ~{~a~^, ~}") (if (string? description) (begin (check-not-empty description) + (check-trademarks description) ;; Use raw description for this because Texinfo rendering ;; automatically fixes end of sentence space. (check-end-of-sentence-space description) -- 2.9.2