;;; gnus-topic.el --- a folding minor mode for Gnus group buffers
-;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
;; Author: Ilja Weis <kult@uni-paderborn.de>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
(gnus-group-topic group))))
(defun gnus-topic-goto-topic (topic)
+ "Go to TOPIC."
(when topic
(gnus-goto-char (text-property-any (point-min) (point-max)
'gnus-topic (intern topic)))))
-(defun gnus-topic-jump-to-topic (topic)
- "Go to TOPIC."
- (interactive
- (list (completing-read "Go to topic: "
- (mapcar 'list (gnus-topic-list))
- nil t)))
- (dolist (topic (gnus-current-topics topic))
- (gnus-topic-fold t))
- (gnus-topic-goto-topic topic))
-
(defun gnus-current-topic ()
"Return the name of the current topic."
(let ((result
;;; Generating group buffers
-(defun gnus-group-prepare-topics (level &optional all lowest
- regexp list-topic topic-level)
+(defun gnus-group-prepare-topics (level &optional all lowest regexp list-topic topic-level)
"List all newsgroups with unread articles of level LEVEL or lower.
Use the `gnus-group-topics' to sort the groups.
If ALL is non-nil, list groups that have no unread articles.
(entries (gnus-topic-find-groups
(car type) list-level
(or all
- (cdr (assq 'visible
+ (cdr (assq 'visible
(gnus-topic-hierarchical-parameters
(car type)))))
lowest))
(if (stringp entry)
;; Dead groups.
(gnus-group-insert-group-line
- entry (if (member entry gnus-zombie-list)
- gnus-level-zombie gnus-level-killed)
+ entry (if (member entry gnus-zombie-list) gnus-level-zombie gnus-level-killed)
nil (- (1+ (cdr (setq active (gnus-active entry))))
(car active))
nil)
(car gnus-group-list-mode) (cdr gnus-group-list-mode)
nil nil topic level))
-(defun gnus-topic-fold (&optional insert topic)
+(defun gnus-topic-fold (&optional insert)
"Remove/insert the current topic."
- (let ((topic (or topic (gnus-group-topic-name))))
+ (let ((topic (gnus-group-topic-name)))
(when topic
(save-excursion
(if (not (gnus-group-active-topic-p))
"=" gnus-topic-select-group
"\r" gnus-topic-select-group
" " gnus-topic-read-group
- "\C-c\C-x" gnus-topic-expire-articles
"\C-k" gnus-topic-kill-group
"\C-y" gnus-topic-yank-group
"\M-g" gnus-topic-get-new-news-this-topic
"c" gnus-topic-copy-group
"h" gnus-topic-hide-topic
"s" gnus-topic-show-topic
- "j" gnus-topic-jump-to-topic
"M" gnus-topic-move-matching
"C" gnus-topic-copy-matching
"\C-i" gnus-topic-indent
["Copy matching" gnus-topic-copy-matching t]
["Move matching" gnus-topic-move-matching t])
("Topics"
- ["Goto" gnus-topic-jump-to-topic t]
["Show" gnus-topic-show-topic t]
["Hide" gnus-topic-hide-topic t]
["Delete" gnus-topic-delete t]
(mouse-set-point e)
(gnus-topic-read-group nil))
-(defun gnus-topic-expire-articles (topic)
- "Expire articles in this topic or group."
- (interactive (list (gnus-group-topic-name)))
- (if (not topic)
- (call-interactively 'gnus-group-expire-articles)
- (save-excursion
- (gnus-message 5 "Expiring groups in %s..." topic)
- (let ((gnus-group-marked
- (mapcar (lambda (entry) (car (nth 2 entry)))
- (gnus-topic-find-groups topic gnus-level-killed t))))
- (gnus-group-expire-articles nil))
- (gnus-message 5 "Expiring groups in %s...done" topic))))
-
(defun gnus-topic-read-group (&optional all no-article group)
"Read news in this newsgroup.
If the prefix argument ALL is non-nil, already read articles become