]> code.delx.au - gnu-emacs/blobdiff - lisp/mail/rmailsum.el
Merge from mainline.
[gnu-emacs] / lisp / mail / rmailsum.el
index 09e6329a23080b0c4640c2650bff886236a4d000..8e28201e31f8324bb418d299951e694ba322f2f2 100644 (file)
@@ -1,10 +1,10 @@
 ;;; rmailsum.el --- make summary buffers for the mail reader
 
-;; Copyright (C) 1985, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2003,
-;;   2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1993-1996, 2000-2011 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: mail
+;; Package: rmail
 
 ;; This file is part of GNU Emacs.
 
@@ -31,6 +31,7 @@
 
 ;; For rmail-select-summary.
 (require 'rmail)
+(require 'rfc2047)
 
 (defcustom rmail-summary-scroll-between-messages t
   "Non-nil means Rmail summary scroll commands move between messages.
@@ -63,7 +64,196 @@ Setting this option to nil might speed up the generation of summaries."
   "Overlay used to highlight the current message in the Rmail summary.")
 (put 'rmail-summary-overlay 'permanent-local t)
 
-(defvar rmail-summary-mode-map nil
+(defvar rmail-summary-mode-map
+  (let ((map (make-keymap)))
+    (suppress-keymap map)
+    (define-key map [mouse-2] 'rmail-summary-mouse-goto-message)
+    (define-key map "a"      'rmail-summary-add-label)
+    (define-key map "b"      'rmail-summary-bury)
+    (define-key map "c"      'rmail-summary-continue)
+    (define-key map "d"      'rmail-summary-delete-forward)
+    (define-key map "\C-d"   'rmail-summary-delete-backward)
+    (define-key map "e"      'rmail-summary-edit-current-message)
+    (define-key map "f"      'rmail-summary-forward)
+    (define-key map "g"      'rmail-summary-get-new-mail)
+    (define-key map "h"      'rmail-summary)
+    (define-key map "i"      'rmail-summary-input)
+    (define-key map "j"      'rmail-summary-goto-msg)
+    (define-key map "\C-m"   'rmail-summary-goto-msg)
+    (define-key map "k"      'rmail-summary-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)
+    ;; `f' for "from".
+    (define-key map "\e\C-f" 'rmail-summary-by-senders)
+    (define-key map "\e\C-t" 'rmail-summary-by-topic)
+    (define-key map "m"      'rmail-summary-mail)
+    (define-key map "\M-m"   'rmail-summary-retry-failure)
+    (define-key map "n"      'rmail-summary-next-msg)
+    (define-key map "\en"    'rmail-summary-next-all)
+    (define-key map "\e\C-n" 'rmail-summary-next-labeled-message)
+    (define-key map "o"      'rmail-summary-output)
+    (define-key map "\C-o"   'rmail-summary-output-as-seen)
+    (define-key map "p"      'rmail-summary-previous-msg)
+    (define-key map "\ep"    'rmail-summary-previous-all)
+    (define-key map "\e\C-p" 'rmail-summary-previous-labeled-message)
+    (define-key map "q"      'rmail-summary-quit)
+    (define-key map "Q"      'rmail-summary-wipe)
+    (define-key map "r"      'rmail-summary-reply)
+    (define-key map "s"      'rmail-summary-expunge-and-save)
+    ;; See rms's comment in rmail.el
+    ;; (define-key map "\er"    'rmail-summary-search-backward)
+    (define-key map "\es"    'rmail-summary-search)
+    (define-key map "t"      'rmail-summary-toggle-header)
+    (define-key map "u"      'rmail-summary-undelete)
+    (define-key map "\M-u"   'rmail-summary-undelete-many)
+    (define-key map "x"      'rmail-summary-expunge)
+    (define-key map "w"      'rmail-summary-output-body)
+    (define-key map "v"      'rmail-mime)
+    (define-key map "."      'rmail-summary-beginning-of-message)
+    (define-key map "/"      'rmail-summary-end-of-message)
+    (define-key map "<"      'rmail-summary-first-message)
+    (define-key map ">"      'rmail-summary-last-message)
+    (define-key map " "      'rmail-summary-scroll-msg-up)
+    (define-key map "\177"   'rmail-summary-scroll-msg-down)
+    (define-key map "?"      'describe-mode)
+    (define-key map "\C-c\C-n" 'rmail-summary-next-same-subject)
+    (define-key map "\C-c\C-p" 'rmail-summary-previous-same-subject)
+    (define-key map "\C-c\C-s\C-d" 'rmail-summary-sort-by-date)
+    (define-key map "\C-c\C-s\C-s" 'rmail-summary-sort-by-subject)
+    (define-key map "\C-c\C-s\C-a" 'rmail-summary-sort-by-author)
+    (define-key map "\C-c\C-s\C-r" 'rmail-summary-sort-by-recipient)
+    (define-key map "\C-c\C-s\C-c" 'rmail-summary-sort-by-correspondent)
+    (define-key map "\C-c\C-s\C-l" 'rmail-summary-sort-by-lines)
+    (define-key map "\C-c\C-s\C-k" 'rmail-summary-sort-by-labels)
+    (define-key map "\C-x\C-s" 'rmail-summary-save-buffer)
+
+    ;; Menu bar bindings.
+
+    (define-key map [menu-bar] (make-sparse-keymap))
+
+    (define-key map [menu-bar classify]
+      (cons "Classify" (make-sparse-keymap "Classify")))
+
+    (define-key map [menu-bar classify output-menu]
+      '("Output (Rmail Menu)..." . rmail-summary-output-menu))
+
+    (define-key map [menu-bar classify input-menu]
+      '("Input Rmail File (menu)..." . rmail-input-menu))
+
+    (define-key map [menu-bar classify input-menu]
+      '(nil))
+
+    (define-key map [menu-bar classify output-menu]
+      '(nil))
+
+    (define-key map [menu-bar classify output-body]
+      '("Output body..." . rmail-summary-output-body))
+
+    (define-key map [menu-bar classify output-inbox]
+      '("Output..." . rmail-summary-output))
+
+    (define-key map [menu-bar classify output]
+      '("Output as seen..." . rmail-summary-output-as-seen))
+
+    (define-key map [menu-bar classify kill-label]
+      '("Kill Label..." . rmail-summary-kill-label))
+
+    (define-key map [menu-bar classify add-label]
+      '("Add Label..." . rmail-summary-add-label))
+
+    (define-key map [menu-bar summary]
+      (cons "Summary" (make-sparse-keymap "Summary")))
+
+    (define-key map [menu-bar summary senders]
+      '("By Senders..." . rmail-summary-by-senders))
+
+    (define-key map [menu-bar summary labels]
+      '("By Labels..." . rmail-summary-by-labels))
+
+    (define-key map [menu-bar summary recipients]
+      '("By Recipients..." . rmail-summary-by-recipients))
+
+    (define-key map [menu-bar summary topic]
+      '("By Topic..." . rmail-summary-by-topic))
+
+    (define-key map [menu-bar summary regexp]
+      '("By Regexp..." . rmail-summary-by-regexp))
+
+    (define-key map [menu-bar summary all]
+      '("All" . rmail-summary))
+
+    (define-key map [menu-bar mail]
+      (cons "Mail" (make-sparse-keymap "Mail")))
+
+    (define-key map [menu-bar mail rmail-summary-get-new-mail]
+      '("Get New Mail" . rmail-summary-get-new-mail))
+
+    (define-key map [menu-bar mail lambda]
+      '("----"))
+
+    (define-key map [menu-bar mail continue]
+      '("Continue" . rmail-summary-continue))
+
+    (define-key map [menu-bar mail resend]
+      '("Re-send..." . rmail-summary-resend))
+
+    (define-key map [menu-bar mail forward]
+      '("Forward" . rmail-summary-forward))
+
+    (define-key map [menu-bar mail retry]
+      '("Retry" . rmail-summary-retry-failure))
+
+    (define-key map [menu-bar mail reply]
+      '("Reply" . rmail-summary-reply))
+
+    (define-key map [menu-bar mail mail]
+      '("Mail" . rmail-summary-mail))
+
+    (define-key map [menu-bar delete]
+      (cons "Delete" (make-sparse-keymap "Delete")))
+
+    (define-key map [menu-bar delete expunge/save]
+      '("Expunge/Save" . rmail-summary-expunge-and-save))
+
+    (define-key map [menu-bar delete expunge]
+      '("Expunge" . rmail-summary-expunge))
+
+    (define-key map [menu-bar delete undelete]
+      '("Undelete" . rmail-summary-undelete))
+
+    (define-key map [menu-bar delete delete]
+      '("Delete" . rmail-summary-delete-forward))
+
+    (define-key map [menu-bar move]
+      (cons "Move" (make-sparse-keymap "Move")))
+
+    (define-key map [menu-bar move search-back]
+      '("Search Back..." . rmail-summary-search-backward))
+
+    (define-key map [menu-bar move search]
+      '("Search..." . rmail-summary-search))
+
+    (define-key map [menu-bar move previous]
+      '("Previous Nondeleted" . rmail-summary-previous-msg))
+
+    (define-key map [menu-bar move next]
+      '("Next Nondeleted" . rmail-summary-next-msg))
+
+    (define-key map [menu-bar move last]
+      '("Last" . rmail-summary-last-message))
+
+    (define-key map [menu-bar move first]
+      '("First" . rmail-summary-first-message))
+
+    (define-key map [menu-bar move previous]
+      '("Previous" . rmail-summary-previous-all))
+
+    (define-key map [menu-bar move next]
+      '("Next" . rmail-summary-next-all))
+    map)
   "Keymap used in Rmail summary mode.")
 
 ;; Entry points for making a summary buffer.
@@ -230,13 +420,13 @@ nil for FUNCTION means all messages."
          (progn
            (split-window (selected-window) rmail-summary-window-size)
            (select-window (next-window (frame-first-window)))
-           (pop-to-buffer rmail-summary-buffer)
+           (rmail-pop-to-buffer rmail-summary-buffer)
            ;; If pop-to-buffer did not use that window, delete that
            ;; window.  (This can happen if it uses another frame.)
            (if (not (eq rmail-summary-buffer
                         (window-buffer (frame-first-window))))
                (delete-other-windows)))
-       (pop-to-buffer rmail-summary-buffer))
+       (rmail-pop-to-buffer rmail-summary-buffer))
       (set-buffer rmail-buffer)
       ;; This is how rmail makes the summary buffer reappear.
       ;; We do this here to make the window the proper size.
@@ -363,13 +553,15 @@ The current buffer contains the unrestricted message collection."
       (aset rmail-summary-vector (1- msgnum) line))
     line))
 
-(defcustom rmail-summary-line-decoder (function identity)
+(defcustom rmail-summary-line-decoder (function rfc2047-decode-string)
   "Function to decode a Rmail summary line.
 It receives the summary line for one message as a string
 and should return the decoded string.
 
-By default, it is `identity', which returns the string unaltered."
+By default, it is `rfc2047-decode-string', which decodes MIME-encoded
+subject."
   :type 'function
+  :version "23.3"
   :group 'rmail-summary)
 
 (defun rmail-create-summary-line (msgnum)
@@ -588,10 +780,17 @@ the message being processed."
                                                     (t (- mch 14))))
                                      (min len (+ lo 25)))))))))
    (concat (if (re-search-forward "^Subject:" nil t)
-              (progn (skip-chars-forward " \t")
-                     (buffer-substring (point)
-                                       (progn (end-of-line)
-                                              (point))))
+              (let (pos str)
+                (skip-chars-forward " \t")
+                (setq pos (point))
+                (forward-line 1)
+                (setq str (buffer-substring pos (1- (point))))
+                (while (looking-at "\\s ")
+                  (setq str (concat str " " 
+                                    (buffer-substring (match-end 0)
+                                                      (line-end-position))))
+                  (forward-line 1))
+                str)
             (re-search-forward "[\n][\n]+" nil t)
             (buffer-substring (point) (progn (end-of-line) (point))))
           "\n")))
@@ -796,12 +995,12 @@ Optional prefix ARG means undelete ARG previous messages."
             (rmail-summary-goto-msg)
             (if rmail-enable-mime
                 (set-buffer rmail-buffer)
-              (pop-to-buffer rmail-buffer))
+              (rmail-pop-to-buffer rmail-buffer))
             (and (rmail-message-deleted-p rmail-current-message)
                  (rmail-undelete-previous-message))
             (if rmail-enable-mime
-                (pop-to-buffer rmail-buffer))
-            (pop-to-buffer rmail-summary-buffer))
+                (rmail-pop-to-buffer rmail-buffer))
+            (rmail-pop-to-buffer rmail-summary-buffer))
            (t (goto-char opoint))))))
 
 (defun rmail-summary-undelete-many (&optional n)
@@ -965,7 +1164,12 @@ Search, the `unseen' attribute is restored.")
                    (select-window owin))
                (if (buffer-name rmail-buffer)
                    (with-current-buffer rmail-buffer
-                     (rmail-show-message msg-num t))))))
+                     (rmail-show-message msg-num t))))
+             ;; In linum mode, the message buffer must be specially
+             ;; updated (Bug#4878).
+             (and (fboundp 'linum-update)
+                  (buffer-name rmail-buffer)
+                  (linum-update rmail-buffer))))
        (rmail-summary-update-highlight nil)))))
 
 (defun rmail-summary-save-buffer ()
@@ -975,207 +1179,6 @@ Search, the `unseen' attribute is restored.")
     (save-excursion
       (switch-to-buffer rmail-buffer)
       (save-buffer))))
-
-\f
-(if rmail-summary-mode-map
-    nil
-  (setq rmail-summary-mode-map (make-keymap))
-  (suppress-keymap rmail-summary-mode-map)
-
-  (define-key rmail-summary-mode-map [mouse-2] 'rmail-summary-mouse-goto-message)
-  (define-key rmail-summary-mode-map "a"      'rmail-summary-add-label)
-  (define-key rmail-summary-mode-map "b"      'rmail-summary-bury)
-  (define-key rmail-summary-mode-map "c"      'rmail-summary-continue)
-  (define-key rmail-summary-mode-map "d"      'rmail-summary-delete-forward)
-  (define-key rmail-summary-mode-map "\C-d"   'rmail-summary-delete-backward)
-  (define-key rmail-summary-mode-map "e"      'rmail-summary-edit-current-message)
-  (define-key rmail-summary-mode-map "f"      'rmail-summary-forward)
-  (define-key rmail-summary-mode-map "g"      'rmail-summary-get-new-mail)
-  (define-key rmail-summary-mode-map "h"      'rmail-summary)
-  (define-key rmail-summary-mode-map "i"      'rmail-summary-input)
-  (define-key rmail-summary-mode-map "j"      'rmail-summary-goto-msg)
-  (define-key rmail-summary-mode-map "\C-m"   'rmail-summary-goto-msg)
-  (define-key rmail-summary-mode-map "k"      'rmail-summary-kill-label)
-  (define-key rmail-summary-mode-map "l"      'rmail-summary-by-labels)
-  (define-key rmail-summary-mode-map "\e\C-h" 'rmail-summary)
-  (define-key rmail-summary-mode-map "\e\C-l" 'rmail-summary-by-labels)
-  (define-key rmail-summary-mode-map "\e\C-r" 'rmail-summary-by-recipients)
-  (define-key rmail-summary-mode-map "\e\C-s" 'rmail-summary-by-regexp)
-  ;; `f' for "from".
-  (define-key rmail-summary-mode-map "\e\C-f" 'rmail-summary-by-senders)
-  (define-key rmail-summary-mode-map "\e\C-t" 'rmail-summary-by-topic)
-  (define-key rmail-summary-mode-map "m"      'rmail-summary-mail)
-  (define-key rmail-summary-mode-map "\M-m"   'rmail-summary-retry-failure)
-  (define-key rmail-summary-mode-map "n"      'rmail-summary-next-msg)
-  (define-key rmail-summary-mode-map "\en"    'rmail-summary-next-all)
-  (define-key rmail-summary-mode-map "\e\C-n" 'rmail-summary-next-labeled-message)
-  (define-key rmail-summary-mode-map "o"      'rmail-summary-output)
-  (define-key rmail-summary-mode-map "\C-o"   'rmail-summary-output-as-seen)
-  (define-key rmail-summary-mode-map "p"      'rmail-summary-previous-msg)
-  (define-key rmail-summary-mode-map "\ep"    'rmail-summary-previous-all)
-  (define-key rmail-summary-mode-map "\e\C-p" 'rmail-summary-previous-labeled-message)
-  (define-key rmail-summary-mode-map "q"      'rmail-summary-quit)
-  (define-key rmail-summary-mode-map "Q"      'rmail-summary-wipe)
-  (define-key rmail-summary-mode-map "r"      'rmail-summary-reply)
-  (define-key rmail-summary-mode-map "s"      'rmail-summary-expunge-and-save)
-  ;; See rms's comment in rmail.el
-;;;  (define-key rmail-summary-mode-map "\er"    'rmail-summary-search-backward)
-  (define-key rmail-summary-mode-map "\es"    'rmail-summary-search)
-  (define-key rmail-summary-mode-map "t"      'rmail-summary-toggle-header)
-  (define-key rmail-summary-mode-map "u"      'rmail-summary-undelete)
-  (define-key rmail-summary-mode-map "\M-u"   'rmail-summary-undelete-many)
-  (define-key rmail-summary-mode-map "x"      'rmail-summary-expunge)
-  (define-key rmail-summary-mode-map "w"      'rmail-summary-output-body)
-  (define-key rmail-summary-mode-map "v"      'rmail-mime)
-  (define-key rmail-summary-mode-map "."      'rmail-summary-beginning-of-message)
-  (define-key rmail-summary-mode-map "/"      'rmail-summary-end-of-message)
-  (define-key rmail-summary-mode-map "<"      'rmail-summary-first-message)
-  (define-key rmail-summary-mode-map ">"      'rmail-summary-last-message)
-  (define-key rmail-summary-mode-map " "      'rmail-summary-scroll-msg-up)
-  (define-key rmail-summary-mode-map "\177"   'rmail-summary-scroll-msg-down)
-  (define-key rmail-summary-mode-map "?"      'describe-mode)
-  (define-key rmail-summary-mode-map "\C-c\C-n" 'rmail-summary-next-same-subject)
-  (define-key rmail-summary-mode-map "\C-c\C-p" 'rmail-summary-previous-same-subject)
-  (define-key rmail-summary-mode-map "\C-c\C-s\C-d"
-    'rmail-summary-sort-by-date)
-  (define-key rmail-summary-mode-map "\C-c\C-s\C-s"
-    'rmail-summary-sort-by-subject)
-  (define-key rmail-summary-mode-map "\C-c\C-s\C-a"
-    'rmail-summary-sort-by-author)
-  (define-key rmail-summary-mode-map "\C-c\C-s\C-r"
-    'rmail-summary-sort-by-recipient)
-  (define-key rmail-summary-mode-map "\C-c\C-s\C-c"
-    'rmail-summary-sort-by-correspondent)
-  (define-key rmail-summary-mode-map "\C-c\C-s\C-l"
-    'rmail-summary-sort-by-lines)
-  (define-key rmail-summary-mode-map "\C-c\C-s\C-k"
-    'rmail-summary-sort-by-labels)
-  (define-key rmail-summary-mode-map "\C-x\C-s" 'rmail-summary-save-buffer)
-  )
-\f
-;;; Menu bar bindings.
-
-(define-key rmail-summary-mode-map [menu-bar] (make-sparse-keymap))
-
-(define-key rmail-summary-mode-map [menu-bar classify]
-  (cons "Classify" (make-sparse-keymap "Classify")))
-
-(define-key rmail-summary-mode-map [menu-bar classify output-menu]
-  '("Output (Rmail Menu)..." . rmail-summary-output-menu))
-
-(define-key rmail-summary-mode-map [menu-bar classify input-menu]
-  '("Input Rmail File (menu)..." . rmail-input-menu))
-
-(define-key rmail-summary-mode-map [menu-bar classify input-menu]
-  '(nil))
-
-(define-key rmail-summary-mode-map [menu-bar classify output-menu]
-  '(nil))
-
-(define-key rmail-summary-mode-map [menu-bar classify output-body]
-  '("Output body..." . rmail-summary-output-body))
-
-(define-key rmail-summary-mode-map [menu-bar classify output-inbox]
-  '("Output..." . rmail-summary-output))
-
-(define-key rmail-summary-mode-map [menu-bar classify output]
-  '("Output as seen..." . rmail-summary-output-as-seen))
-
-(define-key rmail-summary-mode-map [menu-bar classify kill-label]
-  '("Kill Label..." . rmail-summary-kill-label))
-
-(define-key rmail-summary-mode-map [menu-bar classify add-label]
-  '("Add Label..." . rmail-summary-add-label))
-
-(define-key rmail-summary-mode-map [menu-bar summary]
-  (cons "Summary" (make-sparse-keymap "Summary")))
-
-(define-key rmail-summary-mode-map [menu-bar summary senders]
-  '("By Senders..." . rmail-summary-by-senders))
-
-(define-key rmail-summary-mode-map [menu-bar summary labels]
-  '("By Labels..." . rmail-summary-by-labels))
-
-(define-key rmail-summary-mode-map [menu-bar summary recipients]
-  '("By Recipients..." . rmail-summary-by-recipients))
-
-(define-key rmail-summary-mode-map [menu-bar summary topic]
-  '("By Topic..." . rmail-summary-by-topic))
-
-(define-key rmail-summary-mode-map [menu-bar summary regexp]
-  '("By Regexp..." . rmail-summary-by-regexp))
-
-(define-key rmail-summary-mode-map [menu-bar summary all]
-  '("All" . rmail-summary))
-
-(define-key rmail-summary-mode-map [menu-bar mail]
-  (cons "Mail" (make-sparse-keymap "Mail")))
-
-(define-key rmail-summary-mode-map [menu-bar mail rmail-summary-get-new-mail]
-  '("Get New Mail" . rmail-summary-get-new-mail))
-
-(define-key rmail-summary-mode-map [menu-bar mail lambda]
-  '("----"))
-
-(define-key rmail-summary-mode-map [menu-bar mail continue]
-  '("Continue" . rmail-summary-continue))
-
-(define-key rmail-summary-mode-map [menu-bar mail resend]
-  '("Re-send..." . rmail-summary-resend))
-
-(define-key rmail-summary-mode-map [menu-bar mail forward]
-  '("Forward" . rmail-summary-forward))
-
-(define-key rmail-summary-mode-map [menu-bar mail retry]
-  '("Retry" . rmail-summary-retry-failure))
-
-(define-key rmail-summary-mode-map [menu-bar mail reply]
-  '("Reply" . rmail-summary-reply))
-
-(define-key rmail-summary-mode-map [menu-bar mail mail]
-  '("Mail" . rmail-summary-mail))
-
-(define-key rmail-summary-mode-map [menu-bar delete]
-  (cons "Delete" (make-sparse-keymap "Delete")))
-
-(define-key rmail-summary-mode-map [menu-bar delete expunge/save]
-  '("Expunge/Save" . rmail-summary-expunge-and-save))
-
-(define-key rmail-summary-mode-map [menu-bar delete expunge]
-  '("Expunge" . rmail-summary-expunge))
-
-(define-key rmail-summary-mode-map [menu-bar delete undelete]
-  '("Undelete" . rmail-summary-undelete))
-
-(define-key rmail-summary-mode-map [menu-bar delete delete]
-  '("Delete" . rmail-summary-delete-forward))
-
-(define-key rmail-summary-mode-map [menu-bar move]
-  (cons "Move" (make-sparse-keymap "Move")))
-
-(define-key rmail-summary-mode-map [menu-bar move search-back]
-  '("Search Back..." . rmail-summary-search-backward))
-
-(define-key rmail-summary-mode-map [menu-bar move search]
-  '("Search..." . rmail-summary-search))
-
-(define-key rmail-summary-mode-map [menu-bar move previous]
-  '("Previous Nondeleted" . rmail-summary-previous-msg))
-
-(define-key rmail-summary-mode-map [menu-bar move next]
-  '("Next Nondeleted" . rmail-summary-next-msg))
-
-(define-key rmail-summary-mode-map [menu-bar move last]
-  '("Last" . rmail-summary-last-message))
-
-(define-key rmail-summary-mode-map [menu-bar move first]
-  '("First" . rmail-summary-first-message))
-
-(define-key rmail-summary-mode-map [menu-bar move previous]
-  '("Previous" . rmail-summary-previous-all))
-
-(define-key rmail-summary-mode-map [menu-bar move next]
-  '("Next" . rmail-summary-next-all))
 \f
 (defun rmail-summary-mouse-goto-message (event)
   "Select the message whose summary line you click on."
@@ -1229,7 +1232,7 @@ Returns non-nil if message N was found."
     (unless skip-rmail
       (let ((selwin (selected-window)))
        (unwind-protect
-           (progn (pop-to-buffer buf)
+           (progn (rmail-pop-to-buffer buf)
                   (rmail-show-message n))
          (select-window selwin)
          ;; The actions above can alter the current buffer.  Preserve it.
@@ -1328,12 +1331,12 @@ Position it according to WHERE which can be BEG or END"
       (let ((buffer rmail-buffer))
        (split-window (selected-window) rmail-summary-window-size)
        (select-window (frame-first-window))
-       (pop-to-buffer rmail-buffer)
+       (rmail-pop-to-buffer rmail-buffer)
        ;; If pop-to-buffer did not use that window, delete that
        ;; window.  (This can happen if it uses another frame.)
        (or (eq buffer (window-buffer (next-window (frame-first-window))))
            (delete-other-windows)))
-    (pop-to-buffer rmail-buffer))
+    (rmail-pop-to-buffer rmail-buffer))
   (cond
    ((eq where 'BEG)
        (goto-char (point-min))
@@ -1342,7 +1345,7 @@ Position it according to WHERE which can be BEG or END"
        (goto-char (point-max))
        (recenter (1- (window-height))))
    )
-  (pop-to-buffer rmail-summary-buffer))
+  (rmail-pop-to-buffer rmail-summary-buffer))
 
 (defun rmail-summary-bury ()
   "Bury the Rmail buffer and the Rmail summary buffer."
@@ -1371,7 +1374,7 @@ Position it according to WHERE which can be BEG or END"
     (if (not (eq (selected-window) (next-window nil 'no-minibuf)))
        (delete-window))
     ;; Switch windows to the rmail buffer, or switch to it in this window.
-    (pop-to-buffer local-rmail-buffer)))
+    (rmail-pop-to-buffer local-rmail-buffer)))
 
 (defun rmail-summary-expunge ()
   "Actually erase all deleted messages and recompute summary headers."
@@ -1412,7 +1415,7 @@ argument says to read a file name and use that file as the inbox."
   "Run Rmail on file FILENAME."
   (interactive "FRun rmail on RMAIL file: ")
   ;; We switch windows here, then display the other Rmail file there.
-  (pop-to-buffer rmail-buffer)
+  (rmail-pop-to-buffer rmail-buffer)
   (rmail filename))
 
 (defun rmail-summary-first-message ()
@@ -1445,7 +1448,7 @@ argument says to read a file name and use that file as the inbox."
 (defun rmail-summary-edit-current-message ()
   "Edit the contents of this message."
   (interactive)
-  (pop-to-buffer rmail-buffer)
+  (rmail-pop-to-buffer rmail-buffer)
   (rmail-edit-current-message)
   (use-local-map rmail-summary-edit-map))
 
@@ -1453,14 +1456,14 @@ argument says to read a file name and use that file as the inbox."
   "Finish editing message, then go back to Rmail summary buffer."
   (interactive)
   (rmail-cease-edit)
-  (pop-to-buffer rmail-summary-buffer))
+  (rmail-pop-to-buffer rmail-summary-buffer))
 
 (defun rmail-summary-abort-edit ()
   "Abort edit of current message; restore original contents.
 Go back to summary buffer."
   (interactive)
   (rmail-abort-edit)
-  (pop-to-buffer rmail-summary-buffer))
+  (rmail-pop-to-buffer rmail-summary-buffer))
 
 (defun rmail-summary-search-backward (regexp &optional n)
   "Show message containing next match for REGEXP.
@@ -1519,7 +1522,7 @@ Interactively, empty argument means use same regexp used last time."
        (selwin (selected-window)))
     (unwind-protect
        (progn
-         (pop-to-buffer rmail-buffer)
+         (rmail-pop-to-buffer rmail-buffer)
          (rmail-search regexp n))
       (select-window selwin)
       (set-buffer buffer))))
@@ -1793,7 +1796,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order."
   "Sort messages of current Rmail summary by other correspondent.
 This uses either the \"From\", \"Sender\", \"To\", or
 \"Apparently-To\" header, downcased.  Uses the first header not
-excluded by `rmail-dont-reply-to-names'.  If prefix argument
+excluded by `mail-dont-reply-to-names'.  If prefix argument
 REVERSE is non-nil, sorts in reverse order."
   (interactive "P")
   (rmail-sort-from-summary (function rmail-sort-by-correspondent) reverse))
@@ -1821,7 +1824,7 @@ the summary is only showing a subset of messages."
   (require 'rmailsort)
   (let ((selwin (selected-window)))
     (unwind-protect
-       (progn (pop-to-buffer rmail-buffer)
+       (progn (rmail-pop-to-buffer rmail-buffer)
               (funcall sortfun reverse))
       (select-window selwin))))
 
@@ -1831,5 +1834,4 @@ the summary is only showing a subset of messages."
 ;; generated-autoload-file: "rmail.el"
 ;; End:
 
-;; arch-tag: 80b0a27a-a50d-4f37-9466-83d32d1e0ca8
 ;;; rmailsum.el ends here