From 27accec97022a49b362feeb36293fdce2947eb43 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Wed, 25 Jan 2017 21:21:40 +0100 Subject: [PATCH] Make address parsing more robust * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't bug out on addresses like (ietf-drums-parse-address "\"Foo \"bar\" ") (bug#18572). --- lisp/mail/ietf-drums.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lisp/mail/ietf-drums.el b/lisp/mail/ietf-drums.el index a3e53cfe793..fd793a28309 100644 --- a/lisp/mail/ietf-drums.el +++ b/lisp/mail/ietf-drums.el @@ -192,6 +192,17 @@ the Content-Transfer-Encoding header of a mail." (ietf-drums-init string) (while (not (eobp)) (setq c (char-after)) + ;; If we have an uneven number of quote characters, + ;; `forward-sexp' will fail. In these cases, just delete the + ;; final of these quote characters. + (when (and (eq c ?\") + (not + (save-excursion + (ignore-errors + (forward-sexp 1) + t)))) + (delete-char 1) + (setq c (char-after))) (cond ((or (eq c ? ) (eq c ?\t)) -- 2.39.5