Function: gnus-summary-find-for-reselect

gnus-summary-find-for-reselect is a byte-compiled function defined in gnus-sum.el.gz.

Signature

(gnus-summary-find-for-reselect)

Documentation

Return the number of an article to stay on across a reselect.

The current article is considered, then following articles, then previous articles. An article is sought which is not canceled and isn't a temporary insertion from another group. If there's no such then return a dummy 0.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-sum.el.gz
(defun gnus-summary-find-for-reselect ()
  "Return the number of an article to stay on across a reselect.
The current article is considered, then following articles, then previous
articles.  An article is sought which is not canceled and isn't a temporary
insertion from another group.  If there's no such then return a dummy 0."
  (let (found)
    (dolist (rev '(nil t))
      (unless found      ; don't demand the reverse list if we don't need it
        (let ((data (gnus-data-find-list
                     (gnus-summary-article-number) (gnus-data-list rev))))
          (while (and data (not found))
            (if (and (< 0 (gnus-data-number (car data)))
                     (not (eq gnus-canceled-mark (gnus-data-mark (car data)))))
                (setq found (gnus-data-number (car data))))
            (setq data (cdr data))))))
    (or found 0)))