Change release version from 21.4 to 22.1 throughout.
[bpt/emacs.git] / lisp / mail / sendmail.el
index ab9c89a..8cf30f2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sendmail.el --- mail sending commands for Emacs.  -*- byte-compile-dynamic: t -*-
 
-;; Copyright (C) 1985, 86, 92, 93, 94, 95, 96, 98, 2000, 2001, 2002, 2003
+;; Copyright (C) 1985, 86, 92, 93, 94, 95, 96, 98, 2000, 2001, 2002, 03, 2004
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -185,8 +185,8 @@ The function `mail-setup' runs this hook."
 (defvar mail-aliases t
   "Alist of mail address aliases,
 or t meaning should be initialized from your mail aliases file.
-\(The file's name is normally `~/.mailrc', but your MAILRC environment
-variable can override that name.)
+\(The file's name is normally `~/.mailrc', but `mail-personal-alias-file'
+can specify a different file name.)
 The alias definitions in the file have this form:
     alias ALIAS MEANING")
 
@@ -282,7 +282,7 @@ Value of `default-directory' for mail buffers.
 This directory is used for auto-save files of mail buffers."
   :type '(directory :tag "Directory")
   :group 'sendmail
-  :version "21.4")
+  :version "22.1")
 
 (defvar mail-reply-action nil)
 (defvar mail-send-actions nil
@@ -324,7 +324,7 @@ support Delivery Status Notification."
   :type '(repeat (radio (const :tag "Failure" failure)
                        (const :tag "Delay" delay)
                        (const :tag "Success" success)))
-  :version "21.4")
+  :version "22.1")
 
 ;; Note: could use /usr/ucb/mail instead of sendmail;
 ;; options -t, and -v if not interactive.
@@ -387,10 +387,11 @@ actually occur.")
 
 \f
 (defun sendmail-sync-aliases ()
-  (let ((modtime (nth 5 (file-attributes mail-personal-alias-file))))
-    (or (equal mail-alias-modtime modtime)
-       (setq mail-alias-modtime modtime
-             mail-aliases t))))
+  (when mail-personal-alias-file
+    (let ((modtime (nth 5 (file-attributes mail-personal-alias-file))))
+      (or (equal mail-alias-modtime modtime)
+         (setq mail-alias-modtime modtime
+               mail-aliases t)))))
 
 (defun mail-setup (to subject in-reply-to cc replybuffer actions)
   (or mail-default-reply-to
@@ -399,8 +400,9 @@ actually occur.")
   (if (eq mail-aliases t)
       (progn
        (setq mail-aliases nil)
-       (if (file-exists-p mail-personal-alias-file)
-           (build-mail-aliases))))
+       (when mail-personal-alias-file
+         (if (file-exists-p mail-personal-alias-file)
+             (build-mail-aliases)))))
   ;; Don't leave this around from a previous message.
   (kill-local-variable 'buffer-file-coding-system)
   ;; This doesn't work for enable-multibyte-characters.
@@ -510,6 +512,9 @@ Turning on Mail mode runs the normal hooks `text-mode-hook' and
   ;; Allow using comment commands to add/remove quoting (this only does
   ;; anything if mail-yank-prefix is set to a non-nil value).
   (set (make-local-variable 'comment-start) mail-yank-prefix)
+  (if mail-yank-prefix
+      (set (make-local-variable 'comment-start-skip)
+          (concat "^" (regexp-quote mail-yank-prefix) "[ \t]*")))
   (make-local-variable 'adaptive-fill-regexp)
   (setq adaptive-fill-regexp
        (concat "[ \t]*[-[:alnum:]]+>+[ \t]*\\|"
@@ -709,7 +714,12 @@ Prefix arg means don't delete this window."
     (if (and (or (window-dedicated-p (frame-selected-window))
                 (cdr (assq 'mail-dedicated-frame (frame-parameters))))
             (not (null (delq (selected-frame) (visible-frame-list)))))
-       (delete-frame (selected-frame))
+       (progn
+         (if (display-multi-frame-p)
+             (delete-frame (selected-frame))
+           ;; The previous frame is where normally they have the
+           ;; RMAIL buffer displayed.
+           (other-frame -1)))
       (let (rmail-flag summary-buffer)
        (and (not arg)
             (not (one-window-p))
@@ -1027,7 +1037,7 @@ external program defined by `sendmail-program'."
                              )
                      )
                     (exit-value (apply 'call-process-region args)))
-               (or (null exit-value) (zerop exit-value)
+               (or (null exit-value) (eq 0 exit-value)
                    (error "Sending...failed with exit value %d" exit-value)))
            (or fcc-was-found
                (error "No recipients")))
@@ -1725,4 +1735,5 @@ you can move to one of them and type C-c C-c to recover that one."
 
 (provide 'sendmail)
 
+;;; arch-tag: 48bc1025-d993-4d31-8d81-2a29491f0626
 ;;; sendmail.el ends here