Mercurial > hg > xemacs-beta
diff lisp/vm/vm-reply.el @ 70:131b0175ea99 r20-0b30
Import from CVS: tag r20-0b30
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:02:59 +0200 |
parents | 05472e90ae02 |
children | c0c698873ce1 |
line wrap: on
line diff
--- a/lisp/vm/vm-reply.el Mon Aug 13 09:00:04 2007 +0200 +++ b/lisp/vm/vm-reply.el Mon Aug 13 09:02:59 2007 +0200 @@ -1,5 +1,5 @@ ;;; Mailing, forwarding, and replying commands for VM -;;; Copyright (C) 1989-1997 Kyle E. Jones +;;; Copyright (C) 1989, 1990, 1991, 1993, 1994, 1995 Kyle E. Jones ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -29,12 +29,11 @@ ((eq mlist mp) (cond ((setq to (let ((reply-to - (vm-get-header-contents (car mp) "Reply-To:" - ", "))) + (vm-get-header-contents (car mp) "Reply-To:"))) (if (vm-ignored-reply-to reply-to) nil reply-to )))) - ((setq to (vm-get-header-contents (car mp) "From:" ", "))) + ((setq to (vm-get-header-contents (car mp) "From:"))) ;; bad, but better than nothing for some ((setq to (vm-grok-From_-author (car mp)))) (t (error "No From: or Reply-To: header in message"))) @@ -52,11 +51,9 @@ subject) 0))) (setq subject (concat vm-reply-subject-prefix subject)))) - (t (cond ((setq tmp (vm-get-header-contents (car mp) "Reply-To:" - ", ")) + (t (cond ((setq tmp (vm-get-header-contents (car mp) "Reply-To:")) (setq to (concat to "," tmp))) - ((setq tmp (vm-get-header-contents (car mp) "From:" - ", ")) + ((setq tmp (vm-get-header-contents (car mp) "From:")) (setq to (concat to "," tmp))) ;; bad, but better than nothing for some ((setq tmp (vm-grok-From_-author (car mp))) @@ -64,10 +61,8 @@ (t (error "No From: or Reply-To: header in message"))))) (if to-all (progn - (setq tmp (vm-get-header-contents (car mp) "To:" - ", ")) - (setq tmp2 (vm-get-header-contents (car mp) "Cc:" - ", ")) + (setq tmp (vm-get-header-contents (car mp) "To:")) + (setq tmp2 (vm-get-header-contents (car mp) "Cc:")) (if tmp (if cc (setq cc (concat cc "," tmp)) @@ -77,14 +72,13 @@ (setq cc (concat cc "," tmp2)) (setq cc tmp2))))) (setq references - (cons (vm-get-header-contents (car mp) "References:" " ") - (cons (vm-get-header-contents (car mp) "In-reply-to:" " ") - (cons (vm-get-header-contents (car mp) "Message-ID:" - " ") + (cons (vm-get-header-contents (car mp) "References:") + (cons (vm-get-header-contents (car mp) "In-reply-to:") + (cons (vm-get-header-contents (car mp) "Message-ID:") references)))) (setq newsgroups - (cons (or (and to-all (vm-get-header-contents (car mp) "Followup-To:" ",")) - (vm-get-header-contents (car mp) "Newsgroups:" ",")) + (cons (or (and to-all (vm-get-header-contents (car mp) "Followup-To:")) + (vm-get-header-contents (car mp) "Newsgroups:")) newsgroups)) (setq mp (cdr mp))) (if vm-strip-reply-headers @@ -130,10 +124,8 @@ (concat "^" (regexp-quote mail-header-separator) "$") nil 0)) (forward-char 1) (while mlist - (save-restriction - (narrow-to-region (point) (point)) - (vm-yank-message (car mlist)) - (goto-char (point-max))) + (vm-yank-message (car mlist)) + (goto-char (point-max)) (setq mlist (cdr mlist))))) (run-hooks 'vm-reply-hook) (run-hooks 'vm-mail-mode-hook))) @@ -200,8 +192,6 @@ (setq newbuf (current-buffer)) (if (not (eq major-mode 'vm-mode)) (vm-mode)) - (if vm-presentation-buffer-handle - (vm-bury-buffer vm-presentation-buffer-handle)) (if (null vm-message-pointer) (error "No messages in folder %s" folder)) (setq default (vm-number-of (car vm-message-pointer))) @@ -285,52 +275,12 @@ (save-restriction (widen) (save-excursion - (if (vectorp (vm-mm-layout message)) - (let* ((o (vm-mm-layout message)) - (type (car (vm-mm-layout-type o))) - parts) - (vm-insert-region-from-buffer (vm-buffer-of message) - (vm-headers-of message) - (vm-text-of message)) - (cond ((vm-mime-types-match "multipart" type) - (setq parts (copy-sequence (vm-mm-layout-parts o)))) - (t (setq parts (list o)))) - (while parts - (cond ((vm-mime-text-type-p (car parts)) - (if (cond ((vm-mime-types-match - "text/html" - (car (vm-mm-layout-type (car parts)))) - (vm-mime-display-internal-text/html - (car parts))) - ((vm-mime-types-match - "text/enriched" - (car (vm-mm-layout-type (car parts)))) - (vm-mime-display-internal-text/enriched - (car parts))) - ((vm-mime-display-internal-text/plain - (car parts) t))) - nil - ;; charset problems probably - ;; just dump the raw bits - (vm-mime-insert-mime-body (car parts)) - (vm-mime-transfer-decode-region (car parts) - start (point))) - (setq parts (cdr parts))) - ((vm-mime-composite-type-p - (car (vm-mm-layout-type (car parts)))) - (setq parts (nconc (copy-sequence - (vm-mm-layout-parts - (car parts))) - (cdr parts)))) - (t (setq parts (cdr parts))))) - (setq end (point-marker))) - (set-buffer (vm-buffer-of message)) - (save-restriction - (widen) - (append-to-buffer b (vm-headers-of message) - (vm-text-end-of message)) - (setq end (vm-marker (+ start (- (vm-text-end-of message) - (vm-headers-of message))) b))))) + (set-buffer (vm-buffer-of message)) + (save-restriction + (widen) + (append-to-buffer b (vm-headers-of message) (vm-text-end-of message)) + (setq end (vm-marker (+ start (- (vm-text-end-of message) + (vm-headers-of message))) b)))) (push-mark end) (cond (mail-citation-hook (run-hooks 'mail-citation-hook)) (mail-yank-hooks (run-hooks 'mail-yank-hooks)) @@ -340,18 +290,11 @@ "Just like mail-send-and-exit except that VM flags the appropriate message(s) as having been replied to, if appropriate." (interactive "P") - (vm-check-for-killed-folder) (let ((b (current-buffer))) (vm-mail-send) (cond ((null (buffer-name b)) ;; dead buffer - ;; This improves window configuration behavior in - ;; XEmacs. It avoids taking the folder buffer from - ;; one frame and attaching it to the selected frame. - (set-buffer (window-buffer (selected-window))) (vm-display nil nil '(vm-mail-send-and-exit) - '(vm-mail-send-and-exit - reading-message - startup))) + '(vm-mail-send-and-exit reading-message startup))) (t (vm-display b nil '(vm-mail-send-and-exit) '(vm-mail-send-and-exit reading-message startup)) @@ -370,9 +313,7 @@ vm-kept-mail-buffers))) (mapcar (function (lambda (b) - (and (buffer-name b) - (not (buffer-modified-p b)) - (kill-buffer b)))) + (and (buffer-name b) (kill-buffer b)))) extras) (and vm-kept-mail-buffers extras (setcdr (memq (car extras) vm-kept-mail-buffers) nil))))) @@ -396,78 +337,27 @@ (interactive) (if vm-tale-is-an-idiot (vm-help-tale)) - ;; protect value of this-command from minibuffer read - (let ((this-command this-command)) - (if (and vm-confirm-mail-send - (not (y-or-n-p "Send the message? "))) - (error "Message not sent."))) - ;; send mail using MIME if user requests it and if the buffer - ;; has not already been MIME encoded. - (if (and vm-send-using-mime - (null (vm-mail-mode-get-header-contents "MIME-Version:"))) - (vm-mime-encode-composition)) + (if (and vm-confirm-mail-send + (not (y-or-n-p "Send the message? "))) + (error "Message not sent.")) ;; this to prevent Emacs 19 from asking whether a message that ;; has already been sent should be sent again. VM renames mail ;; buffers after the message has been sent, so the user should ;; already know that the message has been sent. (set-buffer-modified-p t) - (let ((composition-buffer (current-buffer)) - ;; preserve these in case the composition buffer gets - ;; killed. - (vm-reply-list vm-reply-list) - (vm-forward-list vm-forward-list) - (vm-redistribute-list vm-redistribute-list)) - ;; fragment message using message/partial if it is too big. - (if (and vm-send-using-mime - (integerp vm-mime-max-message-size) - (> (buffer-size) vm-mime-max-message-size)) - (let (list) - (setq list (vm-mime-fragment-composition vm-mime-max-message-size)) - (while list - (save-excursion - (set-buffer (car list)) - (vm-mail-send) - (kill-buffer (car list))) - (setq list (cdr list))) - ;; what mail-send would have done - (set-buffer-modified-p nil)) - ;; don't want a buffer change to occur here - ;; save-excursion to be sure. - ;; - ;; also protect value of this-command from minibuffer reads - (let ((this-command this-command)) - (save-excursion - (mail-send)))) - ;; be careful, something could have killed the composition - ;; buffer inside mail-send. - (if (eq (current-buffer) composition-buffer) - (progn - (cond ((eq vm-system-state 'replying) - (vm-mail-mark-replied)) - ((eq vm-system-state 'forwarding) - (vm-mail-mark-forwarded)) - ((eq vm-system-state 'redistributing) - (vm-mail-mark-redistributed))) - (vm-rename-current-mail-buffer) - (vm-keep-mail-buffer (current-buffer)))) - (vm-display nil nil '(vm-mail-send) '(vm-mail-send)))) - -(defun vm-mail-mode-get-header-contents (header-name-regexp) - (let ((contents nil) - regexp) - (setq regexp (concat "^\\(" header-name-regexp "\\)\\|\\(^" - (regexp-quote mail-header-separator) "$\\)")) - (save-excursion - (save-restriction - (widen) - (goto-char (point-min)) - (let ((case-fold-search t)) - (if (and (re-search-forward regexp nil t) - (match-beginning 1) - (progn (goto-char (match-beginning 0)) - (vm-match-header))) - (vm-matched-header-contents) - nil )))))) + ;; don't want a buffer change to occur here + ;; save-excursion to be sure. + (save-excursion + (mail-send)) + (vm-rename-current-mail-buffer) + (cond ((eq vm-system-state 'replying) + (vm-mail-mark-replied)) + ((eq vm-system-state 'forwarding) + (vm-mail-mark-forwarded)) + ((eq vm-system-state 'redistributing) + (vm-mail-mark-redistributed))) + (vm-keep-mail-buffer (current-buffer)) + (vm-display nil nil '(vm-mail-send) '(vm-mail-send))) (defun vm-rename-current-mail-buffer () (if vm-rename-current-buffer-function @@ -595,15 +485,7 @@ "Like vm-forward-message but always forwards all the headers." (interactive) (let ((vm-forwarded-headers nil) - (vm-unforwarded-header-regexp "only-drop-this-header") - ;; set these because vm-forward-message calls vm-send-digest - ;; if there is more than one message to be forwarded. - (vm-rfc934-digest-headers nil) - (vm-rfc934-digest-discard-header-regexp "only-drop-this-header") - (vm-rfc1153-digest-headers nil) - (vm-rfc1153-digest-discard-header-regexp "only-drop-this-header") - (vm-mime-digest-headers nil) - (vm-mime-digest-discard-header-regexp "only-drop-this-header")) + (vm-unforwarded-header-regexp "only-drop-this-header")) (vm-forward-message))) (defun vm-forward-message () @@ -616,17 +498,12 @@ (vm-select-folder-buffer) (vm-check-for-killed-summary) (vm-error-if-folder-empty) - (if (and (eq last-command 'vm-next-command-uses-marks) - (cdr (vm-select-marked-or-prefixed-messages 0))) + (if (eq last-command 'vm-next-command-uses-marks) (let ((vm-digest-send-type vm-forwarding-digest-type)) (setq this-command 'vm-next-command-uses-marks) (command-execute 'vm-send-digest)) (let ((dir default-directory) - (miming (and vm-send-using-mime - (equal vm-forwarding-digest-type "mime"))) - mail-buffer - header-end - (mp (vm-select-marked-or-prefixed-messages 1))) + (mp vm-message-pointer)) (save-restriction (widen) (vm-mail-internal @@ -641,31 +518,10 @@ (setq vm-system-state 'forwarding vm-forward-list (list (car mp)) default-directory dir) - (if miming - (progn - (setq mail-buffer (current-buffer)) - (set-buffer (generate-new-buffer "*vm-forward-buffer*")) - (setq header-end (point)) - (insert "\n")) - (goto-char (point-min)) - (re-search-forward (concat "^" (regexp-quote mail-header-separator) - "\n")) - (goto-char (match-end 0)) - (setq header-end (match-beginning 0))) - (cond ((equal vm-forwarding-digest-type "mime") - (vm-mime-encapsulate-messages (list (car mp)) - vm-forwarded-headers - vm-unforwarded-header-regexp - nil) - (goto-char header-end) - (insert "MIME-Version: 1.0\n") - (insert "Content-Type: message/rfc822\n") - (insert "Content-Transfer-Encoding: " - (vm-determine-proper-content-transfer-encoding - (point) - (point-max)) - "\n")) - ((equal vm-forwarding-digest-type "rfc934") + (goto-char (point-min)) + (re-search-forward + (concat "^" (regexp-quote mail-header-separator) "\n") nil 0) + (cond ((equal vm-forwarding-digest-type "rfc934") (vm-rfc934-encapsulate-messages vm-forward-list vm-forwarded-headers vm-unforwarded-header-regexp)) @@ -673,19 +529,14 @@ (vm-rfc1153-encapsulate-messages vm-forward-list vm-forwarded-headers vm-unforwarded-header-regexp)) + ((equal vm-forwarding-digest-type "rfc1521") + (vm-rfc1521-encapsulate-messages + vm-forward-list vm-forwarded-headers + vm-unforwarded-header-regexp)) ((equal vm-forwarding-digest-type nil) (vm-no-frills-encapsulate-message (car vm-forward-list) vm-forwarded-headers vm-unforwarded-header-regexp))) - (if miming - (let ((b (current-buffer))) - (set-buffer mail-buffer) - (mail-text) - (vm-mime-attach-object b "message/rfc822" nil nil t) - (add-hook 'kill-buffer-hook - (list 'lambda () - (list 'if (list 'eq mail-buffer '(current-buffer)) - (list 'kill-buffer b)))))) (mail-position-on-field "To")) (run-hooks 'vm-forward-message-hook) (run-hooks 'vm-mail-mode-hook)))) @@ -701,25 +552,20 @@ (vm-error-if-folder-empty) (let ((b (current-buffer)) start (dir default-directory) - (layout (vm-mm-layout (car vm-message-pointer))) (lim (vm-text-end-of (car vm-message-pointer)))) (save-restriction (widen) - (if (or (not (vectorp layout)) - (not (setq layout (vm-mime-layout-contains-type - layout "message/rfc822")))) - (save-excursion - (goto-char (vm-text-of (car vm-message-pointer))) - (let ((case-fold-search t)) - ;; What a wonderful world it would be if mailers - ;; used a single message encapsulation standard - ;; instead of all the weird variants. It is - ;; useless to try to cover them all. This simple - ;; rule should cover the sanest of the formats - (if (not (re-search-forward "^Received:" lim t)) - (error "This doesn't look like a bounced message.")) - (beginning-of-line) - (setq start (point))))) + (save-excursion + (goto-char (vm-text-of (car vm-message-pointer))) + (let ((case-fold-search t)) + ;; What a wonderful world it would be if mailers used a single + ;; message encapsulation standard instead all the weird variants + ;; It is useless to try to cover them all. + ;; This simple rule should cover the sanest of the formats + (if (not (re-search-forward "^Received:" lim t)) + (error "This doesn't look like a bounced message.")) + (beginning-of-line) + (setq start (point)))) ;; briefly nullify vm-mail-header-from to keep vm-mail-internal ;; from inserting another From header. (let ((vm-mail-header-from nil)) @@ -727,12 +573,7 @@ (format "retry of bounce from %s" (vm-su-from (car vm-message-pointer))))) (goto-char (point-min)) - (if (vectorp layout) - (progn - (setq start (point)) - (vm-mime-insert-mime-body layout) - (vm-mime-transfer-decode-region layout start (point))) - (insert-buffer-substring b start lim)) + (insert-buffer-substring b start lim) (delete-region (point) (point-max)) (goto-char (point-min)) ;; delete all but pertinent headers @@ -743,10 +584,7 @@ (replace-match "") (goto-char (point-max))) (insert ?\n mail-header-separator ?\n) - (goto-char (point-min)) - (if vm-mail-header-from - (insert "Resent-From: " vm-mail-header-from ?\n)) - (mail-position-on-field "Resent-To") + (mail-position-on-field "To") (setq default-directory dir))) (run-hooks 'vm-resend-bounced-message-hook) (run-hooks 'vm-mail-mode-hook)) @@ -756,10 +594,10 @@ The current message will be copied to a Mail mode buffer and you can edit the message and send it as usual. -NOTE: since you are doing a resend, a Resent-To header is provided -for you to fill in the new recipient list. If you don't fill in -this header, what happens when you send the message is undefined. -You may also create a Resent-Cc header." +NOTE: since you are doing a resend, a Resent-To header is +provided for you to fill in. If you don't fill it in, when you +send the message it will go to the original recipients listed in +the To and Cc headers. You may also create a Resent-Cc header." (interactive) (vm-follow-summary-cursor) (vm-select-folder-buffer) @@ -824,14 +662,13 @@ (vm-check-for-killed-summary) (vm-error-if-folder-empty) (let ((dir default-directory) - (miming (and vm-send-using-mime (equal vm-digest-send-type "mime"))) - mp mail-buffer b + (mp vm-message-pointer) ;; prefix arg doesn't have "normal" meaning here, so only call ;; vm-select-marked-or-prefixed-messages if we're using marks. (mlist (if (eq last-command 'vm-next-command-uses-marks) (vm-select-marked-or-prefixed-messages 0) vm-message-list)) - start header-end boundary) + start) (save-restriction (widen) (vm-mail-internal (format "digest from %s" (buffer-name))) @@ -839,64 +676,30 @@ (setq vm-system-state 'forwarding vm-forward-list mlist default-directory dir) - (if miming - (progn - (setq mail-buffer (current-buffer)) - (set-buffer (generate-new-buffer "*vm-digest-buffer*")) - (setq header-end (point)) - (insert "\n") - (setq start (point-marker))) - (goto-char (point-min)) - (re-search-forward (concat "^" (regexp-quote mail-header-separator) - "\n")) - (goto-char (match-end 0)) - (setq start (point-marker) - header-end (match-beginning 0))) - (message "Building %s digest..." vm-digest-send-type) - (cond ((equal vm-digest-send-type "mime") - (setq boundary (vm-mime-encapsulate-messages - mlist vm-mime-digest-headers - vm-mime-digest-discard-header-regexp - t)) - (goto-char header-end) - (insert "MIME-Version: 1.0\n") - (insert (if vm-mime-avoid-folding-content-type - "Content-Type: multipart/digest; boundary=\"" - "Content-Type: multipart/digest;\n\tboundary=\"") - boundary "\"\n") - (insert "Content-Transfer-Encoding: " - (vm-determine-proper-content-transfer-encoding - (point) - (point-max)) - "\n")) - ((equal vm-digest-send-type "rfc934") + (goto-char (point-min)) + (re-search-forward (concat "^" (regexp-quote mail-header-separator) + "\n")) + (goto-char (match-end 0)) + (setq start (point) + mp mlist) + (vm-unsaved-message "Building %s digest..." vm-digest-send-type) + (cond ((equal vm-digest-send-type "rfc934") (vm-rfc934-encapsulate-messages mlist vm-rfc934-digest-headers vm-rfc934-digest-discard-header-regexp)) ((equal vm-digest-send-type "rfc1153") (vm-rfc1153-encapsulate-messages mlist vm-rfc1153-digest-headers - vm-rfc1153-digest-discard-header-regexp))) + vm-rfc1153-digest-discard-header-regexp)) + ((equal vm-digest-send-type "rfc1521") + (vm-rfc1521-encapsulate-messages + mlist vm-rfc1521-digest-headers + vm-rfc1521-digest-discard-header-regexp))) (goto-char start) (setq mp mlist) - (if miming - (let ((b (current-buffer))) - (set-buffer mail-buffer) - (mail-text) - (vm-mime-attach-object b "multipart/digest" - (list (concat "boundary=\"" - boundary "\"")) nil t) - (add-hook 'kill-buffer-hook - (list 'lambda () - (list 'if (list 'eq mail-buffer '(current-buffer)) - (list 'kill-buffer b)))))) (if prefix - (save-excursion - (message "Building digest preamble...") - (if miming - (progn - (set-buffer mail-buffer) - (mail-text))) + (progn + (vm-unsaved-message "Building digest preamble...") (while mp (let ((vm-summary-uninteresting-senders nil)) (insert (vm-sprintf 'vm-digest-preamble-format (car mp)) "\n")) @@ -923,10 +726,10 @@ (let ((vm-digest-send-type "rfc1153")) (vm-send-digest preamble))) -(defun vm-send-mime-digest (&optional preamble) - "Like vm-send-digest but always sends an MIME (multipart/digest) digest." +(defun vm-send-rfc1521-digest (&optional preamble) + "Like vm-send-digest but always sends an RFC 1521 (MIME) digest." (interactive "P") - (let ((vm-digest-send-type "mime")) + (let ((vm-digest-send-type "rfc1521")) (vm-send-digest preamble))) (defun vm-continue-composing-message (&optional not-picky) @@ -946,8 +749,7 @@ ;; different composition buffer. (vm-unbury-buffer b) (set-buffer b) - (if (and vm-mutable-frames vm-frame-per-composition - (vm-multiple-frames-possible-p) + (if (and vm-frame-per-composition (vm-multiple-frames-possible-p) ;; only pop up a frame if there's an undisplay ;; hook in place to make the frame go away. vm-undisplay-buffer-hook) @@ -965,14 +767,6 @@ '(vm-continue-composing-message composing-message))) (message "No composition buffers found")))) -(defun vm-mail-to-mailto-url (url) - (let ((address (car (vm-parse url "^mailto:\\(.+\\)")))) - (vm-select-folder-buffer) - (vm-check-for-killed-summary) - (vm-mail-internal nil address) - (run-hooks 'vm-mail-hook) - (run-hooks 'vm-mail-mode-hook))) - ;; to quiet the v19 byte compiler (defvar mail-mode-map) (defvar mail-aliases) @@ -995,15 +789,15 @@ ;; do it only once. (if (not vm-mail-mode-map-parented) (cond ((fboundp 'set-keymap-parents) - (set-keymap-parents vm-mail-mode-map (list mail-mode-map)) - (setq vm-mail-mode-map-parented t)) + (set-keymap-parents vm-mail-mode-map (list mail-mode-map))) ((consp mail-mode-map) (nconc vm-mail-mode-map mail-mode-map) (setq vm-mail-mode-map-parented t)))) (setq vm-mail-buffer folder-buffer - mode-popup-menu (and vm-use-menus vm-popup-menu-on-mouse-3 + mode-popup-menu (and vm-use-menus (vm-menu-support-possible-p) (vm-menu-mode-menu))) + ;; sets up popup menu for FSF Emacs (and vm-use-menus (vm-menu-support-possible-p) (vm-menu-install-mail-mode-menu)) (if (fboundp 'mail-aliases-setup) ; use mail-abbrevs.el if present @@ -1011,7 +805,7 @@ (if (eq mail-aliases t) (progn (setq mail-aliases nil) - (if (file-exists-p (or mail-personal-alias-file "~/.mailrc")) + (if (file-exists-p "~/.mailrc") (build-mail-aliases))))) (if (stringp vm-mail-header-from) (insert "From: " vm-mail-header-from "\n")) @@ -1021,13 +815,8 @@ (and newsgroups (insert "Newsgroups: " newsgroups "\n")) (and in-reply-to (insert "In-Reply-To: " in-reply-to "\n")) (and references (insert "References: " references "\n")) - (insert "X-Mailer: VM " vm-version " under " - (if vm-fsfemacs-19-p "Emacs " "") - emacs-version "\n") - ;; REPLYTO environmental variable support - ;; note that in FSF Emacs v19.29 we would initialize if the - ;; value was t. nil is the treigger value used now. - (and (eq mail-default-reply-to nil) + ;; REPLYTO support for FSF Emacs v19.29 + (and (eq mail-default-reply-to t) (setq mail-default-reply-to (getenv "REPLYTO"))) (if mail-default-reply-to (insert "Reply-To: " mail-default-reply-to "\n")) @@ -1054,8 +843,7 @@ ;; config stuff will select it as the composition buffer. (vm-unbury-buffer (current-buffer)) ;; make a new frame if the user wants it. - (if (and vm-mutable-frames vm-frame-per-composition - (vm-multiple-frames-possible-p)) + (if (and vm-frame-per-composition (vm-multiple-frames-possible-p)) (progn (vm-goto-new-frame 'composition) (vm-set-hooks-for-frame-deletion))) @@ -1078,8 +866,8 @@ vm-send-rfc934-digest-other-frame vm-send-rfc1153-digest vm-send-rfc1153-digest-other-frame - vm-send-mime-digest - vm-send-mime-digest-other-frame + vm-send-rfc1521-digest + vm-send-rfc1521-digest-other-frame vm-forward-message vm-forward-message-other-frame vm-forward-message-all-headers @@ -1214,13 +1002,13 @@ (if (vm-multiple-frames-possible-p) (vm-set-hooks-for-frame-deletion))) -(defun vm-send-mime-digest-other-frame (&optional prefix) - "Like vm-send-mime-digest, but run in a newly created frame." +(defun vm-send-rfc1521-digest-other-frame (&optional prefix) + "Like vm-send-rfc1521-digest, but run in a newly created frame." (interactive "P") (if (vm-multiple-frames-possible-p) (vm-goto-new-frame 'composition)) (let ((vm-frame-per-composition nil) (vm-search-other-frames nil)) - (vm-send-mime-digest prefix)) + (vm-send-rfc1153-digest prefix)) (if (vm-multiple-frames-possible-p) (vm-set-hooks-for-frame-deletion)))