;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306\301%\207" [require erc custom-declare-group erc-list nil "Support for the /list command." :group] 6)
(defconst erc-list-nusers-column 25)
(defconst erc-list-topic-column (+ erc-list-nusers-column 10))
(defvar erc-list-buffer nil)
(defvar erc-list-last-argument nil)
(defvar erc-list-server-buffer nil)
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable erc-list-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-List mode is enabled.\nSee the `erc-list-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `erc-list-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group erc-list] 12)#@236 Toggle ERC list mode.
With a prefix argument ARG, enable list if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
List channels nicely in a separate buffer.

(fn &optional ARG)
(defalias 'erc-list-mode #[256 "\302 \303\301\304=\203 \305\301!?\202! \247\203  \306W\203  \307\202! \310\"\210\311\300!\2038 \312\301\"\305\301!\2038 \301B	\203B \313 \210\202E \314 \210\315\316\305\301!\203Q \317\202R \320\"\210\321\322!\203{ \323\301!\210\302 \203j \211\302 \232\203{ \324\325\326\305\301!\203w \327\202x \330\331$\210\210\332 \210\305\301!\207" [global-minor-modes erc-list-mode current-message set-default toggle default-value 1 nil t boundp delq erc-list-enable erc-list-disable run-hooks erc-list-mode-hook erc-list-mode-on-hook erc-list-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Erc-List mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 959) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-list-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205# \310\211%\207" [erc-list-mode-map erc-list-mode-hook variable-documentation put "Hook run after entering or leaving `erc-list-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode erc-list-mode boundp] 6)#@23 Enable ERC list mode.
(defalias 'erc-list-enable #[0 "\302>\203 \210\202 \302B\303\304\305\306\"\210\304\307\310\"\207" [erc-modules erc-list-mode list t remove-hook erc-server-321-functions erc-server-321-message erc-server-322-functions erc-server-322-message] 3 (#$ . 2509) nil])#@24 Disable ERC list mode.
(defalias 'erc-list-disable #[0 "\302\303\"\304\305\306\304\"\210\307\310\311\312#\210\307\313\314\312#\207" [erc-modules erc-list-mode delq list nil erc-buffer-filter #[0 "\300 \205\n \301\302\303\304#\207" [erc-open-server-buffer-p remove-hook erc-server-322-functions erc-list-handle-322 t] 4] add-hook erc-server-321-functions erc-server-321-message t erc-server-322-functions erc-server-322-message] 4 (#$ . 2804) nil])
(byte-code "\300\301\302\303#\210\300\301\304\303#\210\300\305\304\303#\210\300\306\304\303#\207" [put erc-list-mode erc-module list definition-name erc-list-enable erc-list-disable] 4)#@28 

(fn CHANNEL USERS TOPIC)
(defalias 'erc-list-make-string #[771 "\302\303\304\305\306E\307\310%\302\303\304\305\306	E\307\310%\260\207" [erc-list-nusers-column erc-list-topic-column propertize " " display space :align-to face fixed-pitch] 12 (#$ . 3446)])#@28 

(fn CHANNEL USERS TOPIC)
(defalias 'erc-list-insert-item #[771 "\212\301db\210\302#\303\261*\207" [buffer-read-only nil erc-list-make-string "\n"] 7 (#$ . 3713)])#@42 Join the irc channel named on this line.
(defalias 'erc-list-join #[0 "m?\205 \301 \210\302\303!\204 \304\305!\210\306\307!rq\210\310!)\262\207" [erc-list-server-buffer beginning-of-line looking-at "\\([&#+!][^ \n]+\\)" error "Not looking at channel name?" match-string 1 erc-join-channel] 3 (#$ . 3888) nil])#@35 Kill the current ERC list buffer.
(defalias 'erc-list-kill #[0 "\300p!\207" [kill-buffer] 2 (#$ . 4208) nil])#@31 Refresh the list of channels.
(defalias 'erc-list-revert #[0 "rq\210\302	!)\207" [erc-list-server-buffer erc-list-last-argument erc-cmd-LIST] 2 (#$ . 4323) nil])#@67 Sort the channel list by the column clicked on.

(fn &optional E)
(defalias 'erc-list-menu-sort-by-column #[256 "\211\203 \301!\210\302!\211\211\3038\262\206 \304!\262\211\203( \305A\306@#\202. \305\307!\306\"\310\211\311U\203> \312ed#\202C \313ed#)\207" [buffer-read-only mouse-select-window event-start 7 posn-string get-text-property column-number posn-point nil 1 sort-fields sort-numeric-fields] 8 (#$ . 4491) (list last-input-event)])#@43 Local keymap for `erc-list-mode' buffers.
(defvar erc-list-menu-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\207" [special-mode-map make-keymap set-keymap-parent define-key "k" erc-list-kill "j" erc-list-join "g" erc-list-revert "n" next-line "p" previous-line] 5) (#$ . 4951))#@54 Local keymap for ERC list menu mode sorting buttons.
(defvar erc-list-menu-sort-button-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\207" [make-sparse-keymap define-key [header-line mouse-1] erc-list-menu-sort-by-column [follow-link] mouse-face] 5) (#$ . 5318))#@21 

(fn TITLE COLUMN)
(defalias 'erc-list-button #[514 "\301\302\303\304\305\306\307&	\207" [erc-list-menu-sort-button-map propertize column-number help-echo "mouse-1: sort by column" mouse-face header-line-highlight keymap] 12 (#$ . 5597)])
(defvar erc-list-menu-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [erc-list-menu-mode-hook variable-documentation put "Hook run after entering ERC-List mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp erc-list-menu-mode-map definition-name erc-list-menu-mode] 4)
(defvar erc-list-menu-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\303\311\320\321#\207" [erc-list-menu-mode-abbrev-table erc-list-menu-mode-map variable-documentation put purecopy "Keymap for `erc-list-menu-mode'." boundp erc-list-menu-mode-syntax-table definition-name erc-list-menu-mode defvar-1 nil make-syntax-table "Syntax table for `erc-list-menu-mode'." define-abbrev-table "Abbrev table for `erc-list-menu-mode'." derived-mode-parent special-mode] 5)#@255 Major mode for editing a list of irc channels.

In addition to any hooks its parent mode `special-mode' might have
run, this mode runs the hook `erc-list-menu-mode-hook', as the final
or penultimate step during initialization.

\{erc-list-menu-mode-map}
(defalias 'erc-list-menu-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R (=\204R \326\325(C#\210\327!\210\330\f!\210(\331\332\333\334\335\336%\337\340\341\342\"\340\343\344\"\345#P)\307*)\346\347!\207" [delay-mode-hooks major-mode mode-name erc-list-menu-mode-map erc-list-menu-mode-syntax-table erc-list-menu-mode-abbrev-table make-local-variable t special-mode erc-list-menu-mode "ERC-List" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table propertize " " display (space :align-to 0) face fixed-pitch erc-list-make-string erc-list-button "Channel" 1 "# Users" 2 "Topic" run-mode-hooks erc-list-menu-mode-hook local-abbrev-table header-line-format truncate-lines] 6 (#$ . 7023) nil])
(put 'erc-list-menu-mode 'mode-class 'special)#@20 

(fn PROC PARSED)
(defalias 'erc-list-handle-322 #[514 "\302!>\204 \303\304\305D\"\210\211\306HA\211@A@\302!>\204( \303\304\305D\"\210\307H\310	!\203< r	q\210\311#)\210\266\312\207" [cl-struct-erc-response-tags erc-list-buffer type-of signal wrong-type-argument erc-response 4 5 buffer-live-p erc-list-insert-item t] 10 (#$ . 8326)])#@22 

(fn SERVER-BUFFER)
(defalias 'erc-list-install-322-handler #[257 "r\211q\210\304\305\306\307\211$\210\310\311\312\"\210\313\301!\210\314\315\316Q!r	q\210\317 \210\320\321 \210\313\303!\210\211\307)\322	!)\210\307\207" [erc-server-announced-name erc-list-buffer buffer-read-only erc-list-server-buffer add-hook erc-server-322-functions erc-list-handle-322 t erc-once-with-server-event 323 #[514 "\300\301\302\303#\207" [remove-hook erc-server-322-functions erc-list-handle-322 t] 6 "\n\n(fn PROC PARSED)"] make-local-variable get-buffer-create "*Channels of " "*" erc-list-menu-mode nil erase-buffer pop-to-buffer] 6 (#$ . 8680)])#@360 Show a listing of channels on the current server in a separate window.

If LINE is specified, include it with the /LIST command.  It
should usually be one or more channels, separated by commas.

Please note that this function only works with IRC servers which conform
to RFC and send the LIST header (#321) at start of list transmission.

(fn &optional LINE)
(defalias 'erc-cmd-LIST #[256 "\301 \302!\203 r\211q\210\303\300!\210\304\305p\306\307\"\262\")\210\210\310\311\203, \312\313O\206- \314P!\207" [erc-list-last-argument erc-server-buffer buffer-live-p make-local-variable erc-once-with-server-event 321 make-closure #[514 "\301\300!\207" [V0 erc-list-install-322-handler] 4 "\n\n(fn PROC PARSED)"] erc-server-send "LIST :" 1 nil ""] 8 (#$ . 9323)])
(byte-code "\300\301\302\303#\210\304\305!\207" [put erc-cmd-LIST do-not-parse-args t provide erc-list] 4)
