Function: gnus-group-search-forward
gnus-group-search-forward is a byte-compiled function defined in
gnus-group.el.gz.
Signature
(gnus-group-search-forward &optional BACKWARD ALL LEVEL FIRST-TOO)
Documentation
Move point to the next newsgroup with unread articles.
If BACKWARD is non-nil, move to the previous newsgroup instead. If ALL is non-nil, consider any newsgroup, not only those with unread articles. If LEVEL is non-nil, find group with level LEVEL, or higher if no such group exists. If FIRST-TOO, the current line is also eligible as a target.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-group.el.gz
(defun gnus-group-search-forward (&optional backward all level first-too)
"Move point to the next newsgroup with unread articles.
If BACKWARD is non-nil, move to the previous newsgroup instead.
If ALL is non-nil, consider any newsgroup, not only those with
unread articles. If LEVEL is non-nil, find group with level
LEVEL, or higher if no such group exists. If FIRST-TOO, the
current line is also eligible as a target."
(let ((way (if backward -1 1))
(low gnus-level-killed)
(beg (point))
pos found lev)
(if (and backward (progn (beginning-of-line) (bobp)))
nil
(unless first-too
(forward-line way))
(while (and
(not (eobp))
(not (setq
found
(and
(get-text-property (point) 'gnus-group)
(or all
(and
(let ((unread
(get-text-property (point) 'gnus-unread)))
(and (numberp unread) (> unread 0)))
(setq lev (get-text-property (point)
'gnus-level))
(<= lev gnus-level-subscribed)))
(or (not level)
(and (setq lev (get-text-property (point)
'gnus-level))
(or (= lev level)
(and (< lev low)
(< level lev)
(progn
(setq low lev)
(setq pos (point))
nil))))))))
(zerop (forward-line way)))))
(if found
(progn (gnus-group-position-point) t)
(goto-char (or pos beg))
(and pos t))))