* gnus-score.el (gnus-score-decode-text-parts): Use #' for the local function.
[gnus] / lisp / gnus-int.el
index d858c3a..bc3ba18 100644 (file)
@@ -416,14 +416,6 @@ If it is down, start it up (again)."
             dont-check
             info)))
 
-(defun gnus-list-active-group (group)
-  "Request active information on GROUP."
-  (let ((gnus-command-method (gnus-find-method-for-group group))
-       (func 'list-active-group))
-    (when (gnus-check-backend-function func group)
-      (funcall (gnus-get-function gnus-command-method func)
-              (gnus-group-real-name group) (nth 1 gnus-command-method)))))
-
 (defun gnus-request-group-description (group)
   "Request a description of GROUP."
   (let ((gnus-command-method (gnus-find-method-for-group group))
@@ -432,14 +424,6 @@ If it is down, start it up (again)."
       (funcall (gnus-get-function gnus-command-method func)
               (gnus-group-real-name group) (nth 1 gnus-command-method)))))
 
-(defun gnus-request-group-articles (group)
-  "Request a list of existing articles in GROUP."
-  (let ((gnus-command-method (gnus-find-method-for-group group))
-       (func 'request-group-articles))
-    (when (gnus-check-backend-function func group)
-      (funcall (gnus-get-function gnus-command-method func)
-              (gnus-group-real-name group) (nth 1 gnus-command-method)))))
-
 (defun gnus-close-group (group)
   "Request the GROUP be closed."
   (let ((gnus-command-method (inline (gnus-find-method-for-group group))))
@@ -583,60 +567,19 @@ This is the string that Gnus uses to identify the group."
    (gnus-group-real-name group)
    (gnus-group-method group)))
 
-;; largely based on nnir-warp-to-article
-(defun gnus-try-warping-via-registry ()
-  "Attempt to warp to the current article's source group based on
-data stored in the registry."
-  (interactive)
-  (when (gnus-summary-article-header)
-    (let* ((message-id (mail-header-id (gnus-summary-article-header)))
-           ;; Retrieve the message's group(s) from the registry
-           (groups (gnus-registry-get-id-key message-id 'group))
-           ;; If starting from an ephemeral group, this describes
-           ;; how to restore the window configuration
-           (quit-config
-            (gnus-ephemeral-group-p gnus-newsgroup-name))
-           (seen-groups (list (gnus-group-group-name))))
-
-      (catch 'found
-        (dolist (group (mapcar 'gnus-simplify-group-name groups))
-
-          ;; skip over any groups we really don't want to warp to.
-          (unless (or (member group seen-groups)
-                      (gnus-ephemeral-group-p group)          ;; any ephemeral group
-                      (memq (car (gnus-find-method-for-group group))
-                            '(nnir))) ;; Specific methods; this list may need to expand.
-
-            ;; remember that we've seen this group already
-            (push group seen-groups)
-
-            ;; first exit from any ephemeral summary buffer.
-            (when quit-config
-              (gnus-summary-exit)
-              ;; and if the ephemeral summary buffer in turn came from another
-              ;; summary buffer we have to clean that summary up too.
-              (when (eq (cdr quit-config) 'summary)
-                (gnus-summary-exit))
-              ;; remember that we've already done this part
-              (setq quit-config nil))
-
-            ;; Try to activate the group.  If that fails, just move
-            ;; along.  We may have more groups to work with
-            (ignore-errors
-                (gnus-select-group-with-message-id group message-id))
-            (throw 'found t)))))))
-
 (defun gnus-warp-to-article ()
   "Warps from an article in a virtual group to the article in its
 real group. Does nothing on a real group."
   (interactive)
-  (let ((gnus-command-method
-        (gnus-find-method-for-group gnus-newsgroup-name)))
-    (or
-     (when (gnus-check-backend-function
-            'warp-to-article (car gnus-command-method))
-       (funcall (gnus-get-function gnus-command-method 'warp-to-article)))
-     (gnus-try-warping-via-registry))))
+  (when (gnus-virtual-group-p gnus-newsgroup-name)
+    (let ((gnus-command-method
+           (gnus-find-method-for-group gnus-newsgroup-name)))
+      (or
+       (when (gnus-check-backend-function
+              'warp-to-article (car gnus-command-method))
+         (funcall (gnus-get-function gnus-command-method 'warp-to-article)))
+       (and (bound-and-true-p gnus-registry-enabled)
+            (gnus-try-warping-via-registry))))))
 
 (defun gnus-request-head (article group)
   "Request the head of ARTICLE in GROUP."
@@ -656,7 +599,8 @@ real group. Does nothing on a real group."
            clean-up t))
      ;; Use `head' function.
      ((fboundp head)
-      (setq res (funcall head article (gnus-group-real-name group)
+      (setq res (funcall head article
+                         (and (not gnus-override-method) (gnus-group-real-name group))
                         (nth 1 gnus-command-method))))
      ;; Use `article' function.
      (t
@@ -763,6 +707,10 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned."
 
 (defun gnus-request-expire-articles (articles group &optional force)
   (let* ((gnus-command-method (gnus-find-method-for-group group))
+         ;; Filter out any negative article numbers; they can't be
+         ;; expired here.
+         (articles
+          (delq nil (mapcar (lambda (n) (and (>= n 0) n)) articles)))
         (gnus-inhibit-demon t)
         (not-deleted
          (funcall
@@ -839,11 +787,6 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned."
       (gnus-agent-regenerate-group group (list article)))
     result))
 
-(defun gnus-request-associate-buffer (group)
-  (let ((gnus-command-method (gnus-find-method-for-group group)))
-    (funcall (gnus-get-function gnus-command-method 'request-associate-buffer)
-            (gnus-group-real-name group))))
-
 (defun gnus-request-restore-buffer (article group)
   "Request a new buffer restored to the state of ARTICLE."
   (let ((gnus-command-method (gnus-find-method-for-group group)))