comparison lisp/mh-e/mh-e.el @ 90133:4da4a09e8b1b

Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-31 Merge from emacs--cvs-trunk--0 Patches applied: * emacs--cvs-trunk--0 (patch 206-222) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 45-52) - Update from CVS - Update from CVS: texi Makefile.in CVS keyw cruft - Update from CVS: ChangeLog tweaks
author Miles Bader <miles@gnu.org>
date Thu, 31 Mar 2005 09:58:14 +0000
parents d8411455de48 78e08044a734
children f042e7c0fe20
comparison
equal deleted inserted replaced
90132:4080fe8b4f0f 90133:4da4a09e8b1b
1 ;;; mh-e.el --- GNU Emacs interface to the MH mail system 1 ;;; mh-e.el --- GNU Emacs interface to the MH mail system
2 2
3 ;; Copyright (C) 1985, 86, 87, 88, 90, 92, 93, 94, 95, 97, 1999, 3 ;; Copyright (C) 1985, 86, 87, 88, 90, 92, 93, 94, 95, 97, 1999,
4 ;; 2000, 01, 02, 03, 2004 Free Software Foundation, Inc. 4 ;; 2000, 01, 02, 03, 2004, 2005 Free Software Foundation, Inc.
5 5
6 ;; Author: Bill Wohler <wohler@newt.com> 6 ;; Author: Bill Wohler <wohler@newt.com>
7 ;; Maintainer: Bill Wohler <wohler@newt.com> 7 ;; Maintainer: Bill Wohler <wohler@newt.com>
8 ;; Version: 7.82 8 ;; Version: 7.82
9 ;; Keywords: mail 9 ;; Keywords: mail
1524 Many commands that operate on individual messages, such as `mh-forward' or 1524 Many commands that operate on individual messages, such as `mh-forward' or
1525 `mh-refile-msg' take a RANGE argument. This argument can be used in several 1525 `mh-refile-msg' take a RANGE argument. This argument can be used in several
1526 ways. 1526 ways.
1527 1527
1528 If you provide the prefix argument (\\[universal-argument]) to these commands, 1528 If you provide the prefix argument (\\[universal-argument]) to these commands,
1529 then you will be prompted for the message range. This can be any legal MH 1529 then you will be prompted for the message range. This can be any valid MH
1530 range which can include messages, sequences, and the abbreviations (described 1530 range which can include messages, sequences, and the abbreviations (described
1531 in the mh(1) man page): 1531 in the mh(1) man page):
1532 1532
1533 <num1>-<num2> 1533 <num1>-<num2>
1534 Indicates all messages in the range <num1> to <num2>, inclusive. The range 1534 Indicates all messages in the range <num1> to <num2>, inclusive. The range
2144 ranges)) 2144 ranges))
2145 2145
2146 (defun mh-greaterp (msg1 msg2) 2146 (defun mh-greaterp (msg1 msg2)
2147 "Return the greater of two message indicators MSG1 and MSG2. 2147 "Return the greater of two message indicators MSG1 and MSG2.
2148 Strings are \"smaller\" than numbers. 2148 Strings are \"smaller\" than numbers.
2149 Legal values are things like \"cur\", \"last\", 1, and 1820." 2149 Valid values are things like \"cur\", \"last\", 1, and 1820."
2150 (if (numberp msg1) 2150 (if (numberp msg1)
2151 (if (numberp msg2) 2151 (if (numberp msg2)
2152 (> msg1 msg2) 2152 (> msg1 msg2)
2153 t) 2153 t)
2154 (if (numberp msg2) 2154 (if (numberp msg2)
2156 (string-lessp msg2 msg1)))) 2156 (string-lessp msg2 msg1))))
2157 2157
2158 (defun mh-lessp (msg1 msg2) 2158 (defun mh-lessp (msg1 msg2)
2159 "Return the lesser of two message indicators MSG1 and MSG2. 2159 "Return the lesser of two message indicators MSG1 and MSG2.
2160 Strings are \"smaller\" than numbers. 2160 Strings are \"smaller\" than numbers.
2161 Legal values are things like \"cur\", \"last\", 1, and 1820." 2161 Valid values are things like \"cur\", \"last\", 1, and 1820."
2162 (not (mh-greaterp msg1 msg2))) 2162 (not (mh-greaterp msg1 msg2)))
2163 2163
2164 2164
2165 2165
2166 ;;; Basic sequence handling 2166 ;;; Basic sequence handling
2304 "-sequence" (symbol-name seq) (mh-coalesce-msg-list msgs)))) 2304 "-sequence" (symbol-name seq) (mh-coalesce-msg-list msgs))))
2305 2305
2306 (defun mh-define-sequence (seq msgs) 2306 (defun mh-define-sequence (seq msgs)
2307 "Define the SEQ to contain the list of MSGS. 2307 "Define the SEQ to contain the list of MSGS.
2308 Do not mark pseudo-sequences or empty sequences. 2308 Do not mark pseudo-sequences or empty sequences.
2309 Signals an error if SEQ is an illegal name." 2309 Signals an error if SEQ is an invalid name."
2310 (if (and msgs 2310 (if (and msgs
2311 (mh-valid-seq-p seq) 2311 (mh-valid-seq-p seq)
2312 (not (mh-folder-name-p seq))) 2312 (not (mh-folder-name-p seq)))
2313 (save-excursion 2313 (save-excursion
2314 (mh-exec-cmd-error nil "mark" mh-current-folder "-add" "-zero" 2314 (mh-exec-cmd-error nil "mark" mh-current-folder "-add" "-zero"