This commit was generated by cvs2svn to compensate for changes in r6593,
[elisp/gnus.git-] / lisp / gnus-kill.el
index dd6a774..abcc401 100644 (file)
@@ -1,6 +1,5 @@
 ;;; gnus-kill.el --- kill commands for Gnus
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001
-;;        Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -50,8 +49,7 @@
   :type 'boolean)
 
 (defcustom gnus-winconf-kill-file nil
-  "What does this do, Lars?
-I don't know, Per."
+  "What does this do, Lars?"
   :group 'gnus-score-kill
   :type 'sexp)
 
@@ -357,16 +355,16 @@ If NEWSGROUP is nil, return the global kill file instead."
 (defun gnus-apply-kill-file-unless-scored ()
   "Apply .KILL file, unless a .SCORE file for the same newsgroup exists."
   (cond ((file-exists-p (gnus-score-file-name gnus-newsgroup-name))
-        ;; Ignores global KILL.
-        (when (file-exists-p (gnus-newsgroup-kill-file gnus-newsgroup-name))
+         ;; Ignores global KILL.
+         (when (file-exists-p (gnus-newsgroup-kill-file gnus-newsgroup-name))
           (gnus-message 3 "Note: Ignoring %s.KILL; preferring .SCORE"
                         gnus-newsgroup-name))
-        0)
-       ((or (file-exists-p (gnus-newsgroup-kill-file nil))
-            (file-exists-p (gnus-newsgroup-kill-file gnus-newsgroup-name)))
-        (gnus-apply-kill-file-internal))
-       (t
-        0)))
+         0)
+        ((or (file-exists-p (gnus-newsgroup-kill-file nil))
+             (file-exists-p (gnus-newsgroup-kill-file gnus-newsgroup-name)))
+         (gnus-apply-kill-file-internal))
+        (t
+         0)))
 
 (defun gnus-apply-kill-file-internal ()
   "Apply a kill file to the current newsgroup.
@@ -398,7 +396,7 @@ Returns the number of articles marked as read."
                          gnus-newsgroup-kill-headers))
                  (setq headers (cdr headers))))
              (setq files nil))
-         (setq files (cdr files)))))
+         (setq files (cdr files)))))
     (if (not gnus-newsgroup-kill-headers)
        ()
       (save-window-excursion
@@ -428,6 +426,16 @@ Returns the number of articles marked as read."
        0))))
 
 ;; Parse a Gnus killfile.
+(defun gnus-score-insert-help (string alist idx)
+  (save-excursion
+    (pop-to-buffer "*Score Help*")
+    (buffer-disable-undo (current-buffer))
+    (erase-buffer)
+    (insert string ":\n\n")
+    (while alist
+      (insert (format " %c: %s\n" (caar alist) (nth idx (car alist))))
+      (setq alist (cdr alist)))))
+
 (defun gnus-kill-parse-gnus-kill-file ()
   (goto-char (point-min))
   (gnus-kill-file-mode)
@@ -436,7 +444,7 @@ Returns the number of articles marked as read."
             (setq beg (point))
             (setq form (ignore-errors (read (current-buffer)))))
       (unless (listp form)
-       (error "Invalid kill entry (possibly rn kill file?): %s" form))
+       (error "Illegal kill entry (possibly rn kill file?): %s" form))
       (if (or (eq (car form) 'gnus-kill)
              (eq (car form) 'gnus-raise)
              (eq (car form) 'gnus-lower))
@@ -513,10 +521,10 @@ COMMAND must be a lisp expression or a string representing a key sequence."
          (if (listp kill-list)
              ;; It is a list.
              (if (not (consp (cdr kill-list)))
-                 ;; It's of the form (regexp . date).
+                 ;; It's on the form (regexp . date).
                  (if (zerop (gnus-execute field (car kill-list)
                                           command nil (not all)))
-                     (when (> (days-between date (cdr kill-list))
+                     (when (> (gnus-days-between date (cdr kill-list))
                               gnus-kill-expiry-days)
                        (setq regexp nil))
                    (setcdr kill-list date))
@@ -527,7 +535,7 @@ COMMAND must be a lisp expression or a string representing a key sequence."
                        (setq kdate (cdr kill))
                        (if (zerop (gnus-execute
                                    field (car kill) command nil (not all)))
-                           (when (> (days-between date kdate)
+                           (when (> (gnus-days-between date kdate)
                                     gnus-kill-expiry-days)
                              ;; Time limit has been exceeded, so we
                              ;; remove the match.
@@ -558,7 +566,7 @@ COMMAND must be a lisp expression or a string representing a key sequence."
       (concat "\n" (gnus-prin1-to-string object))
     (save-excursion
       (set-buffer (gnus-get-buffer-create "*Gnus PP*"))
-      (buffer-disable-undo)
+      (buffer-disable-undo (current-buffer))
       (erase-buffer)
       (insert (format "\n(%S %S\n  '(" (nth 0 object) (nth 1 object)))
       (let ((klist (cadr (nth 2 object)))
@@ -631,30 +639,18 @@ If optional 2nd argument UNREAD is non-nil, articles which are
 marked as read or ticked are ignored."
   (save-excursion
     (let ((killed-no 0)
-         function article header extras)
+         function article header)
       (cond
        ;; Search body.
        ((or (null field)
            (string-equal field ""))
        (setq function nil))
        ;; Get access function of header field.
-       ((cond ((fboundp
-               (setq function
-                     (intern-soft
-                      (concat "mail-header-" (downcase field)))))
-              (setq function `(lambda (h) (,function h))))
-             ((when (setq extras
-                          (member (downcase field)
-                                  (mapcar (lambda (header)
-                                            (downcase (symbol-name header)))
-                                          gnus-extra-headers)))
-                (setq function
-                      `(lambda (h)
-                         (gnus-extra-header
-                          (quote ,(nth (- (length gnus-extra-headers)
-                                          (length extras))
-                                       gnus-extra-headers))
-                          h)))))))
+       ((fboundp
+        (setq function
+              (intern-soft
+               (concat "mail-header-" (downcase field)))))
+       (setq function `(lambda (h) (,function h))))
        ;; Signal error.
        (t
        (error "Unknown header field: \"%s\"" field)))
@@ -687,7 +683,6 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score"
                   (mapconcat 'identity command-line-args-left " "))))
         (gnus-expert-user t)
         (nnmail-spool-file nil)
-        (mail-sources nil)
         (gnus-use-dribble-file nil)
         (gnus-batch-mode t)
         info group newsrc entry
@@ -707,8 +702,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score"
                 (and (car entry)
                      (or (eq (car entry) t)
                          (not (zerop (car entry))))))
-       (ignore-errors
-         (gnus-summary-read-group group nil t nil t))
+       (gnus-summary-read-group group nil t nil t)
        (when (eq (current-buffer) (get-buffer gnus-summary-buffer))
          (gnus-summary-exit))))
     ;; Exit Emacs.