Commit 8b1d5b31 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

Don't touch rmail-summary-mode-map.

Don't touch rmail-mode-map.  Don't require rmail or sort.
(rmail-summary-sort-...): Moved to rmailsum.el.
(rmail-sort-from-summary): Likewise.
parent 3bf526cf
......@@ -3,7 +3,7 @@
;; Copyright (C) 1990, 1993 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
;; Version: $Header: rmailsort.el,v 1.6 93/05/26 22:24:42 umerin Exp $
;; Version: $Header: /home/fsf/rms/e19/lisp/RCS/rmailsort.el,v 1.14 1993/05/26 20:28:11 rms Exp rms $
;; Keywords: mail
;; This file is part of GNU Emacs.
......@@ -22,47 +22,12 @@
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
;;; Commentary:
;; LCD Archive Entry:
;; rmailsort|Masanobu UMEDA|umerin@mse.kyutech.ac.jp|
;; Rmail: sort messages.|
;; $Date: 93/05/26 22:24:42 $|$Revision: 1.6 $|~/misc/rmailsort.el.Z|
;;; Code:
(require 'rmail)
(require 'sort)
(autoload 'timezone-make-date-sortable "timezone")
;; GNUS compatible key bindings.
(define-key rmail-mode-map "\C-c\C-s\C-d" 'rmail-sort-by-date)
(define-key rmail-mode-map "\C-c\C-s\C-s" 'rmail-sort-by-subject)
(define-key rmail-mode-map "\C-c\C-s\C-a" 'rmail-sort-by-author)
(define-key rmail-mode-map "\C-c\C-s\C-r" 'rmail-sort-by-recipient)
(define-key rmail-mode-map "\C-c\C-s\C-c" 'rmail-sort-by-correspondent)
(define-key rmail-mode-map "\C-c\C-s\C-l" 'rmail-sort-by-lines)
;; Key binding may not be installed unless Rmail Summary mode is loaded.
(if (boundp 'rmail-summary-mode-map)
(progn
(define-key rmail-summary-mode-map
"\C-c\C-s\C-d" 'rmail-summary-sort-by-date)
(define-key rmail-summary-mode-map
"\C-c\C-s\C-s" 'rmail-summary-sort-by-subject)
(define-key rmail-summary-mode-map
"\C-c\C-s\C-a" 'rmail-summary-sort-by-author)
(define-key rmail-summary-mode-map
"\C-c\C-s\C-r" 'rmail-summary-sort-by-recipient)
(define-key rmail-summary-mode-map
"\C-c\C-s\C-c" 'rmail-summary-sort-by-correspondent)
(define-key rmail-summary-mode-map
"\C-c\C-s\C-l" 'rmail-summary-sort-by-lines)
))
;; Sorting messages in Rmail buffer
(defun rmail-sort-by-date (reverse)
......@@ -135,7 +100,7 @@ If prefix argument REVERSE is non-nil, sort them in reverse order."
ans))
(defun rmail-sort-by-lines (reverse)
"Sort messages of current Rmail file by lines of the message.
"Sort messages of current Rmail file by number of lines.
If prefix argument REVERSE is non-nil, sort them in reverse order."
(interactive "P")
(rmail-sort-messages reverse
......@@ -144,45 +109,6 @@ If prefix argument REVERSE is non-nil, sort them in reverse order."
(count-lines (rmail-msgbeg msgnum)
(rmail-msgend msgnum))))))
;; Sorting messages in Rmail Summary buffer.
(defun rmail-summary-sort-by-date (reverse)
"Sort messages of current Rmail summary by date.
If prefix argument REVERSE is non-nil, sort them in reverse order."
(interactive "P")
(rmail-sort-from-summary (function rmail-sort-by-date) reverse))
(defun rmail-summary-sort-by-subject (reverse)
"Sort messages of current Rmail summary by subject.
If prefix argument REVERSE is non-nil, sort them in reverse order."
(interactive "P")
(rmail-sort-from-summary (function rmail-sort-by-subject) reverse))
(defun rmail-summary-sort-by-author (reverse)
"Sort messages of current Rmail summary by author.
If prefix argument REVERSE is non-nil, sort them in reverse order."
(interactive "P")
(rmail-sort-from-summary (function rmail-sort-by-author) reverse))
(defun rmail-summary-sort-by-recipient (reverse)
"Sort messages of current Rmail summary by recipient.
If prefix argument REVERSE is non-nil, sort them in reverse order."
(interactive "P")
(rmail-sort-from-summary (function rmail-sort-by-recipient) reverse))
(defun rmail-summary-sort-by-correspondent (reverse)
"Sort messages of current Rmail summary by other correspondent.
If prefix argument REVERSE is non-nil, sort them in reverse order."
(interactive "P")
(rmail-sort-from-summary (function rmail-sort-by-correspondent) reverse))
(defun rmail-summary-sort-by-lines (reverse)
"Sort messages of current Rmail summary by lines of the message.
If prefix argument REVERSE is non-nil, sort them in reverse order."
(interactive "P")
(rmail-sort-from-summary (function rmail-sort-by-lines) reverse))
;; Basic functions
(defun rmail-sort-messages (reverse keyfun)
......@@ -250,12 +176,6 @@ If 1st argument REVERSE is non-nil, sort them in reverse order.
(rmail-show-message current-message))
))
(defun rmail-sort-from-summary (sortfun reverse)
"Sort Rmail messages from Summary buffer and update it after sorting."
(pop-to-buffer rmail-buffer)
(funcall sortfun reverse)
(rmail-summary))
(defun rmail-fetch-field (msg field)
"Return the value of the header FIELD of MSG.
Arguments are MSG and FIELD."
......@@ -275,38 +195,6 @@ Arguments are MSG and FIELD."
;; Assume the default time zone is GMT.
(timezone-make-date-sortable date "GMT" "GMT"))
;; Copy of the function gnus-comparable-date in gnus.el version 3.13
;
;(defun rmail-make-date-sortable (date)
; "Make sortable string by string-lessp from DATE."
; (let ((month '(("JAN" . " 1")("FEB" . " 2")("MAR" . " 3")
; ("APR" . " 4")("MAY" . " 5")("JUN" . " 6")
; ("JUL" . " 7")("AUG" . " 8")("SEP" . " 9")
; ("OCT" . "10")("NOV" . "11")("DEC" . "12")))
; (date (or date "")))
; ;; Can understand the following styles:
; ;; (1) 14 Apr 89 03:20:12 GMT
; ;; (2) Fri, 17 Mar 89 4:01:33 GMT
; (if (string-match
; "\\([0-9]+\\) \\([^ ,]+\\) \\([0-9]+\\) \\([0-9:]+\\)" date)
; (concat
; ;; Year
; (substring date (match-beginning 3) (match-end 3))
; ;; Month
; (cdr
; (assoc
; (upcase (substring date (match-beginning 2) (match-end 2))) month))
; ;; Day
; (format "%2d" (string-to-int
; (substring date
; (match-beginning 1) (match-end 1))))
; ;; Time
; (substring date (match-beginning 4) (match-end 4)))
; ;; Cannot understand DATE string.
; date
; )
; ))
(provide 'rmailsort)
;;; rmailsort.el ends here
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment