diff options
| author | Karl Heuer | 1998-04-08 19:03:00 +0000 |
|---|---|---|
| committer | Karl Heuer | 1998-04-08 19:03:00 +0000 |
| commit | c241bb9cbbd81b6327a511b7fc3e7cd63e432909 (patch) | |
| tree | a5b624079bc5cd20a09c0612d0772361e79771d3 | |
| parent | 9cda36c03626b6be5a8ca513536466722c0f39d5 (diff) | |
| download | emacs-c241bb9cbbd81b6327a511b7fc3e7cd63e432909.tar.gz emacs-c241bb9cbbd81b6327a511b7fc3e7cd63e432909.zip | |
(rmail-cease-edit): Call kill-all-local-variables.
Call rmail-variables.
(rmail-edit-mode): Call text-mode. Don't run text-mode-hook here.
(rmail-edit-map): Use set-keymap-parent.
(rmail-old-text): Add defvar.
| -rw-r--r-- | lisp/mail/rmailedit.el | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/mail/rmailedit.el b/lisp/mail/rmailedit.el index 2f892981d19..b83411ce5ae 100644 --- a/lisp/mail/rmailedit.el +++ b/lisp/mail/rmailedit.el | |||
| @@ -26,11 +26,14 @@ | |||
| 26 | 26 | ||
| 27 | (require 'rmail) | 27 | (require 'rmail) |
| 28 | 28 | ||
| 29 | (defvar rmail-old-text) | ||
| 30 | |||
| 29 | (defvar rmail-edit-map nil) | 31 | (defvar rmail-edit-map nil) |
| 30 | (if rmail-edit-map | 32 | (if rmail-edit-map |
| 31 | nil | 33 | nil |
| 32 | ;; Make a keymap that inherits text-mode-map. | 34 | ;; Make a keymap that inherits text-mode-map. |
| 33 | (setq rmail-edit-map (nconc (make-sparse-keymap) text-mode-map)) | 35 | (setq rmail-edit-map (make-sparse-keymap)) |
| 36 | (set-keymap-parent rmail-edit-map text-mode-map) | ||
| 34 | (define-key rmail-edit-map "\C-c\C-c" 'rmail-cease-edit) | 37 | (define-key rmail-edit-map "\C-c\C-c" 'rmail-cease-edit) |
| 35 | (define-key rmail-edit-map "\C-c\C-]" 'rmail-abort-edit)) | 38 | (define-key rmail-edit-map "\C-c\C-]" 'rmail-abort-edit)) |
| 36 | 39 | ||
| @@ -45,6 +48,7 @@ to return to regular RMAIL: | |||
| 45 | you have made and returns to RMAIL | 48 | you have made and returns to RMAIL |
| 46 | * rmail-cease-edit makes them permanent. | 49 | * rmail-cease-edit makes them permanent. |
| 47 | \\{rmail-edit-map}" | 50 | \\{rmail-edit-map}" |
| 51 | (text-mode) | ||
| 48 | (use-local-map rmail-edit-map) | 52 | (use-local-map rmail-edit-map) |
| 49 | (setq major-mode 'rmail-edit-mode) | 53 | (setq major-mode 'rmail-edit-mode) |
| 50 | (setq mode-name "RMAIL Edit") | 54 | (setq mode-name "RMAIL Edit") |
| @@ -55,7 +59,7 @@ to return to regular RMAIL: | |||
| 55 | (save-excursion | 59 | (save-excursion |
| 56 | (set-buffer rmail-summary-buffer) | 60 | (set-buffer rmail-summary-buffer) |
| 57 | (rmail-summary-disable))) | 61 | (rmail-summary-disable))) |
| 58 | (run-hooks 'text-mode-hook 'rmail-edit-mode-hook)) | 62 | (run-hooks 'rmail-edit-mode-hook)) |
| 59 | 63 | ||
| 60 | ;;;###autoload | 64 | ;;;###autoload |
| 61 | (defun rmail-edit-current-message () | 65 | (defun rmail-edit-current-message () |
| @@ -89,7 +93,9 @@ to return to regular RMAIL: | |||
| 89 | (point))) | 93 | (point))) |
| 90 | (let ((old rmail-old-text)) | 94 | (let ((old rmail-old-text)) |
| 91 | (force-mode-line-update) | 95 | (force-mode-line-update) |
| 96 | (kill-all-local-variables) | ||
| 92 | (rmail-mode-1) | 97 | (rmail-mode-1) |
| 98 | (rmail-variables) | ||
| 93 | (if (and (= (length old) (- (point-max) (point-min))) | 99 | (if (and (= (length old) (- (point-max) (point-min))) |
| 94 | (string= old (buffer-substring (point-min) (point-max)))) | 100 | (string= old (buffer-substring (point-min) (point-max)))) |
| 95 | () | 101 | () |