diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-11-07 17:44:30 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-11-07 17:52:11 +0100 |
commit | 15a6d433ff33c44ffef406ad77e196d6a5ef0822 (patch) | |
tree | 7b1f6774ff5c064e24b5f2dac9f83ab96a94d70b | |
parent | 105c260f00479d404b140be534efb21f9f3d17fe (diff) | |
download | guix-15a6d433ff33c44ffef406ad77e196d6a5ef0822.tar guix-15a6d433ff33c44ffef406ad77e196d6a5ef0822.tar.gz |
lint: Allow synopses that start with an abbreviation.
* guix/scripts/lint.scm (starts-with-abbreviation?): New procedure.
(check-synopsis-style)[check-start-with-package-name]: Use it.
* tests/lint.scm ("synopsis: start with abbreviation"): New test.
-rw-r--r-- | guix/scripts/lint.scm | 7 | ||||
-rw-r--r-- | tests/lint.scm | 10 |
2 files changed, 16 insertions, 1 deletions
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 350a35222c..237709848f 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -80,6 +80,10 @@ (define (properly-starts-sentence? s) (string-match "^[(\"'[:upper:][:digit:]]" s)) +(define (starts-with-abbreviation? s) + "Return #t if S starts with what looks like an abbreviation or acronym." + (string-match "^[A-Z][A-Z0-9]+\\>" s)) + (define (check-description-style package) ;; Emit a warning if stylistic issues are found in the description of PACKAGE. (define (check-not-empty description) @@ -180,7 +184,8 @@ line." 'synopsis))) (define (check-start-with-package-name synopsis) - (when (regexp-exec (package-name-regexp package) synopsis) + (when (and (regexp-exec (package-name-regexp package) synopsis) + (not (starts-with-abbreviation? synopsis))) (emit-warning package "synopsis should not start with the package name" 'synopsis))) diff --git a/tests/lint.scm b/tests/lint.scm index 9a043c4b59..e77d443264 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -202,6 +202,16 @@ (synopsis "Arbitrary precision")))) (check-synopsis-style pkg)))))) +(test-assert "synopsis: start with abbreviation" + (string-null? + (call-with-warnings + (lambda () + (let ((pkg (dummy-package "uucp" + ;; Same problem with "APL interpreter", etc. + (synopsis "UUCP implementation") + (description "Imagine this is Taylor UUCP.")))) + (check-synopsis-style pkg)))))) + (test-assert "inputs: pkg-config is probably a native input" (->bool (string-contains |