(article-transform-date): Fix infinite recursion.
[gnus] / lisp / gnus-registry.el
index a30847b..cef173c 100644 (file)
@@ -1,7 +1,6 @@
 ;;; gnus-registry.el --- article registry for Gnus
 
-;;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-;;; Free Software Foundation, Inc.
+;; Copyright (C) 2002-2011  Free Software Foundation, Inc.
 
 ;; Author: Ted Zlatanov <tzz@lifelogs.com>
 ;; Keywords: news registry
@@ -45,6 +44,9 @@
 
 ;; (: gnus-registry-split-fancy-with-parent)
 
+;; You should also consider using the nnregistry backend to look up
+;; articles.  See the Gnus manual for more information.
+
 ;; TODO:
 
 ;; - get the correct group on spool actions
@@ -122,12 +124,14 @@ display."
   :type 'symbol)
 
 (defcustom gnus-registry-unfollowed-groups
-  '("delayed$" "drafts$" "queue$" "INBOX$")
+  '("delayed$" "drafts$" "queue$" "INBOX$" "^nnmairix:")
   "List of groups that gnus-registry-split-fancy-with-parent won't return.
 The group names are matched, they don't have to be fully
 qualified.  This parameter tells the Registry 'never split a
 message into a group that matches one of these, regardless of
-references.'"
+references.'
+
+nnmairix groups are specifically excluded because they are ephemeral."
   :group 'gnus-registry
   :type '(repeat regexp))
 
@@ -546,8 +550,9 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
                            key
                            gnus-registry-max-track-groups)))
               (dolist (group groups)
-                (push group found-full)
-                (setq found (append (list group) (delete group found)))))
+                (when (and group (gnus-registry-follow-group-p group))
+                  (push group found-full)
+                  (setq found (append (list group) (delete group found))))))
             (push key matches)
             (gnus-message
              ;; raise level of messaging if gnus-registry-track-extra
@@ -575,8 +580,9 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
                            key
                            gnus-registry-max-track-groups)))
               (dolist (group groups)
-                (push group found-full)
-                (setq found (append (list group) (delete group found)))))
+                (when (and group (gnus-registry-follow-group-p group))
+                  (push group found-full)
+                  (setq found (append (list group) (delete group found))))))
             (push key matches)
             (gnus-message
              ;; raise level of messaging if gnus-registry-track-extra
@@ -857,12 +863,11 @@ Uses `gnus-registry-marks' to find what shortcuts to install."
 
 (defun gnus-registry-read-mark ()
   "Read a mark name from the user with completion."
-  (let ((mark (gnus-completing-read-with-default
-              (symbol-name gnus-registry-default-mark)
-              "Label"
-              (mapcar (lambda (x)      ; completion list
-                        (cons (symbol-name (car-safe x)) (car-safe x)))
-                      gnus-registry-marks))))
+  (let ((mark (gnus-completing-read
+               "Label"
+               (mapcar 'symbol-name (mapcar 'car gnus-registry-marks))
+               nil nil nil
+              (symbol-name gnus-registry-default-mark))))
     (when (stringp mark)
       (intern mark))))
 
@@ -1173,10 +1178,6 @@ Returns the first place where the trail finds a group name."
 ;;; we could call it here: (customize-variable 'gnus-registry-install)
   gnus-registry-install)
 
-(when (or (eq gnus-registry-install t)
-         (gnus-registry-install-p))
-  (gnus-registry-initialize))
-
 ;; TODO: a few things
 
 (provide 'gnus-registry)