Function: gnus-topic-display-missing-topic

gnus-topic-display-missing-topic is a byte-compiled function defined in gnus-topic.el.gz.

Signature

(gnus-topic-display-missing-topic TOPIC)

Documentation

Insert topic lines recursively for missing topics.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-topic.el.gz
(defun gnus-topic-display-missing-topic (topic)
  "Insert topic lines recursively for missing topics."
  (let ((parent (gnus-topic-find-topology
		 (gnus-topic-parent-topic topic))))
    (when (and parent
	       (not (gnus-topic-goto-missing-topic (caadr parent))))
      (gnus-topic-display-missing-topic (caadr parent))))
  (gnus-topic-goto-missing-topic topic)
  ;; Skip past all groups in the topic we're in.
  (while (gnus-group-group-name)
    (forward-line 1))
  (let* ((top (gnus-topic-find-topology topic))
	 (children (cddr top))
	 (type (cadr top))
	 (unread 0)
	 (entries (gnus-topic-find-groups
		   (car type) (car gnus-group-list-mode)
		   (cdr gnus-group-list-mode)))
	 (all-groups (gnus-topic-find-groups
		      (car type) (car gnus-group-list-mode)
		      (cdr gnus-group-list-mode) nil t))
	entry)
    (while children
      (cl-incf unread (gnus-topic-unread (caar (pop children)))))
    (while (setq entry (pop entries))
      (when (numberp (car entry))
	(cl-incf unread (car entry))))
    (gnus-topic-insert-topic-line
     topic t t (car (gnus-topic-find-topology topic)) nil unread all-groups)))