aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1993-06-03 21:02:10 +0000
committerRichard M. Stallman1993-06-03 21:02:10 +0000
commit980d43b6828ee60f30958306e1b2a63e34f12a25 (patch)
treefd10f9f40231ac8ccde59de29b2d2195a47c614e
parent55c1a8199320ab2682bd1268f850394c7905913e (diff)
downloademacs-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.el24
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.
769Completion is performed over known labels when reading." 773Completion 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.
777Completion is performed over known labels when reading." 783Completion 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)))