This commit was generated by cvs2svn to compensate for changes in r6024,
[elisp/gnus.git-] / lisp / nnvirtual.el
index 60fe0a5..4829341 100644 (file)
@@ -1,5 +1,5 @@
 ;;; nnvirtual.el --- virtual newsgroups access for Gnus
-;; Copyright (C) 1994,95,96,97,98,99 Free Software Foundation, Inc.
+;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc.
 
 ;; Author: David Moore <dmoore@ucsd.edu>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
 
 (defvoo nnvirtual-always-rescan t
   "*If non-nil, always scan groups for unread articles when entering a group.
-If this variable is nil and you read articles in a component group
-after the virtual group has been activated, the read articles from the
-component group will show up when you enter the virtual group.")
+If this variable is nil (which is the default) and you read articles
+in a component group after the virtual group has been activated, the
+read articles from the component group will show up when you enter the
+virtual group.")
 
 (defvoo nnvirtual-component-regexp nil
   "*Regexp to match component groups.")
@@ -218,9 +219,7 @@ to virtual article number.")
          (if buffer
              (save-excursion
                (set-buffer buffer)
-               ;; We bind this here to avoid double decoding.
-               (let ((gnus-article-decode-hook nil))
-                 (gnus-request-article-this-buffer (cdr amap) cgroup)))
+               (gnus-request-article-this-buffer (cdr amap) cgroup))
            (gnus-request-article (cdr amap) cgroup))))))))
 
 
@@ -288,7 +287,6 @@ to virtual article number.")
         ;; The component group might be a virtual group.
         (nmark (gnus-request-update-mark cgroup (cdr nart) mark)))
     (when (and nart
-              (memq mark gnus-auto-expirable-marks)
               (= mark nmark)
               (gnus-group-auto-expirable-p cgroup))
       (setq mark gnus-expirable-mark)))
@@ -361,15 +359,6 @@ to virtual article number.")
                       (cdr gnus-message-group-art)))))
       (gnus-request-post (gnus-find-method-for-group group)))))
 
-
-(deffoo nnvirtual-request-expire-articles (articles group 
-                                                   &optional server force)
-  (nnvirtual-possibly-change-server server)
-  (setq nnvirtual-component-groups
-       (delete (nnvirtual-current-group) nnvirtual-component-groups))
-  (dolist (group nnvirtual-component-groups)
-    (gnus-group-expire-articles-1 group)))
-
 \f
 ;;; Internal functions.
 
@@ -396,7 +385,7 @@ to virtual article number.")
     (insert "\t"))
 
   ;; Remove any spaces at the beginning of the Xref field.
-  (while (eq (char-after (1- (point))) ? )
+  (while (= (char-after (1- (point))) ? )
     (forward-char -1)
     (delete-char 1))
 
@@ -428,7 +417,7 @@ to virtual article number.")
 
   ;; Ensure a trailing \t.
   (end-of-line)
-  (or (eq (char-after (1- (point))) ?\t)
+  (or (= (char-after (1- (point))) ?\t)
       (insert ?\t)))
 
 
@@ -447,24 +436,19 @@ If UPDATE-P is not nil, call gnus-group-update-group on the components."
                        (nnvirtual-partition-sequence
                         (gnus-list-of-unread-articles
                          (nnvirtual-current-group)))))
-         (type-marks
-          (delq nil
-                (mapcar (lambda (ml)
-                          (if (eq (car ml) 'score)
-                              nil
-                            (cons (car ml)
-                                  (nnvirtual-partition-sequence (cdr ml)))))
-                        (gnus-info-marks (gnus-get-info
-                                          (nnvirtual-current-group))))))
+         (type-marks (mapcar (lambda (ml)
+                               (cons (car ml)
+                                     (nnvirtual-partition-sequence (cdr ml))))
+                             (gnus-info-marks (gnus-get-info
+                                               (nnvirtual-current-group)))))
          mark type groups carticles info entry)
 
       ;; Ok, atomically move all of the (un)read info, clear any old
       ;; marks, and move all of the current marks.  This way if someone
       ;; hits C-g, you won't leave the component groups in a half-way state.
-      (progn
+      (gnus-atomic-progn
        ;; move (un)read
-       ;; bind for workaround guns-update-read-articles
-       (let ((gnus-newsgroup-active nil))
+       (let ((gnus-newsgroup-active nil)) ;workaround guns-update-read-articles
          (while (setq entry (pop unreads))
            (gnus-update-read-articles (car entry) (cdr entry))))
 
@@ -473,11 +457,7 @@ If UPDATE-P is not nil, call gnus-group-update-group on the components."
        (while groups
          (when (and (setq info (gnus-get-info (pop groups)))
                     (gnus-info-marks info))
-           (gnus-info-set-marks
-            info
-            (if (assq 'score (gnus-info-marks info))
-                (list (assq 'score (gnus-info-marks info)))
-              nil))))
+           (gnus-info-set-marks info nil)))
 
        ;; Ok, currently type-marks is an assq list with keys of a mark type,
        ;; with data of an assq list with keys of component group names