diff options
| author | Richard M. Stallman | 1993-06-03 21:02:10 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1993-06-03 21:02:10 +0000 |
| commit | 980d43b6828ee60f30958306e1b2a63e34f12a25 (patch) | |
| tree | fd10f9f40231ac8ccde59de29b2d2195a47c614e | |
| parent | 55c1a8199320ab2682bd1268f850394c7905913e (diff) | |
| download | emacs-980d43b6828ee60f30958306e1b2a63e34f12a25.tar.gz emacs-980d43b6828ee60f30958306e1b2a63e34f12a25.zip | |
(rmail-summary-expunge-and-save):
Call set-buffer again after rmail-only-expunge.
(rmail-summary-add-label, rmail-summary-kill-label):
Fix reading the label.
(rmail-summary-rmail-update): Bind window locally.
Use unwind-protect, not save-window-excursion.
| -rw-r--r-- | lisp/mail/rmailsum.el | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index 602328b3cf8..83cf1d62ea5 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el | |||
| @@ -522,16 +522,20 @@ Instead, all of the Rmail Mode commands are available, plus: | |||
| 522 | (skip-chars-forward "0-9") | 522 | (skip-chars-forward "0-9") |
| 523 | (setq msg-num (string-to-int (buffer-substring beg (point)))) | 523 | (setq msg-num (string-to-int (buffer-substring beg (point)))) |
| 524 | (or (eq rmail-current-message msg-num) | 524 | (or (eq rmail-current-message msg-num) |
| 525 | (progn | 525 | (let (go-where window (owin (selected-window))) |
| 526 | (setq rmail-current-message msg-num) | 526 | (setq rmail-current-message msg-num) |
| 527 | (if (= (following-char) ?-) | 527 | (if (= (following-char) ?-) |
| 528 | (progn | 528 | (progn |
| 529 | (delete-char 1) | 529 | (delete-char 1) |
| 530 | (insert " "))) | 530 | (insert " "))) |
| 531 | (setq window (display-buffer rmail-buffer)) | 531 | (setq window (display-buffer rmail-buffer)) |
| 532 | (save-window-excursion | 532 | ;; Using save-window-excursion caused the new value |
| 533 | (select-window window) | 533 | ;; of point to get lost. |
| 534 | (rmail-show-message msg-num))))))))) | 534 | (unwind-protect |
| 535 | (progn | ||
| 536 | (select-window window) | ||
| 537 | (rmail-show-message msg-num)) | ||
| 538 | (select-window owin))))))))) | ||
| 535 | 539 | ||
| 536 | (defvar rmail-summary-mode-map nil) | 540 | (defvar rmail-summary-mode-map nil) |
| 537 | 541 | ||
| @@ -674,6 +678,7 @@ Instead, all of the Rmail Mode commands are available, plus: | |||
| 674 | (save-excursion | 678 | (save-excursion |
| 675 | (set-buffer rmail-buffer) | 679 | (set-buffer rmail-buffer) |
| 676 | (rmail-only-expunge) | 680 | (rmail-only-expunge) |
| 681 | (set-buffer rmail-buffer) | ||
| 677 | (save-buffer)) | 682 | (save-buffer)) |
| 678 | (rmail-update-summary)) | 683 | (rmail-update-summary)) |
| 679 | 684 | ||
| @@ -682,8 +687,7 @@ Instead, all of the Rmail Mode commands are available, plus: | |||
| 682 | (interactive) | 687 | (interactive) |
| 683 | (save-excursion | 688 | (save-excursion |
| 684 | (set-buffer rmail-buffer) | 689 | (set-buffer rmail-buffer) |
| 685 | (rmail-get-new-mail)) | 690 | (rmail-get-new-mail))) |
| 686 | (rmail-update-summary)) | ||
| 687 | 691 | ||
| 688 | (defun rmail-summary-input (filename) | 692 | (defun rmail-summary-input (filename) |
| 689 | "Run Rmail on file FILENAME." | 693 | "Run Rmail on file FILENAME." |
| @@ -767,7 +771,9 @@ Interactively, empty argument means use same regexp used last time." | |||
| 767 | (defun rmail-summary-add-label (label) | 771 | (defun rmail-summary-add-label (label) |
| 768 | "Add LABEL to labels associated with current Rmail message. | 772 | "Add LABEL to labels associated with current Rmail message. |
| 769 | Completion is performed over known labels when reading." | 773 | Completion is performed over known labels when reading." |
| 770 | (interactive (list (rmail-read-label "Add label"))) | 774 | (interactive (list (save-excursion |
| 775 | (set-buffer rmail-buffer) | ||
| 776 | (rmail-read-label "Add label")))) | ||
| 771 | (save-excursion | 777 | (save-excursion |
| 772 | (set-buffer rmail-buffer) | 778 | (set-buffer rmail-buffer) |
| 773 | (rmail-add-label label))) | 779 | (rmail-add-label label))) |
| @@ -775,7 +781,9 @@ Completion is performed over known labels when reading." | |||
| 775 | (defun rmail-summary-kill-label (label) | 781 | (defun rmail-summary-kill-label (label) |
| 776 | "Remove LABEL from labels associated with current Rmail message. | 782 | "Remove LABEL from labels associated with current Rmail message. |
| 777 | Completion is performed over known labels when reading." | 783 | Completion is performed over known labels when reading." |
| 778 | (interactive (list (rmail-read-label "Add label"))) | 784 | (interactive (list (save-excursion |
| 785 | (set-buffer rmail-buffer) | ||
| 786 | (rmail-read-label "Kill label")))) | ||
| 779 | (save-excursion | 787 | (save-excursion |
| 780 | (set-buffer rmail-buffer) | 788 | (set-buffer rmail-buffer) |
| 781 | (rmail-set-label label nil))) | 789 | (rmail-set-label label nil))) |