# HG changeset patch # User Richard M. Stallman # Date 1230004935 0 # Node ID b8a72d8ed8b5015d55c64f8b85f08ffba87b5ecb # Parent 099dce1236eb9c5d42f4df79d1af8c20caef4644 (pmail-edit-current-message): Change error message. diff -r 099dce1236eb -r b8a72d8ed8b5 lisp/mail/pmailedit.el --- a/lisp/mail/pmailedit.el Tue Dec 23 03:56:30 2008 +0000 +++ b/lisp/mail/pmailedit.el Tue Dec 23 04:02:15 2008 +0000 @@ -61,6 +61,8 @@ * \\[pmail-cease-edit] makes them permanent. This functions runs the normal hook `pmail-edit-mode-hook'. \\{pmail-edit-map}" + ;; Changing the major mode unswaps the Pmail buffer + ;; via change-major-mode-hook. (delay-mode-hooks (text-mode)) (use-local-map pmail-edit-map) (setq major-mode 'pmail-edit-mode) @@ -82,9 +84,11 @@ "Edit the contents of this message." (interactive) (if (= pmail-total-messages 0) - (error "No messages in this file")) + (error "No messages in this buffer")) (make-local-variable 'pmail-old-pruned) (setq pmail-old-pruned (eq pmail-header-style 'normal)) + ;; Changing the major mode unswaps the Pmail buffer + ;; via change-major-mode-hook. (pmail-edit-mode) (make-local-variable 'pmail-old-text) (setq pmail-old-text (buffer-substring (point-min) (point-max))) @@ -114,16 +118,20 @@ (set-marker (aref pmail-message-vector (1+ pmail-current-message)) (point))) (let ((old pmail-old-text)) + ;; Go back to Pmail mode, but carefully. (force-mode-line-update) (kill-all-local-variables) (pmail-mode-1) (if (boundp 'tool-bar-map) (set (make-local-variable 'tool-bar-map) pmail-tool-bar-map)) (pmail-variables) + ;; If text has really changed, mark message as edited. (unless (and (= (length old) (- (point-max) (point-min))) (string= old (buffer-substring (point-min) (point-max)))) (setq old nil) (pmail-set-attribute pmail-edited-attr-index t) + ;;;??? BROKEN perhaps. + ;; I think that the Summary-Line header may not be kept there any more. (if (boundp 'pmail-summary-vector) (progn (aset pmail-summary-vector (1- pmail-current-message) nil)