emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to rmailkwd.el.annotation


From: Paul Michael Reilly
Subject: [Emacs-diffs] Changes to rmailkwd.el.annotation
Date: Mon, 18 Aug 2008 05:21:42 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Paul Michael Reilly <pmr>       08/08/18 05:21:39

Index: rmailkwd.el.annotation
===================================================================
RCS file: rmailkwd.el.annotation
diff -N rmailkwd.el.annotation
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ rmailkwd.el.annotation      18 Aug 2008 05:21:38 -0000      1.1
@@ -0,0 +1,290 @@
+1.14         (pj       15-Jul-01): ;;; rmailkwd.el --- part of the "RMAIL" 
mail reader for Emacs
+1.3          (eric     30-May-92): 
+1.17         (ttn      06-Aug-05): ;; Copyright (C) 1985, 1988, 1994, 2001, 
2002, 2003, 2004,
+1.23         (miles    08-Jan-08): ;;   2005, 2006, 2007, 2008 Free Software 
Foundation, Inc.
+1.6          (eric     22-Jul-92): 
+1.4          (eric     16-Jul-92): ;; Maintainer: FSF
+1.5          (eric     17-Jul-92): ;; Keywords: mail
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; This file is part of GNU Emacs.
+1.1          (jla      31-Oct-89): 
+1.25         (gm       06-May-08): ;; GNU Emacs is free software: you can 
redistribute it and/or modify
+1.1          (jla      31-Oct-89): ;; it under the terms of the GNU General 
Public License as published by
+1.25         (gm       06-May-08): ;; the Free Software Foundation, either 
version 3 of the License, or
+1.25         (gm       06-May-08): ;; (at your option) any later version.
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; GNU Emacs is distributed in the hope 
that it will be useful,
+1.1          (jla      31-Oct-89): ;; but WITHOUT ANY WARRANTY; without even 
the implied warranty of
+1.1          (jla      31-Oct-89): ;; MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE.  See the
+1.1          (jla      31-Oct-89): ;; GNU General Public License for more 
details.
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; You should have received a copy of the 
GNU General Public License
+1.25         (gm       06-May-08): ;; along with GNU Emacs.  If not, see 
<http://www.gnu.org/licenses/>.
+1.14         (pj       15-Jul-01): 
+1.14         (pj       15-Jul-01): ;;; Commentary:
+1.1          (jla      31-Oct-89): 
+1.4          (eric     16-Jul-92): ;;; Code:
+1.1          (jla      31-Oct-89): 
+1.18         (lektu    29-Aug-05): (defvar rmail-buffer)
+1.18         (lektu    29-Aug-05): (defvar rmail-current-message)
+1.18         (lektu    29-Aug-05): (defvar rmail-last-label)
+1.18         (lektu    29-Aug-05): (defvar rmail-last-multi-labels)
+1.18         (lektu    29-Aug-05): (defvar rmail-summary-vector)
+1.18         (lektu    29-Aug-05): (defvar rmail-total-messages)
+1.18         (lektu    29-Aug-05): 
+1.1          (jla      31-Oct-89): ;; Global to all RMAIL buffers.  It exists 
primarily for the sake of
+1.1          (jla      31-Oct-89): ;; completion.  It is better to use strings 
with the label functions
+1.1          (jla      31-Oct-89): ;; and let them worry about making the 
label.
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): (defvar rmail-label-obarray (make-vector 47 
0))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; Named list of symbols representing valid 
message attributes in RMAIL.
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): (defconst rmail-attributes
+1.1          (jla      31-Oct-89):   (cons 'rmail-keywords
+1.9          (kwzh     21-Apr-95):     (mapcar (function (lambda (s) (intern s 
rmail-label-obarray)))
+1.9          (kwzh     21-Apr-95):             '("deleted" "answered" "filed" 
"forwarded" "unseen" "edited"
+1.9          (kwzh     21-Apr-95):               "resent"))))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): (defconst rmail-deleted-label (intern 
"deleted" rmail-label-obarray))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; Named list of symbols representing valid 
message keywords in RMAIL.
+1.1          (jla      31-Oct-89): 
+1.11         (rms      22-Sep-96): (defvar rmail-keywords)
+1.1          (jla      31-Oct-89): 
+1.12         (rms      27-Sep-96): ;;;###autoload
+1.1          (jla      31-Oct-89): (defun rmail-add-label (string)
+1.1          (jla      31-Oct-89):   "Add LABEL to labels associated with 
current RMAIL message.
+1.1          (jla      31-Oct-89): Completion is performed over known labels 
when reading."
+1.1          (jla      31-Oct-89):   (interactive (list (rmail-read-label "Add 
label")))
+1.1          (jla      31-Oct-89):   (rmail-set-label string t))
+1.1          (jla      31-Oct-89): 
+1.12         (rms      27-Sep-96): ;;;###autoload
+1.1          (jla      31-Oct-89): (defun rmail-kill-label (string)
+1.1          (jla      31-Oct-89):   "Remove LABEL from labels associated with 
current RMAIL message.
+1.1          (jla      31-Oct-89): Completion is performed over known labels 
when reading."
+1.1          (jla      31-Oct-89):   (interactive (list (rmail-read-label 
"Remove label")))
+1.1          (jla      31-Oct-89):   (rmail-set-label string nil))
+1.1          (jla      31-Oct-89): 
+1.12         (rms      27-Sep-96): ;;;###autoload
+1.1          (jla      31-Oct-89): (defun rmail-read-label (prompt)
+1.13         (gerd     08-May-01):   (with-current-buffer rmail-buffer
+1.13         (gerd     08-May-01):     (if (not rmail-keywords) 
(rmail-parse-file-keywords))
+1.13         (gerd     08-May-01):     (let ((result
+1.13         (gerd     08-May-01):        (completing-read (concat prompt
+1.13         (gerd     08-May-01):                                 (if 
rmail-last-label
+1.13         (gerd     08-May-01):                                     (concat 
" (default "
+1.13         (gerd     08-May-01):                                             
(symbol-name rmail-last-label)
+1.13         (gerd     08-May-01):                                             
"): ")
+1.13         (gerd     08-May-01):                                   ": "))
+1.13         (gerd     08-May-01):                         rmail-label-obarray
+1.13         (gerd     08-May-01):                         nil
+1.13         (gerd     08-May-01):                         nil)))
+1.13         (gerd     08-May-01):       (if (string= result "")
+1.13         (gerd     08-May-01):       rmail-last-label
+1.13         (gerd     08-May-01):     (setq rmail-last-label 
(rmail-make-label result t))))))
+1.1          (jla      31-Oct-89): 
+1.22         (dann     27-Nov-07): (declare-function 
rmail-maybe-set-message-counters "rmail" ())
+1.22         (dann     27-Nov-07): (declare-function rmail-display-labels 
"rmail" ())
+1.22         (dann     27-Nov-07): (declare-function rmail-msgbeg "rmail" (n))
+1.22         (dann     27-Nov-07): (declare-function 
rmail-set-message-deleted-p "rmail" (n state))
+1.22         (dann     27-Nov-07): (declare-function rmail-message-labels-p 
"rmail" (msg labels))
+1.22         (dann     27-Nov-07): (declare-function rmail-show-message 
"rmail" (&optional n no-summary))
+1.22         (dann     27-Nov-07): (declare-function mail-comma-list-regexp 
"mail-utils" (labels))
+1.22         (dann     27-Nov-07): (declare-function mail-parse-comma-list 
"mail-utils.el" ())
+1.22         (dann     27-Nov-07): 
+1.1          (jla      31-Oct-89): (defun rmail-set-label (l state &optional n)
+1.13         (gerd     08-May-01):   (with-current-buffer rmail-buffer
+1.13         (gerd     08-May-01):     (rmail-maybe-set-message-counters)
+1.13         (gerd     08-May-01):     (if (not n) (setq n 
rmail-current-message))
+1.13         (gerd     08-May-01):     (aset rmail-summary-vector (1- n) nil)
+1.13         (gerd     08-May-01):     (let* ((attribute (rmail-attribute-p l))
+1.13         (gerd     08-May-01):        (keyword (and (not attribute)
+1.13         (gerd     08-May-01):                      (or (rmail-keyword-p l)
+1.13         (gerd     08-May-01):                          
(rmail-install-keyword l))))
+1.13         (gerd     08-May-01):        (label (or attribute keyword)))
+1.13         (gerd     08-May-01):       (if label
+1.13         (gerd     08-May-01):       (let ((omax (- (buffer-size) 
(point-max)))
+1.13         (gerd     08-May-01):             (omin (- (buffer-size) 
(point-min)))
+1.13         (gerd     08-May-01):             (buffer-read-only nil)
+1.13         (gerd     08-May-01):             (case-fold-search t))
+1.13         (gerd     08-May-01):         (unwind-protect
+1.13         (gerd     08-May-01):             (save-excursion
+1.13         (gerd     08-May-01):               (widen)
+1.13         (gerd     08-May-01):               (goto-char (rmail-msgbeg n))
+1.13         (gerd     08-May-01):               (forward-line 1)
+1.13         (gerd     08-May-01):               (if (not (looking-at "[01],"))
+1.13         (gerd     08-May-01):                   nil
+1.13         (gerd     08-May-01):                 (let ((start (1+ (point)))
+1.13         (gerd     08-May-01):                       (bound))
+1.13         (gerd     08-May-01):                   (narrow-to-region (point) 
(progn (end-of-line) (point)))
+1.13         (gerd     08-May-01):                   (setq bound (point-max))
+1.13         (gerd     08-May-01):                   (search-backward ",," nil 
t)
+1.13         (gerd     08-May-01):                   (if attribute
+1.13         (gerd     08-May-01):                       (setq bound (1+ 
(point)))
+1.13         (gerd     08-May-01):                     (setq start (1+ 
(point))))
+1.13         (gerd     08-May-01):                   (goto-char start)
+1.13         (gerd     08-May-01): ;                 (while (re-search-forward 
"[ \t]*,[ \t]*" nil t)
+1.13         (gerd     08-May-01): ;                   (replace-match ","))
+1.13         (gerd     08-May-01): ;                 (goto-char start)
+1.13         (gerd     08-May-01):                   (if (re-search-forward
+1.1          (jla      31-Oct-89):                        (concat ", " 
(rmail-quote-label-name label) ",")
+1.1          (jla      31-Oct-89):                        bound
+1.1          (jla      31-Oct-89):                        'move)
+1.13         (gerd     08-May-01):                       (if (not state) 
(replace-match ","))
+1.13         (gerd     08-May-01):                     (if state (insert " " 
(symbol-name label) ",")))
+1.13         (gerd     08-May-01):                   (if (eq label 
rmail-deleted-label)
+1.13         (gerd     08-May-01):                       
(rmail-set-message-deleted-p n state)))))
+1.13         (gerd     08-May-01):           (narrow-to-region (- 
(buffer-size) omin) (- (buffer-size) omax))
+1.13         (gerd     08-May-01):           (if (= n rmail-current-message) 
(rmail-display-labels))))))))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; Commented functions aren't used by RMAIL 
but might be nice for user
+1.1          (jla      31-Oct-89): ;; packages that do stuff with RMAIL.  Note 
that rmail-message-labels-p
+1.2          (jimb     23-Feb-91): ;; is in rmail.el now.
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;(defun rmail-message-label-p (label 
&optional n)
+1.1          (jla      31-Oct-89): ;  "Returns symbol if LABEL (attribute or 
keyword) on NTH or current message."
+1.7          (kwzh     01-Apr-94): ;  (rmail-message-labels-p (or n 
rmail-current-message) (regexp-quote label)))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;(defun rmail-parse-message-labels 
(&optional n)
+1.1          (jla      31-Oct-89): ;  "Returns labels associated with NTH or 
current RMAIL message.
+1.7          (kwzh     01-Apr-94): ;The result is a list of two lists of 
strings.  The first is the
+1.7          (kwzh     01-Apr-94): ;message attributes and the second is the 
message keywords."
+1.7          (kwzh     01-Apr-94): ;  (let (atts keys)
+1.7          (kwzh     01-Apr-94): ;    (save-restriction
+1.7          (kwzh     01-Apr-94): ;      (widen)
+1.7          (kwzh     01-Apr-94): ;      (goto-char (rmail-msgbeg (or n 
rmail-current-message)))
+1.7          (kwzh     01-Apr-94): ;      (forward-line 1)
+1.7          (kwzh     01-Apr-94): ;      (or (looking-at "[01],") (error 
"Malformed label line"))
+1.7          (kwzh     01-Apr-94): ;      (forward-char 2)
+1.7          (kwzh     01-Apr-94): ;      (while (looking-at "[ \t]*\\([^ 
\t\n,]+\\),")
+1.7          (kwzh     01-Apr-94): ;   (setq atts (cons (buffer-substring 
(match-beginning 1) (match-end 1))
+1.7          (kwzh     01-Apr-94): ;                     atts))
+1.7          (kwzh     01-Apr-94): ;   (goto-char (match-end 0)))
+1.7          (kwzh     01-Apr-94): ;      (or (looking-at ",") (error 
"Malformed label line"))
+1.7          (kwzh     01-Apr-94): ;      (forward-char 1)
+1.7          (kwzh     01-Apr-94): ;      (while (looking-at "[ \t]*\\([^ 
\t\n,]+\\),")
+1.7          (kwzh     01-Apr-94): ;   (setq keys (cons (buffer-substring 
(match-beginning 1) (match-end 1))
+1.7          (kwzh     01-Apr-94): ;                    keys))
+1.7          (kwzh     01-Apr-94): ;   (goto-char (match-end 0)))
+1.7          (kwzh     01-Apr-94): ;      (or (looking-at "[ \t]*$") (error 
"Malformed label line"))
+1.7          (kwzh     01-Apr-94): ;      (list (nreverse atts) (nreverse 
keys)))))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): (defun rmail-attribute-p (s)
+1.1          (jla      31-Oct-89):   (let ((symbol (rmail-make-label s)))
+1.1          (jla      31-Oct-89):     (if (memq symbol (cdr 
rmail-attributes)) symbol)))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): (defun rmail-keyword-p (s)
+1.1          (jla      31-Oct-89):   (let ((symbol (rmail-make-label s)))
+1.1          (jla      31-Oct-89):     (if (memq symbol (cdr 
(rmail-keywords))) symbol)))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): (defun rmail-make-label (s &optional forcep)
+1.1          (jla      31-Oct-89):   (cond ((symbolp s) s)
+1.1          (jla      31-Oct-89):     (forcep (intern (downcase s) 
rmail-label-obarray))
+1.1          (jla      31-Oct-89):     (t  (intern-soft (downcase s) 
rmail-label-obarray))))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): (defun rmail-force-make-label (s)
+1.1          (jla      31-Oct-89):   (intern (downcase s) rmail-label-obarray))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): (defun rmail-quote-label-name (label)
+1.1          (jla      31-Oct-89):   (regexp-quote (symbol-name 
(rmail-make-label label t))))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; Motion on messages with keywords.
+1.1          (jla      31-Oct-89): 
+1.12         (rms      27-Sep-96): ;;;###autoload
+1.2          (jimb     23-Feb-91): (defun rmail-previous-labeled-message (n 
labels)
+1.2          (jimb     23-Feb-91):   "Show previous message with one of the 
labels LABELS.
+1.2          (jimb     23-Feb-91): LABELS should be a comma-separated list of 
label names.
+1.2          (jimb     23-Feb-91): If LABELS is empty, the last set of labels 
specified is used.
+1.1          (jla      31-Oct-89): With prefix argument N moves backward N 
messages with these labels."
+1.1          (jla      31-Oct-89):   (interactive "p\nsMove to previous msg 
with labels: ")
+1.2          (jimb     23-Feb-91):   (rmail-next-labeled-message (- n) labels))
+1.1          (jla      31-Oct-89): 
+1.12         (rms      27-Sep-96): ;;;###autoload
+1.1          (jla      31-Oct-89): (defun rmail-next-labeled-message (n labels)
+1.2          (jimb     23-Feb-91):   "Show next message with one of the labels 
LABELS.
+1.2          (jimb     23-Feb-91): LABELS should be a comma-separated list of 
label names.
+1.2          (jimb     23-Feb-91): If LABELS is empty, the last set of labels 
specified is used.
+1.1          (jla      31-Oct-89): With prefix argument N moves forward N 
messages with these labels."
+1.1          (jla      31-Oct-89):   (interactive "p\nsMove to next msg with 
labels: ")
+1.1          (jla      31-Oct-89):   (if (string= labels "")
+1.1          (jla      31-Oct-89):       (setq labels rmail-last-multi-labels))
+1.1          (jla      31-Oct-89):   (or labels
+1.1          (jla      31-Oct-89):       (error "No labels to find have been 
specified previously"))
+1.13         (gerd     08-May-01):   (set-buffer rmail-buffer)
+1.1          (jla      31-Oct-89):   (setq rmail-last-multi-labels labels)
+1.1          (jla      31-Oct-89):   (rmail-maybe-set-message-counters)
+1.1          (jla      31-Oct-89):   (let ((lastwin rmail-current-message)
+1.1          (jla      31-Oct-89):     (current rmail-current-message)
+1.1          (jla      31-Oct-89):     (regexp (concat ", ?\\("
+1.1          (jla      31-Oct-89):                     (mail-comma-list-regexp 
labels)
+1.1          (jla      31-Oct-89):                     "\\),")))
+1.1          (jla      31-Oct-89):     (save-restriction
+1.1          (jla      31-Oct-89):       (widen)
+1.1          (jla      31-Oct-89):       (while (and (> n 0) (< current 
rmail-total-messages))
+1.1          (jla      31-Oct-89):     (setq current (1+ current))
+1.1          (jla      31-Oct-89):     (if (rmail-message-labels-p current 
regexp)
+1.1          (jla      31-Oct-89):         (setq lastwin current n (1- n))))
+1.1          (jla      31-Oct-89):       (while (and (< n 0) (> current 1))
+1.1          (jla      31-Oct-89):     (setq current (1- current))
+1.1          (jla      31-Oct-89):     (if (rmail-message-labels-p current 
regexp)
+1.1          (jla      31-Oct-89):         (setq lastwin current n (1+ n)))))
+1.1          (jla      31-Oct-89):     (rmail-show-message lastwin)
+1.1          (jla      31-Oct-89):     (if (< n 0)
+1.1          (jla      31-Oct-89):     (message "No previous message with 
labels %s" labels))
+1.1          (jla      31-Oct-89):     (if (> n 0)
+1.1          (jla      31-Oct-89):     (message "No following message with 
labels %s" labels))))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;;; Manipulate the file's Labels option.
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; Return a list of symbols for all
+1.1          (jla      31-Oct-89): ;; the keywords (labels) recorded in this 
file's Labels option.
+1.1          (jla      31-Oct-89): (defun rmail-keywords ()
+1.1          (jla      31-Oct-89):   (or rmail-keywords 
(rmail-parse-file-keywords)))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; Set rmail-keywords to a list of symbols 
for all
+1.1          (jla      31-Oct-89): ;; the keywords (labels) recorded in this 
file's Labels option.
+1.1          (jla      31-Oct-89): (defun rmail-parse-file-keywords ()
+1.1          (jla      31-Oct-89):   (save-restriction
+1.1          (jla      31-Oct-89):     (save-excursion
+1.1          (jla      31-Oct-89):       (widen)
+1.1          (jla      31-Oct-89):       (goto-char 1)
+1.1          (jla      31-Oct-89):       (setq rmail-keywords
+1.1          (jla      31-Oct-89):         (if (search-forward "\nLabels:" 
(rmail-msgbeg 1) t)
+1.1          (jla      31-Oct-89):             (progn
+1.1          (jla      31-Oct-89):               (narrow-to-region (point) 
(progn (end-of-line) (point)))
+1.1          (jla      31-Oct-89):               (goto-char (point-min))
+1.1          (jla      31-Oct-89):               (cons 'rmail-keywords
+1.1          (jla      31-Oct-89):                     (mapcar 
'rmail-force-make-label
+1.1          (jla      31-Oct-89):                             
(mail-parse-comma-list)))))))))
+1.1          (jla      31-Oct-89): 
+1.1          (jla      31-Oct-89): ;; Add WORD to the list in the file's 
Labels option.
+1.1          (jla      31-Oct-89): ;; Any keyword used for the first time 
needs this done.
+1.1          (jla      31-Oct-89): (defun rmail-install-keyword (word)
+1.1          (jla      31-Oct-89):   (let ((keyword (rmail-make-label word t))
+1.1          (jla      31-Oct-89):     (keywords (rmail-keywords)))
+1.1          (jla      31-Oct-89):     (if (not (or (rmail-attribute-p keyword)
+1.1          (jla      31-Oct-89):              (rmail-keyword-p keyword)))
+1.1          (jla      31-Oct-89):     (let ((omin (- (buffer-size) 
(point-min)))
+1.1          (jla      31-Oct-89):           (omax (- (buffer-size) 
(point-max))))
+1.1          (jla      31-Oct-89):       (unwind-protect
+1.1          (jla      31-Oct-89):           (save-excursion
+1.1          (jla      31-Oct-89):             (widen)
+1.1          (jla      31-Oct-89):             (goto-char 1)
+1.1          (jla      31-Oct-89):             (let ((case-fold-search t)
+1.1          (jla      31-Oct-89):                   (buffer-read-only nil))
+1.1          (jla      31-Oct-89):               (or (search-forward 
"\nLabels:" nil t)
+1.1          (jla      31-Oct-89):                   (progn
+1.1          (jla      31-Oct-89):                     (end-of-line)
+1.1          (jla      31-Oct-89):                     (insert "\nLabels:")))
+1.1          (jla      31-Oct-89):               (delete-region (point) (progn 
(end-of-line) (point)))
+1.1          (jla      31-Oct-89):               (setcdr keywords (cons 
keyword (cdr keywords)))
+1.1          (jla      31-Oct-89):               (while (setq keywords (cdr 
keywords))
+1.1          (jla      31-Oct-89):                 (insert (symbol-name (car 
keywords)) ","))
+1.1          (jla      31-Oct-89):               (delete-char -1)))
+1.1          (jla      31-Oct-89):         (narrow-to-region (- (buffer-size) 
omin)
+1.1          (jla      31-Oct-89):                           (- (buffer-size) 
omax)))))
+1.1          (jla      31-Oct-89):     keyword))
+1.3          (eric     30-May-92): 
+1.24         (monnier  10-Apr-08): ;; arch-tag: 
b26b3392-99ca-4e1d-933a-dab59b04e9a8
+1.3          (eric     30-May-92): ;;; rmailkwd.el ends here




reply via email to

[Prev in Thread] Current Thread [Next in Thread]