aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2025-02-11 22:11:45 +0100
committerRicardo Wurmus <rekado@elephly.net>2025-02-11 22:13:10 +0100
commit729bfe368973f57a88ab132c23ca103a58bee78a (patch)
treea4657f7fd91a6a080a22a22552b132a8e9c795f1
parent36c9996b75ee2163a5081d4b10530f9388d420da (diff)
downloadguix-729bfe368973f57a88ab132c23ca103a58bee78a.tar.gz
guix-729bfe368973f57a88ab132c23ca103a58bee78a.zip
import/utils: Wrap terms starting with @ in descriptions.
* tests/import-utils.scm ("beautify-description: escape @stuff"): Add test. * guix/import/utils.scm (beautify-description): Also wrap terms in @code{...} that start with an escaped @. Change-Id: I424f626635b821af6f4c16c97b8724cdaf99de45
-rw-r--r--guix/import/utils.scm6
-rw-r--r--tests/import-utils.scm4
2 files changed, 7 insertions, 3 deletions
diff --git a/guix/import/utils.scm b/guix/import/utils.scm
index 646482eb4a..c6b7341f2b 100644
--- a/guix/import/utils.scm
+++ b/guix/import/utils.scm
@@ -342,12 +342,12 @@ LENGTH characters."
;; Escape single @ to prevent it from being understood as
;; invalid Texinfo syntax.
(cut regexp-substitute/global #f "@" <> 'pre "@@" 'post)
- ;; Wrap camelCase or PascalCase words or text followed
- ;; immediately by "()" in @code{...}.
+ ;; Wrap camelCase, PascalCase words, text followed
+ ;; immediately by "()", or text starting with "@@" in @code{...}.
(lambda (word)
(let ((pattern
(make-regexp
- "([A-Z][a-z]+[A-Z]|[a-z]+[A-Z]|.+\\(\\))")))
+ "((@@)?[A-Z][a-z]+[A-Z]|(@@)?[a-z]+[A-Z]|(@@)?.+\\(\\))")))
(match (list-matches pattern word)
(() word)
((m . rest)
diff --git a/tests/import-utils.scm b/tests/import-utils.scm
index 4183903cd1..221866e871 100644
--- a/tests/import-utils.scm
+++ b/tests/import-utils.scm
@@ -53,6 +53,10 @@ Differences are hard to spot, e.g. in CLOS vs. GOOPS."))
"This @@ is not Texinfo syntax. Neither is this %@@>%."
(beautify-description "This @ is not Texinfo syntax. Neither is this %@>%."))
+(test-equal "beautify-description: escape @stuff"
+ "This is not valid syntax: @code{@@importFrom} oh dear."
+ (beautify-description "This is not valid syntax: @importFrom oh dear."))
+
(test-equal "beautify-description: wrap PascalCase words in @code"
"The term @code{DelayedMatrix} refers to a class."
(beautify-description "The term DelayedMatrix refers to a class."))