*** empty log message ***
[gnus] / lisp / gnus-kill.el
index 7452fb1..02ee66e 100644 (file)
@@ -1,8 +1,8 @@
 ;;; gnus-kill.el --- kill commands for Gnus
-;; Copyright (C) 1995,96,97 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@ifi.uio.no>
+;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
 
 ;; This file is part of GNU Emacs.
@@ -26,6 +26,8 @@
 
 ;;; Code:
 
+(eval-when-compile (require 'cl))
+
 (require 'gnus)
 (require 'gnus-art)
 (require 'gnus-range)
@@ -157,7 +159,7 @@ gnus-kill-file-mode-hook with no arguments, if that value is non-nil."
   (setq major-mode 'gnus-kill-file-mode)
   (setq mode-name "Kill")
   (lisp-mode-variables nil)
-  (run-hooks 'emacs-lisp-mode-hook 'gnus-kill-file-mode-hook))
+  (gnus-run-hooks 'emacs-lisp-mode-hook 'gnus-kill-file-mode-hook))
 
 (defun gnus-kill-file-edit-file (newsgroup)
   "Begin editing a kill file for NEWSGROUP.
@@ -404,7 +406,6 @@ Returns the number of articles marked as read."
                ()
              (gnus-message 6 "Processing kill file %s..." (car kill-files))
              (find-file (car kill-files))
-             (gnus-add-current-to-buffer-list)
              (goto-char (point-min))
 
              (if (consp (ignore-errors (read (current-buffer))))
@@ -467,9 +468,9 @@ Returns the number of articles marked as read."
           (?h . "")
           (?f . "from")
           (?: . "subject")))
-       (com-to-com
-        '((?m . " ")
-          (?j . "X")))
+       ;;(com-to-com
+       ;; '((?m . " ")
+       ;;   (?j . "X")))
        pattern modifier commands)
     (while (not (eobp))
       (if (not (looking-at "[ \t]*/\\([^/]*\\)/\\([ahfcH]\\)?:\\([a-z=:]*\\)"))
@@ -523,7 +524,7 @@ COMMAND must be a lisp expression or a string representing a key sequence."
                  ;; It's on the form (regexp . date).
                  (if (zerop (gnus-execute field (car kill-list)
                                           command nil (not all)))
-                     (when (> (gnus-days-between date (cdr kill-list))
+                     (when (> (days-between date (cdr kill-list))
                               gnus-kill-expiry-days)
                        (setq regexp nil))
                    (setcdr kill-list date))
@@ -534,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 (> (gnus-days-between date kdate)
+                           (when (> (days-between date kdate)
                                     gnus-kill-expiry-days)
                              ;; Time limit has been exceeded, so we
                              ;; remove the match.
@@ -564,7 +565,7 @@ COMMAND must be a lisp expression or a string representing a key sequence."
               (not (consp (cdadr (nth 2 object))))))
       (concat "\n" (gnus-prin1-to-string object))
     (save-excursion
-      (set-buffer (get-buffer-create "*Gnus PP*"))
+      (set-buffer (gnus-get-buffer-create "*Gnus PP*"))
       (buffer-disable-undo (current-buffer))
       (erase-buffer)
       (insert (format "\n(%S %S\n  '(" (nth 0 object) (nth 1 object)))
@@ -674,10 +675,7 @@ marked as read or ticked are ignored."
 ;;;###autoload
 (defun gnus-batch-score ()
   "Run batched scoring.
-Usage: emacs -batch -l gnus -f gnus-batch-score <newsgroups> ...
-Newsgroups is a list of strings in Bnews format.  If you want to score
-the comp hierarchy, you'd say \"comp.all\".  If you would not like to
-score the alt hierarchy, you'd say \"!alt.all\"."
+Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score"
   (interactive)
   (let* ((gnus-newsrc-options-n
          (gnus-newsrc-parse-options
@@ -687,7 +685,7 @@ score the alt hierarchy, you'd say \"!alt.all\"."
         (nnmail-spool-file nil)
         (gnus-use-dribble-file nil)
         (gnus-batch-mode t)
-        group newsrc entry
+        info group newsrc entry
         ;; Disable verbose message.
         gnus-novice-user gnus-large-newsgroup
         gnus-options-subscribe gnus-auto-subscribed-groups
@@ -697,14 +695,13 @@ score the alt hierarchy, you'd say \"!alt.all\"."
     (gnus-slave)
     ;; Apply kills to specified newsgroups in command line arguments.
     (setq newsrc (cdr gnus-newsrc-alist))
-    (while (setq group (car (pop newsrc)))
-      (setq entry (gnus-gethash group gnus-newsrc-hashtb))
-      (when (and (<= (gnus-info-level (car newsrc)) gnus-level-subscribed)
+    (while (setq info (pop newsrc))
+      (setq group (gnus-info-group info)
+           entry (gnus-gethash group gnus-newsrc-hashtb))
+      (when (and (<= (gnus-info-level info) gnus-level-subscribed)
                 (and (car entry)
                      (or (eq (car entry) t)
-                         (not (zerop (car entry)))))
-                ;;(eq (gnus-matches-options-n group) 'subscribe)
-                )
+                         (not (zerop (car entry))))))
        (gnus-summary-read-group group nil t nil t)
        (when (eq (current-buffer) (get-buffer gnus-summary-buffer))
          (gnus-summary-exit))))