Commit ba3bd5b6 authored by Ted Zlatanov's avatar Ted Zlatanov Committed by Katsumi Yamaoka

nus-registry.el (gnus-registry--split-fancy-with-parent-internal): Track by...

nus-registry.el (gnus-registry--split-fancy-with-parent-internal): Track by subject first, then sender.
parent daca8ba5
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
......
......@@ -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)))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment