branch: externals/auctex
commit 98183a6a683ff551514778d411c15ba5d7224de4
Author: Paul Nelson <ultr...@gmail.com>
Commit: Paul Nelson <ultr...@gmail.com>

    tex-fold: Generalize citation year folding
    
    * tex-fold.el (TeX-fold--bib-abbrev-entry-at-point): Check both
    "year" and "date" fields when extracting publication
    year. (bug79076)
---
 tex-fold.el | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/tex-fold.el b/tex-fold.el
index 78e5b822f9..4daad45503 100644
--- a/tex-fold.el
+++ b/tex-fold.el
@@ -786,7 +786,14 @@ publication year, or nil if author/year not found."
   (when-let* ((case-fold-search t)
               (entry (bibtex-parse-entry))
               (author (bibtex-text-in-field "author" entry))
-              (year (bibtex-text-in-field "year" entry))
+              (year (seq-some
+                     (lambda (field)
+                       (when-let* ((value (bibtex-text-in-field field entry)))
+                         (save-match-data
+                           (when (string-match "[[:digit:]]\\{4\\}" value)
+                             (match-string 0 value)))))
+                     '("year" "date")))
+              (year-XX (substring year -2))
               (last-names
                (mapcar #'TeX-fold--last-name (string-split author " and ")))
               (last-names (seq-filter (lambda (name) (> (length name) 0))
@@ -797,8 +804,7 @@ publication year, or nil if author/year not found."
                    (substring (car last-names) 0 2)
                  (mapconcat (lambda (name)
                               (substring name 0 1))
-                            last-names)))
-              (year-XX (when year (substring year -2))))
+                            last-names))))
     (concat initials year-XX)))
 
 (defun TeX-fold--bib-entry (key files)

Reply via email to