which is the standard way to delimit a signature in a message.)
Otherwise, it should be an expression; it is evaluated
and should insert whatever you want to insert."
- :type '(choice (const "None" nil)
+ :type '(choice (const :tag "None" nil)
(const :tag "Use `.signature' file" t)
(string :tag "String to insert")
(sexp :tag "Expression to evaluate"))
:type 'file
:group 'sendmail)
+;;;###autoload
+(defcustom mail-default-directory "~/"
+ "*Directory for mail buffers.
+Value of `default-directory' for mail buffers.
+This directory is used for auto-save files of mail buffers."
+ :type '(directory :tag "Directory")
+ :group 'sendmail)
+
(defvar mail-reply-action nil)
(defvar mail-send-actions nil
"A list of actions to be performed upon successful sending of a message.")
:type '(repeat (radio (const :tag "Failure" failure)
(const :tag "Delay" delay)
(const :tag "Success" success)))
- :version "21.3")
+ :version "21.4")
;; Note: could use /usr/ucb/mail instead of sendmail;
;; options -t, and -v if not interactive.
:type 'hook
:options '(footnote-mode))
+(defvar mail-mode-abbrev-table text-mode-abbrev-table)
;;;###autoload
(define-derived-mode mail-mode text-mode "Mail"
"Major mode for editing mail to be sent.
\\[mail-sent-via] mail-sent-via (add a Sent-via field for each To or CC).
Turning on Mail mode runs the normal hooks `text-mode-hook' and
`mail-mode-hook' (in that order)."
- (setq local-abbrev-table text-mode-abbrev-table)
(make-local-variable 'mail-reply-action)
(make-local-variable 'mail-send-actions)
(setq buffer-offer-save t)
;;; (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.
- (if (file-exists-p (expand-file-name "~/"))
- (setq default-directory (expand-file-name "~/")))
+ ;; Avoid danger that the auto-save file can't be written.
+ (let ((dir (expand-file-name
+ (file-name-as-directory mail-default-directory))))
+ (if (file-exists-p dir)
+ (setq default-directory dir)))
;; Only call auto-save-mode if necessary, to avoid changing auto-save file.
(if (or (and auto-save-default (not buffer-auto-save-file-name))
(and (not auto-save-default) buffer-auto-save-file-name))
;; "#<RANDOM-STUFF>#" to the buffer name, where RANDOM-STUFF
;; is the result of (make-temp-name "").
(setq non-random-len
- (- (length file-name) (length (make-temp-name ""))))
+ (- (length file-name) (length (make-temp-name "")) 1))
(setq wildcard (concat (substring file-name 0 non-random-len) "*"))
(if (null (file-expand-wildcards wildcard))
(message "There are no auto-saved drafts to recover")
(switch-to-buffer "*mail*")
;; If *mail* didn't exist, set its directory, so that auto-saved
;; drafts will be found.
- (if (file-exists-p (expand-file-name "~/"))
- (setq default-directory "~/"))
+ (let ((dir (expand-file-name
+ (file-name-as-directory mail-default-directory))))
+ (if (file-exists-p dir)
+ (setq default-directory dir)))
(or (eq major-mode 'mail-mode)
(mail-mode))
(let ((file-name buffer-auto-save-file-name))