[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sendmail.el fixes
From: |
Simon Josefsson |
Subject: |
sendmail.el fixes |
Date: |
Sun, 04 Nov 2001 12:25:54 +0100 |
User-agent: |
Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1 (i686-pc-linux-gnu) |
Two minor fixes, and a new variable `mail-use-multiple-buffers-p' to
optionally enable some previously disabled code. (Sorry for sending
this again, but I didn't hear anything so maybe it was lost among the
amount of bug reports you get.)
2001-09-22 Simon Josefsson <jas@extundo.com>
* mail/sendmail.el (mail-envelope-from): Fix :type.
(mail-use-multiple-buffers-p): Add.
(mail): Use it.
(mail-mode): Fix doc.
Index: sendmail.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/mail/sendmail.el,v
retrieving revision 1.245
diff -u -r1.245 sendmail.el
--- sendmail.el 2001/10/27 22:19:29 1.245
+++ sendmail.el 2001/11/04 11:21:06
@@ -81,7 +81,8 @@
If this is nil while `mail-specify-envelope-from' is non-nil, the
content of `user-mail-address' is used."
:version "21.1"
- :type 'boolean
+ :type '(choice (const :tag "Use `user-mail-address'" nil)
+ string)
:group 'sendmail)
;;;###autoload
@@ -324,6 +325,11 @@
The value should be an expression to test whether the problem will
actually occur.")
+(defcustom mail-use-multiple-buffers-p nil
+ "Non-nil means `mail' will create a new buffer if one already exists."
+ :type 'boolean
+ :group 'sendmail)
+
(defvar mail-mode-syntax-table
(let ((st (make-syntax-table)))
;; define-derived-mode will make it inherit from text-mode-syntax-table.
@@ -462,7 +468,7 @@
Here are commands that move to a header field (and create it if there isn't):
\\[mail-to] move to To: \\[mail-subject] move to Subject:
\\[mail-cc] move to CC: \\[mail-bcc] move to BCC:
- \\[mail-fcc] move to FCC: \\[mail-reply-to] move to Reply-To:
+ \\[mail-fcc] move to FCC: \\[mail-reply-to] move to Reply-To:
\\[mail-text] mail-text (move to beginning of message text).
\\[mail-signature] mail-signature (insert `mail-signature-file' file).
\\[mail-yank-original] mail-yank-original (insert current message, in Rmail).
@@ -1451,48 +1457,52 @@
when the message is sent, we apply FUNCTION to ARGS.
This is how Rmail arranges to mark messages `answered'."
(interactive "P")
+ (if mail-use-multiple-buffers-p
;;; This is commented out because I found it was confusing in practice.
;;; It is easy enough to rename *mail* by hand with rename-buffer
;;; if you want to have multiple mail buffers.
;;; And then you can control which messages to save. --rms.
-;;; (let ((index 1)
-;;; buffer)
-;;; ;; If requested, look for a mail buffer that is modified and go to it.
-;;; (if noerase
-;;; (progn
-;;; (while (and (setq buffer
-;;; (get-buffer (if (= 1 index) "*mail*"
-;;; (format "*mail*<%d>" index))))
-;;; (not (buffer-modified-p buffer)))
-;;; (setq index (1+ index)))
-;;; (if buffer (switch-to-buffer buffer)
-;;; ;; If none exists, start a new message.
-;;; ;; This will never re-use an existing unmodified mail buffer
-;;; ;; (since index is not 1 anymore). Perhaps it should.
-;;; (setq noerase nil))))
-;;; ;; Unless we found a modified message and are happy, start a new
message.
-;;; (if (not noerase)
-;;; (progn
-;;; ;; Look for existing unmodified mail buffer.
-;;; (while (and (setq buffer
-;;; (get-buffer (if (= 1 index) "*mail*"
-;;; (format "*mail*<%d>" index))))
-;;; (buffer-modified-p buffer))
-;;; (setq index (1+ index)))
-;;; ;; If none, make a new one.
-;;; (or buffer
-;;; (setq buffer (generate-new-buffer "*mail*")))
-;;; ;; Go there and initialize it.
-;;; (switch-to-buffer buffer)
-;;; (erase-buffer)
-;;; (setq default-directory (expand-file-name "~/"))
-;;; (auto-save-mode auto-save-default)
-;;; (mail-mode)
-;;; (mail-setup to subject in-reply-to cc replybuffer actions)
-;;; (if (and buffer-auto-save-file-name
-;;; (file-exists-p buffer-auto-save-file-name))
-;;; (message "Auto save file for draft message exists; consider M-x
mail-recover"))
-;;; t))
+;;; Put it back in, conditional on mail-use-multiple-buffers-p --jas
+ (let ((index 1)
+ buffer)
+ ;; If requested, look for a mail buffer that is modified and go to it.
+ (if noerase
+ (progn
+ (while (and (setq buffer
+ (get-buffer (if (= 1 index) "*mail*"
+ (format "*mail*<%d>" index))))
+ (not (buffer-modified-p buffer)))
+ (setq index (1+ index)))
+ (if buffer (switch-to-buffer buffer)
+ ;; If none exists, start a new message.
+ ;; This will never re-use an existing unmodified mail buffer
+ ;; (since index is not 1 anymore). Perhaps it should.
+ (setq noerase nil))))
+ ;; Unless we found a modified message and are happy, start a
+ ;; new message.
+ (if (not noerase)
+ (progn
+ ;; Look for existing unmodified mail buffer.
+ (while (and (setq buffer
+ (get-buffer (if (= 1 index) "*mail*"
+ (format "*mail*<%d>" index))))
+ (buffer-modified-p buffer))
+ (setq index (1+ index)))
+ ;; If none, make a new one.
+ (or buffer
+ (setq buffer (generate-new-buffer "*mail*")))
+ ;; Go there and initialize it.
+ (switch-to-buffer buffer)
+ (erase-buffer)
+ (setq default-directory (expand-file-name "~/"))
+ (auto-save-mode auto-save-default)
+ (mail-mode)
+ (mail-setup to subject in-reply-to cc replybuffer actions)
+ (if (and buffer-auto-save-file-name
+ (file-exists-p buffer-auto-save-file-name))
+ (message "Auto save file for draft message exists; consider
M-x mail-recover"))
+ t)))
+
(pop-to-buffer "*mail*")
;; Put the auto-save file in the home dir
;; to avoid any danger that it can't be written.
@@ -1528,7 +1538,7 @@
(if (and buffer-auto-save-file-name
(file-exists-p buffer-auto-save-file-name))
(message "Auto save file for draft message exists; consider M-x
mail-recover"))
- initialized))
+ initialized)))
(defun mail-recover ()
"Reread contents of current buffer from its last auto-save file."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- sendmail.el fixes,
Simon Josefsson <=