diff lisp/mail/mbox-trunk-annotations/rmailsum.el.annotation @ 97531:513ae63d6175

Temporary convenience files supporting the Rmail/mbox merge to the trunk (as Pmail). These files should be removed when Pmail is subsumed into Rmail.
author Paul Reilly <pmr@pajato.com>
date Mon, 18 Aug 2008 05:21:37 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/mail/mbox-trunk-annotations/rmailsum.el.annotation	Mon Aug 18 05:21:37 2008 +0000
@@ -0,0 +1,1706 @@
+1.9          (eric     17-Mar-93): ;;; rmailsum.el --- make summary buffers for the mail reader
+1.8          (eric     17-Mar-93): 
+1.136        (ttn      06-Aug-05): ;; Copyright (C) 1985, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2003,
+1.149        (miles    08-Jan-08): ;;   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+1.2          (eric     30-May-92): 
+1.3          (eric     16-Jul-92): ;; Maintainer: FSF
+1.4          (eric     17-Jul-92): ;; Keywords: mail
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): ;; This file is part of GNU Emacs.
+1.1          (jimb     30-Nov-90): 
+1.151        (gm       06-May-08): ;; GNU Emacs is free software: you can redistribute it and/or modify
+1.1          (jimb     30-Nov-90): ;; it under the terms of the GNU General Public License as published by
+1.151        (gm       06-May-08): ;; the Free Software Foundation, either version 3 of the License, or
+1.151        (gm       06-May-08): ;; (at your option) any later version.
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): ;; GNU Emacs is distributed in the hope that it will be useful,
+1.1          (jimb     30-Nov-90): ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+1.1          (jimb     30-Nov-90): ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+1.1          (jimb     30-Nov-90): ;; GNU General Public License for more details.
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): ;; You should have received a copy of the GNU General Public License
+1.151        (gm       06-May-08): ;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+1.1          (jimb     30-Nov-90): 
+1.8          (eric     17-Mar-93): ;;; Commentary:
+1.8          (eric     17-Mar-93): 
+1.6          (rms      09-Mar-93): ;; Extended by Bob Weiner of Motorola
+1.6          (rms      09-Mar-93): ;;   Provided all commands from rmail-mode in rmail-summary-mode and made key
+1.6          (rms      09-Mar-93): ;;   bindings in both modes wholly compatible.
+1.8          (eric     17-Mar-93): 
+1.8          (eric     17-Mar-93): ;;; Code:
+1.6          (rms      09-Mar-93): 
+1.138        (lektu    29-Aug-05): (defvar msgnum)
+1.138        (lektu    29-Aug-05): 
+1.70         (rms      21-Aug-95): ;; For rmail-select-summary
+1.70         (rms      21-Aug-95): (require 'rmail)
+1.70         (rms      21-Aug-95): 
+1.82         (rms      04-Apr-96): ;;;###autoload
+1.96         (rms      03-May-97): (defcustom rmail-summary-scroll-between-messages t
+1.96         (rms      03-May-97):   "*Non-nil means Rmail summary scroll commands move between messages."
+1.96         (rms      03-May-97):   :type 'boolean
+1.96         (rms      03-May-97):   :group 'rmail-summary)
+1.82         (rms      04-Apr-96): 
+1.91         (rms      04-Oct-96): ;;;###autoload
+1.96         (rms      03-May-97): (defcustom rmail-summary-line-count-flag t
+1.127        (jpw      06-Feb-03):   "*Non-nil means Rmail summary should show the number of lines in each message."
+1.96         (rms      03-May-97):   :type 'boolean
+1.96         (rms      03-May-97):   :group 'rmail-summary)
+1.91         (rms      04-Oct-96): 
+1.55         (rms      07-Oct-94): (defvar rmail-summary-font-lock-keywords
+1.122        (eliz     21-Oct-01):   '(("^.....D.*" . font-lock-string-face)			; Deleted.
+1.122        (eliz     21-Oct-01):     ("^.....-.*" . font-lock-type-face)				; Unread.
+1.55         (rms      07-Oct-94):     ;; Neither of the below will be highlighted if either of the above are:
+1.122        (eliz     21-Oct-01):     ("^.....[^D-] \\(......\\)" 1 font-lock-keyword-face)	; Date.
+1.130        (rms      30-Sep-03):     ("{ \\([^\n}]+\\) }" 1 font-lock-comment-face))		; Labels.
+1.55         (rms      07-Oct-94):   "Additional expressions to highlight in Rmail Summary mode.")
+1.55         (rms      07-Oct-94): 
+1.134        (rms      03-Jul-05): (defvar rmail-summary-redo
+1.134        (rms      03-Jul-05):   "(FUNCTION . ARGS) to regenerate this Rmail summary buffer.")
+1.134        (rms      03-Jul-05): 
+1.134        (rms      03-Jul-05): (defvar rmail-summary-overlay nil)
+1.134        (rms      03-Jul-05): (put 'rmail-summary-overlay 'permanent-local t)
+1.134        (rms      03-Jul-05): 
+1.134        (rms      03-Jul-05): (defvar rmail-summary-mode-map nil)
+1.134        (rms      03-Jul-05): 
+1.6          (rms      09-Mar-93): ;; Entry points for making a summary buffer.
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): ;; Regenerate the contents of the summary
+1.6          (rms      09-Mar-93): ;; using the same selection criterion as last time.
+1.6          (rms      09-Mar-93): ;; M-x revert-buffer in a summary buffer calls this function.
+1.6          (rms      09-Mar-93): (defun rmail-update-summary (&rest ignore)
+1.6          (rms      09-Mar-93):   (apply (car rmail-summary-redo) (cdr rmail-summary-redo)))
+1.1          (jimb     30-Nov-90): 
+1.90         (rms      27-Sep-96): ;;;###autoload
+1.1          (jimb     30-Nov-90): (defun rmail-summary ()
+1.1          (jimb     30-Nov-90):   "Display a summary of all messages, one line per message."
+1.1          (jimb     30-Nov-90):   (interactive)
+1.6          (rms      09-Mar-93):   (rmail-new-summary "All" '(rmail-summary) nil))
+1.1          (jimb     30-Nov-90): 
+1.90         (rms      27-Sep-96): ;;;###autoload
+1.1          (jimb     30-Nov-90): (defun rmail-summary-by-labels (labels)
+1.1          (jimb     30-Nov-90):   "Display a summary of all messages with one or more LABELS.
+1.1          (jimb     30-Nov-90): LABELS should be a string containing the desired labels, separated by commas."
+1.1          (jimb     30-Nov-90):   (interactive "sLabels to summarize by: ")
+1.1          (jimb     30-Nov-90):   (if (string= labels "")
+1.1          (jimb     30-Nov-90):       (setq labels (or rmail-last-multi-labels
+1.1          (jimb     30-Nov-90): 		       (error "No label specified"))))
+1.1          (jimb     30-Nov-90):   (setq rmail-last-multi-labels labels)
+1.1          (jimb     30-Nov-90):   (rmail-new-summary (concat "labels " labels)
+1.6          (rms      09-Mar-93): 		     (list 'rmail-summary-by-labels labels)
+1.1          (jimb     30-Nov-90): 		     'rmail-message-labels-p
+1.1          (jimb     30-Nov-90): 		     (concat ", \\(" (mail-comma-list-regexp labels) "\\),")))
+1.1          (jimb     30-Nov-90): 
+1.90         (rms      27-Sep-96): ;;;###autoload
+1.1          (jimb     30-Nov-90): (defun rmail-summary-by-recipients (recipients &optional primary-only)
+1.1          (jimb     30-Nov-90):   "Display a summary of all messages with the given RECIPIENTS.
+1.1          (jimb     30-Nov-90): Normally checks the To, From and Cc fields of headers;
+1.1          (jimb     30-Nov-90): but if PRIMARY-ONLY is non-nil (prefix arg given),
+1.1          (jimb     30-Nov-90):  only look in the To and From fields.
+1.6          (rms      09-Mar-93): RECIPIENTS is a string of regexps separated by commas."
+1.1          (jimb     30-Nov-90):   (interactive "sRecipients to summarize by: \nP")
+1.1          (jimb     30-Nov-90):   (rmail-new-summary
+1.1          (jimb     30-Nov-90):    (concat "recipients " recipients)
+1.6          (rms      09-Mar-93):    (list 'rmail-summary-by-recipients recipients primary-only)
+1.1          (jimb     30-Nov-90):    'rmail-message-recipients-p
+1.1          (jimb     30-Nov-90):    (mail-comma-list-regexp recipients) primary-only))
+1.1          (jimb     30-Nov-90): 
+1.90         (rms      27-Sep-96): ;;;###autoload
+1.1          (jimb     30-Nov-90): (defun rmail-summary-by-regexp (regexp)
+1.1          (jimb     30-Nov-90):   "Display a summary of all messages according to regexp REGEXP.
+1.1          (jimb     30-Nov-90): If the regular expression is found in the header of the message
+1.1          (jimb     30-Nov-90): \(including in the date and other lines, as well as the subject line),
+1.1          (jimb     30-Nov-90): Emacs will list the header line in the RMAIL-summary."
+1.1          (jimb     30-Nov-90):   (interactive "sRegexp to summarize by: ")
+1.1          (jimb     30-Nov-90):   (if (string= regexp "")
+1.1          (jimb     30-Nov-90):       (setq regexp (or rmail-last-regexp
+1.120        (pj       15-Jul-01): 			 (error "No regexp specified"))))
+1.1          (jimb     30-Nov-90):   (setq rmail-last-regexp regexp)
+1.1          (jimb     30-Nov-90):   (rmail-new-summary (concat "regexp " regexp)
+1.6          (rms      09-Mar-93): 		     (list 'rmail-summary-by-regexp regexp)
+1.1          (jimb     30-Nov-90): 		     'rmail-message-regexp-p
+1.1          (jimb     30-Nov-90):                      regexp))
+1.1          (jimb     30-Nov-90): 
+1.6          (rms      09-Mar-93): ;; rmail-summary-by-topic
+1.6          (rms      09-Mar-93): ;; 1989 R.A. Schnitzler
+1.6          (rms      09-Mar-93): 
+1.90         (rms      27-Sep-96): ;;;###autoload
+1.6          (rms      09-Mar-93): (defun rmail-summary-by-topic (subject &optional whole-message)
+1.6          (rms      09-Mar-93):   "Display a summary of all messages with the given SUBJECT.
+1.6          (rms      09-Mar-93): Normally checks the Subject field of headers;
+1.126        (lektu    04-Feb-03): but if WHOLE-MESSAGE is non-nil (prefix arg given),
+1.6          (rms      09-Mar-93):  look in the whole message.
+1.6          (rms      09-Mar-93): SUBJECT is a string of regexps separated by commas."
+1.140        (as       08-Jan-06):   (interactive
+1.140        (as       08-Jan-06):    (let* ((subject (with-current-buffer rmail-buffer
+1.140        (as       08-Jan-06): 		     (rmail-current-subject)))
+1.140        (as       08-Jan-06): 	  (subject-re (with-current-buffer rmail-buffer
+1.140        (as       08-Jan-06): 			(rmail-current-subject-regexp)))
+1.140        (as       08-Jan-06): 	  (prompt (concat "Topics to summarize by (regexp"
+1.140        (as       08-Jan-06): 			  (if subject ", default current subject" "")
+1.140        (as       08-Jan-06): 			  "): ")))
+1.140        (as       08-Jan-06):      (list (read-string prompt nil nil subject) current-prefix-arg)))
+1.6          (rms      09-Mar-93):   (rmail-new-summary
+1.6          (rms      09-Mar-93):    (concat "about " subject)
+1.6          (rms      09-Mar-93):    (list 'rmail-summary-by-topic subject whole-message)
+1.6          (rms      09-Mar-93):    'rmail-message-subject-p
+1.6          (rms      09-Mar-93):    (mail-comma-list-regexp subject) whole-message))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-message-subject-p (msg subject &optional whole-message)
+1.6          (rms      09-Mar-93):   (save-restriction
+1.6          (rms      09-Mar-93):     (goto-char (rmail-msgbeg msg))
+1.105        (rms      01-Nov-98):     (search-forward "\n*** EOOH ***\n" (rmail-msgend msg) 'move)
+1.6          (rms      09-Mar-93):     (narrow-to-region
+1.6          (rms      09-Mar-93):      (point)
+1.12         (rms      31-May-93):      (progn (search-forward (if whole-message "\^_" "\n\n")) (point)))
+1.6          (rms      09-Mar-93):     (goto-char (point-min))
+1.6          (rms      09-Mar-93):     (if whole-message (re-search-forward subject nil t)
+1.119        (gerd     31-May-01):       (string-match subject (let ((subj (mail-fetch-field "Subject")))
+1.119        (gerd     31-May-01): 			      (if subj
+1.119        (gerd     31-May-01): 				  (funcall rmail-summary-line-decoder subj)
+1.119        (gerd     31-May-01): 				""))))))
+1.13         (rms      03-Jun-93): 
+1.90         (rms      27-Sep-96): ;;;###autoload
+1.13         (rms      03-Jun-93): (defun rmail-summary-by-senders (senders)
+1.13         (rms      03-Jun-93):   "Display a summary of all messages with the given SENDERS.
+1.13         (rms      03-Jun-93): SENDERS is a string of names separated by commas."
+1.13         (rms      03-Jun-93):   (interactive "sSenders to summarize by: ")
+1.13         (rms      03-Jun-93):   (rmail-new-summary
+1.13         (rms      03-Jun-93):    (concat "senders " senders)
+1.24         (rms      08-Jan-94):    (list 'rmail-summary-by-senders senders)
+1.13         (rms      03-Jun-93):    'rmail-message-senders-p
+1.13         (rms      03-Jun-93):    (mail-comma-list-regexp senders)))
+1.13         (rms      03-Jun-93): 
+1.13         (rms      03-Jun-93): (defun rmail-message-senders-p (msg senders)
+1.13         (rms      03-Jun-93):   (save-restriction
+1.13         (rms      03-Jun-93):     (goto-char (rmail-msgbeg msg))
+1.13         (rms      03-Jun-93):     (search-forward "\n*** EOOH ***\n")
+1.13         (rms      03-Jun-93):     (narrow-to-region (point) (progn (search-forward "\n\n") (point)))
+1.13         (rms      03-Jun-93):     (string-match senders (or (mail-fetch-field "From") ""))))
+1.1          (jimb     30-Nov-90): 
+1.6          (rms      09-Mar-93): ;; General making of a summary buffer.
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defvar rmail-summary-symbol-number 0)
+1.6          (rms      09-Mar-93): 
+1.134        (rms      03-Jul-05): (defvar rmail-new-summary-line-count)
+1.134        (rms      03-Jul-05): 
+1.6          (rms      09-Mar-93): (defun rmail-new-summary (description redo-form function &rest args)
+1.1          (jimb     30-Nov-90):   "Create a summary of selected messages.
+1.1          (jimb     30-Nov-90): DESCRIPTION makes part of the mode line of the summary buffer.
+1.1          (jimb     30-Nov-90): For each message, FUNCTION is applied to the message number and ARGS...
+1.1          (jimb     30-Nov-90): and if the result is non-nil, that message is included.
+1.1          (jimb     30-Nov-90): nil for FUNCTION means all messages."
+1.1          (jimb     30-Nov-90):   (message "Computing summary lines...")
+1.6          (rms      09-Mar-93):   (let (sumbuf mesg was-in-summary)
+1.6          (rms      09-Mar-93):     (save-excursion
+1.6          (rms      09-Mar-93):       ;; Go to the Rmail buffer.
+1.6          (rms      09-Mar-93):       (if (eq major-mode 'rmail-summary-mode)
+1.118        (gerd     08-May-01): 	  (setq was-in-summary t))
+1.118        (gerd     08-May-01):       (set-buffer rmail-buffer)
+1.6          (rms      09-Mar-93):       ;; Find its summary buffer, or make one.
+1.11         (rms      28-May-93):       (setq sumbuf
+1.11         (rms      28-May-93): 	    (if (and rmail-summary-buffer
+1.11         (rms      28-May-93): 		     (buffer-name rmail-summary-buffer))
+1.11         (rms      28-May-93): 		rmail-summary-buffer
+1.11         (rms      28-May-93): 	      (generate-new-buffer (concat (buffer-name) "-summary"))))
+1.6          (rms      09-Mar-93):       (setq mesg rmail-current-message)
+1.6          (rms      09-Mar-93):       ;; Filter the messages; make or get their summary lines.
+1.6          (rms      09-Mar-93):       (let ((summary-msgs ())
+1.134        (rms      03-Jul-05): 	    (rmail-new-summary-line-count 0))
+1.6          (rms      09-Mar-93): 	(let ((msgnum 1)
+1.36         (kwzh     09-Apr-94): 	      (buffer-read-only nil)
+1.36         (kwzh     09-Apr-94): 	      (old-min (point-min-marker))
+1.36         (kwzh     09-Apr-94): 	      (old-max (point-max-marker)))
+1.36         (kwzh     09-Apr-94): 	  ;; Can't use save-restriction here; that doesn't work if we
+1.36         (kwzh     09-Apr-94): 	  ;; plan to modify text outside the original restriction.
+1.36         (kwzh     09-Apr-94): 	  (save-excursion
+1.36         (kwzh     09-Apr-94): 	    (widen)
+1.36         (kwzh     09-Apr-94): 	    (goto-char (point-min))
+1.36         (kwzh     09-Apr-94): 	    (while (>= rmail-total-messages msgnum)
+1.36         (kwzh     09-Apr-94): 	      (if (or (null function)
+1.36         (kwzh     09-Apr-94): 		      (apply function (cons msgnum args)))
+1.36         (kwzh     09-Apr-94): 		  (setq summary-msgs
+1.36         (kwzh     09-Apr-94): 			(cons (cons msgnum (rmail-make-summary-line msgnum))
+1.36         (kwzh     09-Apr-94): 			      summary-msgs)))
+1.36         (kwzh     09-Apr-94): 	      (setq msgnum (1+ msgnum)))
+1.36         (kwzh     09-Apr-94): 	    (setq summary-msgs (nreverse summary-msgs)))
+1.36         (kwzh     09-Apr-94): 	  (narrow-to-region old-min old-max))
+1.11         (rms      28-May-93): 	;; Temporarily, while summary buffer is unfinished,
+1.11         (rms      28-May-93): 	;; we "don't have" a summary.
+1.11         (rms      28-May-93): 	(setq rmail-summary-buffer nil)
+1.118        (gerd     08-May-01): 	(if rmail-enable-mime
+1.118        (gerd     08-May-01): 	    (with-current-buffer rmail-view-buffer
+1.118        (gerd     08-May-01): 	      (setq rmail-summary-buffer nil)))
+1.11         (rms      28-May-93): 	(save-excursion
+1.11         (rms      28-May-93): 	  (let ((rbuf (current-buffer))
+1.94         (handa    26-Feb-97): 		(vbuf rmail-view-buffer)
+1.11         (rms      28-May-93): 		(total rmail-total-messages))
+1.11         (rms      28-May-93): 	    (set-buffer sumbuf)
+1.11         (rms      28-May-93): 	    ;; Set up the summary buffer's contents.
+1.11         (rms      28-May-93): 	    (let ((buffer-read-only nil))
+1.11         (rms      28-May-93): 	      (erase-buffer)
+1.11         (rms      28-May-93): 	      (while summary-msgs
+1.11         (rms      28-May-93): 		(princ (cdr (car summary-msgs)) sumbuf)
+1.11         (rms      28-May-93): 		(setq summary-msgs (cdr summary-msgs)))
+1.11         (rms      28-May-93): 	      (goto-char (point-min)))
+1.11         (rms      28-May-93): 	    ;; Set up the rest of its state and local variables.
+1.11         (rms      28-May-93): 	    (setq buffer-read-only t)
+1.11         (rms      28-May-93): 	    (rmail-summary-mode)
+1.11         (rms      28-May-93): 	    (make-local-variable 'minor-mode-alist)
+1.83         (rms      12-Jun-96): 	    (setq minor-mode-alist (list (list t (concat ": " description))))
+1.11         (rms      28-May-93): 	    (setq rmail-buffer rbuf
+1.94         (handa    26-Feb-97): 		  rmail-view-buffer vbuf
+1.11         (rms      28-May-93): 		  rmail-summary-redo redo-form
+1.11         (rms      28-May-93): 		  rmail-total-messages total))))
+1.11         (rms      28-May-93):       (setq rmail-summary-buffer sumbuf))
+1.6          (rms      09-Mar-93):     ;; Now display the summary buffer and go to the right place in it.
+1.6          (rms      09-Mar-93):     (or was-in-summary
+1.70         (rms      21-Aug-95): 	(progn
+1.70         (rms      21-Aug-95): 	  (if (and (one-window-p)
+1.70         (rms      21-Aug-95): 		   pop-up-windows (not pop-up-frames))
+1.70         (rms      21-Aug-95): 	      ;; If there is just one window, put the summary on the top.
+1.70         (rms      21-Aug-95): 	      (progn
+1.70         (rms      21-Aug-95): 		(split-window (selected-window) rmail-summary-window-size)
+1.70         (rms      21-Aug-95): 		(select-window (next-window (frame-first-window)))
+1.70         (rms      21-Aug-95): 		(pop-to-buffer sumbuf)
+1.70         (rms      21-Aug-95): 		;; If pop-to-buffer did not use that window, delete that
+1.70         (rms      21-Aug-95): 		;; window.  (This can happen if it uses another frame.)
+1.70         (rms      21-Aug-95): 		(if (not (eq sumbuf (window-buffer (frame-first-window))))
+1.70         (rms      21-Aug-95): 		    (delete-other-windows)))
+1.70         (rms      21-Aug-95): 	    (pop-to-buffer sumbuf))
+1.70         (rms      21-Aug-95): 	  (set-buffer rmail-buffer)
+1.70         (rms      21-Aug-95): 	  ;; This is how rmail makes the summary buffer reappear.
+1.70         (rms      21-Aug-95): 	  ;; We do this here to make the window the proper size.
+1.70         (rms      21-Aug-95): 	  (rmail-select-summary nil)
+1.70         (rms      21-Aug-95): 	  (set-buffer rmail-summary-buffer)))
+1.6          (rms      09-Mar-93):     (rmail-summary-goto-msg mesg t t)
+1.69         (rms      17-Aug-95):     (rmail-summary-construct-io-menu)
+1.6          (rms      09-Mar-93):     (message "Computing summary lines...done")))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): ;; Low levels of generating a summary.
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): (defun rmail-make-summary-line (msg)
+1.1          (jimb     30-Nov-90):   (let ((line (or (aref rmail-summary-vector (1- msg))
+1.1          (jimb     30-Nov-90): 		  (progn
+1.134        (rms      03-Jul-05): 		    (setq rmail-new-summary-line-count
+1.134        (rms      03-Jul-05): 			  (1+ rmail-new-summary-line-count))
+1.134        (rms      03-Jul-05): 		    (if (zerop (% rmail-new-summary-line-count 10))
+1.1          (jimb     30-Nov-90): 			(message "Computing summary lines...%d"
+1.134        (rms      03-Jul-05): 				 rmail-new-summary-line-count))
+1.147        (miles    03-Aug-07): 		    (rmail-make-summary-line-1 msg))))
+1.147        (miles    03-Aug-07): 	delpos)
+1.1          (jimb     30-Nov-90):     ;; Fix up the part of the summary that says "deleted" or "unseen".
+1.147        (miles    03-Aug-07):     (string-match "[0-9]+" line)
+1.147        (miles    03-Aug-07):     (aset line (match-end 0)
+1.147        (miles    03-Aug-07): 	  (if (rmail-message-deleted-p msg) ?D
+1.1          (jimb     30-Nov-90): 	    (if (= ?0 (char-after (+ 3 (rmail-msgbeg msg))))
+1.147        (miles    03-Aug-07): 		?- ?\s)))
+1.1          (jimb     30-Nov-90):     line))
+1.1          (jimb     30-Nov-90): 
+1.94         (handa    26-Feb-97): ;;;###autoload
+1.96         (rms      03-May-97): (defcustom rmail-summary-line-decoder (function identity)
+1.94         (handa    26-Feb-97):   "*Function to decode summary-line.
+1.94         (handa    26-Feb-97): 
+1.96         (rms      03-May-97): By default, `identity' is set."
+1.96         (rms      03-May-97):   :type 'function
+1.96         (rms      03-May-97):   :group 'rmail-summary)
+1.94         (handa    26-Feb-97): 
+1.1          (jimb     30-Nov-90): (defun rmail-make-summary-line-1 (msg)
+1.1          (jimb     30-Nov-90):   (goto-char (rmail-msgbeg msg))
+1.1          (jimb     30-Nov-90):   (let* ((lim (save-excursion (forward-line 2) (point)))
+1.1          (jimb     30-Nov-90): 	 pos
+1.1          (jimb     30-Nov-90): 	 (labels
+1.1          (jimb     30-Nov-90): 	  (progn
+1.1          (jimb     30-Nov-90): 	    (forward-char 3)
+1.1          (jimb     30-Nov-90): 	    (concat
+1.1          (jimb     30-Nov-90): ;	     (if (save-excursion (re-search-forward ",answered," lim t))
+1.1          (jimb     30-Nov-90): ;		 "*" "")
+1.1          (jimb     30-Nov-90): ;	     (if (save-excursion (re-search-forward ",filed," lim t))
+1.1          (jimb     30-Nov-90): ;		 "!" "")
+1.1          (jimb     30-Nov-90): 	     (if (progn (search-forward ",,") (eolp))
+1.1          (jimb     30-Nov-90): 		 ""
+1.1          (jimb     30-Nov-90): 	       (concat "{"
+1.1          (jimb     30-Nov-90): 		       (buffer-substring (point)
+1.130        (rms      30-Sep-03): 					 (progn (end-of-line)
+1.130        (rms      30-Sep-03): 						(backward-char)
+1.130        (rms      30-Sep-03): 						(if (looking-at ",")
+1.130        (rms      30-Sep-03): 						    (point)
+1.130        (rms      30-Sep-03): 						  (1+ (point)))))
+1.130        (rms      30-Sep-03): 		       " } ")))))
+1.1          (jimb     30-Nov-90): 	 (line
+1.1          (jimb     30-Nov-90): 	  (progn
+1.1          (jimb     30-Nov-90): 	    (forward-line 1)
+1.1          (jimb     30-Nov-90): 	    (if (looking-at "Summary-line: ")
+1.1          (jimb     30-Nov-90): 		(progn
+1.1          (jimb     30-Nov-90): 		  (goto-char (match-end 0))
+1.141        (rms      26-Jan-06): 		  (buffer-substring (point)
+1.141        (rms      26-Jan-06): 				    (progn (forward-line 1) (point))))))))
+1.1          (jimb     30-Nov-90):     ;; Obsolete status lines lacking a # should be flushed.
+1.1          (jimb     30-Nov-90):     (and line
+1.1          (jimb     30-Nov-90): 	 (not (string-match "#" line))
+1.1          (jimb     30-Nov-90): 	 (progn
+1.1          (jimb     30-Nov-90): 	   (delete-region (point)
+1.1          (jimb     30-Nov-90): 			  (progn (forward-line -1) (point)))
+1.1          (jimb     30-Nov-90): 	   (setq line nil)))
+1.1          (jimb     30-Nov-90):     ;; If we didn't get a valid status line from the message,
+1.1          (jimb     30-Nov-90):     ;; make a new one and put it in the message.
+1.1          (jimb     30-Nov-90):     (or line
+1.1          (jimb     30-Nov-90): 	(let* ((case-fold-search t)
+1.1          (jimb     30-Nov-90): 	       (next (rmail-msgend msg))
+1.1          (jimb     30-Nov-90): 	       (beg (if (progn (goto-char (rmail-msgbeg msg))
+1.1          (jimb     30-Nov-90): 			       (search-forward "\n*** EOOH ***\n" next t))
+1.1          (jimb     30-Nov-90): 			(point)
+1.1          (jimb     30-Nov-90): 		      (forward-line 1)
+1.1          (jimb     30-Nov-90): 		      (point)))
+1.1          (jimb     30-Nov-90): 	       (end (progn (search-forward "\n\n" nil t) (point))))
+1.1          (jimb     30-Nov-90): 	  (save-restriction
+1.1          (jimb     30-Nov-90): 	    (narrow-to-region beg end)
+1.1          (jimb     30-Nov-90): 	    (goto-char beg)
+1.1          (jimb     30-Nov-90): 	    (setq line (rmail-make-basic-summary-line)))
+1.1          (jimb     30-Nov-90): 	  (goto-char (rmail-msgbeg msg))
+1.1          (jimb     30-Nov-90): 	  (forward-line 2)
+1.1          (jimb     30-Nov-90): 	  (insert "Summary-line: " line)))
+1.1          (jimb     30-Nov-90):     (setq pos (string-match "#" line))
+1.1          (jimb     30-Nov-90):     (aset rmail-summary-vector (1- msg)
+1.94         (handa    26-Feb-97): 	  (funcall rmail-summary-line-decoder
+1.121        (gerd     05-Oct-01): 		   (concat (format "%5d  " msg)
+1.94         (handa    26-Feb-97): 			   (substring line 0 pos)
+1.94         (handa    26-Feb-97): 			   labels
+1.94         (handa    26-Feb-97): 			   (substring line (1+ pos)))))
+1.94         (handa    26-Feb-97):     ))
+1.1          (jimb     30-Nov-90): 
+1.112        (gerd     03-Apr-00): ;;;###autoload
+1.112        (gerd     03-Apr-00): (defcustom rmail-user-mail-address-regexp nil
+1.112        (gerd     03-Apr-00):   "*Regexp matching user mail addresses.
+1.112        (gerd     03-Apr-00): If non-nil, this variable is used to identify the correspondent
+1.112        (gerd     03-Apr-00): when receiving new mail.  If it matches the address of the sender,
+1.112        (gerd     03-Apr-00): the recipient is taken as correspondent of a mail.
+1.112        (gerd     03-Apr-00): If nil \(default value\), your `user-login-name' and `user-mail-address'
+1.112        (gerd     03-Apr-00): are used to exclude yourself as correspondent.
+1.112        (gerd     03-Apr-00): 
+1.112        (gerd     03-Apr-00): Usually you don't have to set this variable, except if you collect mails
+1.112        (gerd     03-Apr-00): sent by you under different user names.
+1.125        (lektu    02-Jul-02): Then it should be a regexp matching your mail addresses.
+1.112        (gerd     03-Apr-00): 
+1.112        (gerd     03-Apr-00): Setting this variable has an effect only before reading a mail."
+1.112        (gerd     03-Apr-00):   :type '(choice (const :tag "None" nil) regexp)
+1.112        (gerd     03-Apr-00):   :group 'rmail-retrieve
+1.112        (gerd     03-Apr-00):   :version "21.1")
+1.112        (gerd     03-Apr-00): 
+1.1          (jimb     30-Nov-90): (defun rmail-make-basic-summary-line ()
+1.1          (jimb     30-Nov-90):   (goto-char (point-min))
+1.1          (jimb     30-Nov-90):   (concat (save-excursion
+1.1          (jimb     30-Nov-90): 	    (if (not (re-search-forward "^Date:" nil t))
+1.1          (jimb     30-Nov-90): 		"      "
+1.1          (jimb     30-Nov-90): 	      (cond ((re-search-forward "\\([^0-9:]\\)\\([0-3]?[0-9]\\)\\([- \t_]+\\)\\([adfjmnos][aceopu][bcglnprtvy]\\)"
+1.1          (jimb     30-Nov-90): 		      (save-excursion (end-of-line) (point)) t)
+1.1          (jimb     30-Nov-90): 		     (format "%2d-%3s"
+1.132        (lektu    16-May-05): 			     (string-to-number (buffer-substring
+1.132        (lektu    16-May-05):                                                 (match-beginning 2)
+1.132        (lektu    16-May-05):                                                 (match-end 2)))
+1.1          (jimb     30-Nov-90): 			     (buffer-substring
+1.1          (jimb     30-Nov-90): 			      (match-beginning 4) (match-end 4))))
+1.1          (jimb     30-Nov-90): 		    ((re-search-forward "\\([^a-z]\\)\\([adfjmnos][acepou][bcglnprtvy]\\)\\([-a-z \t_]*\\)\\([0-9][0-9]?\\)"
+1.1          (jimb     30-Nov-90): 		      (save-excursion (end-of-line) (point)) t)
+1.1          (jimb     30-Nov-90): 		     (format "%2d-%3s"
+1.132        (lektu    16-May-05): 			     (string-to-number (buffer-substring
+1.132        (lektu    16-May-05):                                                 (match-beginning 4)
+1.132        (lektu    16-May-05):                                                 (match-end 4)))
+1.1          (jimb     30-Nov-90): 			     (buffer-substring
+1.1          (jimb     30-Nov-90): 			      (match-beginning 2) (match-end 2))))
+1.86         (miles    02-Jul-96): 		    ((re-search-forward "\\(19\\|20\\)\\([0-9][0-9]\\)-\\([01][0-9]\\)-\\([0-3][0-9]\\)"
+1.86         (miles    02-Jul-96): 		      (save-excursion (end-of-line) (point)) t)
+1.86         (miles    02-Jul-96): 		     (format "%2s%2s%2s"
+1.86         (miles    02-Jul-96): 			     (buffer-substring
+1.86         (miles    02-Jul-96): 			      (match-beginning 2) (match-end 2))
+1.86         (miles    02-Jul-96): 			     (buffer-substring
+1.86         (miles    02-Jul-96): 			      (match-beginning 3) (match-end 3))
+1.86         (miles    02-Jul-96): 			     (buffer-substring
+1.86         (miles    02-Jul-96): 			      (match-beginning 4) (match-end 4))))
+1.1          (jimb     30-Nov-90): 		    (t "??????"))))
+1.1          (jimb     30-Nov-90): 	  "  "
+1.1          (jimb     30-Nov-90): 	  (save-excursion
+1.128        (rms      09-Apr-03): 	    (let* ((from (and (re-search-forward "^From:[ \t]*" nil t)
+1.128        (rms      09-Apr-03): 			      (mail-strip-quoted-names
+1.128        (rms      09-Apr-03): 			       (buffer-substring
+1.128        (rms      09-Apr-03): 				(1- (point))
+1.128        (rms      09-Apr-03): 				;; Get all the lines of the From field
+1.128        (rms      09-Apr-03): 				;; so that we get a whole comment if there is one,
+1.128        (rms      09-Apr-03): 				;; so that mail-strip-quoted-names can discard it.
+1.128        (rms      09-Apr-03): 				(let ((opoint (point)))
+1.128        (rms      09-Apr-03): 				  (while (progn (forward-line 1)
+1.128        (rms      09-Apr-03): 						(looking-at "[ \t]")))
+1.128        (rms      09-Apr-03): 				  ;; Back up over newline, then trailing spaces or tabs
+1.128        (rms      09-Apr-03): 				  (forward-char -1)
+1.128        (rms      09-Apr-03): 				  (skip-chars-backward " \t")
+1.128        (rms      09-Apr-03): 				  (point))))))
+1.128        (rms      09-Apr-03): 		   len mch lo)
+1.128        (rms      09-Apr-03): 	      (if (or (null from)
+1.128        (rms      09-Apr-03): 		      (string-match
+1.128        (rms      09-Apr-03): 		       (or rmail-user-mail-address-regexp
+1.128        (rms      09-Apr-03): 			   (concat "^\\("
+1.128        (rms      09-Apr-03): 				   (regexp-quote (user-login-name))
+1.128        (rms      09-Apr-03): 				   "\\($\\|@\\)\\|"
+1.128        (rms      09-Apr-03): 				   (regexp-quote
+1.128        (rms      09-Apr-03): 				    ;; Don't lose if run from init file
+1.128        (rms      09-Apr-03): 				    ;; where user-mail-address is not
+1.128        (rms      09-Apr-03): 				    ;; set yet.
+1.128        (rms      09-Apr-03): 				    (or user-mail-address
+1.128        (rms      09-Apr-03): 					(concat (user-login-name) "@"
+1.128        (rms      09-Apr-03): 						(or mail-host-address
+1.128        (rms      09-Apr-03): 						    (system-name)))))
+1.128        (rms      09-Apr-03): 				   "\\>\\)"))
+1.128        (rms      09-Apr-03): 		       from))
+1.128        (rms      09-Apr-03): 		  ;; No From field, or it's this user.
+1.128        (rms      09-Apr-03): 		  (save-excursion
+1.128        (rms      09-Apr-03): 		    (goto-char (point-min))
+1.128        (rms      09-Apr-03): 		    (if (not (re-search-forward "^To:[ \t]*" nil t))
+1.128        (rms      09-Apr-03): 			nil
+1.128        (rms      09-Apr-03): 		      (setq from
+1.128        (rms      09-Apr-03): 			    (concat "to: "
+1.128        (rms      09-Apr-03): 				    (mail-strip-quoted-names
+1.128        (rms      09-Apr-03): 				     (buffer-substring
+1.128        (rms      09-Apr-03): 				      (point)
+1.128        (rms      09-Apr-03): 				      (progn (end-of-line)
+1.128        (rms      09-Apr-03): 					     (skip-chars-backward " \t")
+1.128        (rms      09-Apr-03): 					     (point)))))))))
+1.128        (rms      09-Apr-03): 	      (if (null from)
+1.128        (rms      09-Apr-03): 		  "                         "
+1.1          (jimb     30-Nov-90): 		(setq len (length from))
+1.1          (jimb     30-Nov-90): 		(setq mch (string-match "[@%]" from))
+1.1          (jimb     30-Nov-90): 		(format "%25s"
+1.1          (jimb     30-Nov-90): 			(if (or (not mch) (<= len 25))
+1.1          (jimb     30-Nov-90): 			    (substring from (max 0 (- len 25)))
+1.1          (jimb     30-Nov-90): 			  (substring from
+1.40         (rms      06-May-94): 				     (setq lo (cond ((< (- mch 14) 0) 0)
+1.40         (rms      06-May-94): 						    ((< len (+ mch 11))
+1.1          (jimb     30-Nov-90): 						     (- len 25))
+1.40         (rms      06-May-94): 						    (t (- mch 14))))
+1.1          (jimb     30-Nov-90): 				     (min len (+ lo 25))))))))
+1.92         (rms      04-Oct-96):           (if rmail-summary-line-count-flag
+1.91         (rms      04-Oct-96): 	      (save-excursion
+1.91         (rms      04-Oct-96): 		(save-restriction
+1.91         (rms      04-Oct-96): 		  (widen)
+1.91         (rms      04-Oct-96): 		  (let ((beg (rmail-msgbeg msgnum))
+1.91         (rms      04-Oct-96): 			(end (rmail-msgend msgnum))
+1.91         (rms      04-Oct-96): 			lines)
+1.91         (rms      04-Oct-96): 		    (save-excursion
+1.91         (rms      04-Oct-96): 		      (goto-char beg)
+1.91         (rms      04-Oct-96): 		      ;; Count only lines in the reformatted header,
+1.91         (rms      04-Oct-96): 		      ;; if we have reformatted it.
+1.91         (rms      04-Oct-96): 		      (search-forward "\n*** EOOH ***\n" end t)
+1.91         (rms      04-Oct-96): 		      (setq lines (count-lines (point) end)))
+1.91         (rms      04-Oct-96): 		    (format (cond
+1.91         (rms      04-Oct-96): 			     ((<= lines     9) "   [%d]")
+1.91         (rms      04-Oct-96): 			     ((<= lines    99) "  [%d]")
+1.91         (rms      04-Oct-96): 			     ((<= lines   999) " [%3d]")
+1.91         (rms      04-Oct-96): 			     (t		    "[%d]"))
+1.91         (rms      04-Oct-96): 			    lines))))
+1.91         (rms      04-Oct-96):             " ")
+1.79         (erik     26-Feb-96): 	  " #"				;The # is part of the format.
+1.1          (jimb     30-Nov-90): 	  (if (re-search-forward "^Subject:" nil t)
+1.1          (jimb     30-Nov-90): 	      (progn (skip-chars-forward " \t")
+1.1          (jimb     30-Nov-90): 		     (buffer-substring (point)
+1.1          (jimb     30-Nov-90): 				       (progn (end-of-line)
+1.1          (jimb     30-Nov-90): 					      (point))))
+1.1          (jimb     30-Nov-90): 	    (re-search-forward "[\n][\n]+" nil t)
+1.1          (jimb     30-Nov-90): 	    (buffer-substring (point) (progn (end-of-line) (point))))
+1.1          (jimb     30-Nov-90): 	  "\n"))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): ;; Simple motion in a summary buffer.
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): (defun rmail-summary-next-all (&optional number)
+1.1          (jimb     30-Nov-90):   (interactive "p")
+1.7          (rms      13-Mar-93):   (forward-line (if number number 1))
+1.59         (rms      15-Oct-94):   ;; It doesn't look nice to move forward past the last message line.
+1.59         (rms      15-Oct-94):   (and (eobp) (> number 0)
+1.59         (rms      15-Oct-94):        (forward-line -1))
+1.7          (rms      13-Mar-93):   (display-buffer rmail-buffer))
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): (defun rmail-summary-previous-all (&optional number)
+1.1          (jimb     30-Nov-90):   (interactive "p")
+1.7          (rms      13-Mar-93):   (forward-line (- (if number number 1)))
+1.59         (rms      15-Oct-94):   ;; It doesn't look nice to move forward past the last message line.
+1.59         (rms      15-Oct-94):   (and (eobp) (< number 0)
+1.59         (rms      15-Oct-94):        (forward-line -1))
+1.7          (rms      13-Mar-93):   (display-buffer rmail-buffer))
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): (defun rmail-summary-next-msg (&optional number)
+1.6          (rms      09-Mar-93):   "Display next non-deleted msg from rmail file.
+1.6          (rms      09-Mar-93): With optional prefix argument NUMBER, moves forward this number of non-deleted
+1.6          (rms      09-Mar-93): messages, or backward if NUMBER is negative."
+1.1          (jimb     30-Nov-90):   (interactive "p")
+1.1          (jimb     30-Nov-90):   (forward-line 0)
+1.15         (rms      04-Jun-93):   (and (> number 0) (end-of-line))
+1.1          (jimb     30-Nov-90):   (let ((count (if (< number 0) (- number) number))
+1.1          (jimb     30-Nov-90): 	(search (if (> number 0) 're-search-forward 're-search-backward))
+1.6          (rms      09-Mar-93): 	(non-del-msg-found nil))
+1.6          (rms      09-Mar-93):     (while (and (> count 0) (setq non-del-msg-found
+1.143        (eliz     11-Mar-06): 				  (or (funcall search "^.....[^D]" nil t)
+1.6          (rms      09-Mar-93): 				      non-del-msg-found)))
+1.7          (rms      13-Mar-93):       (setq count (1- count))))
+1.15         (rms      04-Jun-93):   (beginning-of-line)
+1.127        (jpw      06-Feb-03):   (display-buffer rmail-view-buffer))
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): (defun rmail-summary-previous-msg (&optional number)
+1.127        (jpw      06-Feb-03):   "Display previous non-deleted msg from rmail file.
+1.127        (jpw      06-Feb-03): With optional prefix argument NUMBER, moves backward this number of
+1.127        (jpw      06-Feb-03): non-deleted messages."
+1.1          (jimb     30-Nov-90):   (interactive "p")
+1.1          (jimb     30-Nov-90):   (rmail-summary-next-msg (- (if number number 1))))
+1.1          (jimb     30-Nov-90): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-next-labeled-message (n labels)
+1.127        (jpw      06-Feb-03):   "Show next message with LABELS.  Defaults to last labels used.
+1.6          (rms      09-Mar-93): With prefix argument N moves forward N messages with these labels."
+1.6          (rms      09-Mar-93):   (interactive "p\nsMove to next msg with labels: ")
+1.88         (kwzh     13-Jul-96):   (let (msg)
+1.88         (kwzh     13-Jul-96):     (save-excursion
+1.88         (kwzh     13-Jul-96):       (set-buffer rmail-buffer)
+1.88         (kwzh     13-Jul-96):       (rmail-next-labeled-message n labels)
+1.88         (kwzh     13-Jul-96):       (setq msg rmail-current-message))
+1.88         (kwzh     13-Jul-96):     (rmail-summary-goto-msg msg)))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-previous-labeled-message (n labels)
+1.127        (jpw      06-Feb-03):   "Show previous message with LABELS.  Defaults to last labels used.
+1.6          (rms      09-Mar-93): With prefix argument N moves backward N messages with these labels."
+1.6          (rms      09-Mar-93):   (interactive "p\nsMove to previous msg with labels: ")
+1.88         (kwzh     13-Jul-96):   (let (msg)
+1.88         (kwzh     13-Jul-96):     (save-excursion
+1.88         (kwzh     13-Jul-96):       (set-buffer rmail-buffer)
+1.88         (kwzh     13-Jul-96):       (rmail-previous-labeled-message n labels)
+1.88         (kwzh     13-Jul-96):       (setq msg rmail-current-message))
+1.88         (kwzh     13-Jul-96):     (rmail-summary-goto-msg msg)))
+1.64         (rms      05-Feb-95): 
+1.64         (rms      05-Feb-95): (defun rmail-summary-next-same-subject (n)
+1.64         (rms      05-Feb-95):   "Go to the next message in the summary having the same subject.
+1.64         (rms      05-Feb-95): With prefix argument N, do this N times.
+1.64         (rms      05-Feb-95): If N is negative, go backwards."
+1.64         (rms      05-Feb-95):   (interactive "p")
+1.140        (as       08-Jan-06):   (let ((forward (> n 0))
+1.140        (as       08-Jan-06): 	search-regexp i found)
+1.140        (as       08-Jan-06):     (with-current-buffer rmail-buffer
+1.140        (as       08-Jan-06):       (setq search-regexp (rmail-current-subject-regexp)
+1.140        (as       08-Jan-06): 	    i rmail-current-message))
+1.64         (rms      05-Feb-95):     (save-excursion
+1.64         (rms      05-Feb-95):       (while (and (/= n 0)
+1.64         (rms      05-Feb-95): 		  (if forward
+1.64         (rms      05-Feb-95): 		      (not (eobp))
+1.64         (rms      05-Feb-95): 		    (not (bobp))))
+1.64         (rms      05-Feb-95): 	(let (done)
+1.64         (rms      05-Feb-95): 	  (while (and (not done)
+1.64         (rms      05-Feb-95): 		      (if forward
+1.64         (rms      05-Feb-95): 			  (not (eobp))
+1.64         (rms      05-Feb-95): 			(not (bobp))))
+1.64         (rms      05-Feb-95): 	    ;; Advance thru summary.
+1.64         (rms      05-Feb-95): 	    (forward-line (if forward 1 -1))
+1.64         (rms      05-Feb-95): 	    ;; Get msg number of this line.
+1.132        (lektu    16-May-05): 	    (setq i (string-to-number
+1.64         (rms      05-Feb-95): 		     (buffer-substring (point)
+1.121        (gerd     05-Oct-01): 				       (min (point-max) (+ 6 (point))))))
+1.64         (rms      05-Feb-95): 	    ;; See if that msg has desired subject.
+1.64         (rms      05-Feb-95): 	    (save-excursion
+1.64         (rms      05-Feb-95): 	      (set-buffer rmail-buffer)
+1.64         (rms      05-Feb-95): 	      (save-restriction
+1.64         (rms      05-Feb-95): 		(widen)
+1.64         (rms      05-Feb-95): 		(goto-char (rmail-msgbeg i))
+1.64         (rms      05-Feb-95): 		(search-forward "\n*** EOOH ***\n")
+1.64         (rms      05-Feb-95): 		(let ((beg (point)) end)
+1.64         (rms      05-Feb-95): 		  (search-forward "\n\n")
+1.64         (rms      05-Feb-95): 		  (setq end (point))
+1.64         (rms      05-Feb-95): 		  (goto-char beg)
+1.64         (rms      05-Feb-95): 		  (setq done (re-search-forward search-regexp end t))))))
+1.64         (rms      05-Feb-95): 	  (if done (setq found i)))
+1.64         (rms      05-Feb-95): 	(setq n (if forward (1- n) (1+ n)))))
+1.64         (rms      05-Feb-95):     (if found
+1.64         (rms      05-Feb-95): 	(rmail-summary-goto-msg found)
+1.64         (rms      05-Feb-95):       (error "No %s message with same subject"
+1.64         (rms      05-Feb-95): 	     (if forward "following" "previous")))))
+1.64         (rms      05-Feb-95): 
+1.64         (rms      05-Feb-95): (defun rmail-summary-previous-same-subject (n)
+1.64         (rms      05-Feb-95):   "Go to the previous message in the summary having the same subject.
+1.64         (rms      05-Feb-95): With prefix argument N, do this N times.
+1.64         (rms      05-Feb-95): If N is negative, go forwards instead."
+1.64         (rms      05-Feb-95):   (interactive "p")
+1.64         (rms      05-Feb-95):   (rmail-summary-next-same-subject (- n)))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): ;; Delete and undelete summary commands.
+1.6          (rms      09-Mar-93): 
+1.95         (rms      16-Apr-97): (defun rmail-summary-delete-forward (&optional count)
+1.6          (rms      09-Mar-93):   "Delete this message and move to next nondeleted one.
+1.6          (rms      09-Mar-93): Deleted messages stay in the file until the \\[rmail-expunge] command is given.
+1.95         (rms      16-Apr-97): A prefix argument serves as a repeat count;
+1.95         (rms      16-Apr-97): a negative argument means to delete and move backward."
+1.95         (rms      16-Apr-97):   (interactive "p")
+1.97         (rms      19-May-97):   (unless (numberp count) (setq count 1))
+1.95         (rms      16-Apr-97):   (let (end del-msg
+1.95         (rms      16-Apr-97): 	    (backward (< count 0)))
+1.95         (rms      16-Apr-97):     (while (/= count 0)
+1.95         (rms      16-Apr-97):       (rmail-summary-goto-msg)
+1.95         (rms      16-Apr-97):       (with-current-buffer rmail-buffer
+1.95         (rms      16-Apr-97): 	(rmail-delete-message)
+1.95         (rms      16-Apr-97): 	(setq del-msg rmail-current-message))
+1.23         (rms      30-Dec-93):       (rmail-summary-mark-deleted del-msg)
+1.23         (rms      30-Dec-93):       (while (and (not (if backward (bobp) (eobp)))
+1.25         (rms      08-Jan-94): 		  (save-excursion (beginning-of-line)
+1.53         (rms      27-Sep-94): 				  (looking-at " *[0-9]+D")))
+1.60         (rms      15-Oct-94): 	(forward-line (if backward -1 1)))
+1.60         (rms      15-Oct-94):       ;; It looks ugly to move to the empty line at end of buffer.
+1.60         (rms      15-Oct-94):       (and (eobp) (not backward)
+1.95         (rms      16-Apr-97): 	   (forward-line -1))
+1.95         (rms      16-Apr-97):       (setq count
+1.95         (rms      16-Apr-97): 	    (if (> count 0) (1- count) (1+ count))))))
+1.1          (jimb     30-Nov-90): 
+1.95         (rms      16-Apr-97): (defun rmail-summary-delete-backward (&optional count)
+1.6          (rms      09-Mar-93):   "Delete this message and move to previous nondeleted one.
+1.95         (rms      16-Apr-97): Deleted messages stay in the file until the \\[rmail-expunge] command is given.
+1.95         (rms      16-Apr-97): A prefix argument serves as a repeat count;
+1.95         (rms      16-Apr-97): a negative argument means to delete and move forward."
+1.95         (rms      16-Apr-97):   (interactive "p")
+1.95         (rms      16-Apr-97):   (rmail-summary-delete-forward (- count)))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-mark-deleted (&optional n undel)
+1.76         (kwzh     24-Jan-96):   ;; Since third arg is t, this only alters the summary, not the Rmail buf.
+1.10         (rms      25-May-93):   (and n (rmail-summary-goto-msg n t t))
+1.10         (rms      25-May-93):   (or (eobp)
+1.63         (rms      20-Jan-95):       (not (overlay-get rmail-summary-overlay 'face))
+1.10         (rms      25-May-93):       (let ((buffer-read-only nil))
+1.10         (rms      25-May-93): 	(skip-chars-forward " ")
+1.10         (rms      25-May-93): 	(skip-chars-forward "[0-9]")
+1.10         (rms      25-May-93): 	(if undel
+1.10         (rms      25-May-93): 	    (if (looking-at "D")
+1.10         (rms      25-May-93): 		(progn (delete-char 1) (insert " ")))
+1.10         (rms      25-May-93): 	  (delete-char 1)
+1.10         (rms      25-May-93): 	  (insert "D"))))
+1.6          (rms      09-Mar-93):   (beginning-of-line))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-mark-undeleted (n)
+1.6          (rms      09-Mar-93):   (rmail-summary-mark-deleted n t))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-deleted-p (&optional n)
+1.6          (rms      09-Mar-93):   (save-excursion
+1.6          (rms      09-Mar-93):     (and n (rmail-summary-goto-msg n nil t))
+1.6          (rms      09-Mar-93):     (skip-chars-forward " ")
+1.6          (rms      09-Mar-93):     (skip-chars-forward "[0-9]")
+1.6          (rms      09-Mar-93):     (looking-at "D")))
+1.1          (jimb     30-Nov-90): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-undelete (&optional arg)
+1.6          (rms      09-Mar-93):   "Undelete current message.
+1.6          (rms      09-Mar-93): Optional prefix ARG means undelete ARG previous messages."
+1.6          (rms      09-Mar-93):   (interactive "p")
+1.6          (rms      09-Mar-93):   (if (/= arg 1)
+1.6          (rms      09-Mar-93):       (rmail-summary-undelete-many arg)
+1.26         (rms      26-Jan-94):     (let ((buffer-read-only nil)
+1.26         (rms      26-Jan-94): 	  (opoint (point)))
+1.6          (rms      09-Mar-93):       (end-of-line)
+1.6          (rms      09-Mar-93):       (cond ((re-search-backward "\\(^ *[0-9]*\\)\\(D\\)" nil t)
+1.6          (rms      09-Mar-93): 	     (replace-match "\\1 ")
+1.6          (rms      09-Mar-93): 	     (rmail-summary-goto-msg)
+1.118        (gerd     08-May-01): 	     (if rmail-enable-mime
+1.118        (gerd     08-May-01): 		 (set-buffer rmail-buffer)
+1.118        (gerd     08-May-01): 	       (pop-to-buffer rmail-buffer))
+1.6          (rms      09-Mar-93): 	     (and (rmail-message-deleted-p rmail-current-message)
+1.6          (rms      09-Mar-93): 		  (rmail-undelete-previous-message))
+1.118        (gerd     08-May-01): 	     (if rmail-enable-mime
+1.118        (gerd     08-May-01): 		 (pop-to-buffer rmail-view-buffer))
+1.26         (rms      26-Jan-94): 	     (pop-to-buffer rmail-summary-buffer))
+1.26         (rms      26-Jan-94): 	    (t (goto-char opoint))))))
+1.1          (jimb     30-Nov-90): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-undelete-many (&optional n)
+1.6          (rms      09-Mar-93):   "Undelete all deleted msgs, optional prefix arg N means undelete N prev msgs."
+1.6          (rms      09-Mar-93):   (interactive "P")
+1.6          (rms      09-Mar-93):   (save-excursion
+1.6          (rms      09-Mar-93):     (set-buffer rmail-buffer)
+1.6          (rms      09-Mar-93):     (let* ((init-msg (if n rmail-current-message rmail-total-messages))
+1.6          (rms      09-Mar-93): 	   (rmail-current-message init-msg)
+1.6          (rms      09-Mar-93): 	   (n (or n rmail-total-messages))
+1.6          (rms      09-Mar-93): 	   (msgs-undeled 0))
+1.6          (rms      09-Mar-93):       (while (and (> rmail-current-message 0)
+1.6          (rms      09-Mar-93): 		  (< msgs-undeled n))
+1.6          (rms      09-Mar-93): 	(if (rmail-message-deleted-p rmail-current-message)
+1.6          (rms      09-Mar-93): 	    (progn (rmail-set-attribute "deleted" nil)
+1.6          (rms      09-Mar-93): 		   (setq msgs-undeled (1+ msgs-undeled))))
+1.6          (rms      09-Mar-93): 	(setq rmail-current-message (1- rmail-current-message)))
+1.6          (rms      09-Mar-93):       (set-buffer rmail-summary-buffer)
+1.6          (rms      09-Mar-93):       (setq rmail-current-message init-msg msgs-undeled 0)
+1.6          (rms      09-Mar-93):       (while (and (> rmail-current-message 0)
+1.6          (rms      09-Mar-93): 		  (< msgs-undeled n))
+1.6          (rms      09-Mar-93): 	(if (rmail-summary-deleted-p rmail-current-message)
+1.6          (rms      09-Mar-93): 	    (progn (rmail-summary-mark-undeleted rmail-current-message)
+1.6          (rms      09-Mar-93): 		   (setq msgs-undeled (1+ msgs-undeled))))
+1.6          (rms      09-Mar-93): 	(setq rmail-current-message (1- rmail-current-message))))
+1.6          (rms      09-Mar-93):     (rmail-summary-goto-msg)))
+1.6          (rms      09-Mar-93): 
+1.1          (jimb     30-Nov-90): ;; Rmail Summary mode is suitable only for specially formatted data.
+1.1          (jimb     30-Nov-90): (put 'rmail-summary-mode 'mode-class 'special)
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): (defun rmail-summary-mode ()
+1.6          (rms      09-Mar-93):   "Rmail Summary Mode is invoked from Rmail Mode by using \\<rmail-mode-map>\\[rmail-summary].
+1.6          (rms      09-Mar-93): As commands are issued in the summary buffer, they are applied to the
+1.6          (rms      09-Mar-93): corresponding mail messages in the rmail buffer.
+1.1          (jimb     30-Nov-90): 
+1.6          (rms      09-Mar-93): All normal editing commands are turned off.
+1.21         (rms      23-Nov-93): Instead, nearly all the Rmail mode commands are available,
+1.21         (rms      23-Nov-93): though many of them move only among the messages in the summary.
+1.6          (rms      09-Mar-93): 
+1.21         (rms      23-Nov-93): These additional commands exist:
+1.21         (rms      23-Nov-93): 
+1.21         (rms      23-Nov-93): \\[rmail-summary-undelete-many]	Undelete all or prefix arg deleted messages.
+1.21         (rms      23-Nov-93): \\[rmail-summary-wipe] Delete the summary and go to the Rmail buffer.
+1.21         (rms      23-Nov-93): 
+1.21         (rms      23-Nov-93): Commands for sorting the summary:
+1.21         (rms      23-Nov-93): 
+1.21         (rms      23-Nov-93): \\[rmail-summary-sort-by-date] Sort by date.
+1.21         (rms      23-Nov-93): \\[rmail-summary-sort-by-subject] Sort by subject.
+1.21         (rms      23-Nov-93): \\[rmail-summary-sort-by-author] Sort by author.
+1.21         (rms      23-Nov-93): \\[rmail-summary-sort-by-recipient] Sort by recipient.
+1.21         (rms      23-Nov-93): \\[rmail-summary-sort-by-correspondent] Sort by correspondent.
+1.33         (kwzh     07-Apr-94): \\[rmail-summary-sort-by-lines] Sort by lines.
+1.117        (gerd     07-May-01): \\[rmail-summary-sort-by-labels] Sort by labels."
+1.1          (jimb     30-Nov-90):   (interactive)
+1.1          (jimb     30-Nov-90):   (kill-all-local-variables)
+1.1          (jimb     30-Nov-90):   (setq major-mode 'rmail-summary-mode)
+1.1          (jimb     30-Nov-90):   (setq mode-name "RMAIL Summary")
+1.1          (jimb     30-Nov-90):   (setq truncate-lines t)
+1.1          (jimb     30-Nov-90):   (setq buffer-read-only t)
+1.1          (jimb     30-Nov-90):   (set-syntax-table text-mode-syntax-table)
+1.6          (rms      09-Mar-93):   (make-local-variable 'rmail-buffer)
+1.94         (handa    26-Feb-97):   (make-local-variable 'rmail-view-buffer)
+1.6          (rms      09-Mar-93):   (make-local-variable 'rmail-total-messages)
+1.6          (rms      09-Mar-93):   (make-local-variable 'rmail-current-message)
+1.6          (rms      09-Mar-93):   (setq rmail-current-message nil)
+1.6          (rms      09-Mar-93):   (make-local-variable 'rmail-summary-redo)
+1.6          (rms      09-Mar-93):   (setq rmail-summary-redo nil)
+1.6          (rms      09-Mar-93):   (make-local-variable 'revert-buffer-function)
+1.58         (simon    12-Oct-94):   (make-local-variable 'font-lock-defaults)
+1.58         (simon    12-Oct-94):   (setq font-lock-defaults '(rmail-summary-font-lock-keywords t))
+1.34         (kwzh     07-Apr-94):   (rmail-summary-enable)
+1.133        (lute     26-May-05):   (run-mode-hooks 'rmail-summary-mode-hook))
+1.1          (jimb     30-Nov-90): 
+1.34         (kwzh     07-Apr-94): ;; Summary features need to be disabled during edit mode.
+1.34         (kwzh     07-Apr-94): (defun rmail-summary-disable ()
+1.35         (kwzh     07-Apr-94):   (use-local-map text-mode-map)
+1.77         (simon    25-Jan-96):   (remove-hook 'post-command-hook 'rmail-summary-rmail-update t)
+1.35         (kwzh     07-Apr-94):   (setq revert-buffer-function nil))
+1.34         (kwzh     07-Apr-94): 
+1.34         (kwzh     07-Apr-94): (defun rmail-summary-enable ()
+1.35         (kwzh     07-Apr-94):   (use-local-map rmail-summary-mode-map)
+1.77         (simon    25-Jan-96):   (add-hook 'post-command-hook 'rmail-summary-rmail-update nil t)
+1.35         (kwzh     07-Apr-94):   (setq revert-buffer-function 'rmail-update-summary))
+1.34         (kwzh     07-Apr-94): 
+1.89         (rms      19-Sep-96): (defvar rmail-summary-put-back-unseen nil
+1.89         (rms      19-Sep-96):   "Used for communicating between calls to `rmail-summary-rmail-update'.
+1.89         (rms      19-Sep-96): If it moves to a message within an Incremental Search, and removes
+1.89         (rms      19-Sep-96): the `unseen' attribute from that message, it sets this flag
+1.89         (rms      19-Sep-96): so that if the next motion between messages is in the same Incremental
+1.89         (rms      19-Sep-96): Search, the `unseen' attribute is restored.")
+1.89         (rms      19-Sep-96): 
+1.7          (rms      13-Mar-93): ;; Show in Rmail the message described by the summary line that point is on,
+1.7          (rms      13-Mar-93): ;; but only if the Rmail buffer is already visible.
+1.6          (rms      09-Mar-93): ;; This is a post-command-hook in summary buffers.
+1.6          (rms      09-Mar-93): (defun rmail-summary-rmail-update ()
+1.37         (kwzh     19-Apr-94):   (let (buffer-read-only)
+1.37         (kwzh     19-Apr-94):     (save-excursion
+1.37         (kwzh     19-Apr-94):       ;; If at end of buffer, pretend we are on the last text line.
+1.37         (kwzh     19-Apr-94):       (if (eobp)
+1.37         (kwzh     19-Apr-94): 	  (forward-line -1))
+1.37         (kwzh     19-Apr-94):       (beginning-of-line)
+1.37         (kwzh     19-Apr-94):       (skip-chars-forward " ")
+1.132        (lektu    16-May-05):       (let ((msg-num (string-to-number (buffer-substring
+1.132        (lektu    16-May-05):                                         (point)
+1.132        (lektu    16-May-05):                                         (progn (skip-chars-forward "0-9")
+1.132        (lektu    16-May-05):                                                (point))))))
+1.89         (rms      19-Sep-96): 	;; Always leave `unseen' removed
+1.89         (rms      19-Sep-96): 	;; if we get out of isearch mode.
+1.89         (rms      19-Sep-96): 	;; Don't let a subsequent isearch restore that `unseen'.
+1.89         (rms      19-Sep-96): 	(if (not isearch-mode)
+1.89         (rms      19-Sep-96): 	    (setq rmail-summary-put-back-unseen nil))
+1.89         (rms      19-Sep-96): 
+1.37         (kwzh     19-Apr-94): 	(or (eq rmail-current-message msg-num)
+1.100        (kwzh     16-Oct-97): 	    (let ((window (get-buffer-window rmail-view-buffer t))
+1.37         (kwzh     19-Apr-94): 		  (owin (selected-window)))
+1.89         (rms      19-Sep-96): 	      (if isearch-mode
+1.89         (rms      19-Sep-96): 		  (save-excursion
+1.89         (rms      19-Sep-96): 		    (set-buffer rmail-buffer)
+1.89         (rms      19-Sep-96): 		    ;; If we first saw the previous message in this search,
+1.89         (rms      19-Sep-96): 		    ;; and we have gone to a different message while searching,
+1.89         (rms      19-Sep-96): 		    ;; put back `unseen' on the former one.
+1.102        (kwzh     04-Jun-98): 		    (if rmail-summary-put-back-unseen
+1.103        (kwzh     22-Jun-98): 			(rmail-set-attribute "unseen" t
+1.103        (kwzh     22-Jun-98): 					     rmail-current-message))
+1.89         (rms      19-Sep-96): 		    ;; Arrange to do that later, for the new current message,
+1.89         (rms      19-Sep-96): 		    ;; if it still has `unseen'.
+1.89         (rms      19-Sep-96): 		    (setq rmail-summary-put-back-unseen
+1.89         (rms      19-Sep-96): 			  (rmail-message-labels-p msg-num ", ?\\(unseen\\),")))
+1.89         (rms      19-Sep-96): 		(setq rmail-summary-put-back-unseen nil))
+1.89         (rms      19-Sep-96): 
+1.89         (rms      19-Sep-96): 	      ;; Go to the desired message.
+1.37         (kwzh     19-Apr-94): 	      (setq rmail-current-message msg-num)
+1.89         (rms      19-Sep-96): 
+1.89         (rms      19-Sep-96): 	      ;; Update the summary to show the message has been seen.
+1.37         (kwzh     19-Apr-94): 	      (if (= (following-char) ?-)
+1.37         (kwzh     19-Apr-94): 		  (progn
+1.37         (kwzh     19-Apr-94): 		    (delete-char 1)
+1.37         (kwzh     19-Apr-94): 		    (insert " ")))
+1.89         (rms      19-Sep-96): 
+1.37         (kwzh     19-Apr-94): 	      (if window
+1.37         (kwzh     19-Apr-94): 		  ;; Using save-window-excursion would cause the new value
+1.14         (rms      03-Jun-93): 		  ;; of point to get lost.
+1.14         (rms      03-Jun-93): 		  (unwind-protect
+1.14         (rms      03-Jun-93): 		      (progn
+1.14         (rms      03-Jun-93): 			(select-window window)
+1.56         (rms      11-Oct-94): 			(rmail-show-message msg-num t))
+1.37         (kwzh     19-Apr-94): 		    (select-window owin))
+1.49         (rms      26-Aug-94): 		(if (buffer-name rmail-buffer)
+1.49         (rms      26-Aug-94): 		    (save-excursion
+1.49         (rms      26-Aug-94): 		      (set-buffer rmail-buffer)
+1.63         (rms      20-Jan-95): 		      (rmail-show-message msg-num t))))))
+1.63         (rms      20-Jan-95): 	(rmail-summary-update-highlight nil)))))
+1.145        (gm       07-Jun-07): 
+1.145        (gm       07-Jun-07): (defun rmail-summary-save-buffer ()
+1.145        (gm       07-Jun-07):   "Save the buffer associated with this RMAIL summary."
+1.145        (gm       07-Jun-07):   (interactive)
+1.145        (gm       07-Jun-07):   (save-window-excursion
+1.145        (gm       07-Jun-07):     (save-excursion
+1.145        (gm       07-Jun-07):       (switch-to-buffer rmail-buffer)
+1.145        (gm       07-Jun-07):       (save-buffer))))
+1.145        (gm       07-Jun-07): 
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (if rmail-summary-mode-map
+1.6          (rms      09-Mar-93):     nil
+1.6          (rms      09-Mar-93):   (setq rmail-summary-mode-map (make-keymap))
+1.6          (rms      09-Mar-93):   (suppress-keymap rmail-summary-mode-map)
+1.98         (rms      04-Aug-97): 
+1.98         (rms      04-Aug-97):   (define-key rmail-summary-mode-map [mouse-2] 'rmail-summary-mouse-goto-message)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "a"      'rmail-summary-add-label)
+1.84         (rms      22-Jun-96):   (define-key rmail-summary-mode-map "b"      'rmail-summary-bury)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "c"      'rmail-summary-continue)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "d"      'rmail-summary-delete-forward)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\C-d"   'rmail-summary-delete-backward)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "e"      'rmail-summary-edit-current-message)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "f"      'rmail-summary-forward)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "g"      'rmail-summary-get-new-mail)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "h"      'rmail-summary)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "i"      'rmail-summary-input)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "j"      'rmail-summary-goto-msg)
+1.110        (gerd     12-Dec-99):   (define-key rmail-summary-mode-map "\C-m"   'rmail-summary-goto-msg)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "k"      'rmail-summary-kill-label)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "l"      'rmail-summary-by-labels)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\e\C-h" 'rmail-summary)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\e\C-l" 'rmail-summary-by-labels)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\e\C-r" 'rmail-summary-by-recipients)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\e\C-s" 'rmail-summary-by-regexp)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\e\C-t" 'rmail-summary-by-topic)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "m"      'rmail-summary-mail)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\M-m"   'rmail-summary-retry-failure)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "n"      'rmail-summary-next-msg)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\en"    'rmail-summary-next-all)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\e\C-n" 'rmail-summary-next-labeled-message)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "o"      'rmail-summary-output-to-rmail-file)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\C-o"   'rmail-summary-output)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "p"      'rmail-summary-previous-msg)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\ep"    'rmail-summary-previous-all)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\e\C-p" 'rmail-summary-previous-labeled-message)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "q"      'rmail-summary-quit)
+1.101        (rms      23-May-98):   (define-key rmail-summary-mode-map "Q"      'rmail-summary-wipe)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "r"      'rmail-summary-reply)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "s"      'rmail-summary-expunge-and-save)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\es"    'rmail-summary-search)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "t"      'rmail-summary-toggle-header)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "u"      'rmail-summary-undelete)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\M-u"   'rmail-summary-undelete-many)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "x"      'rmail-summary-expunge)
+1.101        (rms      23-May-98):   (define-key rmail-summary-mode-map "w"      'rmail-summary-output-body)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "."      'rmail-summary-beginning-of-message)
+1.137        (eliz     12-Aug-05):   (define-key rmail-summary-mode-map "/"      'rmail-summary-end-of-message)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "<"      'rmail-summary-first-message)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map ">"      'rmail-summary-last-message)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map " "      'rmail-summary-scroll-msg-up)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "\177"   'rmail-summary-scroll-msg-down)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-mode-map "?"      'describe-mode)
+1.64         (rms      05-Feb-95):   (define-key rmail-summary-mode-map "\C-c\C-n" 'rmail-summary-next-same-subject)
+1.64         (rms      05-Feb-95):   (define-key rmail-summary-mode-map "\C-c\C-p" 'rmail-summary-previous-same-subject)
+1.18         (rms      22-Jun-93):   (define-key rmail-summary-mode-map "\C-c\C-s\C-d"
+1.18         (rms      22-Jun-93):     'rmail-summary-sort-by-date)
+1.18         (rms      22-Jun-93):   (define-key rmail-summary-mode-map "\C-c\C-s\C-s"
+1.18         (rms      22-Jun-93):     'rmail-summary-sort-by-subject)
+1.18         (rms      22-Jun-93):   (define-key rmail-summary-mode-map "\C-c\C-s\C-a"
+1.18         (rms      22-Jun-93):     'rmail-summary-sort-by-author)
+1.18         (rms      22-Jun-93):   (define-key rmail-summary-mode-map "\C-c\C-s\C-r"
+1.18         (rms      22-Jun-93):     'rmail-summary-sort-by-recipient)
+1.18         (rms      22-Jun-93):   (define-key rmail-summary-mode-map "\C-c\C-s\C-c"
+1.18         (rms      22-Jun-93):     'rmail-summary-sort-by-correspondent)
+1.18         (rms      22-Jun-93):   (define-key rmail-summary-mode-map "\C-c\C-s\C-l"
+1.18         (rms      22-Jun-93):     'rmail-summary-sort-by-lines)
+1.33         (kwzh     07-Apr-94):   (define-key rmail-summary-mode-map "\C-c\C-s\C-k"
+1.117        (gerd     07-May-01):     'rmail-summary-sort-by-labels)
+1.145        (gm       07-Jun-07):   (define-key rmail-summary-mode-map "\C-x\C-s" 'rmail-summary-save-buffer)
+1.6          (rms      09-Mar-93):   )
+1.6          (rms      09-Mar-93): 
+1.17         (rms      22-Jun-93): ;;; Menu bar bindings.
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar] (make-sparse-keymap))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar classify]
+1.17         (rms      22-Jun-93):   (cons "Classify" (make-sparse-keymap "Classify")))
+1.17         (rms      22-Jun-93): 
+1.49         (rms      26-Aug-94): (define-key rmail-summary-mode-map [menu-bar classify output-menu]
+1.49         (rms      26-Aug-94):   '("Output (Rmail Menu)..." . rmail-summary-output-menu))
+1.49         (rms      26-Aug-94): 
+1.49         (rms      26-Aug-94): (define-key rmail-summary-mode-map [menu-bar classify input-menu]
+1.68         (kwzh     30-May-95):   '("Input Rmail File (menu)..." . rmail-input-menu))
+1.49         (rms      26-Aug-94): 
+1.51         (rms      19-Sep-94): (define-key rmail-summary-mode-map [menu-bar classify input-menu]
+1.51         (rms      19-Sep-94):   '(nil))
+1.51         (rms      19-Sep-94): 
+1.51         (rms      19-Sep-94): (define-key rmail-summary-mode-map [menu-bar classify output-menu]
+1.51         (rms      19-Sep-94):   '(nil))
+1.51         (rms      19-Sep-94): 
+1.101        (rms      23-May-98): (define-key rmail-summary-mode-map [menu-bar classify output-body]
+1.101        (rms      23-May-98):   '("Output (body)..." . rmail-summary-output-body))
+1.101        (rms      23-May-98): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar classify output-inbox]
+1.47         (rms      02-Aug-94):   '("Output (inbox)..." . rmail-summary-output))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar classify output]
+1.47         (rms      02-Aug-94):   '("Output (Rmail)..." . rmail-summary-output-to-rmail-file))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar classify kill-label]
+1.47         (rms      02-Aug-94):   '("Kill Label..." . rmail-summary-kill-label))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar classify add-label]
+1.47         (rms      02-Aug-94):   '("Add Label..." . rmail-summary-add-label))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar summary]
+1.17         (rms      22-Jun-93):   (cons "Summary" (make-sparse-keymap "Summary")))
+1.17         (rms      22-Jun-93): 
+1.85         (rms      25-Jun-96): (define-key rmail-summary-mode-map [menu-bar summary senders]
+1.85         (rms      25-Jun-96):   '("By Senders..." . rmail-summary-by-senders))
+1.85         (rms      25-Jun-96): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar summary labels]
+1.47         (rms      02-Aug-94):   '("By Labels..." . rmail-summary-by-labels))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar summary recipients]
+1.47         (rms      02-Aug-94):   '("By Recipients..." . rmail-summary-by-recipients))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar summary topic]
+1.47         (rms      02-Aug-94):   '("By Topic..." . rmail-summary-by-topic))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar summary regexp]
+1.47         (rms      02-Aug-94):   '("By Regexp..." . rmail-summary-by-regexp))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar summary all]
+1.17         (rms      22-Jun-93):   '("All" . rmail-summary))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar mail]
+1.17         (rms      22-Jun-93):   (cons "Mail" (make-sparse-keymap "Mail")))
+1.17         (rms      22-Jun-93): 
+1.45         (rms      02-Aug-94): (define-key rmail-summary-mode-map [menu-bar mail rmail-summary-get-new-mail]
+1.44         (rms      31-Jul-94):   '("Get New Mail" . rmail-summary-get-new-mail))
+1.44         (rms      31-Jul-94): 
+1.46         (rms      02-Aug-94): (define-key rmail-summary-mode-map [menu-bar mail lambda]
+1.44         (rms      31-Jul-94):   '("----"))
+1.42         (rms      29-Jul-94): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar mail continue]
+1.17         (rms      22-Jun-93):   '("Continue" . rmail-summary-continue))
+1.44         (rms      31-Jul-94): 
+1.44         (rms      31-Jul-94): (define-key rmail-summary-mode-map [menu-bar mail resend]
+1.57         (rms      11-Oct-94):   '("Re-send..." . rmail-summary-resend))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar mail forward]
+1.17         (rms      22-Jun-93):   '("Forward" . rmail-summary-forward))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar mail retry]
+1.17         (rms      22-Jun-93):   '("Retry" . rmail-summary-retry-failure))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar mail reply]
+1.17         (rms      22-Jun-93):   '("Reply" . rmail-summary-reply))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar mail mail]
+1.17         (rms      22-Jun-93):   '("Mail" . rmail-summary-mail))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar delete]
+1.17         (rms      22-Jun-93):   (cons "Delete" (make-sparse-keymap "Delete")))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar delete expunge/save]
+1.17         (rms      22-Jun-93):   '("Expunge/Save" . rmail-summary-expunge-and-save))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar delete expunge]
+1.17         (rms      22-Jun-93):   '("Expunge" . rmail-summary-expunge))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar delete undelete]
+1.17         (rms      22-Jun-93):   '("Undelete" . rmail-summary-undelete))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar delete delete]
+1.17         (rms      22-Jun-93):   '("Delete" . rmail-summary-delete-forward))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar move]
+1.17         (rms      22-Jun-93):   (cons "Move" (make-sparse-keymap "Move")))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar move search-back]
+1.47         (rms      02-Aug-94):   '("Search Back..." . rmail-summary-search-backward))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar move search]
+1.47         (rms      02-Aug-94):   '("Search..." . rmail-summary-search))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar move previous]
+1.17         (rms      22-Jun-93):   '("Previous Nondeleted" . rmail-summary-previous-msg))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar move next]
+1.17         (rms      22-Jun-93):   '("Next Nondeleted" . rmail-summary-next-msg))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar move last]
+1.17         (rms      22-Jun-93):   '("Last" . rmail-summary-last-message))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar move first]
+1.17         (rms      22-Jun-93):   '("First" . rmail-summary-first-message))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar move previous]
+1.17         (rms      22-Jun-93):   '("Previous" . rmail-summary-previous-all))
+1.17         (rms      22-Jun-93): 
+1.17         (rms      22-Jun-93): (define-key rmail-summary-mode-map [menu-bar move next]
+1.17         (rms      22-Jun-93):   '("Next" . rmail-summary-next-all))
+1.17         (rms      22-Jun-93): 
+1.98         (rms      04-Aug-97): (defun rmail-summary-mouse-goto-message (event)
+1.98         (rms      04-Aug-97):   "Select the message whose summary line you click on."
+1.98         (rms      04-Aug-97):   (interactive "@e")
+1.98         (rms      04-Aug-97):   (goto-char (posn-point (event-end event)))
+1.98         (rms      04-Aug-97):   (rmail-summary-goto-msg))
+1.76         (kwzh     24-Jan-96): 
+1.98         (rms      04-Aug-97): (defun rmail-summary-goto-msg (&optional n nowarn skip-rmail)
+1.98         (rms      04-Aug-97):   "Go to message N in the summary buffer and the Rmail buffer.
+1.98         (rms      04-Aug-97): If N is nil, use the message corresponding to point in the summary
+1.98         (rms      04-Aug-97): and move to that message in the Rmail buffer.
+1.76         (kwzh     24-Jan-96): 
+1.98         (rms      04-Aug-97): If NOWARN, don't say anything if N is out of range.
+1.98         (rms      04-Aug-97): If SKIP-RMAIL, don't do anything to the Rmail buffer."
+1.1          (jimb     30-Nov-90):   (interactive "P")
+1.1          (jimb     30-Nov-90):   (if (consp n) (setq n (prefix-numeric-value n)))
+1.1          (jimb     30-Nov-90):   (if (eobp) (forward-line -1))
+1.1          (jimb     30-Nov-90):   (beginning-of-line)
+1.54         (rms      06-Oct-94):   (let* ((obuf (current-buffer))
+1.54         (rms      06-Oct-94): 	 (buf rmail-buffer)
+1.54         (rms      06-Oct-94): 	 (cur (point))
+1.54         (rms      06-Oct-94): 	 message-not-found
+1.132        (lektu    16-May-05): 	 (curmsg (string-to-number
+1.54         (rms      06-Oct-94): 		  (buffer-substring (point)
+1.121        (gerd     05-Oct-01): 				    (min (point-max) (+ 6 (point))))))
+1.54         (rms      06-Oct-94): 	 (total (save-excursion (set-buffer buf) rmail-total-messages)))
+1.29         (rms      19-Mar-94):     ;; If message number N was specified, find that message's line
+1.29         (rms      19-Mar-94):     ;; or set message-not-found.
+1.29         (rms      19-Mar-94):     ;; If N wasn't specified or that message can't be found.
+1.29         (rms      19-Mar-94):     ;; set N by default.
+1.1          (jimb     30-Nov-90):     (if (not n)
+1.1          (jimb     30-Nov-90): 	(setq n curmsg)
+1.1          (jimb     30-Nov-90):       (if (< n 1)
+1.1          (jimb     30-Nov-90): 	  (progn (message "No preceding message")
+1.1          (jimb     30-Nov-90): 		 (setq n 1)))
+1.131        (eliz     01-Nov-03):       (if (and (> n total)
+1.131        (eliz     01-Nov-03): 	       (> total 0))
+1.1          (jimb     30-Nov-90): 	  (progn (message "No following message")
+1.1          (jimb     30-Nov-90): 		 (goto-char (point-max))
+1.76         (kwzh     24-Jan-96): 		 (rmail-summary-goto-msg nil nowarn skip-rmail)))
+1.1          (jimb     30-Nov-90):       (goto-char (point-min))
+1.121        (gerd     05-Oct-01):       (if (not (re-search-forward (format "^%5d[^0-9]" n) nil t))
+1.1          (jimb     30-Nov-90): 	  (progn (or nowarn (message "Message %d not found" n))
+1.1          (jimb     30-Nov-90): 		 (setq n curmsg)
+1.29         (rms      19-Mar-94): 		 (setq message-not-found t)
+1.1          (jimb     30-Nov-90): 		 (goto-char cur))))
+1.1          (jimb     30-Nov-90):     (beginning-of-line)
+1.1          (jimb     30-Nov-90):     (skip-chars-forward " ")
+1.1          (jimb     30-Nov-90):     (skip-chars-forward "0-9")
+1.1          (jimb     30-Nov-90):     (save-excursion (if (= (following-char) ?-)
+1.1          (jimb     30-Nov-90): 			(let ((buffer-read-only nil))
+1.1          (jimb     30-Nov-90): 			  (delete-char 1)
+1.1          (jimb     30-Nov-90): 			  (insert " "))))
+1.63         (rms      20-Jan-95):     (rmail-summary-update-highlight message-not-found)
+1.1          (jimb     30-Nov-90):     (beginning-of-line)
+1.6          (rms      09-Mar-93):     (if skip-rmail
+1.6          (rms      09-Mar-93): 	nil
+1.22         (rms      23-Dec-93):       (let ((selwin (selected-window)))
+1.22         (rms      23-Dec-93): 	(unwind-protect
+1.22         (rms      23-Dec-93): 	    (progn (pop-to-buffer buf)
+1.22         (rms      23-Dec-93): 		   (rmail-show-message n))
+1.50         (rms      13-Sep-94): 	  (select-window selwin)
+1.50         (rms      13-Sep-94): 	  ;; The actions above can alter the current buffer.  Preserve it.
+1.50         (rms      13-Sep-94): 	  (set-buffer obuf))))))
+1.63         (rms      20-Jan-95): 
+1.63         (rms      20-Jan-95): ;; Update the highlighted line in an rmail summary buffer.
+1.63         (rms      20-Jan-95): ;; That should be current.  We highlight the line point is on.
+1.63         (rms      20-Jan-95): ;; If NOT-FOUND is non-nil, we turn off highlighting.
+1.63         (rms      20-Jan-95): (defun rmail-summary-update-highlight (not-found)
+1.63         (rms      20-Jan-95):   ;; Make sure we have an overlay to use.
+1.63         (rms      20-Jan-95):   (or rmail-summary-overlay
+1.63         (rms      20-Jan-95):       (progn
+1.63         (rms      20-Jan-95): 	(make-local-variable 'rmail-summary-overlay)
+1.63         (rms      20-Jan-95): 	(setq rmail-summary-overlay (make-overlay (point) (point)))))
+1.63         (rms      20-Jan-95):   ;; If this message is in the summary, use the overlay to highlight it.
+1.63         (rms      20-Jan-95):   ;; Otherwise, don't highlight anything.
+1.63         (rms      20-Jan-95):   (if not-found
+1.63         (rms      20-Jan-95):       (overlay-put rmail-summary-overlay 'face nil)
+1.63         (rms      20-Jan-95):     (move-overlay rmail-summary-overlay
+1.63         (rms      20-Jan-95): 		  (save-excursion (beginning-of-line)
+1.63         (rms      20-Jan-95): 				  (skip-chars-forward " ")
+1.63         (rms      20-Jan-95): 				  (point))
+1.63         (rms      20-Jan-95): 		  (save-excursion (end-of-line) (point)))
+1.63         (rms      20-Jan-95):     (overlay-put rmail-summary-overlay 'face 'highlight)))
+1.6          (rms      09-Mar-93): 
+1.1          (jimb     30-Nov-90): (defun rmail-summary-scroll-msg-up (&optional dist)
+1.61         (rms      20-Nov-94):   "Scroll the Rmail window forward.
+1.61         (rms      20-Nov-94): If the Rmail window is displaying the end of a message,
+1.61         (rms      20-Nov-94): advance to the next message."
+1.1          (jimb     30-Nov-90):   (interactive "P")
+1.61         (rms      20-Nov-94):   (if (eq dist '-)
+1.61         (rms      20-Nov-94):       (rmail-summary-scroll-msg-down nil)
+1.94         (handa    26-Feb-97):     (let ((rmail-buffer-window (get-buffer-window rmail-view-buffer)))
+1.61         (rms      20-Nov-94):       (if rmail-buffer-window
+1.61         (rms      20-Nov-94): 	  (if (let ((rmail-summary-window (selected-window)))
+1.61         (rms      20-Nov-94): 		(select-window rmail-buffer-window)
+1.61         (rms      20-Nov-94): 		(prog1
+1.61         (rms      20-Nov-94): 		    ;; Is EOB visible in the buffer?
+1.61         (rms      20-Nov-94): 		    (save-excursion
+1.61         (rms      20-Nov-94): 		      (let ((ht (window-height (selected-window))))
+1.61         (rms      20-Nov-94): 			(move-to-window-line (- ht 2))
+1.61         (rms      20-Nov-94): 			(end-of-line)
+1.61         (rms      20-Nov-94): 			(eobp)))
+1.61         (rms      20-Nov-94): 		  (select-window rmail-summary-window)))
+1.82         (rms      04-Apr-96): 	      (if (not rmail-summary-scroll-between-messages)
+1.82         (rms      04-Apr-96): 		  (error "End of buffer")
+1.82         (rms      04-Apr-96): 		(rmail-summary-next-msg (or dist 1)))
+1.94         (handa    26-Feb-97): 	    (let ((other-window-scroll-buffer rmail-view-buffer))
+1.61         (rms      20-Nov-94): 	      (scroll-other-window dist)))
+1.93         (rms      14-Dec-96): 	;; If it isn't visible at all, show the beginning.
+1.93         (rms      14-Dec-96): 	(rmail-summary-beginning-of-message)))))
+1.1          (jimb     30-Nov-90): 
+1.1          (jimb     30-Nov-90): (defun rmail-summary-scroll-msg-down (&optional dist)
+1.61         (rms      20-Nov-94):   "Scroll the Rmail window backward.
+1.93         (rms      14-Dec-96): If the Rmail window is now displaying the beginning of a message,
+1.93         (rms      14-Dec-96): move to the previous message."
+1.1          (jimb     30-Nov-90):   (interactive "P")
+1.61         (rms      20-Nov-94):   (if (eq dist '-)
+1.61         (rms      20-Nov-94):       (rmail-summary-scroll-msg-up nil)
+1.118        (gerd     08-May-01):     (let ((rmail-buffer-window (get-buffer-window rmail-view-buffer)))
+1.61         (rms      20-Nov-94):       (if rmail-buffer-window
+1.61         (rms      20-Nov-94): 	  (if (let ((rmail-summary-window (selected-window)))
+1.61         (rms      20-Nov-94): 		(select-window rmail-buffer-window)
+1.61         (rms      20-Nov-94): 		(prog1
+1.61         (rms      20-Nov-94): 		    ;; Is BOB visible in the buffer?
+1.61         (rms      20-Nov-94): 		    (save-excursion
+1.61         (rms      20-Nov-94): 		      (move-to-window-line 0)
+1.61         (rms      20-Nov-94): 		      (beginning-of-line)
+1.61         (rms      20-Nov-94): 		      (bobp))
+1.61         (rms      20-Nov-94): 		  (select-window rmail-summary-window)))
+1.82         (rms      04-Apr-96): 	      (if (not rmail-summary-scroll-between-messages)
+1.82         (rms      04-Apr-96): 		  (error "Beginning of buffer")
+1.82         (rms      04-Apr-96): 		(rmail-summary-previous-msg (or dist 1)))
+1.118        (gerd     08-May-01): 	    (let ((other-window-scroll-buffer rmail-view-buffer))
+1.61         (rms      20-Nov-94): 	      (scroll-other-window-down dist)))
+1.93         (rms      14-Dec-96): 	;; If it isn't visible at all, show the beginning.
+1.93         (rms      14-Dec-96): 	(rmail-summary-beginning-of-message)))))
+1.1          (jimb     30-Nov-90): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-beginning-of-message ()
+1.6          (rms      09-Mar-93):   "Show current message from the beginning."
+1.6          (rms      09-Mar-93):   (interactive)
+1.137        (eliz     12-Aug-05):   (rmail-summary-show-message 'BEG))
+1.137        (eliz     12-Aug-05): 
+1.137        (eliz     12-Aug-05): (defun rmail-summary-end-of-message ()
+1.137        (eliz     12-Aug-05):   "Show bottom of current message."
+1.137        (eliz     12-Aug-05):   (interactive)
+1.137        (eliz     12-Aug-05):   (rmail-summary-show-message 'END))
+1.137        (eliz     12-Aug-05): 
+1.137        (eliz     12-Aug-05): (defun rmail-summary-show-message (where)
+1.137        (eliz     12-Aug-05):   "Show current mail message.
+1.137        (eliz     12-Aug-05): Position it according to WHERE which can be BEG or END"
+1.93         (rms      14-Dec-96):   (if (and (one-window-p) (not pop-up-frames))
+1.93         (rms      14-Dec-96):       ;; If there is just one window, put the summary on the top.
+1.118        (gerd     08-May-01):       (let ((buffer rmail-view-buffer))
+1.93         (rms      14-Dec-96): 	(split-window (selected-window) rmail-summary-window-size)
+1.93         (rms      14-Dec-96): 	(select-window (frame-first-window))
+1.118        (gerd     08-May-01): 	(pop-to-buffer rmail-view-buffer)
+1.93         (rms      14-Dec-96): 	;; If pop-to-buffer did not use that window, delete that
+1.93         (rms      14-Dec-96): 	;; window.  (This can happen if it uses another frame.)
+1.93         (rms      14-Dec-96): 	(or (eq buffer (window-buffer (next-window (frame-first-window))))
+1.93         (rms      14-Dec-96): 	    (delete-other-windows)))
+1.118        (gerd     08-May-01):     (pop-to-buffer rmail-view-buffer))
+1.137        (eliz     12-Aug-05):   (cond
+1.137        (eliz     12-Aug-05):    ((eq where 'BEG)
+1.137        (eliz     12-Aug-05): 	(goto-char (point-min))
+1.137        (eliz     12-Aug-05): 	(search-forward "\n\n"))
+1.137        (eliz     12-Aug-05):    ((eq where 'END)
+1.137        (eliz     12-Aug-05): 	(goto-char (point-max))
+1.137        (eliz     12-Aug-05): 	(recenter (1- (window-height))))
+1.137        (eliz     12-Aug-05):    )
+1.6          (rms      09-Mar-93):   (pop-to-buffer rmail-summary-buffer))
+1.84         (rms      22-Jun-96): 
+1.84         (rms      22-Jun-96): (defun rmail-summary-bury ()
+1.84         (rms      22-Jun-96):   "Bury the Rmail buffer and the Rmail summary buffer."
+1.84         (rms      22-Jun-96):   (interactive)
+1.84         (rms      22-Jun-96):   (let ((buffer-to-bury (current-buffer)))
+1.84         (rms      22-Jun-96):     (let (window)
+1.84         (rms      22-Jun-96):       (while (setq window (get-buffer-window rmail-buffer))
+1.84         (rms      22-Jun-96): 	(set-window-buffer window (other-buffer rmail-buffer)))
+1.84         (rms      22-Jun-96):       (bury-buffer rmail-buffer))
+1.84         (rms      22-Jun-96):     (switch-to-buffer (other-buffer buffer-to-bury))
+1.84         (rms      22-Jun-96):     (bury-buffer buffer-to-bury)))
+1.6          (rms      09-Mar-93): 
+1.1          (jimb     30-Nov-90): (defun rmail-summary-quit ()
+1.6          (rms      09-Mar-93):   "Quit out of Rmail and Rmail summary."
+1.1          (jimb     30-Nov-90):   (interactive)
+1.6          (rms      09-Mar-93):   (rmail-summary-wipe)
+1.1          (jimb     30-Nov-90):   (rmail-quit))
+1.1          (jimb     30-Nov-90): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-wipe ()
+1.6          (rms      09-Mar-93):   "Kill and wipe away Rmail summary, remaining within Rmail."
+1.1          (jimb     30-Nov-90):   (interactive)
+1.6          (rms      09-Mar-93):   (save-excursion (set-buffer rmail-buffer) (setq rmail-summary-buffer nil))
+1.118        (gerd     08-May-01):   (let ((local-rmail-buffer rmail-view-buffer))
+1.6          (rms      09-Mar-93):     (kill-buffer (current-buffer))
+1.6          (rms      09-Mar-93):     ;; Delete window if not only one.
+1.6          (rms      09-Mar-93):     (if (not (eq (selected-window) (next-window nil 'no-minibuf)))
+1.6          (rms      09-Mar-93): 	(delete-window))
+1.21         (rms      23-Nov-93):     ;; Switch windows to the rmail buffer, or switch to it in this window.
+1.21         (rms      23-Nov-93):     (pop-to-buffer local-rmail-buffer)))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-expunge ()
+1.6          (rms      09-Mar-93):   "Actually erase all deleted messages and recompute summary headers."
+1.6          (rms      09-Mar-93):   (interactive)
+1.6          (rms      09-Mar-93):   (save-excursion
+1.6          (rms      09-Mar-93):     (set-buffer rmail-buffer)
+1.115        (gerd     12-Dec-00):     (when (rmail-expunge-confirmed)
+1.114        (gerd     04-Dec-00):       (rmail-only-expunge)))
+1.6          (rms      09-Mar-93):   (rmail-update-summary))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-expunge-and-save ()
+1.6          (rms      09-Mar-93):   "Expunge and save RMAIL file."
+1.6          (rms      09-Mar-93):   (interactive)
+1.6          (rms      09-Mar-93):   (save-excursion
+1.6          (rms      09-Mar-93):     (set-buffer rmail-buffer)
+1.115        (gerd     12-Dec-00):     (when (rmail-expunge-confirmed)
+1.114        (gerd     04-Dec-00):       (rmail-only-expunge)))
+1.15         (rms      04-Jun-93):   (rmail-update-summary)
+1.15         (rms      04-Jun-93):   (save-excursion
+1.14         (rms      03-Jun-93):     (set-buffer rmail-buffer)
+1.28         (kwzh     09-Feb-94):     (save-buffer))
+1.28         (kwzh     09-Feb-94):   (set-buffer-modified-p nil))
+1.6          (rms      09-Mar-93): 
+1.99         (rms      27-Aug-97): (defun rmail-summary-get-new-mail (&optional file-name)
+1.99         (rms      27-Aug-97):   "Get new mail and recompute summary headers.
+1.99         (rms      27-Aug-97): 
+1.99         (rms      27-Aug-97): Optionally you can specify the file to get new mail from.  In this case,
+1.99         (rms      27-Aug-97): the file of new mail is not changed or deleted.  Noninteractively, you can
+1.99         (rms      27-Aug-97): pass the inbox file name as an argument.  Interactively, a prefix
+1.99         (rms      27-Aug-97): argument says to read a file name and use that file as the inbox."
+1.99         (rms      27-Aug-97):   (interactive
+1.99         (rms      27-Aug-97):    (list (if current-prefix-arg
+1.99         (rms      27-Aug-97): 	     (read-file-name "Get new mail from file: "))))
+1.15         (rms      04-Jun-93):   (let (msg)
+1.15         (rms      04-Jun-93):     (save-excursion
+1.15         (rms      04-Jun-93):       (set-buffer rmail-buffer)
+1.99         (rms      27-Aug-97):       (rmail-get-new-mail file-name)
+1.15         (rms      04-Jun-93):       ;; Get the proper new message number.
+1.15         (rms      04-Jun-93):       (setq msg rmail-current-message))
+1.15         (rms      04-Jun-93):     ;; Make sure that message is displayed.
+1.73         (rms      30-Nov-95):     (or (zerop msg)
+1.73         (rms      30-Nov-95): 	(rmail-summary-goto-msg msg))))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-input (filename)
+1.6          (rms      09-Mar-93):   "Run Rmail on file FILENAME."
+1.6          (rms      09-Mar-93):   (interactive "FRun rmail on RMAIL file: ")
+1.15         (rms      04-Jun-93):   ;; We switch windows here, then display the other Rmail file there.
+1.15         (rms      04-Jun-93):   (pop-to-buffer rmail-buffer)
+1.15         (rms      04-Jun-93):   (rmail filename))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-first-message ()
+1.6          (rms      09-Mar-93):   "Show first message in Rmail file from summary buffer."
+1.6          (rms      09-Mar-93):   (interactive)
+1.134        (rms      03-Jul-05):   (with-no-warnings
+1.134        (rms      03-Jul-05):     (beginning-of-buffer)))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-last-message ()
+1.6          (rms      09-Mar-93):   "Show last message in Rmail file from summary buffer."
+1.6          (rms      09-Mar-93):   (interactive)
+1.134        (rms      03-Jul-05):   (with-no-warnings
+1.134        (rms      03-Jul-05):     (end-of-buffer))
+1.6          (rms      09-Mar-93):   (forward-line -1))
+1.6          (rms      09-Mar-93): 
+1.148        (dann     27-Nov-07): (declare-function rmail-abort-edit "rmailedit" ())
+1.148        (dann     27-Nov-07): (declare-function rmail-cease-edit "rmailedit"())
+1.148        (dann     27-Nov-07): (declare-function rmail-set-label "rmailkwd" (l state &optional n))
+1.148        (dann     27-Nov-07): (declare-function rmail-output-read-file-name "rmailout" ())
+1.148        (dann     27-Nov-07): (declare-function rmail-output-read-rmail-file-name  "rmailout" ())
+1.148        (dann     27-Nov-07): (declare-function mail-send-and-exit "sendmail" (&optional arg))
+1.148        (dann     27-Nov-07): 
+1.6          (rms      09-Mar-93): (defvar rmail-summary-edit-map nil)
+1.6          (rms      09-Mar-93): (if rmail-summary-edit-map
+1.6          (rms      09-Mar-93):     nil
+1.6          (rms      09-Mar-93):   (setq rmail-summary-edit-map
+1.19         (rms      12-Nov-93): 	(nconc (make-sparse-keymap) text-mode-map))
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-edit-map "\C-c\C-c" 'rmail-cease-edit)
+1.6          (rms      09-Mar-93):   (define-key rmail-summary-edit-map "\C-c\C-]" 'rmail-abort-edit))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-edit-current-message ()
+1.6          (rms      09-Mar-93):   "Edit the contents of this message."
+1.6          (rms      09-Mar-93):   (interactive)
+1.6          (rms      09-Mar-93):   (pop-to-buffer rmail-buffer)
+1.6          (rms      09-Mar-93):   (rmail-edit-current-message)
+1.6          (rms      09-Mar-93):   (use-local-map rmail-summary-edit-map))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-cease-edit ()
+1.6          (rms      09-Mar-93):   "Finish editing message, then go back to Rmail summary buffer."
+1.6          (rms      09-Mar-93):   (interactive)
+1.6          (rms      09-Mar-93):   (rmail-cease-edit)
+1.6          (rms      09-Mar-93):   (pop-to-buffer rmail-summary-buffer))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-abort-edit ()
+1.6          (rms      09-Mar-93):   "Abort edit of current message; restore original contents.
+1.6          (rms      09-Mar-93): Go back to summary buffer."
+1.6          (rms      09-Mar-93):   (interactive)
+1.6          (rms      09-Mar-93):   (rmail-abort-edit)
+1.6          (rms      09-Mar-93):   (pop-to-buffer rmail-summary-buffer))
+1.6          (rms      09-Mar-93): 
+1.17         (rms      22-Jun-93): (defun rmail-summary-search-backward (regexp &optional n)
+1.17         (rms      22-Jun-93):   "Show message containing next match for REGEXP.
+1.17         (rms      22-Jun-93): Prefix argument gives repeat count; negative argument means search
+1.17         (rms      22-Jun-93): backwards (through earlier messages).
+1.17         (rms      22-Jun-93): Interactively, empty argument means use same regexp used last time."
+1.17         (rms      22-Jun-93):   (interactive
+1.17         (rms      22-Jun-93):     (let* ((reversep (>= (prefix-numeric-value current-prefix-arg) 0))
+1.17         (rms      22-Jun-93): 	   (prompt
+1.139        (rfrancoi 24-Sep-05): 	    (concat (if reversep "Reverse " "") "Rmail search (regexp"))
+1.17         (rms      22-Jun-93): 	   regexp)
+1.139        (rfrancoi 24-Sep-05):       (setq prompt
+1.139        (rfrancoi 24-Sep-05): 	    (concat prompt
+1.139        (rfrancoi 24-Sep-05): 		    (if rmail-search-last-regexp
+1.139        (rfrancoi 24-Sep-05): 			(concat ", default "
+1.139        (rfrancoi 24-Sep-05): 				rmail-search-last-regexp "): ")
+1.139        (rfrancoi 24-Sep-05): 		      "): ")))
+1.17         (rms      22-Jun-93):       (setq regexp (read-string prompt))
+1.17         (rms      22-Jun-93):       (cond ((not (equal regexp ""))
+1.17         (rms      22-Jun-93): 	     (setq rmail-search-last-regexp regexp))
+1.17         (rms      22-Jun-93): 	    ((not rmail-search-last-regexp)
+1.17         (rms      22-Jun-93): 	     (error "No previous Rmail search string")))
+1.17         (rms      22-Jun-93):       (list rmail-search-last-regexp
+1.17         (rms      22-Jun-93): 	    (prefix-numeric-value current-prefix-arg))))
+1.17         (rms      22-Jun-93):   ;; Don't use save-excursion because that prevents point from moving
+1.17         (rms      22-Jun-93):   ;; properly in the summary buffer.
+1.17         (rms      22-Jun-93):   (let ((buffer (current-buffer)))
+1.17         (rms      22-Jun-93):     (unwind-protect
+1.17         (rms      22-Jun-93): 	(progn
+1.17         (rms      22-Jun-93): 	  (set-buffer rmail-buffer)
+1.17         (rms      22-Jun-93): 	  (rmail-search regexp (- n)))
+1.17         (rms      22-Jun-93):       (set-buffer buffer))))
+1.17         (rms      22-Jun-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-search (regexp &optional n)
+1.6          (rms      09-Mar-93):   "Show message containing next match for REGEXP.
+1.6          (rms      09-Mar-93): Prefix argument gives repeat count; negative argument means search
+1.6          (rms      09-Mar-93): backwards (through earlier messages).
+1.6          (rms      09-Mar-93): Interactively, empty argument means use same regexp used last time."
+1.6          (rms      09-Mar-93):   (interactive
+1.6          (rms      09-Mar-93):     (let* ((reversep (< (prefix-numeric-value current-prefix-arg) 0))
+1.6          (rms      09-Mar-93): 	   (prompt
+1.139        (rfrancoi 24-Sep-05): 	    (concat (if reversep "Reverse " "") "Rmail search (regexp"))
+1.6          (rms      09-Mar-93): 	   regexp)
+1.139        (rfrancoi 24-Sep-05):       (setq prompt
+1.139        (rfrancoi 24-Sep-05): 	    (concat prompt
+1.139        (rfrancoi 24-Sep-05): 		    (if rmail-search-last-regexp
+1.139        (rfrancoi 24-Sep-05): 			(concat ", default "
+1.139        (rfrancoi 24-Sep-05): 				rmail-search-last-regexp "): ")
+1.139        (rfrancoi 24-Sep-05): 		      "): ")))
+1.6          (rms      09-Mar-93):       (setq regexp (read-string prompt))
+1.6          (rms      09-Mar-93):       (cond ((not (equal regexp ""))
+1.6          (rms      09-Mar-93): 	     (setq rmail-search-last-regexp regexp))
+1.6          (rms      09-Mar-93): 	    ((not rmail-search-last-regexp)
+1.6          (rms      09-Mar-93): 	     (error "No previous Rmail search string")))
+1.6          (rms      09-Mar-93):       (list rmail-search-last-regexp
+1.6          (rms      09-Mar-93): 	    (prefix-numeric-value current-prefix-arg))))
+1.17         (rms      22-Jun-93):   ;; Don't use save-excursion because that prevents point from moving
+1.17         (rms      22-Jun-93):   ;; properly in the summary buffer.
+1.17         (rms      22-Jun-93):   (let ((buffer (current-buffer)))
+1.17         (rms      22-Jun-93):     (unwind-protect
+1.17         (rms      22-Jun-93): 	(progn
+1.17         (rms      22-Jun-93): 	  (set-buffer rmail-buffer)
+1.17         (rms      22-Jun-93): 	  (rmail-search regexp n))
+1.17         (rms      22-Jun-93):       (set-buffer buffer))))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-toggle-header ()
+1.6          (rms      09-Mar-93):   "Show original message header if pruned header currently shown, or vice versa."
+1.6          (rms      09-Mar-93):   (interactive)
+1.118        (gerd     08-May-01):   (save-window-excursion
+1.6          (rms      09-Mar-93):     (set-buffer rmail-buffer)
+1.66         (rms      31-Mar-95):     (rmail-toggle-header))
+1.66         (rms      31-Mar-95):   ;; Inside save-excursion, some changes to point in the RMAIL buffer are lost.
+1.66         (rms      31-Mar-95):   ;; Set point to point-min in the RMAIL buffer, if it is visible.
+1.118        (gerd     08-May-01):   (let ((window (get-buffer-window rmail-view-buffer)))
+1.66         (rms      31-Mar-95):     (if window
+1.66         (rms      31-Mar-95):         ;; Using save-window-excursion would lose the new value of point.
+1.66         (rms      31-Mar-95):         (let ((owin (selected-window)))
+1.66         (rms      31-Mar-95):           (unwind-protect
+1.66         (rms      31-Mar-95):               (progn
+1.66         (rms      31-Mar-95):                 (select-window window)
+1.66         (rms      31-Mar-95):                 (goto-char (point-min)))
+1.66         (rms      31-Mar-95):             (select-window owin))))))
+1.66         (rms      31-Mar-95): 
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-add-label (label)
+1.6          (rms      09-Mar-93):   "Add LABEL to labels associated with current Rmail message.
+1.6          (rms      09-Mar-93): Completion is performed over known labels when reading."
+1.14         (rms      03-Jun-93):   (interactive (list (save-excursion
+1.14         (rms      03-Jun-93): 		       (set-buffer rmail-buffer)
+1.14         (rms      03-Jun-93): 		       (rmail-read-label "Add label"))))
+1.6          (rms      09-Mar-93):   (save-excursion
+1.6          (rms      09-Mar-93):     (set-buffer rmail-buffer)
+1.6          (rms      09-Mar-93):     (rmail-add-label label)))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-kill-label (label)
+1.6          (rms      09-Mar-93):   "Remove LABEL from labels associated with current Rmail message.
+1.6          (rms      09-Mar-93): Completion is performed over known labels when reading."
+1.14         (rms      03-Jun-93):   (interactive (list (save-excursion
+1.14         (rms      03-Jun-93): 		       (set-buffer rmail-buffer)
+1.14         (rms      03-Jun-93): 		       (rmail-read-label "Kill label"))))
+1.6          (rms      09-Mar-93):   (save-excursion
+1.6          (rms      09-Mar-93):     (set-buffer rmail-buffer)
+1.6          (rms      09-Mar-93):     (rmail-set-label label nil)))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): ;;;; *** Rmail Summary Mailing Commands ***
+1.6          (rms      09-Mar-93): 
+1.116        (gerd     12-Mar-01): (defun rmail-summary-override-mail-send-and-exit ()
+1.127        (jpw      06-Feb-03):   "Replace bindings to `mail-send-and-exit' with `rmail-summary-send-and-exit'."
+1.116        (gerd     12-Mar-01):   (use-local-map (copy-keymap (current-local-map)))
+1.116        (gerd     12-Mar-01):   (dolist (key (where-is-internal 'mail-send-and-exit))
+1.116        (gerd     12-Mar-01):     (define-key (current-local-map) key 'rmail-summary-send-and-exit)))
+1.116        (gerd     12-Mar-01): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-mail ()
+1.6          (rms      09-Mar-93):   "Send mail in another window.
+1.6          (rms      09-Mar-93): While composing the message, use \\[mail-yank-original] to yank the
+1.6          (rms      09-Mar-93): original message into it."
+1.6          (rms      09-Mar-93):   (interactive)
+1.65         (rms      19-Feb-95):   (let ((window (get-buffer-window rmail-buffer)))
+1.65         (rms      19-Feb-95):     (if window
+1.65         (rms      19-Feb-95): 	(select-window window)
+1.65         (rms      19-Feb-95):       (set-buffer rmail-buffer)))
+1.65         (rms      19-Feb-95):   (rmail-start-mail nil nil nil nil nil (current-buffer))
+1.116        (gerd     12-Mar-01):   (rmail-summary-override-mail-send-and-exit))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-continue ()
+1.6          (rms      09-Mar-93):   "Continue composing outgoing message previously being composed."
+1.6          (rms      09-Mar-93):   (interactive)
+1.65         (rms      19-Feb-95):   (let ((window (get-buffer-window rmail-buffer)))
+1.65         (rms      19-Feb-95):     (if window
+1.65         (rms      19-Feb-95): 	(select-window window)
+1.65         (rms      19-Feb-95):       (set-buffer rmail-buffer)))
+1.27         (kwzh     31-Jan-94):   (rmail-start-mail t))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-reply (just-sender)
+1.6          (rms      09-Mar-93):   "Reply to the current message.
+1.6          (rms      09-Mar-93): Normally include CC: to all other recipients of original message;
+1.27         (kwzh     31-Jan-94): prefix argument means ignore them.  While composing the reply,
+1.27         (kwzh     31-Jan-94): use \\[mail-yank-original] to yank the original message into it."
+1.6          (rms      09-Mar-93):   (interactive "P")
+1.118        (gerd     08-May-01):   (let ((window (get-buffer-window rmail-view-buffer)))
+1.65         (rms      19-Feb-95):     (if window
+1.65         (rms      19-Feb-95): 	(select-window window)
+1.118        (gerd     08-May-01):       (set-buffer rmail-view-buffer)))
+1.27         (kwzh     31-Jan-94):   (rmail-reply just-sender)
+1.116        (gerd     12-Mar-01):   (rmail-summary-override-mail-send-and-exit))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-retry-failure ()
+1.6          (rms      09-Mar-93):   "Edit a mail message which is based on the contents of the current message.
+1.6          (rms      09-Mar-93): For a message rejected by the mail system, extract the interesting headers and
+1.6          (rms      09-Mar-93): the body of the original message; otherwise copy the current message."
+1.6          (rms      09-Mar-93):   (interactive)
+1.65         (rms      19-Feb-95):   (let ((window (get-buffer-window rmail-buffer)))
+1.65         (rms      19-Feb-95):     (if window
+1.65         (rms      19-Feb-95): 	(select-window window)
+1.65         (rms      19-Feb-95):       (set-buffer rmail-buffer)))
+1.27         (kwzh     31-Jan-94):   (rmail-retry-failure)
+1.116        (gerd     12-Mar-01):   (rmail-summary-override-mail-send-and-exit))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): (defun rmail-summary-send-and-exit ()
+1.6          (rms      09-Mar-93):   "Send mail reply and return to summary buffer."
+1.6          (rms      09-Mar-93):   (interactive)
+1.6          (rms      09-Mar-93):   (mail-send-and-exit t))
+1.6          (rms      09-Mar-93): 
+1.20         (rms      14-Nov-93): (defun rmail-summary-forward (resend)
+1.20         (rms      14-Nov-93):   "Forward the current message to another user.
+1.20         (rms      14-Nov-93): With prefix argument, \"resend\" the message instead of forwarding it;
+1.20         (rms      14-Nov-93): see the documentation of `rmail-resend'."
+1.20         (rms      14-Nov-93):   (interactive "P")
+1.6          (rms      09-Mar-93):   (save-excursion
+1.65         (rms      19-Feb-95):     (let ((window (get-buffer-window rmail-buffer)))
+1.65         (rms      19-Feb-95):       (if window
+1.65         (rms      19-Feb-95): 	  (select-window window)
+1.65         (rms      19-Feb-95): 	(set-buffer rmail-buffer)))
+1.20         (rms      14-Nov-93):     (rmail-forward resend)
+1.116        (gerd     12-Mar-01):     (rmail-summary-override-mail-send-and-exit)))
+1.57         (rms      11-Oct-94): 
+1.57         (rms      11-Oct-94): (defun rmail-summary-resend ()
+1.127        (jpw      06-Feb-03):   "Resend current message using `rmail-resend'."
+1.57         (rms      11-Oct-94):   (interactive)
+1.57         (rms      11-Oct-94):   (save-excursion
+1.65         (rms      19-Feb-95):     (let ((window (get-buffer-window rmail-buffer)))
+1.65         (rms      19-Feb-95):       (if window
+1.65         (rms      19-Feb-95): 	  (select-window window)
+1.65         (rms      19-Feb-95): 	(set-buffer rmail-buffer)))
+1.57         (rms      11-Oct-94):     (call-interactively 'rmail-resend)))
+1.6          (rms      09-Mar-93): 
+1.6          (rms      09-Mar-93): ;; Summary output commands.
+1.6          (rms      09-Mar-93): 
+1.108        (kwzh     13-Jun-99): (defun rmail-summary-output-to-rmail-file (&optional file-name n)
+1.6          (rms      09-Mar-93):   "Append the current message to an Rmail file named FILE-NAME.
+1.6          (rms      09-Mar-93): If the file does not exist, ask if it should be created.
+1.6          (rms      09-Mar-93): If file is being visited, the message is appended to the Emacs
+1.104        (kwzh     10-Sep-98): buffer visiting that file.
+1.104        (kwzh     10-Sep-98): 
+1.104        (kwzh     10-Sep-98): A prefix argument N says to output N consecutive messages
+1.104        (kwzh     10-Sep-98): starting with the current one.  Deleted messages are skipped and don't count."
+1.107        (rms      04-Jan-99):   (interactive
+1.107        (rms      04-Jan-99):    (progn (require 'rmailout)
+1.107        (rms      04-Jan-99): 	  (list (rmail-output-read-rmail-file-name)
+1.107        (rms      04-Jan-99): 		(prefix-numeric-value current-prefix-arg))))
+1.109        (kwzh     15-Jun-99):   (let ((i 0) prev-msg)
+1.126        (lektu    04-Feb-03):     (while
+1.109        (kwzh     15-Jun-99): 	(and (< i n)
+1.109        (kwzh     15-Jun-99): 	     (progn (rmail-summary-goto-msg)
+1.109        (kwzh     15-Jun-99): 		    (not (eq prev-msg
+1.109        (kwzh     15-Jun-99): 			     (setq prev-msg
+1.126        (lektu    04-Feb-03): 				   (with-current-buffer rmail-buffer
+1.109        (kwzh     15-Jun-99): 				     rmail-current-message))))))
+1.107        (rms      04-Jan-99):       (setq i (1+ i))
+1.107        (rms      04-Jan-99):       (with-current-buffer rmail-buffer
+1.107        (rms      04-Jan-99): 	(let ((rmail-delete-after-output nil))
+1.107        (rms      04-Jan-99): 	  (rmail-output-to-rmail-file file-name 1)))
+1.107        (rms      04-Jan-99):       (if rmail-delete-after-output
+1.107        (rms      04-Jan-99): 	  (rmail-summary-delete-forward nil)
+1.107        (rms      04-Jan-99): 	(if (< i n)
+1.107        (rms      04-Jan-99): 	    (rmail-summary-next-msg 1))))))
+1.107        (rms      04-Jan-99): 
+1.107        (rms      04-Jan-99): (defun rmail-summary-output (&optional file-name n)
+1.107        (rms      04-Jan-99):   "Append this message to Unix mail file named FILE-NAME.
+1.107        (rms      04-Jan-99): 
+1.107        (rms      04-Jan-99): A prefix argument N says to output N consecutive messages
+1.107        (rms      04-Jan-99): starting with the current one.  Deleted messages are skipped and don't count."
+1.107        (rms      04-Jan-99):   (interactive
+1.107        (rms      04-Jan-99):    (progn (require 'rmailout)
+1.107        (rms      04-Jan-99): 	  (list (rmail-output-read-file-name)
+1.107        (rms      04-Jan-99): 		(prefix-numeric-value current-prefix-arg))))
+1.124        (rms      23-Feb-02):   (let ((i 0) prev-msg)
+1.124        (rms      23-Feb-02):     (while
+1.124        (rms      23-Feb-02): 	(and (< i n)
+1.124        (rms      23-Feb-02): 	     (progn (rmail-summary-goto-msg)
+1.124        (rms      23-Feb-02): 		    (not (eq prev-msg
+1.124        (rms      23-Feb-02): 			     (setq prev-msg
+1.124        (rms      23-Feb-02): 				   (with-current-buffer rmail-buffer
+1.124        (rms      23-Feb-02): 				     rmail-current-message))))))
+1.107        (rms      04-Jan-99):       (setq i (1+ i))
+1.107        (rms      04-Jan-99):       (with-current-buffer rmail-buffer
+1.107        (rms      04-Jan-99): 	(let ((rmail-delete-after-output nil))
+1.107        (rms      04-Jan-99): 	  (rmail-output file-name 1)))
+1.107        (rms      04-Jan-99):       (if rmail-delete-after-output
+1.107        (rms      04-Jan-99): 	  (rmail-summary-delete-forward nil)
+1.107        (rms      04-Jan-99): 	(if (< i n)
+1.107        (rms      04-Jan-99): 	    (rmail-summary-next-msg 1))))))
+1.49         (rms      26-Aug-94): 
+1.49         (rms      26-Aug-94): (defun rmail-summary-output-menu ()
+1.49         (rms      26-Aug-94):   "Output current message to another Rmail file, chosen with a menu.
+1.49         (rms      26-Aug-94): Also set the default for subsequent \\[rmail-output-to-rmail-file] commands.
+1.49         (rms      26-Aug-94): The variables `rmail-secondary-file-directory' and
+1.49         (rms      26-Aug-94): `rmail-secondary-file-regexp' control which files are offered in the menu."
+1.49         (rms      26-Aug-94):   (interactive)
+1.49         (rms      26-Aug-94):   (save-excursion
+1.49         (rms      26-Aug-94):     (set-buffer rmail-buffer)
+1.49         (rms      26-Aug-94):     (let ((rmail-delete-after-output nil))
+1.49         (rms      26-Aug-94):       (call-interactively 'rmail-output-menu)))
+1.24         (rms      08-Jan-94):   (if rmail-delete-after-output
+1.25         (rms      08-Jan-94):       (rmail-summary-delete-forward nil)))
+1.51         (rms      19-Sep-94): 
+1.51         (rms      19-Sep-94): (defun rmail-summary-construct-io-menu ()
+1.51         (rms      19-Sep-94):   (let ((files (rmail-find-all-files rmail-secondary-file-directory)))
+1.71         (rms      06-Sep-95):     (if files
+1.51         (rms      19-Sep-94): 	(progn
+1.51         (rms      19-Sep-94): 	  (define-key rmail-summary-mode-map [menu-bar classify input-menu]
+1.126        (lektu    04-Feb-03): 	    (cons "Input Rmail File"
+1.126        (lektu    04-Feb-03): 		  (rmail-list-to-menu "Input Rmail File"
+1.71         (rms      06-Sep-95): 				      files
+1.51         (rms      19-Sep-94): 				      'rmail-summary-input)))
+1.51         (rms      19-Sep-94): 	  (define-key rmail-summary-mode-map [menu-bar classify output-menu]
+1.126        (lektu    04-Feb-03): 	    (cons "Output Rmail File"
+1.126        (lektu    04-Feb-03): 		  (rmail-list-to-menu "Output Rmail File"
+1.71         (rms      06-Sep-95): 				      files
+1.71         (rms      06-Sep-95): 				      'rmail-summary-output-to-rmail-file))))
+1.71         (rms      06-Sep-95):       (define-key rmail-summary-mode-map [menu-bar classify input-menu]
+1.71         (rms      06-Sep-95): 	'("Input Rmail File" . rmail-disable-menu))
+1.71         (rms      06-Sep-95):       (define-key rmail-summary-mode-map [menu-bar classify output-menu]
+1.71         (rms      06-Sep-95): 	'("Output Rmail File" . rmail-disable-menu)))))
+1.51         (rms      19-Sep-94): 
+1.101        (rms      23-May-98): (defun rmail-summary-output-body (&optional file-name)
+1.101        (rms      23-May-98):   "Write this message body to the file FILE-NAME.
+1.101        (rms      23-May-98): FILE-NAME defaults, interactively, from the Subject field of the message."
+1.101        (rms      23-May-98):   (interactive)
+1.101        (rms      23-May-98):   (save-excursion
+1.101        (rms      23-May-98):     (set-buffer rmail-buffer)
+1.101        (rms      23-May-98):     (let ((rmail-delete-after-output nil))
+1.101        (rms      23-May-98):       (if file-name
+1.101        (rms      23-May-98): 	  (rmail-output-body-to-file file-name)
+1.101        (rms      23-May-98): 	(call-interactively 'rmail-output-body-to-file))))
+1.101        (rms      23-May-98):   (if rmail-delete-after-output
+1.101        (rms      23-May-98):       (rmail-summary-delete-forward nil)))
+1.18         (rms      22-Jun-93): 
+1.18         (rms      22-Jun-93): ;; Sorting messages in Rmail Summary buffer.
+1.18         (rms      22-Jun-93): 
+1.18         (rms      22-Jun-93): (defun rmail-summary-sort-by-date (reverse)
+1.18         (rms      22-Jun-93):   "Sort messages of current Rmail summary by date.
+1.18         (rms      22-Jun-93): If prefix argument REVERSE is non-nil, sort them in reverse order."
+1.18         (rms      22-Jun-93):   (interactive "P")
+1.18         (rms      22-Jun-93):   (rmail-sort-from-summary (function rmail-sort-by-date) reverse))
+1.18         (rms      22-Jun-93): 
+1.18         (rms      22-Jun-93): (defun rmail-summary-sort-by-subject (reverse)
+1.18         (rms      22-Jun-93):   "Sort messages of current Rmail summary by subject.
+1.18         (rms      22-Jun-93): If prefix argument REVERSE is non-nil, sort them in reverse order."
+1.18         (rms      22-Jun-93):   (interactive "P")
+1.18         (rms      22-Jun-93):   (rmail-sort-from-summary (function rmail-sort-by-subject) reverse))
+1.18         (rms      22-Jun-93): 
+1.18         (rms      22-Jun-93): (defun rmail-summary-sort-by-author (reverse)
+1.18         (rms      22-Jun-93):   "Sort messages of current Rmail summary by author.
+1.18         (rms      22-Jun-93): If prefix argument REVERSE is non-nil, sort them in reverse order."
+1.18         (rms      22-Jun-93):   (interactive "P")
+1.18         (rms      22-Jun-93):   (rmail-sort-from-summary (function rmail-sort-by-author) reverse))
+1.18         (rms      22-Jun-93): 
+1.18         (rms      22-Jun-93): (defun rmail-summary-sort-by-recipient (reverse)
+1.18         (rms      22-Jun-93):   "Sort messages of current Rmail summary by recipient.
+1.18         (rms      22-Jun-93): If prefix argument REVERSE is non-nil, sort them in reverse order."
+1.18         (rms      22-Jun-93):   (interactive "P")
+1.18         (rms      22-Jun-93):   (rmail-sort-from-summary (function rmail-sort-by-recipient) reverse))
+1.18         (rms      22-Jun-93): 
+1.18         (rms      22-Jun-93): (defun rmail-summary-sort-by-correspondent (reverse)
+1.18         (rms      22-Jun-93):   "Sort messages of current Rmail summary by other correspondent.
+1.18         (rms      22-Jun-93): If prefix argument REVERSE is non-nil, sort them in reverse order."
+1.18         (rms      22-Jun-93):   (interactive "P")
+1.18         (rms      22-Jun-93):   (rmail-sort-from-summary (function rmail-sort-by-correspondent) reverse))
+1.18         (rms      22-Jun-93): 
+1.18         (rms      22-Jun-93): (defun rmail-summary-sort-by-lines (reverse)
+1.18         (rms      22-Jun-93):   "Sort messages of current Rmail summary by lines of the message.
+1.18         (rms      22-Jun-93): If prefix argument REVERSE is non-nil, sort them in reverse order."
+1.18         (rms      22-Jun-93):   (interactive "P")
+1.18         (rms      22-Jun-93):   (rmail-sort-from-summary (function rmail-sort-by-lines) reverse))
+1.18         (rms      22-Jun-93): 
+1.117        (gerd     07-May-01): (defun rmail-summary-sort-by-labels (reverse labels)
+1.117        (gerd     07-May-01):   "Sort messages of current Rmail summary by labels.
+1.33         (kwzh     07-Apr-94): If prefix argument REVERSE is non-nil, sort them in reverse order.
+1.33         (kwzh     07-Apr-94): KEYWORDS is a comma-separated list of labels."
+1.33         (kwzh     07-Apr-94):   (interactive "P\nsSort by labels: ")
+1.33         (kwzh     07-Apr-94):   (rmail-sort-from-summary
+1.33         (kwzh     07-Apr-94):    (function (lambda (reverse)
+1.117        (gerd     07-May-01): 	       (rmail-sort-by-labels reverse labels)))
+1.33         (kwzh     07-Apr-94):    reverse))
+1.33         (kwzh     07-Apr-94): 
+1.18         (rms      22-Jun-93): (defun rmail-sort-from-summary (sortfun reverse)
+1.18         (rms      22-Jun-93):   "Sort Rmail messages from Summary buffer and update it after sorting."
+1.18         (rms      22-Jun-93):   (require 'rmailsort)
+1.30         (kwzh     30-Mar-94):   (let ((selwin (selected-window)))
+1.30         (kwzh     30-Mar-94):     (unwind-protect
+1.30         (kwzh     30-Mar-94): 	(progn (pop-to-buffer rmail-buffer)
+1.30         (kwzh     30-Mar-94): 	       (funcall sortfun reverse))
+1.30         (kwzh     30-Mar-94):       (select-window selwin))))
+1.2          (eric     30-May-92): 
+1.113        (fx       25-May-00): (provide 'rmailsum)
+1.113        (fx       25-May-00): 
+1.150        (monnier  10-Apr-08): ;; arch-tag: 556079ee-75c1-47f5-9884-2e0a0bc6c5a1
+1.2          (eric     30-May-92): ;;; rmailsum.el ends here