[gnus git] branch master updated: n0-15-40-gadd7473 =1= Registry extra tracking bug fix: map references to group names.

Ted Zlatanov <[email protected]>
Newsgroups gmane.emacs.gnus.cvs
Message-ID <[email protected]>
       via  add7473efebbe1533f5518492a00797ce92778b2 (commit)
      from  96b11ae6da3fed2ee5b4ae882e88a2efc6c63d21 (commit)


- Log -----------------------------------------------------------------
commit add7473efebbe1533f5518492a00797ce92778b2
Author: Ted Zlatanov <[email protected]>
Date:   Tue Apr 5 16:11:32 2011 -0500

    Registry extra tracking bug fix: map references to group names.
    
    * gnus-registry.el (gnus-registry--split-fancy-with-parent-internal): Map
    references to actual group names with sender and subject tracking.

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 4150693..51a8ef3 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,13 +1,5 @@
 2011-04-05  Teodor Zlatanov  <[email protected]>
 
-	* registry.el (registry-db, initialize-instance): Set up constructor
-	instead of :initform arguments for the sake of older Emacsen.
-	(registry-lookup-breaks-before-lexbind): New method to demonstrate
-	pre-lexbind merge bug.
-	(registry-usage-test): Use it.
-	(initialize-instance, registry-db): Move the non-function initforms
-	back to the class definition.
-
 	* gnus-registry.el (gnus-registry-fixup-registry): New function to
 	fixup the parameters that can be customized by the user between
 	save/read cycles.
@@ -15,10 +7,19 @@
 	(gnus-registry-make-db): Use it.
 	(gnus-registry-spool-action, gnus-registry-handle-action): Fix
 	messaging.
-	(gnus-registry--split-fancy-with-parent-internal): Fix loop.
+	(gnus-registry--split-fancy-with-parent-internal): Fix loop.  Map
+	references to actual group names with sender and subject tracking.
 	(gnus-registry-post-process-groups): Use `cond' for better messaging.
 	(gnus-registry-usage-test): Add subject lookup test.
 
+	* registry.el (registry-db, initialize-instance): Set up constructor
+	instead of :initform arguments for the sake of older Emacsen.
+	(registry-lookup-breaks-before-lexbind): New method to demonstrate
+	pre-lexbind merge bug.
+	(registry-usage-test): Use it.
+	(initialize-instance, registry-db): Move the non-function initforms
+	back to the class definition.
+
 2011-04-03  Teodor Zlatanov  <[email protected]>
 
 	* registry.el: New library to manage gnus-registry-style data.
diff --git a/lisp/gnus-registry.el b/lisp/gnus-registry.el
index 504e39a..3ab8400 100644
--- a/lisp/gnus-registry.el
+++ b/lisp/gnus-registry.el
@@ -424,18 +424,21 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
            (gnus-grep-in-list
             sender
             gnus-registry-unfollowed-addresses))
+      (let ((groups (apply
+                     'append
+                     (mapcar
+                      (lambda (reference)
+                        (gnus-registry-get-id-key reference 'group))
+                      (registry-lookup-secondary-value db 'sender sender)))))
       (setq found
-            (loop for group
-                  in (registry-lookup-secondary-value db 'sender sender)
-
+              (loop for group in groups
                   when (gnus-registry-follow-group-p group)
-
                   do (gnus-message
                       ;; raise level of messaging if gnus-registry-track-extra
                       (if gnus-registry-track-extra 7 9)
                       "%s (extra tracking) traced sender '%s' to groups %s"
                       log-agent sender found)
-                  collect group))
+                  collect group)))
 
       ;; filter the found groups and return them
       ;; the found groups are NOT the full groups
@@ -446,12 +449,15 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
      ((and (memq 'subject gnus-registry-track-extra)
            subject
            (< gnus-registry-minimum-subject-length (length subject)))
+      (let ((groups (apply
+                     'append
+                     (mapcar
+                      (lambda (reference)
+                        (gnus-registry-get-id-key reference 'group))
+                      (registry-lookup-secondary-value db 'subject subject)))))
       (setq found
-            (loop for group
-                  in (registry-lookup-secondary-value db 'subject subject)
-
+              (loop for group in groups
                   when (gnus-registry-follow-group-p group)
-
                   do (gnus-message
                       ;; raise level of messaging if gnus-registry-track-extra
                       (if gnus-registry-track-extra 7 9)
@@ -461,7 +467,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
       ;; filter the found groups and return them
       ;; the found groups are NOT the full groups
       (setq found (gnus-registry-post-process-groups
-                   "subject" subject found))))
+                   "subject" subject found)))))
     ;; after the (cond) we extract the actual value safely
     (car-safe found)))
 

-----------------------------------------------------------------------
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we listed those
revisions in full, above.

Summary of changes:
 lisp/ChangeLog        |   19 ++++++++++---------
 lisp/gnus-registry.el |   46 ++++++++++++++++++++++++++--------------------
 2 files changed, 36 insertions(+), 29 deletions(-)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnus Project".

The branch, master has been updated


hooks/post-receive
-- 
Gnus Project
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.