(gnus-grep-in-list
sender
gnus-registry-unfollowed-addresses))
- (setq found
- (loop for group
- in (registry-lookup-secondary-value db 'sender sender)
-
- when (gnus-registry-follow-group-p group)
-
+ (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 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
((and (memq 'subject gnus-registry-track-extra)
subject
(< gnus-registry-minimum-subject-length (length subject)))
- (setq found
- (loop for group
- in (registry-lookup-secondary-value db 'subject subject)
-
- 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 subject '%s' to groups %s"
- log-agent subject found)
- collect group))
+ (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
+ ;; raise level of messaging if gnus-registry-track-extra
+ (if gnus-registry-track-extra 7 9)
+ "%s (extra tracking) traced subject '%s' to groups %s"
+ log-agent subject found)
+ 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))))
+ "subject" subject found)))))
;; after the (cond) we extract the actual value safely
(car-safe found)))