Function: gnus-topic-move-group

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

Signature

(gnus-topic-move-group N TOPIC &optional COPYP)

Documentation

Move the next N groups to TOPIC.

If COPYP, copy the groups instead.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-topic.el.gz
(defun gnus-topic-move-group (n topic &optional copyp)
  "Move the next N groups to TOPIC.
If COPYP, copy the groups instead."
  (interactive
   (list current-prefix-arg
	 (gnus-completing-read "Move to topic" (mapcar #'car gnus-topic-alist) t
			       nil 'gnus-topic-history))
   gnus-topic-mode)
  (let ((use-marked (and (not n) (not (and transient-mark-mode mark-active))
			 gnus-group-marked t))
	(groups (gnus-group-process-prefix n))
	(topicl (assoc topic gnus-topic-alist))
	(start-topic (gnus-group-topic-name))
	(start-group (progn (forward-line 1) (gnus-group-group-name)))
	entry)
    (if (and (not groups) (not copyp) start-topic)
	(gnus-topic-move start-topic topic)
      (dolist (g groups)
	(gnus-group-remove-mark g use-marked)
	(when (and
	       (setq entry (assoc (gnus-current-topic) gnus-topic-alist))
	       (not copyp))
	  (setcdr entry (gnus-delete-first g (cdr entry))))
	(nconc topicl (list g)))
      (gnus-topic-enter-dribble)
      (if start-group
	  (gnus-group-goto-group start-group)
	(gnus-topic-goto-topic start-topic))
      (gnus-group-list-groups))))