]> git.eshelyaron.com Git - emacs.git/commitdiff
nus-registry.el (gnus-registry--split-fancy-with-parent-internal): Track by subject...
authorTeodor Zlatanov <tzz@lifelogs.com>
Fri, 15 Apr 2011 14:29:02 +0000 (14:29 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Fri, 15 Apr 2011 14:29:02 +0000 (14:29 +0000)
lisp/gnus/ChangeLog
lisp/gnus/gnus-registry.el

index 6522e57198dbc117cc1da59ae7ce035a7d75db59..be6f3737ae1e18809581fca37f8bd9c1b9973103 100644 (file)
@@ -1,8 +1,14 @@
+2011-04-15  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * gnus-registry.el (gnus-registry--split-fancy-with-parent-internal):
+       Track by subject first, then sender.
+
 2011-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * message.el (message-bogus-system-names): Replace ^...$ => \`...\'.
 
-       * gnus.el (gnus-splash-svg-color-symbols): Don't use insert-file from Lisp.
+       * gnus.el (gnus-splash-svg-color-symbols): Don't use insert-file from
+       Lisp.
 
        * gnus-draft.el (gnus-draft-setup): New arg `dont-pop'.
        (gnus-draft-send): Use it to avoid popping
index 9f95ce756ab4b46d95b10cdc0446c27610af776c..77ed5a55aed1d6bbb32e802801e2cfa85e61da21 100644 (file)
@@ -425,6 +425,31 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
       (setq found (gnus-registry-post-process-groups
                    "references" refstr found)))
 
+     ;; else: there were no matches, now try the extra tracking by subject
+     (when (and (null found)
+                (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 groups
+                     when (gnus-registry-follow-group-p group)
+                     do (gnus-message
+                         ;; warn more if gnus-registry-track-extra
+                         (if gnus-registry-track-extra 7 9)
+                         "%s (extra tracking) traced subject '%s' to %s"
+                         log-agent subject group)
+                     collect group))
+         ;; 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))))
+
      ;; else: there were no matches, try the extra tracking by sender
      (when (and (null found)
                 (memq 'sender gnus-registry-track-extra)
@@ -453,30 +478,6 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
        (setq found (gnus-registry-post-process-groups
                     "sender" sender found)))
 
-     ;; else: there were no matches, now try the extra tracking by subject
-     (when (and (null found)
-                (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 groups
-                     when (gnus-registry-follow-group-p group)
-                     do (gnus-message
-                         ;; warn more if gnus-registry-track-extra
-                         (if gnus-registry-track-extra 7 9)
-                         "%s (extra tracking) traced subject '%s' to %s"
-                         log-agent subject group)
-                     collect group))
-         ;; 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))))
      ;; after the (cond) we extract the actual value safely
      (car-safe found)))