* texi/gnus-ja.texi (Article Date): Update Japanese translation.
[elisp/gnus.git-] / lisp / nnkiboze.el
index 0da7857..f23c7a5 100644 (file)
 
 ;;; Code:
 
+(eval-when-compile (require 'cl))
+(eval-when-compile (require 'gnus-clfns))
+
 (require 'nntp)
 (require 'nnheader)
 (require 'gnus)
 (require 'gnus-score)
 (require 'nnoo)
-(require 'mm-util)
-(eval-when-compile (require 'cl))
 
 (nnoo-declare nnkiboze)
 (defvoo nnkiboze-directory (nnheader-concat gnus-directory "kiboze/")
@@ -58,7 +59,7 @@
 (defvoo nnkiboze-regexp nil
   "Regexp for matching component groups.")
 
-(defvoo nnkiboze-file-coding-system mm-text-coding-system
+(defvoo nnkiboze-file-coding-system nnheader-text-coding-system
   "Coding system for nnkiboze files.")
 
 \f
       (setq num (string-to-int (match-string 2 xref))
            group (match-string 1 xref))
       (or (with-current-buffer buffer
-           (gnus-cache-request-article num group))
+           (or (gnus-cache-request-article num group)
+               (gnus-agent-request-article num group)))
          (gnus-request-article num group buffer)))))
 
 (deffoo nnkiboze-request-scan (&optional group server)
   ;; Remove NOV lines of articles that are marked as read.
   (when (and (file-exists-p (nnkiboze-nov-file-name))
             nnkiboze-remove-read-articles)
-    (let ((coding-system-for-write nnkiboze-file-coding-system))
+    (let ((coding-system-for-write nnkiboze-file-coding-system)
+         (output-coding-system nnkiboze-file-coding-system))
       (with-temp-file (nnkiboze-nov-file-name)
        (let ((cur (current-buffer))
              (nnheader-file-coding-system nnkiboze-file-coding-system))
@@ -250,36 +253,37 @@ Finds out what articles are to be part of the nnkiboze groups."
     ;; Load the kiboze newsrc file for this group.
     (when (file-exists-p newsrc-file)
       (load newsrc-file))
-    (let ((coding-system-for-write nnkiboze-file-coding-system))
+    (let ((coding-system-for-write nnkiboze-file-coding-system)
+         (output-coding-system nnkiboze-file-coding-system))
       (with-temp-file nov-file
        (when (file-exists-p nov-file)
-         (insert-file-contents nov-file))
+         (nnheader-insert-file-contents nov-file))
        (setq nov-buffer (current-buffer))
- ;; Go through the active hashtb and add new all groups that match the
+       ;; Go through the active hashtb and add new all groups that match the
        ;; kiboze regexp.
        (mapatoms
         (lambda (group)
           (and (string-match nnkiboze-regexp
-                             (setq gname (symbol-name group))) ; Match
+                             (setq gname (symbol-name group))) ; Match
                (not (assoc gname nnkiboze-newsrc)) ; It isn't registered
                (numberp (car (symbol-value group))) ; It is active
                (or (> nnkiboze-level 7)
                    (and (setq glevel (nth 1 (nth 2 (gnus-gethash
                                                     gname gnus-newsrc-hashtb))))
                         (>= nnkiboze-level glevel)))
-               (not (string-match "^nnkiboze:" gname)) ; Exclude kibozes
+               (not (string-match "^nnkiboze:" gname)) ; Exclude kibozes
                (push (cons gname (1- (car (symbol-value group))))
                      nnkiboze-newsrc)))
         gnus-active-hashtb)
        ;; `newsrc' is set to the list of groups that possibly are
-     ;; component groups to this kiboze group.  This list has elements
+       ;; component groups to this kiboze group.  This list has elements
        ;; on the form `(GROUP . NUMBER)', where NUMBER is the highest
        ;; number that has been kibozed in GROUP in this kiboze group.
        (setq newsrc nnkiboze-newsrc)
        (while newsrc
          (if (not (setq active (gnus-gethash
                                 (caar newsrc) gnus-active-hashtb)))
-           ;; This group isn't active after all, so we remove it from
+             ;; This group isn't active after all, so we remove it from
              ;; the list of component groups.
              (setq nnkiboze-newsrc (delq (car newsrc) nnkiboze-newsrc))
            (setq lowest (cdar newsrc))
@@ -293,13 +297,13 @@ Finds out what articles are to be part of the nnkiboze groups."
                                                gnus-newsrc-hashtb)))
            (unwind-protect
                (progn
-        ;; We set all list of article marks to nil.  Since we operate
-           ;; on copies of the real lists, we can destroy anything we
+                 ;; We set all list of article marks to nil.  Since we operate
+                 ;; on copies of the real lists, we can destroy anything we
                  ;; want here.
                  (when (nth 3 ginfo)
                    (setcar (nthcdr 3 ginfo) nil))
-         ;; We set the list of read articles to be what we expect for
-                ;; this kiboze group -- either nil or `(1 . LOWEST)'.
+                 ;; We set the list of read articles to be what we expect for
+                 ;; this kiboze group -- either nil or `(1 . LOWEST)'.
                  (when ginfo
                    (setcar (nthcdr 2 ginfo)
                            (and (not (= lowest 1)) (cons 1 lowest))))
@@ -319,7 +323,7 @@ Finds out what articles are to be part of the nnkiboze groups."
                    ;; We go through the list of scored articles.
                    (while gnus-newsgroup-scored
                      (when (> (caar gnus-newsgroup-scored) lowest)
-                ;; If it has a good score, then we enter this article
+                       ;; If it has a good score, then we enter this article
                        ;; into the kiboze group.
                        (nnkiboze-enter-nov
                         nov-buffer