branch: externals/auctex-label-numbers
commit 2c3cca8d2408a7b1144554e63e6f928870beec10
Author: Paul Nelson <[email protected]>
Commit: Paul Nelson <[email protected]>
Handle xr's nocite option
* auctex-label-numbers.el
(auctex-label-numbers--external-document-regexp): Allow an empty
prefix and recognize the nocite option.
* tests/auctex-label-numbers-tests.el
(test-auctex-label-numbers--external-document-regexp): Test it.
---
auctex-label-numbers.el | 2 +-
tests/auctex-label-numbers-tests.el | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/auctex-label-numbers.el b/auctex-label-numbers.el
index 81dc35586da..a2454dcd40f 100644
--- a/auctex-label-numbers.el
+++ b/auctex-label-numbers.el
@@ -104,7 +104,7 @@ to find the corresponding aux files."
(const :tag "Don't search external documents" nil)))
(defconst auctex-label-numbers--external-document-regexp
- "\\\\external\\(?:cite\\)?document\\(?:\\[\\([^]]+\\)\\]\\)?{\\([^}]+\\)}"
+
"\\\\external\\(?:cite\\)?document\\(?:\\[\\([^]]*\\)\\]\\)?\\(?:\\[nocite\\]\\)?{\\([^}]+\\)}"
"Regexp for \\externaldocument commands.
Optional prefix is (match-string 1), filename is (match-string 2).")
diff --git a/tests/auctex-label-numbers-tests.el
b/tests/auctex-label-numbers-tests.el
index 8a23cd8c09c..812706c370e 100644
--- a/tests/auctex-label-numbers-tests.el
+++ b/tests/auctex-label-numbers-tests.el
@@ -61,11 +61,15 @@
(should (equal (match-string 1 "\\externaldocument[ch1:]{chapter1-file}")
"ch1:"))
(should (equal (match-string 2 "\\externaldocument[ch1:]{chapter1-file}")
"chapter1-file"))
+ ;; Test the nocite option with an empty prefix
+ (should (string-match auctex-label-numbers--external-document-regexp
+ "\\externaldocument[][nocite]{nocitefile}"))
+ (should (equal (match-string 1 "\\externaldocument[][nocite]{nocitefile}")
""))
+ (should (equal (match-string 2 "\\externaldocument[][nocite]{nocitefile}")
"nocitefile"))
+
;; Test that it doesn't match invalid syntax
(should-not (string-match auctex-label-numbers--external-document-regexp
"\\externaldocument{missingbracket"))
- (should-not (string-match auctex-label-numbers--external-document-regexp
- "\\externaldocument[]{empty}")) ; Empty optional
argument
(should-not (string-match auctex-label-numbers--external-document-regexp
"\\externaldocument[prefix]nobraces")))