summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Wicki <gabriel@erlikon.ch>2024-12-02 23:36:44 +0100
committerLudovic Courtès <ludo@gnu.org>2024-12-12 12:52:07 +0100
commitf28c32089d14303e2dd261009600478bc4ae0463 (patch)
treef7b696cdd99fc0f830f45b62ed3902c6b48547e7
parent00879f94eeadb63f17278ff2f5acb666f6879d22 (diff)
lint: Allow texinfo markup at beginning of description.
* guix/lint.scm(starts-with-texinfo-markup?): New function. (check-description-style)[check-proper-start]: Add condition. * tests/lint.scm: Add test case. Change-Id: I674988882265d9e2041d48dba0f9627cd68bf292 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--guix/lint.scm8
-rw-r--r--tests/lint.scm5
2 files changed, 12 insertions, 1 deletions
diff --git a/guix/lint.scm b/guix/lint.scm
index 63d101ebf9..d6d48ad27c 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -370,6 +370,9 @@ superfluous when building natively and incorrect when cross-compiling."
(define (properly-starts-sentence? s)
(string-match "^[(\"'`[:upper:][:digit:]]" s))
+(define (starts-with-texinfo-markup? s)
+ (string-match "^@(acronym|dfn|code|command|emph|file|quotation|samp|uref|url)\\{.*?\\}" 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))
@@ -447,6 +450,7 @@ trademark sign '~a' at ~d")
'pre "-" 'post)))
(if (or (string-null? description)
(properly-starts-sentence? description)
+ (starts-with-texinfo-markup? description)
(string-prefix-ci? first-word (package-name package))
(string-suffix-ci? first-word (package-name package)))
'()
@@ -513,7 +517,9 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
(match (check-texinfo-markup description)
((and warning (? lint-warning?)) (list warning))
(plain-description
- (check-proper-start plain-description))))
+ (if (string-prefix? "@" description)
+ '()
+ (check-proper-start plain-description)))))
(list
(make-warning package
(G_ "invalid description: ~s")
diff --git a/tests/lint.scm b/tests/lint.scm
index 9297bfbaac..df7042c470 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -121,6 +121,11 @@
(description "bad description."))))
(check-description-style pkg))))
+(test-equal "description: may start with texinfo markup"
+ '()
+ (check-description-style
+ (dummy-package "x" (description "@emph{Maxwell Equations of Software}"))))
+
(test-equal "description: may start with a digit"
'()
(let ((pkg (dummy-package "x"