;ELC   
;;; Compiled by amu@quiche-lorraine.mit.edu on Thu Jan  6 19:17:41 2000
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.8.3/lisp/gnus-topic.el
;;; in Emacs version 20.4.1
;;; with bytecomp version 2.56
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`gnus-topic.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\301\302!\210\301\303!\210\301\304!\210\301\305!\210\306\307\310\311\303%\207" [:group require gnus gnus-group gnus-start gnus-util custom-declare-group gnus-topic nil "Group topics."] 6)
#@36 Minor mode for Gnus group buffers.
(defvar gnus-topic-mode nil (#$ . 848))
#@33 Hook run in topic mode buffers.
(custom-declare-variable 'gnus-topic-mode-hook 'nil '(#$ . 929) :type 'hook :group 'gnus-topic)
#@393 Format of topic lines.
It works along the same lines as a normal formatting string,
with some simple extensions.

%i  Indentation based on topic level.
%n  Topic name.
%v  Nothing if the topic is visible, "..." otherwise.
%g  Number of groups in the topic.
%a  Number of unread articles in the groups in the topic.
%A  Number of unread articles in the groups in the topic and its subtopics.

(custom-declare-variable 'gnus-topic-line-format '"%i[ %(%{%n%}%) -- %A ]%v\n" '(#$ . 1064) :type 'string :group 'gnus-topic)
#@45 *How much each subtopic should be indented.
(custom-declare-variable 'gnus-topic-indent-level '2 '(#$ . -1588) :type 'integer :group 'gnus-topic)
#@83 *If non-nil, display the topic lines even of topics that have no unread articles.
(custom-declare-variable 'gnus-topic-display-empty-topics 't '(#$ . -1740) :type 'boolean :group 'gnus-topic)
(byte-code "\304\300!\204 \305\300	B\304\302!\204 \305\302	B\304\303!\204  \305\303	B\305\207" [gnus-topic-active-topology current-load-list gnus-topic-active-alist gnus-topic-unreads boundp nil] 2)
#@56 Whether the topology has been checked in this session.
(defvar gnus-topology-checked-p nil (#$ . 2145))
(byte-code "\305\300!\204 \306\300	B\305\302!\204 \306\302	B\307\303	B\305\304!\204& \306\304	B\306\207" [gnus-topic-killed-topics current-load-list gnus-topic-inhibit-change-level gnus-topic-line-format-alist gnus-topic-line-format-spec boundp nil ((110 name 115) (118 visible 115) (105 indentation 115) (103 number-of-groups 100) (97 (gnus-topic-articles-in-topic entries) 100) (65 total-number-of-articles 100) (108 level 100))] 2)
#@44 The name of the topic on the current line.
(defalias 'gnus-group-topic-name #[nil "\301\302 \303\"\211\205 \304!)\207" [topic get-text-property gnus-point-at-bol gnus-topic symbol-name] 4 (#$ . 2700)])
#@45 The level of the topic on the current line.
(defalias 'gnus-group-topic-level #[nil "\300\301 \302\"\207" [get-text-property gnus-point-at-bol gnus-topic-level] 3 (#$ . 2911)])
#@61 The number of unread articles in topic on the current line.
(defalias 'gnus-group-topic-unread #[nil "\300\301 \302\"\207" [get-text-property gnus-point-at-bol gnus-topic-unread] 3 (#$ . 3094)])
#@48 Return the number of unread articles in TOPIC.
(defalias 'gnus-topic-unread #[(topic) "\302	\"A\206	 \303\207" [topic gnus-topic-unreads assoc 0] 3 (#$ . 3295)])
#@48 Return non-nil if the current line is a topic.
(defalias 'gnus-group-topic-p #[nil "\300 \207" [gnus-group-topic-name] 1 (#$ . 3464)])
#@49 Return non-nil if the current topic is visible.
(defalias 'gnus-topic-visible-p #[nil "\300\301 \302\"\207" [get-text-property gnus-point-at-bol gnus-topic-visible] 3 (#$ . 3605)])
(defalias 'gnus-topic-articles-in-topic #[(entries) "\303\304\n\203 \n\211A@@\211\247\203 	\\\202 	*\207" [number total entries 0 nil] 2])
#@40 Return the topic GROUP is a member of.
(defalias 'gnus-group-topic #[(group) "\304\211\203 \n@A\235\203 \n@@\304\nA\211\204 	*\207" [gnus-topic-alist out alist group nil] 3 (#$ . 3940)])
#@69 Return the topic GROUP is member of by looking at the group buffer.
(defalias 'gnus-group-parent-topic #[(group) "\212q\210\302	!\203 \303 \202 \304	!)\207" [gnus-group-buffer group gnus-group-goto-group gnus-current-topic gnus-group-topic] 2 (#$ . 4143)])
(defalias 'gnus-topic-goto-topic #[(topic) "\205 \302ed\303\304!$\211\205 	b)\207" [topic point text-property-any gnus-topic intern] 7])
#@14 Go to TOPIC.
(defalias 'gnus-topic-jump-to-topic #[(topic) "\302!\303\211\203 	@\304\305!\210	A\211\204\n *\306!\207" [topic #1=#:--dolist-temp--82051 gnus-current-topics nil gnus-topic-fold t gnus-topic-goto-topic] 3 (#$ . 4551) (list (completing-read "Go to topic: " (mapcar 'list (gnus-topic-list)) nil t))])
#@39 Return the name of the current topic.
(defalias 'gnus-current-topic #[nil "\302`\303\"\206 \212\304`\303\"\211\205 b)\205 \302`Se]\303\")\211\205' \305	!)\207" [point result get-text-property gnus-topic previous-single-property-change symbol-name] 4 (#$ . 4876)])
#@98 Return a list of all current topics, lowest in hierarchy first.
If TOPIC, start with that topic.
(defalias 'gnus-current-topics #[(&optional topic) "\206 \302 \303\211\203 	B\304!\211\204 	\237*\207" [topic topics gnus-current-topic nil gnus-topic-parent-topic] 3 (#$ . 5152)])
#@61 Say whether the current topic comes from the active topics.
(defalias 'gnus-group-active-topic-p #[nil "\212\300y\210\301`\302\")\207" [0 get-text-property gnus-active] 3 (#$ . 5446)])
#@49 Return entries for all visible groups in TOPIC.
(defalias 'gnus-topic-find-groups #[(topic &optional level all lowest) "\306	\"A\307\211\211\211\211\211\211\211\206! \310\206* \203\211A@\211\203\231 \311\"J\3128\3138\311\"J@\206o \314\232?\205o \n\205o \nAT\n@ZA@\211:\203\202 @\202\204 )\206\227 \235\203\225 \202\227  \203, X\203, Y\203, !\204\367 \315=\204\301 \307=\203\306 \"\202\312 \316V\204\367 #\203\334 \317\3208\236A\204\367 $\203\352 \321$\"\204\367 \322>\204\367 \322\236A\203, \206\375 \fB\202, \f\237.	\207" [topic gnus-topic-alist active entry visible-groups params assoc nil 1 intern-soft 2 5 "dummy.group" t 0 tick 3 string-match visible group unread clevel info groups lowest level gnus-level-unsubscribed gnus-newsrc-hashtb gnus-active-hashtb rank gnus-zombie-list gnus-level-zombie gnus-level-killed all gnus-group-list-inactive-groups gnus-list-groups-with-ticked-articles gnus-permanently-visible-groups] 10 (#$ . 5637)])
#@55 Return the previous topic on the same level as TOPIC.
(defalias 'gnus-topic-previous-topic #[(topic) "\302\303!!AA	@@@\232?\205+ 	\203' 	A@@@\232\204' 	A\211\204 	@@@)\207" [topic top gnus-topic-find-topology gnus-topic-parent-topic] 4 (#$ . 6692)])
#@29 Return the parent of TOPIC.
(defalias 'gnus-topic-parent-topic #[(topic &optional topology) "\204 	\211A@@\306\211\2031 @@@\232\211\2041 \307@\"\211\2041 A\211\204 \206: \n\205: \f+\207" [topology gnus-topic-topology found result parent topic nil gnus-topic-parent-topic] 4 (#$ . 6954)])
#@35 Return the next sibling of TOPIC.
(defalias 'gnus-topic-next-topic #[(topic &optional previous) "\304\305!!AA\306\211\203# \n@@@\232\204# \n@@@\nA\211\204 \203+ 	\2020 \nA@@@*\207" [topic prev parentt previous gnus-topic-find-topology gnus-topic-parent-topic nil] 4 (#$ . 7267)])
#@60 Go to the next topic on the same level as the current one.
(defalias 'gnus-topic-forward-topic #[(num) "\303 	\304W\203 \305\202 \306\307	!	\304U\204. \n!\211\203. \310!\203 	S\211\202 	\304U\2047 db\210	+\207" [topic num way gnus-current-topic 0 gnus-topic-previous-topic gnus-topic-next-topic abs gnus-topic-goto-topic] 3 (#$ . 7561)])
#@31 Return the topology of TOPIC.
(defalias 'gnus-topic-find-topology #[(topic &optional topology level remove) "\204 	\306\307@@\232\203% \n\203 \310\n\"\210\nB\202F A\211\203E \311@\nT\n\2058 \f$\211\204E A\211\204, *\207" [topology gnus-topic-topology level result top topic 0 nil delq gnus-topic-find-topology remove] 6 (#$ . 7916)])
(byte-code "\302\300!\204 \303\300	B\303\207" [gnus-tmp-topics current-load-list boundp nil] 2)
#@46 Return a list of all topics in the topology.
(defalias 'gnus-topic-list #[(&optional topology) "\204 	\303@@\nB\304\305A\"\210\n\207" [topology gnus-topic-topology gnus-tmp-topics nil mapcar gnus-topic-list] 3 (#$ . 8378)])
#@34 Return the parameters for TOPIC.
(defalias 'gnus-topic-parameters #[(topic) "\302!\211\205 \303	A@8)\207" [topic top gnus-topic-find-topology 3] 3 (#$ . 8615)])
#@50 Set the topic parameters of TOPIC to PARAMETERS.
(defalias 'gnus-topic-set-parameters #[(topic parameters) "\303!\211\204 \304\305\"\210	A@AA\204 	A@\306C\244\210\307	A@\233\204+ 	A@\306C\244\210\307	A@\233\n\240\210\310\311\312\n#!)\207" [topic top parameters gnus-topic-find-topology error "No such topic: %s" nil 3 gnus-dribble-enter format "(gnus-topic-set-parameters %S '%S)"] 6 (#$ . 8785)])
#@85 Compute the group parameters for GROUP taking into account inheritance from topics.
(defalias 'gnus-group-topic-parameters #[(group) "\302\303!!\212\304!\210	\305\306 !\244*\207" [group params-list copy-sequence gnus-group-get-parameter gnus-group-goto-group gnus-topic-hierarchical-parameters gnus-current-topic] 3 (#$ . 9195)])
#@41 Return a topic list computed for TOPIC.
(defalias 'gnus-topic-hierarchical-parameters #[(topic) "\306!\307\211\211\211\203 \310\211A@!\fB\202\f \311\307\f\"\f\211A@\211\203N 	\211A@\211\203\" :\204? \312B\311@\n\236\n\"\nB\202, \n-\207" [topic params out param params-list topics gnus-current-topics nil gnus-topic-parameters delq t] 5 (#$ . 9534)])
(defalias 'gnus-topic-enter-dribble #[nil "\301\302\303\"!\207" [gnus-topic-topology gnus-dribble-enter format "(setq gnus-topic-topology '%S)"] 4])
#@245 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.
If LOWEST is non-nil, list all newsgroups of level LOWEST or higher.
(defalias 'gnus-group-prepare-topics #[(level &optional all lowest regexp list-topic topic-level) "q\210\306	\206	 \307\203 \f\204 \310 \210\204 \311 \210Y\203< 	X\203< \312\313\314\"\211\315$\210Y\203[ 	X\203[ \312\313\314\"\211\316$\210	W\205\224 \203\203 \317!\320A@\206y \306	&)\202\224 \320\321\206\216 \306	&\322 \210B\323\324!\210*\207" [gnus-group-buffer lowest buffer-read-only gnus-topic-alist gnus-topology-checked-p list-topic nil 1 gnus-topic-check-topology erase-buffer gnus-group-prepare-flat-list-dead sort string< 90 75 gnus-topic-find-topology gnus-topic-prepare-topic 0 gnus-group-set-mode-line gnus-run-hooks gnus-group-prepare-hook level gnus-level-zombie gnus-zombie-list regexp gnus-level-killed gnus-killed-list top topic-level all gnus-topic-topology gnus-group-list-mode] 7 (#$ . 10064)])
#@141 Insert TOPIC into the group buffer.
If SILENT, don't insert anything.  Return the number of unread
articles in the topic and its subtopics.
(defalias 'gnus-topic-prepare-topic #[(topicl level &optional list-level all silent lowest) "\211A@\306	@\n\206 \307\310	@!\236A\f$	A@\307=\205# ?\311_\312\"\313y\210`\314!d \313!	@\"\315#\315$\315%\315&\315'\203r !\316\211A@T\n?\f&\\!\202U `%b\210\211A@\211$\203\203\346 $;\203\267 \317$\211(\235\203\236 )\202\240 *\315\320$+\"J\211&AT&@Z\315%\210\202\346 \321$8\211#\203\346 \317#@#A@\211,:\203\326 ,@\202\330 ,)\322#8$@\323#8%\210$<\203\373 $@\247\203\373 !$@\\!$<\203y \324'\202y b\210\204@-\204(!\313U\203('\204( dU\204@\325`!\210\326	@\321	8\327=?!&\210\330	@!\"\210%b\210!.\207" [topicl type list-level all lowest entries gnus-topic-find-groups visible gnus-topic-hierarchical-parameters make-string 32 0 reverse nil gnus-topic-prepare-topic gnus-group-insert-group-line intern-soft 2 3 4 t gnus-extent-start-open gnus-topic-insert-topic-line hidden gnus-topic-update-unreads silent visiblep gnus-topic-indent-level level gnus-group-indentation beg all-entries point-max unread topic info entry end active tick gnus-zombie-list gnus-level-zombie gnus-level-killed gnus-active-hashtb rank gnus-topic-display-empty-topics] 9 (#$ . 11198)])
#@27 Remove the current topic.
(defalias 'gnus-topic-remove-topic #[(&optional insert total-remove hide in-level) "\306 \307 \310y\210`\311\211\205` \312y\310U\203$ \307 \206 \nT\nV\204 	`|\210\313!A@\211\2037 \314\2028 \315\205> \316\fAAA@E\241\210)\203[ \317\320\"\"\211\202` \321\",\207" [buffer-read-only beg level topic data insert gnus-group-topic-name gnus-group-topic-level 0 nil 1 gnus-topic-find-topology visible invisible hide delq assoc gnus-topic-insert-topic total-remove gnus-topic-alist in-level] 5 (#$ . 12593)])
#@15 Insert TOPIC.
(defalias 'gnus-topic-insert-topic #[(topic &optional level) "\303@A\304\211	\n&\207" [gnus-group-list-mode topic level gnus-group-prepare-topics nil] 7 (#$ . 13147)])
#@34 Remove/insert the current topic.
(defalias 'gnus-topic-fold #[(&optional insert topic) "\206 \306 \211\2057 \212\307 \204 \310	\206 \311 ?!\2026 \n\312\313B\310	\206. \311 ?\314\211\315$\210\316 +))\207" [topic insert gnus-topic-active-topology gnus-topic-active-alist gnus-group-list-mode gnus-topic-alist gnus-group-topic-name gnus-group-active-topic-p gnus-topic-remove-topic gnus-topic-visible-p 5 t nil 9 gnus-topic-enter-dribble gnus-topic-topology] 6 (#$ . 13338)])
(defalias 'gnus-topic-insert-topic-line #[(name visiblep shownp level entries &optional unread) "\203 \306\202	 \307\310\n_\311\"G=\312\313\"\210\314y\210\315``T\316!\210\317\320!\321\322\323\324\257\n#.\207" [visiblep visible gnus-topic-indent-level level indentation unread "" "..." make-string 32 nil gnus-topic-update-unreads 0 gnus-add-text-properties eval gnus-topic intern gnus-topic-level gnus-topic-unread gnus-active gnus-topic-visible total-number-of-articles entries number-of-groups gnus-topic-alist gnus-topic-active-alist active-topic gnus-tmp-header name gnus-topic-line-format-spec] 13])
(defalias 'gnus-topic-update-unreads #[(topic unreads) "\303\304	\"	\"\nB	B\211\207" [topic gnus-topic-unreads unreads delq assoc] 4])
#@48 Update all topics that have GROUP as a member.
(defalias 'gnus-topic-update-topics-containing-group #[(group) "\305=\2050 	\2050 \212\n\205/ \f@A\235\203' \306@@!\203' \307@@!\210\211A\210\202 *\207" [major-mode gnus-topic-mode gnus-topic-alist alist group gnus-group-mode gnus-topic-goto-topic gnus-topic-update-topic-line] 2 (#$ . 14604)])
#@48 Update all parent topics to the current group.
(defalias 'gnus-topic-update-topic #[nil "\306=\2057 	\2057 \307 \310 \311\211\2056 \312\313\f\"J8\2056 \314\315 !\2056 \316\317 !\210b\210\311\211\223\210\320 +\207" [major-mode gnus-topic-mode buffer-read-only m group gnus-newsrc-hashtb gnus-group-mode gnus-group-group-name point-marker nil 2 intern-soft gnus-topic-goto-topic gnus-current-topic gnus-topic-update-topic-line gnus-group-topic-name gnus-group-position-point] 5 (#$ . 14961)])
#@53 Place point where GROUP is supposed to be inserted.
(defalias 'gnus-topic-goto-missing-group #[(group) "\306!\307	\n\"A\235A\310\f\203% \311\f@\310\"\204% \f\211A\210\202 \f?\205g \312!\235A\f\203L \203L \311\f\211A@\310\"\2031 \313y\210\314\2021 \205g 	\205g \315	!?\205g \316	\310\211\317	!@\314\320&,\207" [group topic gnus-topic-alist groups g unfound gnus-group-topic assoc t gnus-group-goto-group reverse 1 nil gnus-topic-goto-missing-topic gnus-topic-insert-topic-line gnus-topic-find-topology 0] 7 (#$ . 15465)])
(defalias 'gnus-topic-goto-missing-topic #[(topic) "\303!\203	 \304y\207\305\306!!\307	AA!	\204) \310\311\211\305!@\312\313&\210\202c \n@@@\232\2049 \nA\211\202* \nA\n\203Q \303\n@@@!\204Q \n\211A\210\202< \n\203\\ \314\304!\210\202c \315	A@@!\210*\312\207" [topic top tp gnus-topic-goto-topic 1 gnus-topic-find-topology gnus-topic-parent-topic reverse gnus-topic-insert-topic-line t nil 0 gnus-topic-forward-topic gnus-topic-goto-missing-topic] 8])
(defalias 'gnus-topic-update-topic-line #[(topic-name &optional reads) "\306!\211A@	AA\307\n@\f@\fA#\310!\311\312\312\312\313\n@!\203\232 \203? \314 Z\202q \203T \315\211A@@@!\\\202? \211A@\211\203q @\247\203T @\\\202T \314 \316\n@\317 \320\n8\321=?\322 &\210\311y\210`\323y\210`|\210\324y\210\314 \203\264 \324y\210\325\206\253 \311\206\261 \311Z\"\210.\n\207" [topic-name top type children gnus-group-list-mode entries gnus-topic-find-topology gnus-topic-find-groups gnus-topic-parent-topic 0 nil gnus-topic-goto-topic gnus-group-topic-unread gnus-topic-unread gnus-topic-insert-topic-line gnus-topic-visible-p 2 hidden gnus-group-topic-level 1 -1 gnus-topic-update-topic-line parent all-entries unread old-unread entry new-unread reads] 8])
(defalias 'gnus-topic-group-indentation #[nil "\301\212\302y\210\303\304 !\210\305 )\206 \306_\307\"\207" [gnus-topic-indent-level make-string -1 gnus-topic-goto-topic gnus-current-topic gnus-group-topic-level 0 32] 4])
(gnus-add-shutdown 'gnus-topic-close 'gnus)
(defalias 'gnus-topic-close #[nil "\304\304\304\304\211\207" [gnus-topic-active-topology gnus-topic-active-alist gnus-topic-killed-topics gnus-topology-checked-p nil] 2])
(defalias 'gnus-topic-check-topology #[nil "\204 \306 \210\307\310 \311\203/ @@\f\235\204( @@\312DCC\244\210\307A\211\204 \n\2036 \313 \210\f\203P \314\f@\"\204H \f@CB\f\211A\210\2026 +\315\316\317\320\"\"\321\314@@\"!A\311\203\221 \211A@@\211\235\204l C\241\210A\202l ,\311\211A@\211\205\316 A\203\227 A@\203\304 \322A@\"J\203\304 A\211\202\244 \211AA\241\210\202\242 *\207" [gnus-topic-alist gnus-topology-checked-p changed alist topics gnus-topic-topology gnus-topic-init-alist t gnus-topic-list nil visible gnus-topic-enter-dribble assoc apply append mapcar #[(entry) "A\207" [entry] 1] last intern-soft tgroups entry gnus-newsrc-alist newsrc group topic gnus-newsrc-hashtb] 6])
#@34 Initialize the topic structures.
(defalias 'gnus-topic-init-alist #[nil "\303\304D\305\306\307\"B\310\305\311	A\"B\303CD\312 \207" [gnus-topic-topology gnus-newsrc-alist gnus-topic-alist "Gnus" visible mapcar #[(topic) "@\301DC\207" [topic visible] 2] (("misc")) "misc" #[(info) "@\207" [info] 1] gnus-topic-enter-dribble] 4 (#$ . 18474)])
#@43 Remove bogus groups from the topic alist.
(defalias 'gnus-topic-clean-alist #[nil "\306\211\f\204 \307 \210\211A@\211\203c 	\211A@\306\211\f	\211A@\211\203W \310\"J\204F \311\312\310\"J88\203# \310\f\"J\204# B\202# \f\237B\nB+\202 \n\237\211+\207" [gnus-topic-alist topic result topic-alist gnus-killed-hashtb filtered-topic nil gnus-make-hashtable-from-killed intern-soft 4 2 group topic-name gnus-active-hashtb gnus-newsrc-hashtb] 5 (#$ . 18824)])
#@62 Run when changing levels to enter/remove groups from topics.
(defalias 'gnus-topic-change-level #[(group level oldlevel &optional previous) "\212q\210\306\n?\205+\307\3108@\206 \f!\210\205+\205+\n?\205+W\203r Y\203r \307\f!\203K \311y\210`\312y\210`|\210\2028 \205n \f@\235\203d @\313\f@A\"\241\210\211A\210\202K )\202+W\205+Y\205+\314 \315\316\212\317\320 !\210\321 )\206\230 \311_\322\"\fC\306\306\306 \323\212\324y\210\320 \206\270 !@@)\"\211\203';\203\321 C\204\337 \244\210\202'A\204\362 A\244\241\210\202' \204A\203A@\232\203A\244\241\210\315 A\202\362  \204'\244\210.\325 *\207" [gnus-group-buffer buffer-read-only gnus-topic-inhibit-change-level previous group gnus-topic-mode nil gnus-group-goto-group 2 0 1 delete gnus-group-group-name t make-string gnus-topic-goto-topic gnus-current-topic gnus-group-topic-level 32 assoc -1 gnus-topic-update-topic gnus-topic-alist oldlevel gnus-level-zombie level alist prev gnus-topic-indent-level gnus-group-indentation yanked talist end gnus-topic-topology] 4 (#$ . 19315)])
#@44 Go to group or the next group after group.
(defalias 'gnus-topic-goto-next-group #[(group props) "\204 \305	>\204 db\207\306\307\305	>A@!!\207\310!\203 \311\207\312\313!\n\"A\235A\211\203> \310\f@!\204> \fA\211\2040 \f\204\\ \314A!\235A\211\203\\ \310\f@!\204\\ \fA\211\204N @\204g eb\210\202r \f\204r \306@!\210\315*\311\207" [group props gnus-topic-alist list after gnus-topic gnus-topic-goto-topic symbol-name gnus-group-goto-group t assoc gnus-group-topic reverse nil] 5 (#$ . 20468)])
#@63 Parse all active groups and create topic structures for them.
(defalias 'gnus-topic-grok-active #[(&optional force) "\204	 	?\205+ \305\306\307\"\210\310\n\311\"\312\313DC\305\314\f\n\"\210\f@\315\240\210	@\315\240)\207" [force gnus-topic-active-alist groups gnus-active-hashtb gnus-topic-active-topology nil mapatoms #[(g) "J\205\f \302!	B\211\207" [g groups symbol-name] 2] sort string< "" visible gnus-topic-grok-active-1 "Gnus active"] 3 (#$ . 20982)])
(defalias 'gnus-topic-grok-active-1 #[(topology groups) "@@\306\307	!P\310\310\310\203O \311\n@\211\"\203O \311\312\313\225#\2046 \211A@B\202 \313\211\225O\314DC\211C\244\210\315\f\"\211\204 \311\316	\"\203^ 	\313\211\224O\202_ 	\211\237BB@	\240\210-\207" [topology name prefix tgroups ntopology group "^" regexp-quote nil string-match "\\." 0 invisible gnus-topic-grok-active-1 "\\.$" groups gnus-topic-active-alist] 5])
(byte-code "\303\300!\204 \304\300	B\303\302!\204 \304\302	B\204. \305 \306\300\307\"\210\306\310\311\"\210\306\312\313\"\210\304\207" [gnus-topic-mode-map current-load-list gnus-group-topic-map boundp nil make-sparse-keymap gnus-define-keys-1 ("=" gnus-topic-select-group "" gnus-topic-select-group " " gnus-topic-read-group "" gnus-topic-expire-articles "" gnus-topic-kill-group "" gnus-topic-yank-group "\347" gnus-topic-get-new-news-this-topic "AT" gnus-topic-list-active "Gp" gnus-topic-edit-parameters "#" gnus-topic-mark-topic "\243" gnus-topic-unmark-topic [tab] gnus-topic-indent [(meta tab)] gnus-topic-unindent "	" gnus-topic-indent "\211" gnus-topic-unindent gnus-mouse-2 gnus-mouse-pick-topic) (gnus-group-topic-map "T" gnus-group-mode-map) ("#" gnus-topic-mark-topic "\243" gnus-topic-unmark-topic "n" gnus-topic-create-topic "m" gnus-topic-move-group "D" gnus-topic-remove-group "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 "	" gnus-topic-indent [tab] gnus-topic-indent "r" gnus-topic-rename "" gnus-topic-delete [delete] gnus-topic-delete "H" gnus-topic-toggle-display-empty-topics) (gnus-topic-sort-map "S" gnus-group-topic-map) ("s" gnus-topic-sort-groups "a" gnus-topic-sort-groups-by-alphabet "u" gnus-topic-sort-groups-by-unread "l" gnus-topic-sort-groups-by-level "v" gnus-topic-sort-groups-by-score "r" gnus-topic-sort-groups-by-rank "m" gnus-topic-sort-groups-by-method)] 3)
(defalias 'gnus-topic-make-menu-bar #[nil "\303\300!?\205 \303\300!\204 \304\300	B\305\300\306\307#\210\310\300\n\307\311$\207" [gnus-topic-menu current-load-list gnus-topic-mode-map boundp nil put variable-documentation "" easy-menu-do-define ("Topics" ["Toggle topics" gnus-topic-mode t] ("Groups" ["Copy" gnus-topic-copy-group t] ["Move" gnus-topic-move-group t] ["Remove" gnus-topic-remove-group t] ["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] ["Rename" gnus-topic-rename t] ["Create" gnus-topic-create-topic t] ["Mark" gnus-topic-mark-topic t] ["Indent" gnus-topic-indent t] ["Sort" gnus-topic-sort-topics t] ["Toggle hide empty" gnus-topic-toggle-display-empty-topics t] ["Edit parameters" gnus-topic-edit-parameters t]) ["List active" gnus-topic-list-active t])] 5])
#@49 Minor mode for topicsifying Gnus group buffers.
(defalias 'gnus-topic-mode #[(&optional arg redisplay) "\306=\205\234 \307\302!\210	\204 \n?\202 \310	!\311V\211\204\" \312\202| \313\314\315\"\203, \316 \210\317\320\321\"\210\322\302\323\f#\210\324\325\326\"\210\307\327!\330L\210\307\331!\332L\210\307\333!\334L\210\307\335!\336L\210\307\337!\340L\210\307\341!\342L\210\343\344\345\346!\210\324\346\347\"\210\31201\203x \350 \210\351\352!\210\n\204\225 \353\354\326\"\210\353\305\343\"\210\353\346\347\"\210\355\356!2\205\234 \357 \207" [major-mode arg gnus-topic-mode gnus-goto-missing-group-function gnus-topic-mode-map gnus-group-change-level-function gnus-group-mode make-local-variable prefix-numeric-value 0 nil gnus-visual-p topic-menu menu gnus-topic-make-menu-bar gnus-set-format topic t gnus-add-minor-mode " Topic" add-hook gnus-group-catchup-group-hook gnus-topic-update-topic gnus-group-prepare-function gnus-group-prepare-topics gnus-group-get-parameter-function gnus-group-topic-parameters gnus-group-goto-next-group-function gnus-topic-goto-next-group gnus-group-indentation-function gnus-topic-group-indentation gnus-group-update-group-function gnus-topic-update-topics-containing-group gnus-group-sort-alist-function gnus-group-sort-topic gnus-topic-change-level gnus-topic-goto-missing-group make-local-hook gnus-check-bogus-groups-hook gnus-topic-clean-alist gnus-topic-check-topology gnus-run-hooks gnus-topic-mode-hook remove-hook gnus-summary-exit-hook gnus-group-prepare-flat gnus-group-sort-flat gnus-group-list-groups gnus-topology-checked-p gnus-newsrc-alist redisplay] 5 (#$ . 24412) (list current-prefix-arg t)])
#@230 Select this newsgroup.
No article is selected automatically.
If ALL is non-nil, already read articles become readable.
If ALL is a number, fetch this number of articles.

If performed over a topic line, toggle folding the topic.
(defalias 'gnus-topic-select-group #[(&optional all) "\302 \203 \203 \247\203 \202 \303\304B\202 	\305!)\207\306!\207" [all gnus-group-list-mode gnus-group-topic-p 7 t gnus-topic-fold gnus-group-select-group] 2 (#$ . 26074) "P"])
#@52 Select the group or topic under the mouse pointer.
(defalias 'gnus-mouse-pick-topic #[(e) "\301!\210\302\303!\207" [e mouse-set-point gnus-topic-read-group nil] 2 (#$ . 26550) "e"])
#@41 Expire articles in this topic or group.
(defalias 'gnus-topic-expire-articles #[(topic) "\204 \303\304!\207\212\305\306\307#\210\310\311\312	\313#\"\304\314!\210)\305\306\315#)\207" [topic gnus-level-killed gnus-group-marked call-interactively gnus-group-expire-articles gnus-message 5 "Expiring groups in %s..." mapcar #[(entry) "\3018@\207" [entry 2] 2] gnus-topic-find-groups t nil "Expiring groups in %s...done"] 6 (#$ . 26739) (list (gnus-group-topic-name))])
#@359 Read news in this newsgroup.
If the prefix argument ALL is non-nil, already read articles become
readable.  IF ALL is a number, fetch this number of articles.  If the
optional argument NO-ARTICLE is non-nil, no article will be
auto-selected upon group entry.  If GROUP is non-nil, fetch that
group.

If performed over a topic line, toggle folding the topic.
(defalias 'gnus-topic-read-group #[(&optional all no-article group) "\304 \203 \203 \247\203 \202 \305\306B\202 	\307!)\207\310\n#\207" [all gnus-group-list-mode no-article group gnus-group-topic-p 7 t gnus-topic-fold gnus-group-read-group] 4 (#$ . 27218) "P"])
#@97 Create a new TOPIC under PARENT.
When used interactively, PARENT will be the topic under point.
(defalias 'gnus-topic-create-topic #[(topic parent &optional previous full-topic) "\306!\203\n \307\310!\210	\204 \n@@\306	!A\206 \311BC\211\204) \307\312	\"\210\203M \fA\203C \fA@@@\232\204C \fA\211\202. \f\fAB\241\210\202R \fC\244\210\313\"\204a CB*\314 \210\315 \210\316!\207" [topic parent gnus-topic-topology full-topic top previous gnus-topic-find-topology error "Topic already exists" (visible) "No such parent topic: %s" assoc gnus-topic-enter-dribble gnus-group-list-groups gnus-topic-goto-topic gnus-topic-alist] 4 (#$ . 27856) (list (read-string "New topic: ") (gnus-current-topic))])
#@69 Move the next N groups to TOPIC.
If COPYP, copy the groups instead.
(defalias 'gnus-topic-move-group #[(n topic &optional copyp) "\306!\307	\n\"\310 \311y\210\312 \313\211\204* \204* \203* \314	\"\202D \315\316\"\210\317 \210\f\203> \320\f!\210\202B \321!\210\322 -\207" [n topic gnus-topic-alist entry start-group start-topic gnus-group-process-prefix assoc gnus-group-topic-name 1 gnus-group-group-name nil gnus-topic-move mapcar #[(g) "\305!\210\306\307 	\"\211\203 \204 \n\310\nA\"\241\210\fC\244\207" [g gnus-topic-alist entry copyp topicl gnus-group-remove-mark assoc gnus-current-topic gnus-delete-first] 4] gnus-topic-enter-dribble gnus-group-goto-group gnus-topic-goto-topic gnus-group-list-groups topicl groups copyp] 6 (#$ . 28576) (list current-prefix-arg (completing-read "Move to topic: " gnus-topic-alist nil t))])
#@42 Remove the current group from the topic.
(defalias 'gnus-topic-remove-group #[(&optional arg) "\301\302\"\207" [arg gnus-group-iterate #[(group) "\304\305 \"\306\211\203 \203 \307y\210`\310y\210`|\210\311\n\"\210\312 \210\313 *\207" [gnus-topic-alist buffer-read-only topicl group assoc gnus-current-topic nil 0 1 gnus-delete-first gnus-topic-update-topic gnus-group-position-point] 4]] 3 (#$ . 29434) "P"])
#@36 Copy the current group to a topic.
(defalias 'gnus-topic-copy-group #[(n topic) "\302	\303#\207" [n topic gnus-topic-move-group t] 4 (#$ . 29856) (list current-prefix-arg (completing-read "Copy to topic: " gnus-topic-alist nil t))])
#@25 Kill the next N groups.
(defalias 'gnus-topic-kill-group #[(&optional n discard) "\306 \203# \307 \310!\311	\"B\nB\312\313\314\"\210\310\313\211$\210\315 )\207\316\f\"\210\317 \207" [topic gnus-topic-alist gnus-topic-killed-topics gnus-topic-topology n discard gnus-group-topic-p gnus-group-topic-name gnus-topic-find-topology assoc gnus-topic-remove-topic nil t gnus-topic-enter-dribble gnus-group-kill-group gnus-topic-update-topic] 5 (#$ . 30096) "P"])
#@22 Yank the last topic.
(defalias 'gnus-topic-yank-group #[(&optional arg) "\2034 \306 \206 \307\310 !\211A@\211A\n@AB\311\f@@\312	!	\f$\210\313 \210\314\f@@!,\207\315 \316\317\212\314\310 !\210\320 )\206K \321_\322\"\323\323\324!\325\212\326y\210\310 )\";\203q C\204~ \244\210\202\255 A\204\216 A\244\241\210\202\255 A\203\255 A@\232\203\246 A\244\241\210\323A\211\202\217 -\327 \207" [gnus-topic-killed-topics previous data alist item gnus-topic-alist gnus-group-topic-name gnus-topic-next-topic gnus-current-topic gnus-topic-create-topic gnus-topic-parent-topic gnus-topic-enter-dribble gnus-topic-goto-topic gnus-group-group-name t make-string gnus-group-topic-level 0 32 nil gnus-group-yank-group assoc -1 gnus-topic-update-topic prev gnus-topic-inhibit-change-level gnus-topic-indent-level gnus-group-indentation yanked arg] 6 (#$ . 30565) "p"])
#@25 Hide the current topic.
(defalias 'gnus-topic-hide-topic #[nil "\300 \205 \301\300 !\210\302\303\211\304#\207" [gnus-current-topic gnus-topic-goto-topic gnus-topic-remove-topic nil hidden] 4 (#$ . 31475) nil])
#@24 Show the hidden topic.
(defalias 'gnus-topic-show-topic #[nil "\300 \205\n \301\302\303\304#\207" [gnus-group-topic-p gnus-topic-remove-topic t nil shown] 4 (#$ . 31692) nil])
#@53 Mark all groups in the topic with the process mark.
(defalias 'gnus-topic-mark-topic #[(topic &optional unmark) "\204 \304\305!\207\212\306	\307#\n\205) \203 \310\202 \311\312\n\211A@8@!\210\202 *\207" [topic gnus-level-killed groups unmark call-interactively gnus-group-mark-group gnus-topic-find-groups t gnus-group-remove-mark gnus-group-set-mark 2] 4 (#$ . 31874) (list (gnus-group-topic-name))])
#@55 Remove the process mark from all groups in the topic.
(defalias 'gnus-topic-unmark-topic #[(topic &optional unmark) "\204 \301\302!\207\303\304\"\207" [topic call-interactively gnus-group-unmark-group gnus-topic-mark-topic t] 3 (#$ . 32290) (list (gnus-group-topic-name))])
#@42 Check for new news in the current topic.
(defalias 'gnus-topic-get-new-news-this-topic #[(&optional n) "\301 \204	 \302!\207\303\304 !\210\302 \207" [n gnus-group-topic-p gnus-group-get-new-news-this-group gnus-topic-mark-topic gnus-group-topic-name] 2 (#$ . 32573) "P"])
#@50 Move all groups that match REGEXP to some topic.
(defalias 'gnus-topic-move-matching #[(regexp topic &optional copyp) "\303!\210\304\305	\n#\207" [regexp topic copyp gnus-group-mark-regexp gnus-topic-move-group nil] 4 (#$ . 32852) (byte-code "\302\303\304	\302\305$\211\306\307\310\"!D\237)\207" [topic gnus-topic-alist nil completing-read "Move to topic: " t read-string format "Move to %s (regexp): "] 5)])
#@50 Copy all groups that match REGEXP to some topic.
(defalias 'gnus-topic-copy-matching #[(regexp topic &optional copyp) "\302	\303#\207" [regexp topic gnus-topic-move-matching t] 4 (#$ . 33271) (byte-code "\302\303\304	\302\305$\211\306\307\310\"!D\237)\207" [topic gnus-topic-alist nil completing-read "Copy to topic: " t read-string format "Copy to %s (regexp): "] 5)])
#@17 Delete a topic.
(defalias 'gnus-topic-delete #[(topic) "\204 \304\305!\210\306	\"\307\211A\203 \304\310!\210\311!\203( \312y\210`\313y\210`|\210\314	\"\315\307\211\316$\210\317 *\207" [topic gnus-topic-alist buffer-read-only entry error "No topic to be deleted" assoc nil "Topic not empty" gnus-topic-goto-topic 0 1 delq gnus-topic-find-topology delete gnus-dribble-touch] 6 (#$ . 33651) (list (gnus-group-topic-name))])
#@17 Rename a topic.
(defalias 'gnus-topic-rename #[(old-name new-name) "\305!\203 \306\307\"\210\310\232\203 \306\311\312\"\210\305	!\313	\n\"\211\203) \fA@\240\210\2031 \240\210\314y\210\315 \210\316 \210\317y*\207" [new-name old-name gnus-topic-alist entry top gnus-topic-find-topology error "Topic '%s' already exists" "nil" "Invalid name: %s" nil assoc -1 gnus-dribble-touch gnus-group-list-groups 1] 5 (#$ . 34088) (let ((topic (gnus-current-topic))) (list topic (read-string (format "Rename %s to: " topic))))])
#@98 Indent a topic -- make it a sub-topic of the previous topic.
If UNINDENT, remove an indentation.
(defalias 'gnus-topic-indent #[(&optional unindent) "\203 \306 \207\307 \310	!\311\n\204 \312\313	\"\210	\205@ \314	!\210\315 \210\f@AB\316	\n\311\f@@A$\210\fA\314	!\206@ \314\n!+\207" [unindent topic parent buffer-read-only gnus-topic-killed-topics gnus-topic-alist gnus-topic-unindent gnus-current-topic gnus-topic-previous-topic nil error "Nothing to indent %s into" gnus-topic-goto-topic gnus-topic-kill-group gnus-topic-create-topic] 5 (#$ . 34619) "P"])
#@19 Unindent a topic.
(defalias 'gnus-topic-unindent #[nil "\305 \306!\306	!\211\204 \307\310\"\210\2057 \311!\210\312 \210@A\fB\313\n\314	!@@A$\210A\311!+\207" [topic parent grandparent gnus-topic-killed-topics gnus-topic-alist gnus-current-topic gnus-topic-parent-topic error "Nothing to indent %s into" gnus-topic-goto-topic gnus-topic-kill-group gnus-topic-create-topic gnus-topic-next-topic] 6 (#$ . 35191) nil])
#@107 List all groups that Gnus knows about in a topicsified fashion.
If FORCE, always re-read the active file.
(defalias 'gnus-topic-list-active #[(&optional force) "\203 \306 \210\307!\210	\n\310\211\311\f\310\312#,\207" [force gnus-topic-active-topology gnus-topic-active-alist gnus-zombie-list gnus-killed-list gnus-topic-alist gnus-get-killed-groups gnus-topic-grok-active nil gnus-group-list-groups 1 gnus-topic-topology gnus-level-killed] 4 (#$ . 35627) "P"])
#@48 Show/hide topics that have no unread articles.
(defalias 'gnus-topic-toggle-display-empty-topics #[nil "?\301 \210\302\303\203 \304\202 \305\"\207" [gnus-topic-display-empty-topics gnus-group-list-groups message "%s empty topics" "Showing" "Hiding"] 3 (#$ . 36103) nil])
#@97 Edit the group parameters of GROUP.
If performed on a topic, edit the topic parameters instead.
(defalias 'gnus-topic-edit-parameters #[(group) "\203 \302!\207\303 \204 \304\305!\207\306 \307\310	!\311\312\206 	\"\313\314\315	\316BBE#)\207" [group topic gnus-group-edit-group-parameters gnus-group-topic-p error "Nothing to edit on the current line" gnus-group-topic-name gnus-edit-form gnus-topic-parameters format "Editing the topic parameters for `%s'." lambda (form) gnus-topic-set-parameters (form)] 8 (#$ . 36385) (list (gnus-group-group-name))])
#@58 Sort groups in the topics according to FUNC and REVERSE.
(defalias 'gnus-group-sort-topic #[(func reverse) "	\205# 	\304\305	@\"\240\210	\306\307	@\"\240\210\310	\211A@\n#\210\202 )\207" [gnus-topic-alist alist func reverse delq nil delete "dummy.group" gnus-topic-sort-topic] 4 (#$ . 36951)])
(defalias 'gnus-topic-sort-topic #[(topic func reverse) "\303\304\305\303\306A\"	\"\"\241\210\n\205 \211A\237\241\207" [topic func reverse mapcar #[(info) "@\207" [info] 1] sort #[(group) "\302\303	\"J8\207" [group gnus-newsrc-hashtb 2 intern-soft] 4]] 7])
#@82 Sort the current topic according to FUNC.
If REVERSE, reverse the sorting order.
(defalias 'gnus-topic-sort-groups #[(func &optional reverse) "\304\305 \"\306	\307\n!#\210\310 )\207" [gnus-topic-alist topic func reverse assoc gnus-current-topic gnus-topic-sort-topic gnus-make-sort-function gnus-group-list-groups] 4 (#$ . 37519) (list gnus-group-sort-function current-prefix-arg)])
#@89 Sort the current topic alphabetically by group name.
If REVERSE, sort in reverse order.
(defalias 'gnus-topic-sort-groups-by-alphabet #[(&optional reverse) "\301\302\"\207" [reverse gnus-topic-sort-groups gnus-group-sort-by-alphabet] 3 (#$ . 37911) "P"])
#@89 Sort the current topic by number of unread articles.
If REVERSE, sort in reverse order.
(defalias 'gnus-topic-sort-groups-by-unread #[(&optional reverse) "\301\302\"\207" [reverse gnus-topic-sort-groups gnus-group-sort-by-unread] 3 (#$ . 38173) "P"])
#@75 Sort the current topic by group level.
If REVERSE, sort in reverse order.
(defalias 'gnus-topic-sort-groups-by-level #[(&optional reverse) "\301\302\"\207" [reverse gnus-topic-sort-groups gnus-group-sort-by-level] 3 (#$ . 38431) "P"])
#@75 Sort the current topic by group score.
If REVERSE, sort in reverse order.
(defalias 'gnus-topic-sort-groups-by-score #[(&optional reverse) "\301\302\"\207" [reverse gnus-topic-sort-groups gnus-group-sort-by-score] 3 (#$ . 38673) "P"])
#@74 Sort the current topic by group rank.
If REVERSE, sort in reverse order.
(defalias 'gnus-topic-sort-groups-by-rank #[(&optional reverse) "\301\302\"\207" [reverse gnus-topic-sort-groups gnus-group-sort-by-rank] 3 (#$ . 38915) "P"])
#@91 Sort the current topic alphabetically by backend name.
If REVERSE, sort in reverse order.
(defalias 'gnus-topic-sort-groups-by-method #[(&optional reverse) "\301\302\"\207" [reverse gnus-topic-sort-groups gnus-group-sort-by-method] 3 (#$ . 39154) "P"])
(defalias 'gnus-topic-sort-topics-1 #[(top reverse) "A\203# \303\304\305\306\300	EE\307A\310\"\"	\203 \301\n!\202  \n\241\210)\207" [top reverse subtop mapcar lambda (top) gnus-topic-sort-topics-1 sort #[(t1 t2) "@@	@@\231\207" [t1 t2] 2]] 6])
#@90 Sort topics in TOPIC alphabeticaly by topic name.
If REVERSE, reverse the sorting order.
(defalias 'gnus-topic-sort-topics #[(&optional topic reverse) "\203 \304!A\206\f 	\305\n\"\210\306 \210\307 \210\310!)\207" [topic gnus-topic-topology topic-topology reverse gnus-topic-find-topology gnus-topic-sort-topics-1 gnus-topic-enter-dribble gnus-group-list-groups gnus-topic-goto-topic] 3 (#$ . 39665) (list (completing-read "Sort topics in : " gnus-topic-alist nil t (gnus-current-topic)) current-prefix-arg)])
#@31 Move the CURRENT topic to TO.
(defalias 'gnus-topic-move #[(current to) "\203 	\204\f \304\305!\210\306!A\306	!A\211\204 \304\307\"\210\n\204( \304\307	\"\210\306	\310#\2035 \304\311\"\210\306\312\211\313$\210\nA\203H \nA\211\202= \nC\241\210\314 \210\315 \210\316!*\207" [current to to-top current-top error "Can't find topic" gnus-topic-find-topology "Can't find topic `%s'" 0 "Can't move `%s' to its sub-level" nil delete gnus-topic-enter-dribble gnus-group-list-groups gnus-topic-goto-topic] 6 (#$ . 40186) (list (gnus-group-topic-name) (completing-read "Move to topic: " gnus-topic-alist nil t))])
(defalias 'gnus-subscribe-topics #[(newsgroup) "\300\301\215\207" [end (byte-code "\306\211\307 \306\211\203: @\310\311\n!\236A\211\2033 \312	\f\"\2033 \313\f!\210\314\n\"\fC\244\210\315\316\317\"\210A\211\204 ,\306\207" [gnus-group-change-level-function match topic #1=#:--dolist-temp--82052 newsgroup gnus-topic-alist nil gnus-topic-list subscribe gnus-topic-parameters string-match gnus-subscribe-alphabetically assoc throw end t] 4)] 2])
(provide 'gnus-topic)
