Function: gnus-topic-mark-topic

gnus-topic-mark-topic is an interactive and byte-compiled function defined in gnus-topic.el.gz.

Signature

(gnus-topic-mark-topic TOPIC &optional UNMARK NON-RECURSIVE NO-TOGGLE)

Documentation

Mark all groups in the TOPIC with the process mark.

If NON-RECURSIVE (which is the prefix) is t, don't mark its subtopics.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-topic.el.gz
(defun gnus-topic-mark-topic (topic &optional unmark non-recursive no-toggle)
  "Mark all groups in the TOPIC with the process mark.
If NON-RECURSIVE (which is the prefix) is t, don't mark its subtopics."
  (interactive
   (list (gnus-group-topic-name)
	 nil
	 (and current-prefix-arg t))
   gnus-topic-mode)
  (if (not topic)
      (call-interactively 'gnus-group-mark-group)
    (save-excursion
      (let ((groups (gnus-topic-find-groups topic gnus-level-killed t nil
					    (not non-recursive))))
	(while groups
          (let ((group (gnus-info-group (nth 1 (pop groups)))))
	    (if (and gnus-process-mark-toggle (not no-toggle))
                (if (memq group gnus-group-marked)
                    (gnus-group-remove-mark group )
                  (gnus-group-set-mark group))
              (if unmark (gnus-group-remove-mark group)
                (gnus-group-set-mark group)))))))))