Mercurial > emacs
changeset 15962:37baba8d7fbc
(mail-mode-auto-fill): New function.
(mail-mode): Put it into normal-auto-fill-function.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 29 Aug 1996 01:25:34 +0000 |
parents | e26f5c2b75a6 |
children | 5b10dc4cd791 |
files | lisp/mail/sendmail.el |
diffstat | 1 files changed, 28 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/mail/sendmail.el Thu Aug 29 00:51:51 1996 +0000 +++ b/lisp/mail/sendmail.el Thu Aug 29 01:25:34 1996 +0000 @@ -229,7 +229,7 @@ (defvar mail-send-hook nil "Normal hook run before sending mail, in Mail mode.") - + (defun sendmail-sync-aliases () (let ((modtime (nth 5 (file-attributes mail-personal-alias-file)))) (or (equal mail-alias-modtime modtime) @@ -299,7 +299,7 @@ (or to subject in-reply-to (set-buffer-modified-p nil)) (run-hooks 'mail-setup-hook)) - + ;;;###autoload (defun mail-mode () "Major mode for editing mail to be sent. @@ -328,6 +328,8 @@ (setq font-lock-defaults '(mail-font-lock-keywords t)) (make-local-variable 'paragraph-separate) (make-local-variable 'paragraph-start) + (make-local-variable 'normal-auto-fill-function) + (setq normal-auto-fill-function 'mail-mode-auto-fill) ;; `-- ' precedes the signature. `-----' appears at the start of the ;; lines that delimit forwarded messages. ;; Lines containing just >= 3 dashes, perhaps after whitespace, @@ -339,6 +341,25 @@ "$\\|[ \t]*[-_][-_][-_]+$\\|-- $\\|-----\\|" paragraph-separate)) (run-hooks 'text-mode-hook 'mail-mode-hook)) + +(defun mail-mode-auto-fill () + "Carry out Auto Fill for Mail mode. +If within the headers, this makes the new lines into continuation lines." + (if (< (point) + (save-excursion + (goto-char (point-min)) + (if (search-forward mail-header-separator nil t) + (point) + 0))) + (let ((old-line-start (save-excursion (beginning-of-line) (point)))) + (if (do-auto-fill) + (save-excursion + (beginning-of-line) + (while (not (eq (point) old-line-start)) + (insert " ") + (forward-line -1)) + t))) + (do-auto-fill))) ;;; Set up keymap. @@ -409,6 +430,8 @@ (define-key mail-mode-map [menu-bar headers to] '("To" . mail-to)) +;; User-level commands for sending. + (defun mail-send-and-exit (arg) "Send message like `mail-send', then, if no errors, exit from mail buffer. Prefix arg means don't delete this window." @@ -477,6 +500,9 @@ (progn (set-buffer-modified-p nil) (delete-auto-save-file-if-necessary t)))))) + +;; This does the real work of sending a message via sendmail. +;; It is called via the variable send-mail-function. (defun sendmail-send-it () (require 'mail-utils)