emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 22d8e71 2/2: Make lm-crack-address less strict


From: Lars Ingebrigtsen
Subject: master 22d8e71 2/2: Make lm-crack-address less strict
Date: Sat, 14 Aug 2021 09:23:59 -0400 (EDT)

branch: master
commit 22d8e71d0462be77cb1c7999b36713d0bdfd65af
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Make lm-crack-address less strict
    
    * lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Use
    mail-header-parse-address-lax (bug#50049).
---
 lisp/emacs-lisp/lisp-mnt.el | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el
index 4d1b42e..df14a5c 100644
--- a/lisp/emacs-lisp/lisp-mnt.el
+++ b/lisp/emacs-lisp/lisp-mnt.el
@@ -111,6 +111,8 @@
 
 ;;; Code:
 
+(require 'mail-parse)
+
 ;;; Variables:
 
 (defgroup lisp-mnt nil
@@ -359,19 +361,9 @@ Return argument is of the form (\"HOLDER\" \"YEAR1\" ... 
\"YEARN\")"
 (defun lm-crack-address (x)
   "Split up email address(es) X into full name and real email address.
 The value is a list of elements of the form (FULLNAME . ADDRESS)."
-  (cond ((string-match
-         (concat "[,\s\t]*\\(?:"
-                 "\\(.+?\\) +[(<]\\(\\S-+@\\S-+\\)[>)]"
-                 "\\|"
-                 "\\(?2:\\S-+@\\S-+\\) +[(<]\\(?1:[^,]*\\)[>)]"
-                 "\\|"
-                 "\\(?2:\\S-+@\\S-+\\)"
-                 "\\)")
-         x)
-        `((,(string-trim-right (match-string 1 x)) . ,(match-string 2 x))
-          . ,(lm-crack-address (substring x (match-end 0)))))
-       ((string-match "\\`[,\s\t]*\\'" x) nil)
-       (t `((,x)))))
+  (mapcar (lambda (elem)
+            (cons (cdr elem) (car elem)))
+          (mail-header-parse-addresses-lax x)))
 
 (defun lm-authors (&optional file)
   "Return the author list of file FILE, or current buffer if FILE is nil.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]