aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/mail/mailalias.el12
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/mail/mailalias.el b/lisp/mail/mailalias.el
index 176bfd80163..9d15345dd43 100644
--- a/lisp/mail/mailalias.el
+++ b/lisp/mail/mailalias.el
@@ -334,10 +334,14 @@ if it is quoted with double-quotes."
334 ;; double-quotes. Otherwise, addresses are separated by commas. 334 ;; double-quotes. Otherwise, addresses are separated by commas.
335 (if from-mailrc-file 335 (if from-mailrc-file
336 (if (eq ?\" (aref definition start)) 336 (if (eq ?\" (aref definition start))
337 (progn (string-match "[^\\]\\(\\([\\][\\]\\)*\\)\"[ \t,]*" definition start) 337 ;; The following test on `found' compensates for a bug
338 (setq start (1+ start) 338 ;; in match-end, which does not return nil when match
339 end (match-end 1) 339 ;; failed.
340 convert-backslash t)) 340 (let ((found (string-match "[^\\]\\(\\([\\][\\]\\)*\\)\"[ \t,]*"
341 definition start)))
342 (setq start (1+ start)
343 end (and found (match-end 1))
344 convert-backslash t))
341 (setq end (string-match "[ \t,]+" definition start))) 345 (setq end (string-match "[ \t,]+" definition start)))
342 (setq end (string-match "[ \t\n,]*,[ \t\n,]*" definition start))) 346 (setq end (string-match "[ \t\n,]*,[ \t\n,]*" definition start)))
343 (let ((temp (substring definition start end)) 347 (let ((temp (substring definition start end))