+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
(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)
(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)))