From b327c9751037d3d8abc7485c6a78ec96f4da1c1e Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Sun, 7 Mar 2010 18:34:40 +0100 Subject: [PATCH] Don't end parsing rfc822 addresses prematurely (Bug#5692) * mail/rfc822.el (rfc822-addresses): Move catch clause down around call to rfc822-bad-address. (Bug#5692) --- lisp/ChangeLog | 5 +++++ lisp/mail/rfc822.el | 40 ++++++++++++++++++++-------------------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b6374989031..5a18f2876dd 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2010-03-07 Andreas Schwab + + * mail/rfc822.el (rfc822-addresses): Move catch clause down around + call to rfc822-bad-address. (Bug#5692) + 2010-03-07 Štěpán Němec (tiny change) * vc-git.el (vc-git-annotate-extract-revision-at-line): Use diff --git a/lisp/mail/rfc822.el b/lisp/mail/rfc822.el index e1e6932a560..3048d56674b 100644 --- a/lisp/mail/rfc822.el +++ b/lisp/mail/rfc822.el @@ -296,26 +296,26 @@ ;; initial value to prevent rfc822-bad-address from ;; raising a wrong-type-argument error (rfc822-address-start (point))) - (catch 'address ; this is for rfc822-bad-address - (rfc822-nuke-whitespace) - (while (not (eobp)) - (setq rfc822-address-start (point)) - (setq tem - (cond ((rfc822-looking-at ?\,) - nil) - ((looking-at "[][\000-\037@;:\\.>)]") - (forward-char) - (rfc822-bad-address - (format "Strange character \\%c found" - (preceding-char)))) - (t - (rfc822-addresses-1 t)))) - (cond ((null tem)) - ((stringp tem) - (setq list (cons tem list))) - (t - (setq list (nconc (nreverse tem) list))))) - (nreverse list)))) + (rfc822-nuke-whitespace) + (while (not (eobp)) + (setq rfc822-address-start (point)) + (setq tem + (cond ((rfc822-looking-at ?\,) + nil) + ((looking-at "[][\000-\037@;:\\.>)]") + (forward-char) + (catch 'address ; this is for rfc822-bad-address + (rfc822-bad-address + (format "Strange character \\%c found" + (preceding-char))))) + (t + (rfc822-addresses-1 t)))) + (cond ((null tem)) + ((stringp tem) + (setq list (cons tem list))) + (t + (setq list (nconc (nreverse tem) list))))) + (nreverse list))) (and buf (kill-buffer buf)))))) (provide 'rfc822) -- 2.39.5