# HG changeset patch # User Richard M. Stallman # Date 881210206 0 # Node ID fd74979309d3cadfccb4e3aa3a748fa697c09e19 # Parent 04ce86b23ffabf5745280eb91ff71c98ff846d74 (mail-extr-voodoo): Allow & between names. Reenable &-substitution when & comes last. diff -r 04ce86b23ffa -r fd74979309d3 lisp/mail/mail-extr.el --- a/lisp/mail/mail-extr.el Thu Dec 04 04:32:03 1997 +0000 +++ b/lisp/mail/mail-extr.el Thu Dec 04 04:36:46 1997 +0000 @@ -1533,7 +1533,6 @@ (while (re-search-forward mail-extr-bad-dot-pattern nil t) (replace-match "\\1 \\2" t)))))) - ;; Loop over the words (and other junk) in the name. (goto-char (point-min)) (while (not name-done-flag) @@ -1647,23 +1646,6 @@ (if initial (insert initial ". "))))) - ;; Handle & substitution - ;; This is turned off because an & from the passwd file - ;; should not really get into a mail address without - ;; being substituted, and people use it for other things. -;;; ((and (or (bobp) -;;; (eq ?\ (preceding-char))) -;;; (looking-at "&\\( \\|\\'\\)")) -;;; (mail-extr-delete-char 1) -;;; (capitalize-region -;;; (point) -;;; (progn -;;; (insert-buffer-substring canonicalization-buffer -;;; mbox-beg mbox-end) -;;; (point))) -;;; (setq disable-initial-guessing-flag t) -;;; (setq word-found-flag t)) - ;; Handle *Stupid* VMS date stamps ((looking-at mail-extr-stupid-vms-date-stamp-pattern) (replace-match "" t)) @@ -1726,6 +1708,28 @@ (setq word-found-flag t) (setq name-done-flag t)) + ;; Handle & substitution, when & is last and is not first. + ((and (> word-count 0) + (eq ?\ (preceding-char)) + (eq (following-char) ?&) + (eq (1+ (point)) (point-max))) + (mail-extr-delete-char 1) + (capitalize-region + (point) + (progn + (insert-buffer-substring canonicalization-buffer + mbox-beg mbox-end) + (point))) + (setq disable-initial-guessing-flag t) + (setq word-found-flag t)) + + ;; Handle & between names, as in "Bob & Susie". + ((and (> word-count 0) (eq (following-char) ?\&)) + (setq name-beg (point)) + (setq name-end (1+ name-beg)) + (setq word-found-flag t) + (goto-char name-end)) + ;; Regular name words ((looking-at mail-extr-name-pattern) (setq name-beg (point))