]> code.delx.au - gnu-emacs/blobdiff - lisp/mail/rmailsort.el
(smtpmail-queue-counter): New variable.
[gnu-emacs] / lisp / mail / rmailsort.el
index 4066890fea92ed4b931ecd357c7e789f9faf7099..8e00f3e4d5506c4e75f0ddab85078ca65598d062 100644 (file)
@@ -1,9 +1,9 @@
-;;; rmailsort.el --- Rmail: sort messages.
+;;; rmailsort.el --- Rmail: sort messages
 
-;; Copyright (C) 1990, 1993, 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1993, 1994, 2001 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
-;; Version: $Header: /home/fsf/rms/e19/lisp/RCS/rmailsort.el,v 1.24 1996/01/20 07:41:37 kwzh Exp rms $
+;; Maintainer: FSF
 ;; Keywords: mail
 
 ;; This file is part of GNU Emacs.
@@ -23,6 +23,8 @@
 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 ;; Boston, MA 02111-1307, USA.
 
+;;; Commentary:
+
 ;;; Code:
 
 (require 'sort)
@@ -121,7 +123,7 @@ If prefix argument REVERSE is non-nil, sort them in reverse order."
                                       (rmail-msgend msg))))))
 
 ;;;###autoload
-(defun rmail-sort-by-keywords (reverse labels)
+(defun rmail-sort-by-labels (reverse labels)
   "Sort messages of current Rmail file by labels.
 If prefix argument REVERSE is non-nil, sort them in reverse order.
 KEYWORDS is a comma-separated list of labels."
@@ -154,11 +156,12 @@ KEYWORDS is a comma-separated list of labels."
   "Sort messages of current Rmail file.
 If 1st argument REVERSE is non-nil, sort them in reverse order.
 2nd argument KEYFUN is called with a message number, and should return a key."
-  (save-excursion
+  (save-current-buffer
     ;; If we are in a summary buffer, operate on the Rmail buffer.
     (if (eq major-mode 'rmail-summary-mode)
        (set-buffer rmail-buffer))
     (let ((buffer-read-only nil)
+         (point-offset (- (point) (point-min)))
          (predicate nil)                       ;< or string-lessp
          (sort-lists nil))
       (message "Finding sort keys...")
@@ -217,6 +220,7 @@ If 1st argument REVERSE is non-nil, sort them in reverse order.
        (buffer-enable-undo)
        (rmail-set-message-counters)
        (rmail-show-message current-message)
+       (goto-char (+ point-offset (point-min)))
        (if (rmail-summary-exists)
            (rmail-select-summary
             (rmail-update-summary)))))))