summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2010-03-07 18:34:40 +0100
committerAndreas Schwab <schwab@linux-m68k.org>2010-03-07 18:34:40 +0100
commitb327c9751037d3d8abc7485c6a78ec96f4da1c1e (patch)
tree6a5d065a4ea75c5cd192042b7dfc9ebcab669fee
parent1c465a6a67c09f05045d2bdcd60f722f0ccc57e4 (diff)
downloademacs-b327c9751037d3d8abc7485c6a78ec96f4da1c1e.tar.gz
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)
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/mail/rfc822.el40
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)