diff options
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | 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 <schwab@linux-m68k.org> + + * 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 <stepnem@gmail.com> (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) |