emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp ChangeLog mail/rmail.el


From: Stefan Monnier
Subject: [Emacs-diffs] emacs/lisp ChangeLog mail/rmail.el
Date: Sun, 01 Feb 2009 03:39:40 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        09/02/01 03:39:39

Modified files:
        lisp           : ChangeLog 
        lisp/mail      : rmail.el 

Log message:
        (rmail-view-buffer): Make buffer-local.
        (rmail-select-summary, rmail-perm-variables, rmail-redecode-body)
        (rmail-undelete-previous-message, rmail-mark-message)
        (rmail-speedbar-buttons): Use with-current-buffer.
        (rmail-mode-map): Move initialization into declaration.
        (rmail-swap-buffers, rmail-unfontify-buffer-function)
        (rmail-fontify-message): Use restore-buffer-modified-p.
        (rmail-expunge-and-save): Don't swap buffer.
        (rmail-get-header, rmail-set-header, rmail-set-attribute)
        (rmail-apply-in-message): Swap save-excursion and save-restriction.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.15238&r2=1.15239
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/mail/rmail.el?cvsroot=emacs&r1=1.488&r2=1.489

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.15238
retrieving revision 1.15239
diff -u -b -r1.15238 -r1.15239
--- ChangeLog   1 Feb 2009 03:28:33 -0000       1.15238
+++ ChangeLog   1 Feb 2009 03:39:37 -0000       1.15239
@@ -1,5 +1,16 @@
 2009-02-01  Stefan Monnier  <address@hidden>
 
+       * mail/rmail.el (rmail-view-buffer): Make buffer-local.
+       (rmail-select-summary, rmail-perm-variables, rmail-redecode-body)
+       (rmail-undelete-previous-message, rmail-mark-message)
+       (rmail-speedbar-buttons): Use with-current-buffer.
+       (rmail-mode-map): Move initialization into declaration.
+       (rmail-swap-buffers, rmail-unfontify-buffer-function)
+       (rmail-fontify-message): Use restore-buffer-modified-p.
+       (rmail-expunge-and-save): Don't swap buffer.
+       (rmail-get-header, rmail-set-header, rmail-set-attribute)
+       (rmail-apply-in-message): Swap save-excursion and save-restriction.
+
        * mail/rmailsort.el (rmail-sort-messages): Use car-less-than-car
        if possible.
 

Index: mail/rmail.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/mail/rmail.el,v
retrieving revision 1.488
retrieving revision 1.489
diff -u -b -r1.488 -r1.489
--- mail/rmail.el       31 Jan 2009 18:52:36 -0000      1.488
+++ mail/rmail.el       1 Feb 2009 03:39:39 -0000       1.489
@@ -563,6 +563,7 @@
 
 (defvar rmail-view-buffer nil
   "Buffer which holds RMAIL message for MIME displaying.")
+(make-variable-buffer-local 'rmail-view-buffer)
 (put 'rmail-view-buffer 'permanent-local t)
 
 ;; `Sticky' default variables.
@@ -675,10 +676,6 @@
 The first parenthesized expression should match the MIME-charset name.")
 
 
-;;; Regexp matching the delimiter of messages in UNIX mail format
-;;; (UNIX From lines), minus the initial ^.  Note that if you change
-;;; this expression, you must change the code in rmail-nuke-pinhead-header
-;;; that knows the exact ordering of the \\( \\) subexpressions.
 (defvar rmail-unix-mail-delimiter
   (let ((time-zone-regexp
         (concat "\\([A-Z]?[A-Z]?[A-Z][A-Z]\\( DST\\)?"
@@ -729,7 +726,10 @@
      "\\(remote from .*\\)?"
 
      "\n"))
-  nil)
+  "Regexp matching the delimiter of messages in UNIX mail format
+\(UNIX From lines), minus the initial ^.  Note that if you change
+this expression, you must change the code in rmail-nuke-pinhead-header
+that knows the exact ordering of the \\( \\) subexpressions.")
 
 (defvar rmail-font-lock-keywords
   ;; These are all matched case-insensitively.
@@ -774,8 +774,7 @@
                   (let ((rmail-total-messages total))
                     ,@body))
               (select-window window))))
-       (save-excursion
-        (set-buffer rmail-summary-buffer)
+       (with-current-buffer rmail-summary-buffer
         (let ((rmail-total-messages total))
           ,@body)))
      (rmail-maybe-display-summary)))
@@ -843,15 +842,15 @@
       (switch-to-buffer
        (let ((enable-local-variables nil))
         (find-file-noselect file-name))))
-    ;; Insure that the collection and view buffers are in sync and
-    ;; insure that a message is not being edited.
+    ;; Ensure that the collection and view buffers are in sync and
+    ;; ensure that a message is not being edited.
     (if (eq major-mode 'rmail-mode)
        (rmail-swap-buffers-maybe))
     (if (eq major-mode 'rmail-edit-mode)
        (error "Exit Rmail Edit mode before getting new mail"))
     (or (and existed (> (buffer-size) 0))
        (setq run-mail-hook t))
-    ;; Insure that the Rmail file is in mbox format, the buffer is in
+    ;; Ensure that the Rmail file is in mbox format, the buffer is in
     ;; Rmail mode and has been scanned to find all the messages
     ;; (setting the global message variables in the process).
     (rmail-convert-file-maybe)
@@ -942,184 +941,184 @@
 
 ;;; Set up Rmail mode keymaps
 
-(defvar rmail-mode-map nil)
-(if rmail-mode-map
-    nil
-  (setq rmail-mode-map (make-keymap))
-  (suppress-keymap rmail-mode-map)
-  (define-key rmail-mode-map "a"      'rmail-add-label)
-  (define-key rmail-mode-map "b"      'rmail-bury)
-  (define-key rmail-mode-map "c"      'rmail-continue)
-  (define-key rmail-mode-map "d"      'rmail-delete-forward)
-  (define-key rmail-mode-map "\C-d"   'rmail-delete-backward)
-  (define-key rmail-mode-map "e"      'rmail-edit-current-message)
-  (define-key rmail-mode-map "f"      'rmail-forward)
-  (define-key rmail-mode-map "g"      'rmail-get-new-mail)
-  (define-key rmail-mode-map "h"      'rmail-summary)
-  (define-key rmail-mode-map "i"      'rmail-input)
-  (define-key rmail-mode-map "j"      'rmail-show-message-maybe)
-  (define-key rmail-mode-map "k"      'rmail-kill-label)
-  (define-key rmail-mode-map "l"      'rmail-summary-by-labels)
-  (define-key rmail-mode-map "\e\C-h" 'rmail-summary)
-  (define-key rmail-mode-map "\e\C-l" 'rmail-summary-by-labels)
-  (define-key rmail-mode-map "\e\C-r" 'rmail-summary-by-recipients)
-  (define-key rmail-mode-map "\e\C-s" 'rmail-summary-by-regexp)
-  (define-key rmail-mode-map "\e\C-t" 'rmail-summary-by-topic)
-  (define-key rmail-mode-map "m"      'rmail-mail)
-  (define-key rmail-mode-map "\em"    'rmail-retry-failure)
-  (define-key rmail-mode-map "n"      'rmail-next-undeleted-message)
-  (define-key rmail-mode-map "\en"    'rmail-next-message)
-  (define-key rmail-mode-map "\e\C-n" 'rmail-next-labeled-message)
-  (define-key rmail-mode-map "o"      'rmail-output)
-  (define-key rmail-mode-map "\C-o"   'rmail-output-as-seen)
-  (define-key rmail-mode-map "p"      'rmail-previous-undeleted-message)
-  (define-key rmail-mode-map "\ep"    'rmail-previous-message)
-  (define-key rmail-mode-map "\e\C-p" 'rmail-previous-labeled-message)
-  (define-key rmail-mode-map "q"      'rmail-quit)
-  (define-key rmail-mode-map "r"      'rmail-reply)
-;; I find I can't live without the default M-r command -- rms.
-;;  (define-key rmail-mode-map "\er"  'rmail-search-backwards)
-  (define-key rmail-mode-map "s"      'rmail-expunge-and-save)
-  (define-key rmail-mode-map "\es"    'rmail-search)
-  (define-key rmail-mode-map "t"      'rmail-toggle-header)
-  (define-key rmail-mode-map "u"      'rmail-undelete-previous-message)
-  (define-key rmail-mode-map "w"      'rmail-output-body-to-file)
-  (define-key rmail-mode-map "\C-c\C-w"    'rmail-widen)
-  (define-key rmail-mode-map "x"      'rmail-expunge)
-  (define-key rmail-mode-map "."      'rmail-beginning-of-message)
-  (define-key rmail-mode-map "/"      'rmail-end-of-message)
-  (define-key rmail-mode-map "<"      'rmail-first-message)
-  (define-key rmail-mode-map ">"      'rmail-last-message)
-  (define-key rmail-mode-map " "      'scroll-up)
-  (define-key rmail-mode-map "\177"   'scroll-down)
-  (define-key rmail-mode-map "?"      'describe-mode)
-  (define-key rmail-mode-map "\C-c\C-s\C-d" 'rmail-sort-by-date)
-  (define-key rmail-mode-map "\C-c\C-s\C-s" 'rmail-sort-by-subject)
-  (define-key rmail-mode-map "\C-c\C-s\C-a" 'rmail-sort-by-author)
-  (define-key rmail-mode-map "\C-c\C-s\C-r" 'rmail-sort-by-recipient)
-  (define-key rmail-mode-map "\C-c\C-s\C-c" 'rmail-sort-by-correspondent)
-  (define-key rmail-mode-map "\C-c\C-s\C-l" 'rmail-sort-by-lines)
-  (define-key rmail-mode-map "\C-c\C-s\C-k" 'rmail-sort-by-labels)
-  (define-key rmail-mode-map "\C-c\C-n" 'rmail-next-same-subject)
-  (define-key rmail-mode-map "\C-c\C-p" 'rmail-previous-same-subject)
-  )
+(defvar rmail-mode-map
+  (let ((map (make-keymap)))
+    (suppress-keymap map)
+    (define-key map "a"      'rmail-add-label)
+    (define-key map "b"      'rmail-bury)
+    (define-key map "c"      'rmail-continue)
+    (define-key map "d"      'rmail-delete-forward)
+    (define-key map "\C-d"   'rmail-delete-backward)
+    (define-key map "e"      'rmail-edit-current-message)
+    (define-key map "f"      'rmail-forward)
+    (define-key map "g"      'rmail-get-new-mail)
+    (define-key map "h"      'rmail-summary)
+    (define-key map "i"      'rmail-input)
+    (define-key map "j"      'rmail-show-message-maybe)
+    (define-key map "k"      'rmail-kill-label)
+    (define-key map "l"      'rmail-summary-by-labels)
+    (define-key map "\e\C-h" 'rmail-summary)
+    (define-key map "\e\C-l" 'rmail-summary-by-labels)
+    (define-key map "\e\C-r" 'rmail-summary-by-recipients)
+    (define-key map "\e\C-s" 'rmail-summary-by-regexp)
+    (define-key map "\e\C-t" 'rmail-summary-by-topic)
+    (define-key map "m"      'rmail-mail)
+    (define-key map "\em"    'rmail-retry-failure)
+    (define-key map "n"      'rmail-next-undeleted-message)
+    (define-key map "\en"    'rmail-next-message)
+    (define-key map "\e\C-n" 'rmail-next-labeled-message)
+    (define-key map "o"      'rmail-output)
+    (define-key map "\C-o"   'rmail-output-as-seen)
+    (define-key map "p"      'rmail-previous-undeleted-message)
+    (define-key map "\ep"    'rmail-previous-message)
+    (define-key map "\e\C-p" 'rmail-previous-labeled-message)
+    (define-key map "q"      'rmail-quit)
+    (define-key map "r"      'rmail-reply)
+    ;; I find I can't live without the default M-r command -- rms.
+    ;;  (define-key rmail-mode-map "\er"  'rmail-search-backwards)
+    (define-key map "s"      'rmail-expunge-and-save)
+    (define-key map "\es"    'rmail-search)
+    (define-key map "t"      'rmail-toggle-header)
+    (define-key map "u"      'rmail-undelete-previous-message)
+    (define-key map "w"      'rmail-output-body-to-file)
+    (define-key map "\C-c\C-w"    'rmail-widen)
+    (define-key map "x"      'rmail-expunge)
+    (define-key map "."      'rmail-beginning-of-message)
+    (define-key map "/"      'rmail-end-of-message)
+    (define-key map "<"      'rmail-first-message)
+    (define-key map ">"      'rmail-last-message)
+    (define-key map " "      'scroll-up)
+    (define-key map "\177"   'scroll-down)
+    (define-key map "?"      'describe-mode)
+    (define-key map "\C-c\C-s\C-d" 'rmail-sort-by-date)
+    (define-key map "\C-c\C-s\C-s" 'rmail-sort-by-subject)
+    (define-key map "\C-c\C-s\C-a" 'rmail-sort-by-author)
+    (define-key map "\C-c\C-s\C-r" 'rmail-sort-by-recipient)
+    (define-key map "\C-c\C-s\C-c" 'rmail-sort-by-correspondent)
+    (define-key map "\C-c\C-s\C-l" 'rmail-sort-by-lines)
+    (define-key map "\C-c\C-s\C-k" 'rmail-sort-by-labels)
+    (define-key map "\C-c\C-n" 'rmail-next-same-subject)
+    (define-key map "\C-c\C-p" 'rmail-previous-same-subject)
 
-(define-key rmail-mode-map [menu-bar] (make-sparse-keymap))
 
-(define-key rmail-mode-map [menu-bar classify]
+    (define-key map [menu-bar] (make-sparse-keymap))
+
+    (define-key map [menu-bar classify]
   (cons "Classify" (make-sparse-keymap "Classify")))
 
-(define-key rmail-mode-map [menu-bar classify input-menu]
+    (define-key map [menu-bar classify input-menu]
   nil)
 
-(define-key rmail-mode-map [menu-bar classify output-menu]
+    (define-key map [menu-bar classify output-menu]
   nil)
 
-(define-key rmail-mode-map [menu-bar classify output-body]
+    (define-key map [menu-bar classify output-body]
   '("Output body to file..." . rmail-output-body-to-file))
 
-(define-key rmail-mode-map [menu-bar classify output-inbox]
+    (define-key map [menu-bar classify output-inbox]
   '("Output..." . rmail-output))
 
-(define-key rmail-mode-map [menu-bar classify output]
+    (define-key map [menu-bar classify output]
   '("Output as seen..." . rmail-output-as-seen))
 
-(define-key rmail-mode-map [menu-bar classify kill-label]
+    (define-key map [menu-bar classify kill-label]
   '("Kill Label..." . rmail-kill-label))
 
-(define-key rmail-mode-map [menu-bar classify add-label]
+    (define-key map [menu-bar classify add-label]
   '("Add Label..." . rmail-add-label))
 
-(define-key rmail-mode-map [menu-bar summary]
+    (define-key map [menu-bar summary]
   (cons "Summary" (make-sparse-keymap "Summary")))
 
-(define-key rmail-mode-map [menu-bar summary senders]
+    (define-key map [menu-bar summary senders]
   '("By Senders..." . rmail-summary-by-senders))
 
-(define-key rmail-mode-map [menu-bar summary labels]
+    (define-key map [menu-bar summary labels]
   '("By Labels..." . rmail-summary-by-labels))
 
-(define-key rmail-mode-map [menu-bar summary recipients]
+    (define-key map [menu-bar summary recipients]
   '("By Recipients..." . rmail-summary-by-recipients))
 
-(define-key rmail-mode-map [menu-bar summary topic]
+    (define-key map [menu-bar summary topic]
   '("By Topic..." . rmail-summary-by-topic))
 
-(define-key rmail-mode-map [menu-bar summary regexp]
+    (define-key map [menu-bar summary regexp]
   '("By Regexp..." . rmail-summary-by-regexp))
 
-(define-key rmail-mode-map [menu-bar summary all]
+    (define-key map [menu-bar summary all]
   '("All" . rmail-summary))
 
-(define-key rmail-mode-map [menu-bar mail]
+    (define-key map [menu-bar mail]
   (cons "Mail" (make-sparse-keymap "Mail")))
 
-(define-key rmail-mode-map [menu-bar mail rmail-get-new-mail]
+    (define-key map [menu-bar mail rmail-get-new-mail]
   '("Get New Mail" . rmail-get-new-mail))
 
-(define-key rmail-mode-map [menu-bar mail lambda]
+    (define-key map [menu-bar mail lambda]
   '("----"))
 
-(define-key rmail-mode-map [menu-bar mail continue]
+    (define-key map [menu-bar mail continue]
   '("Continue" . rmail-continue))
 
-(define-key rmail-mode-map [menu-bar mail resend]
+    (define-key map [menu-bar mail resend]
   '("Re-send..." . rmail-resend))
 
-(define-key rmail-mode-map [menu-bar mail forward]
+    (define-key map [menu-bar mail forward]
   '("Forward" . rmail-forward))
 
-(define-key rmail-mode-map [menu-bar mail retry]
+    (define-key map [menu-bar mail retry]
   '("Retry" . rmail-retry-failure))
 
-(define-key rmail-mode-map [menu-bar mail reply]
+    (define-key map [menu-bar mail reply]
   '("Reply" . rmail-reply))
 
-(define-key rmail-mode-map [menu-bar mail mail]
+    (define-key map [menu-bar mail mail]
   '("Mail" . rmail-mail))
 
-(define-key rmail-mode-map [menu-bar delete]
+    (define-key map [menu-bar delete]
   (cons "Delete" (make-sparse-keymap "Delete")))
 
-(define-key rmail-mode-map [menu-bar delete expunge/save]
+    (define-key map [menu-bar delete expunge/save]
   '("Expunge/Save" . rmail-expunge-and-save))
 
-(define-key rmail-mode-map [menu-bar delete expunge]
+    (define-key map [menu-bar delete expunge]
   '("Expunge" . rmail-expunge))
 
-(define-key rmail-mode-map [menu-bar delete undelete]
+    (define-key map [menu-bar delete undelete]
   '("Undelete" . rmail-undelete-previous-message))
 
-(define-key rmail-mode-map [menu-bar delete delete]
+    (define-key map [menu-bar delete delete]
   '("Delete" . rmail-delete-forward))
 
-(define-key rmail-mode-map [menu-bar move]
+    (define-key map [menu-bar move]
   (cons "Move" (make-sparse-keymap "Move")))
 
-(define-key rmail-mode-map [menu-bar move search-back]
+    (define-key map [menu-bar move search-back]
   '("Search Back..." . rmail-search-backwards))
 
-(define-key rmail-mode-map [menu-bar move search]
+    (define-key map [menu-bar move search]
   '("Search..." . rmail-search))
 
-(define-key rmail-mode-map [menu-bar move previous]
+    (define-key map [menu-bar move previous]
   '("Previous Nondeleted" . rmail-previous-undeleted-message))
 
-(define-key rmail-mode-map [menu-bar move next]
+    (define-key map [menu-bar move next]
   '("Next Nondeleted" . rmail-next-undeleted-message))
 
-(define-key rmail-mode-map [menu-bar move last]
+    (define-key map [menu-bar move last]
   '("Last" . rmail-last-message))
 
-(define-key rmail-mode-map [menu-bar move first]
+    (define-key map [menu-bar move first]
   '("First" . rmail-first-message))
 
-(define-key rmail-mode-map [menu-bar move previous]
+    (define-key map [menu-bar move previous]
   '("Previous" . rmail-previous-message))
 
-(define-key rmail-mode-map [menu-bar move next]
+    (define-key map [menu-bar move next]
   '("Next" . rmail-next-message))
 
+    map))
+
 ;; Rmail toolbar
 (defvar rmail-tool-bar-map
   (let ((map (make-sparse-keymap)))
@@ -1271,7 +1270,7 @@
           buffer-file-coding-system)))
     (buffer-swap-text rmail-view-buffer)
     (setq buffer-file-coding-system coding)
-    (set-buffer-modified-p modp)))
+    (restore-buffer-modified-p modp)))
 
 (defun rmail-buffers-swapped-p ()
   "Return non-nil if the message collection is in `rmail-view-buffer'."
@@ -1303,10 +1302,7 @@
   (make-local-variable 'rmail-buffer)
   (setq rmail-buffer (current-buffer))
   (set-buffer-multibyte nil)
-  (make-local-variable 'rmail-view-buffer)
-  (save-excursion
-    (setq rmail-view-buffer (rmail-generate-viewer-buffer))
-    (set-buffer rmail-view-buffer)
+  (with-current-buffer (setq rmail-view-buffer (rmail-generate-viewer-buffer))
     (setq buffer-undo-list t)
     (set-buffer-multibyte t)
     ;; Force C-x C-s write Unix EOLs.
@@ -1391,7 +1387,8 @@
   (interactive)
   (set-buffer rmail-buffer)
   (rmail-expunge t)
-  (rmail-swap-buffers-maybe)
+  ;; No need to swap buffers: rmail-write-region-annotate takes care of it.
+  ;; (rmail-swap-buffers-maybe)
   (save-buffer)
   (if (rmail-summary-exists)
       (rmail-select-summary (set-buffer-modified-p nil)))
@@ -1944,7 +1941,7 @@
            limit)
        ;; Detect an empty inbox file.
        (unless (= start (point-max))
-         ;; Scan the new messages to establish a count and to insure that
+         ;; Scan the new messages to establish a count and to ensure that
          ;; an attribute header is present.
          (while (looking-at "From ")
            ;; Determine if a new attribute header needs to be added to
@@ -1977,9 +1974,9 @@
        (save-excursion
          ;; ... so it is ok to go to a different buffer.
          (if (rmail-buffers-swapped-p) (set-buffer rmail-view-buffer))
+          (save-excursion
          (save-restriction
            (widen)
-           (save-excursion
              (goto-char msgbeg)
              (setq end (search-forward "\n\n" nil t))
              (if end
@@ -2001,9 +1998,9 @@
        (save-excursion
          ;; ... so it is ok to go to a different buffer.
          (if (rmail-buffers-swapped-p) (set-buffer rmail-view-buffer))
+          (save-excursion
          (save-restriction
            (widen)
-           (save-excursion
              (goto-char msgbeg)
              (setq end (search-forward "\n\n" nil t))
              (if end (setq end (1- end)))
@@ -2117,9 +2114,9 @@
            (save-excursion
              ;; ... so it is ok to go to a different buffer.
              (if (rmail-buffers-swapped-p) (set-buffer rmail-view-buffer))
+              (save-excursion
              (save-restriction
                (widen)
-               (save-excursion
                  ;; Determine if the current state is the desired state.
                  (goto-char msgbeg)
                  (save-excursion
@@ -2204,13 +2201,12 @@
        (save-excursion
          ;; ... so it is ok to go to a different buffer.
          (if (rmail-buffers-swapped-p) (set-buffer rmail-view-buffer))
+          (save-excursion
          (save-restriction
            (widen)
-           (save-excursion
              (goto-char msgbeg)
-             (save-restriction
                (narrow-to-region msgbeg msgend)
-               (apply function args)))))))))
+              (apply function args))))))))
 
 (defun rmail-widen-to-current-msgbeg (function)
   "Call FUNCTION with point at start of internal data of current message.
@@ -2462,6 +2458,7 @@
   (interactive "p")
   (or (eq major-mode 'rmail-mode)
       (switch-to-buffer rmail-buffer))
+  ;; FIXME: Why do we swap the raw data back in?
   (rmail-swap-buffers-maybe)
   (rmail-maybe-set-message-counters)
   (widen)
@@ -2675,8 +2672,7 @@
 iso-8859, koi8-r, etc."
   (interactive "zCoding system for re-decoding this message: ")
   (when (not rmail-enable-mime)
-    (save-excursion
-      (set-buffer rmail-buffer)
+    (with-current-buffer rmail-buffer
       (rmail-swap-buffers-maybe)
       (save-restriction
        (widen)
@@ -3109,8 +3105,7 @@
          (rmail-show-message-maybe msg))
       (rmail-set-attribute rmail-deleted-attr-index nil)
       (if (rmail-summary-exists)
-         (save-excursion
-           (set-buffer rmail-summary-buffer)
+         (with-current-buffer rmail-summary-buffer
            (rmail-summary-mark-undeleted msg)))
       (rmail-maybe-display-summary))))
 
@@ -3407,8 +3402,7 @@
 This is use in the send-actions for message buffers.
 MSGNUM-LIST is a list of the form (MSGNUM)
 which is an element of rmail-msgref-vector."
-  (save-excursion
-    (set-buffer buffer)
+  (with-current-buffer buffer
     (if (car msgnum-list)
        (rmail-set-attribute attribute t (car msgnum-list)))))
 
@@ -3816,7 +3810,8 @@
       (remove-hook 'rmail-show-message-hook 'rmail-fontify-message t)
       (remove-text-properties (point-min) (point-max) '(rmail-fontified nil))
       (font-lock-default-unfontify-buffer)
-      (and (not modified) (buffer-modified-p) (set-buffer-modified-p nil)))))
+      (and (not modified) (buffer-modified-p)
+           (restore-buffer-modified-p nil)))))
 
 (defun rmail-fontify-message ()
   ;; Fontify the current message if it is not already fontified.
@@ -3829,7 +3824,8 @@
          (save-match-data
            (add-text-properties (point-min) (point-max) '(rmail-fontified t))
            (font-lock-fontify-region (point-min) (point-max))
-           (and (not modified) (buffer-modified-p) (set-buffer-modified-p 
nil)))))))
+           (and (not modified) (buffer-modified-p)
+                 (restore-buffer-modified-p nil)))))))
 
 ;;; Speedbar support for RMAIL files.
 (eval-when-compile (require 'speedbar))
@@ -3875,8 +3871,7 @@
 Under Folders: Click a name to read it, or on the <M> to move the
 current message into that RMAIL folder."
   (let ((from nil))
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
       (goto-char (point-min))
       (if (not (re-search-forward "^Reply-To: " nil t))
          (if (not (re-search-forward "^From:? " nil t))
@@ -3896,7 +3891,7 @@
                                  'rmail-speedbar-button 'rmail-reply))
       (insert "Folders:\n")
       (let* ((case-fold-search nil)
-            (df (directory-files (save-excursion (set-buffer buffer)
+            (df (directory-files (with-current-buffer buffer
                                                  default-directory)
                                  nil rmail-speedbar-match-folder-regexp)))
        (while df




reply via email to

[Prev in Thread] Current Thread [Next in Thread]