Function: gnus-summary-initial-limit
gnus-summary-initial-limit is a byte-compiled function defined in
gnus-sum.el.gz.
Signature
(gnus-summary-initial-limit &optional SHOW-IF-EMPTY)
Documentation
Figure out what the initial limit is supposed to be on group entry.
This entails weeding out unwanted dormants, low-scored articles, fetch-old-headers verbiage, and so on.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-sum.el.gz
(defun gnus-summary-initial-limit (&optional show-if-empty)
"Figure out what the initial limit is supposed to be on group entry.
This entails weeding out unwanted dormants, low-scored articles,
fetch-old-headers verbiage, and so on."
;; Most groups have nothing to remove.
(unless (or gnus-inhibit-limiting
(and (null gnus-newsgroup-dormant)
(eq gnus-newsgroup-display #'gnus-not-ignore)
(not (eq gnus-fetch-old-headers 'some))
(not (numberp gnus-fetch-old-headers))
(not (eq gnus-fetch-old-headers 'invisible))
(null gnus-summary-expunge-below)
(not (eq gnus-build-sparse-threads 'some))
(not (eq gnus-build-sparse-threads 'more))
(null gnus-thread-expunge-below)))
(push gnus-newsgroup-limit gnus-newsgroup-limits)
(setq gnus-newsgroup-limit nil)
(maphash
(lambda (_id deps)
(unless (car deps)
;; These threads have no parents -- they are roots.
(let ((nodes (cdr deps))
thread)
(while nodes
(if (and gnus-thread-expunge-below
(< (gnus-thread-total-score (car nodes))
gnus-thread-expunge-below))
(gnus-expunge-thread (pop nodes))
(setq thread (pop nodes))
(gnus-summary-limit-children thread))))))
gnus-newsgroup-dependencies)
;; If this limitation resulted in an empty group, we might
;; pop the previous limit and use it instead.
(when (and (not gnus-newsgroup-limit)
show-if-empty)
(setq gnus-newsgroup-limit (pop gnus-newsgroup-limits)))
gnus-newsgroup-limit))