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



(require 'erc-common)#@39 Setup Imenu support in an ERC buffer.
(defalias 'erc-imenu-setup #[0 "\301\300!\210\302\211\207" [imenu-create-index-function make-local-variable erc-create-imenu-index] 2 (#$ . 105)])
(add-hook 'erc-mode-hook 'erc-imenu-setup)#@31 Imenu index creation function
(autoload 'erc-create-imenu-index "erc-imenu" '(#$ . 339))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\315\316\317\320\310\321\306\322&\207" [custom-declare-variable erc-input-line-position funcall function #[0 "\300\207" [nil] 1 #1=""] "Specify where to position the input line when using `erc-scroll-to-bottom'.\n\nThis should be an integer specifying the line of the buffer on which\nthe input line should stay.  A value of \"-1\" would keep the input\nline positioned on the last line in the buffer.  This is passed as an\nargument to `recenter'." :group erc-display :type (choice integer (const nil)) erc-scrolltobottom-mode #[0 "\300\207" [nil] 1 #1#] "Non-nil if Erc-Scrolltobottom mode is enabled.\nSee the `erc-scrolltobottom-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-scrolltobottom-mode'." :set custom-set-minor-mode :initialize custom-initialize-default boolean erc-scrolltobottom] 12)#@275 Toggle ERC scrolltobottom mode.
With a prefix argument ARG, enable scrolltobottom if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
This mode causes the prompt to stay at the end of the window.

(fn &optional ARG)
(defalias 'erc-scrolltobottom-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-scrolltobottom-mode current-message set-default toggle default-value 1 nil t boundp delq erc-scrolltobottom-enable erc-scrolltobottom-disable run-hooks erc-scrolltobottom-mode-hook erc-scrolltobottom-mode-on-hook erc-scrolltobottom-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Erc-Scrolltobottom mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 1470) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-scrolltobottom-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-scrolltobottom-mode-map erc-scrolltobottom-mode-hook variable-documentation put "Hook run after entering or leaving `erc-scrolltobottom-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-scrolltobottom-mode boundp] 6)#@33 Enable ERC scrolltobottom mode.
(defalias 'erc-scrolltobottom-enable #[0 "\302>\203 \210\202 \302B\303\304\305\306\"\210\304\307\310\"\210\311 \211\2052 \211@r\211q\210\306 )\210A\266\202\202 \207" [erc-modules erc-scrolltobottom-mode scrolltobottom t add-hook erc-mode-hook erc-add-scroll-to-bottom erc-insert-done-hook erc-possibly-scroll-to-bottom erc-buffer-list] 3 (#$ . 3190) nil])#@34 Disable ERC scrolltobottom mode.
(defalias 'erc-scrolltobottom-disable #[0 "\302\303\"\304\305\306\307\"\210\305\310\311\"\210\312 \211\205+ \211@r\211q\210\305\313\314\315#)\210A\266\202\202 \207" [erc-modules erc-scrolltobottom-mode delq scrolltobottom nil remove-hook erc-mode-hook erc-add-scroll-to-bottom erc-insert-done-hook erc-possibly-scroll-to-bottom erc-buffer-list post-command-hook erc-scroll-to-bottom t] 6 (#$ . 3592) 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-scrolltobottom-mode erc-module scrolltobottom definition-name erc-scrolltobottom-enable erc-scrolltobottom-disable] 4)#@66 Like `erc-add-scroll-to-bottom', but only if window is selected.
(defalias 'erc-possibly-scroll-to-bottom #[0 "\300 \301 =\205\n \302 \207" [selected-window get-buffer-window erc-scroll-to-bottom] 2 (#$ . 4267)])#@306 A hook function for `erc-mode-hook' to recenter output at bottom of window.

If you find that ERC hangs when using this function, try customizing
the value of `erc-input-line-position'.

This works whenever scrolling happens, so it's added to
`window-scroll-functions' rather than `erc-insert-post-hook'.
(defalias 'erc-add-scroll-to-bottom #[0 "\300\301\302\303\304$\207" [add-hook post-command-hook erc-scroll-to-bottom nil t] 5 (#$ . 4486)])#@229 Recenter WINDOW so that `point' is on the last line.

This is added to `window-scroll-functions' by `erc-add-scroll-to-bottom'.

You can control which line is recentered to by customizing the
variable `erc-input-line-position'.
(defalias 'erc-scroll-to-bottom #[0 "\303\214~\210	\205 `	V\205 \212db\210\304\n\206 \305!)*\207" [resize-mini-windows erc-insert-marker erc-input-line-position nil recenter -1] 2 (#$ . 4937)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable erc-readonly-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Readonly mode is enabled.\nSee the `erc-readonly-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-readonly-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group erc-readonly] 12)#@253 Toggle ERC readonly mode.
With a prefix argument ARG, enable readonly if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
This mode causes all inserted text to be read-only.

(fn &optional ARG)
(defalias 'erc-readonly-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-readonly-mode current-message set-default toggle default-value 1 nil t boundp delq erc-readonly-enable erc-readonly-disable run-hooks erc-readonly-mode-hook erc-readonly-mode-on-hook erc-readonly-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Erc-Readonly mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 5916) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-readonly-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-readonly-mode-map erc-readonly-mode-hook variable-documentation put "Hook run after entering or leaving `erc-readonly-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-readonly-mode boundp] 6)#@27 Enable ERC readonly mode.
(defalias 'erc-readonly-enable #[0 "\302>\203 \210\202 \302B\303\304\305\306\"\210\304\307\306\"\207" [erc-modules erc-readonly-mode readonly t add-hook erc-insert-post-hook erc-make-read-only erc-send-post-hook] 3 (#$ . 7536) nil])#@28 Disable ERC readonly mode.
(defalias 'erc-readonly-disable #[0 "\302\303\"\304\305\306\307\"\210\305\310\307\"\207" [erc-modules erc-readonly-mode delq readonly nil remove-hook erc-insert-post-hook erc-make-read-only erc-send-post-hook] 3 (#$ . 7807) 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-readonly-mode erc-module readonly definition-name erc-readonly-enable erc-readonly-disable] 4)#@125 Make all the text in the current buffer read-only.
Put this function on `erc-insert-post-hook' and/or `erc-send-post-hook'.
(defalias 'erc-make-read-only #[0 "\300ed\301\302$\210\300ed\303\302$\210\300ed\304\302$\207" [put-text-property read-only t front-sticky rear-nonsticky] 5 (#$ . 8275)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable erc-move-to-prompt-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Move-To-Prompt mode is enabled.\nSee the `erc-move-to-prompt-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-move-to-prompt-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group erc-move-to-prompt] 12)#@284 Toggle ERC move-to-prompt mode.
With a prefix argument ARG, enable move-to-prompt if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
This mode causes the point to be moved to the prompt when typing text.

(fn &optional ARG)
(defalias 'erc-move-to-prompt-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-move-to-prompt-mode current-message set-default toggle default-value 1 nil t boundp delq erc-move-to-prompt-enable erc-move-to-prompt-disable run-hooks erc-move-to-prompt-mode-hook erc-move-to-prompt-mode-on-hook erc-move-to-prompt-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Erc-Move-To-Prompt mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 9152) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-move-to-prompt-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-move-to-prompt-mode-map erc-move-to-prompt-mode-hook variable-documentation put "Hook run after entering or leaving `erc-move-to-prompt-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-move-to-prompt-mode boundp] 6)#@33 Enable ERC move-to-prompt mode.
(defalias 'erc-move-to-prompt-enable #[0 "\302>\203 \210\202 \302B\303\304\305\306\"\210\307 \211\205- \211@r\211q\210\306 )\210A\266\202\202 \207" [erc-modules erc-move-to-prompt-mode move-to-prompt t add-hook erc-mode-hook erc-move-to-prompt-setup erc-buffer-list] 3 (#$ . 10881) nil])#@34 Disable ERC move-to-prompt mode.
(defalias 'erc-move-to-prompt-disable #[0 "\302\303\"\304\305\306\307\"\210\310 \211\205& \211@r\211q\210\305\311\312\313#)\210A\266\202\202 \207" [erc-modules erc-move-to-prompt-mode delq move-to-prompt nil remove-hook erc-mode-hook erc-move-to-prompt-setup erc-buffer-list pre-command-hook erc-move-to-prompt t] 6 (#$ . 11215) 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-move-to-prompt-mode erc-module move-to-prompt definition-name erc-move-to-prompt-enable erc-move-to-prompt-disable] 4)#@71 Move the point to the ERC prompt if this is a self-inserting command.
(defalias 'erc-move-to-prompt #[0 "\205 `W\205 	\302=\205 \303 \210\304 \210db\207" [erc-input-marker this-command self-insert-command deactivate-mark push-mark] 2 (#$ . 11819)])#@39 Initialize the move-to-prompt module.
(defalias 'erc-move-to-prompt-setup #[0 "\300\301\302\303\304$\207" [add-hook pre-command-hook erc-move-to-prompt nil t] 5 (#$ . 12078)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable erc-keep-place-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Keep-Place mode is enabled.\nSee the `erc-keep-place-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-keep-place-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group erc-keep-place] 12)#@257 Toggle ERC keep-place mode.
With a prefix argument ARG, enable keep-place if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
Leave point above un-viewed text in other channels.

(fn &optional ARG)
(defalias 'erc-keep-place-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-keep-place-mode current-message set-default toggle default-value 1 nil t boundp delq erc-keep-place-enable erc-keep-place-disable run-hooks erc-keep-place-mode-hook erc-keep-place-mode-on-hook erc-keep-place-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Erc-Keep-Place mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 12817) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-keep-place-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-keep-place-mode-map erc-keep-place-mode-hook variable-documentation put "Hook run after entering or leaving `erc-keep-place-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-keep-place-mode boundp] 6)#@29 Enable ERC keep-place mode.
(defalias 'erc-keep-place-enable #[0 "\302>\203 \210\202 \302B\303\304\305\306\"\207" [erc-modules erc-keep-place-mode keep-place t add-hook erc-insert-pre-hook erc-keep-place] 3 (#$ . 14468) nil])#@30 Disable ERC keep-place mode.
(defalias 'erc-keep-place-disable #[0 "\302\303\"\304\305\306\307\"\207" [erc-modules erc-keep-place-mode delq keep-place nil remove-hook erc-insert-pre-hook erc-keep-place] 3 (#$ . 14706) 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-keep-place-mode erc-module keep-place definition-name erc-keep-place-enable erc-keep-place-disable] 4)#@80 Move point away from the last line in a non-selected ERC buffer.

(fn IGNORED)
(defalias 'erc-keep-place #[257 "\302\303 !p=?\2056 `Y\2056 \304 \210\305 b\210\306y\210	\2056 \307 \211\2054 \211@\310\311\312\313$\210A\266\202\202  \262\207" [erc-insert-marker switch-to-buffer-preserve-window-point window-buffer selected-window deactivate-mark erc-beg-of-input-line -1 frame-list walk-window-tree #[257 "p\300!\236\211\205 \211AA\211\301 \240\262\207" [window-prev-buffers point-marker] 5 "\n\n(fn WINDOW)"] nil nominibuf] 8 (#$ . 15148)])#@203 List of commands that are aliases for CTCP ACTION or for ERC messages.

If a command's function symbol is in this list, the typed command
does not appear in the ERC buffer after the user presses ENTER.
(defvar erc-noncommands-list '(erc-cmd-ME erc-cmd-COUNTRY erc-cmd-SV erc-cmd-SM erc-cmd-SMV erc-cmd-LASTLOG) (#$ . 15701))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable erc-noncommands-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Noncommands mode is enabled.\nSee the `erc-noncommands-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-noncommands-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group erc-noncommands] 12)#@314 Toggle ERC noncommands mode.
With a prefix argument ARG, enable noncommands if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
This mode distinguishes non-commands.
Commands listed in `erc-insert-this' know how to display
themselves.

(fn &optional ARG)
(defalias 'erc-noncommands-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-noncommands-mode current-message set-default toggle default-value 1 nil t boundp delq erc-noncommands-enable erc-noncommands-disable run-hooks erc-noncommands-mode-hook erc-noncommands-mode-on-hook erc-noncommands-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Erc-Noncommands mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 16594) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-noncommands-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-noncommands-mode-map erc-noncommands-mode-hook variable-documentation put "Hook run after entering or leaving `erc-noncommands-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-noncommands-mode boundp] 6)#@30 Enable ERC noncommands mode.
(defalias 'erc-noncommands-enable #[0 "\302>\203 \210\202 \302B\303\304\305\306\"\207" [erc-modules erc-noncommands-mode noncommands t add-hook erc-pre-send-functions erc-send-distinguish-noncommands] 3 (#$ . 18315) nil])#@31 Disable ERC noncommands mode.
(defalias 'erc-noncommands-disable #[0 "\302\303\"\304\305\306\307\"\207" [erc-modules erc-noncommands-mode delq noncommands nil remove-hook erc-pre-send-functions erc-send-distinguish-noncommands] 3 (#$ . 18578) 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-noncommands-mode erc-module noncommands definition-name erc-noncommands-enable erc-noncommands-disable] 4)#@74 If STR is an ERC non-command, set `insertp' in STATE to nil.

(fn STATE)
(defalias 'erc-send-distinguish-noncommands #[257 "\302!>\204 \303\304\305D\"\210\211\306H\307!\211\205 \211@\211\205A \310\311\"?\205A \211	>\205A \302!>\204= \303\304\305D\"\210\312\313I\207" [cl-struct-erc-input-tags erc-noncommands-list type-of signal wrong-type-argument erc-input 1 erc-extract-command-from-line string-match "\n.+$" 2 nil] 8 (#$ . 19049)])
(byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312DD\313\314\315%\210\306\316\310\311\317DD\320\314\321%\210\306\322\310\311\323DD\324\314\321%\207" [custom-declare-group erc-control-characters nil "Dealing with control characters." :group erc custom-declare-variable erc-interpret-controls-p funcall function #[0 "\300\207" [t] 1 #1=""] "If non-nil, display IRC colors and other highlighting effects.\n\nIf this is set to the symbol `remove', ERC removes all IRC colors and\nhighlighting effects.  When this variable is non-nil, it can cause Emacs to run\nslowly on systems lacking sufficient CPU speed.  In chatty channels, or in an\nemergency (message flood) it can be turned off to save processing time.  See\n`erc-toggle-interpret-controls'." :type (choice (const :tag "Highlight control characters" t) (const :tag "Remove control characters" remove) (const :tag "Display raw control characters" nil)) erc-interpret-mirc-color #[0 "\300\207" [nil] 1 #1#] "If non-nil, ERC will interpret mIRC color codes." boolean erc-beep-p #[0 "\300\207" [nil] 1 #1#] "Beep if C-g is in the server message.\nThe value `erc-interpret-controls-p' must also be t for this to work."] 6)
(custom-declare-face 'erc-bold-face '((t :weight bold)) "ERC bold face." :group 'erc-faces)
(custom-declare-face 'erc-italic-face '((t :slant italic)) "ERC italic face." :group 'erc-faces)
(custom-declare-face 'erc-inverse-face '((t :foreground "White" :background "Black")) "ERC inverse face." :group 'erc-faces)
(custom-declare-face 'erc-underline-face '((t :underline t)) "ERC underline face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face0 '((t :foreground "White")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face1 '((t :foreground "black")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face2 '((t :foreground "blue4")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face3 '((t :foreground "green4")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face4 '((t :foreground "red")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face5 '((t :foreground "brown")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face6 '((t :foreground "purple")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face7 '((t :foreground "orange")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face8 '((t :foreground "yellow")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face9 '((t :foreground "green")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face10 '((t :foreground "lightblue1")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face11 '((t :foreground "cyan")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face12 '((t :foreground "blue")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face13 '((t :foreground "deeppink")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face14 '((t :foreground "gray50")) "ERC face." :group 'erc-faces)
(custom-declare-face 'fg:erc-color-face15 '((t :foreground "gray90")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face0 '((t :background "White")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face1 '((t :background "black")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face2 '((t :background "blue4")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face3 '((t :background "green4")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face4 '((t :background "red")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face5 '((t :background "brown")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face6 '((t :background "purple")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face7 '((t :background "orange")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face8 '((t :background "yellow")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face9 '((t :background "green")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face10 '((t :background "lightblue1")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face11 '((t :background "cyan")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face12 '((t :background "blue")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face13 '((t :background "deeppink")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face14 '((t :background "gray50")) "ERC face." :group 'erc-faces)
(custom-declare-face 'bg:erc-color-face15 '((t :background "gray90")) "ERC face." :group 'erc-faces)#@63 Fetches the right face for background color N (0-15).

(fn N)
(defalias 'erc-get-bg-color-face #[257 "\211;\203\n \301!\262\211\247\204 \302\303\"\210\304\207\211\305V\203- \203' \306\307\310\"!\210\311\305\"\262\211\312Y\203A \211\305W\203A \313\314\315!P!\207\203L \306\307\310\"!\210\304\207" [erc-log-p string-to-number erc-error "erc-get-bg-color-face: n is NaN: %S" default 16 erc-log-aux format "   Wrong color: %s" mod 0 intern "bg:erc-color-face" number-to-string] 5 (#$ . 24302)])#@63 Fetches the right face for foreground color N (0-15).

(fn N)
(defalias 'erc-get-fg-color-face #[257 "\211;\203\n \301!\262\211\247\204 \302\303\"\210\304\207\211\305V\203- \203' \306\307\310\"!\210\311\305\"\262\211\312Y\203A \211\305W\203A \313\314\315!P!\207\203L \306\307\310\"!\210\304\207" [erc-log-p string-to-number erc-error "erc-get-fg-color-face: n is NaN: %S" default 16 erc-log-aux format "   Wrong color: %s" mod 0 intern "fg:erc-color-face" number-to-string] 5 (#$ . 24809)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable erc-irccontrols-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Irccontrols mode is enabled.\nSee the `erc-irccontrols-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-irccontrols-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group erc-irccontrols] 12)#@266 Toggle ERC irccontrols mode.
With a prefix argument ARG, enable irccontrols if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
This mode enables the interpretation of IRC control chars.

(fn &optional ARG)
(defalias 'erc-irccontrols-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-irccontrols-mode current-message set-default toggle default-value 1 nil t boundp delq erc-irccontrols-enable erc-irccontrols-disable run-hooks erc-irccontrols-mode-hook erc-irccontrols-mode-on-hook erc-irccontrols-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Erc-Irccontrols mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 25879) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-irccontrols-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-irccontrols-mode-map erc-irccontrols-mode-hook variable-documentation put "Hook run after entering or leaving `erc-irccontrols-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-irccontrols-mode boundp] 6)#@30 Enable ERC irccontrols mode.
(defalias 'erc-irccontrols-enable #[0 "\302>\203 \210\202 \302B\303\304\305\306\"\210\304\307\306\"\207" [erc-modules erc-irccontrols-mode irccontrols t add-hook erc-insert-modify-hook erc-controls-highlight erc-send-modify-hook] 3 (#$ . 27552) nil])#@31 Disable ERC irccontrols mode.
(defalias 'erc-irccontrols-disable #[0 "\302\303\"\304\305\306\307\"\210\305\310\307\"\207" [erc-modules erc-irccontrols-mode delq irccontrols nil remove-hook erc-insert-modify-hook erc-controls-highlight erc-send-modify-hook] 3 (#$ . 27844) 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-irccontrols-mode erc-module irccontrols definition-name erc-irccontrols-enable erc-irccontrols-disable] 4)#@150 Return a copy of STR after dealing with IRC control characters.
See `erc-interpret-controls-p' and `erc-interpret-mirc-color' for options.

(fn STR)
(defalias 'erc-controls-interpret #[257 "\211\205\355 \211\304=\203 \305!\202\353 \203\352 \306\211\211\211\211\211\307	\"\203\343 \310\311\"\310\312	\"\310\313\n\"\314\224\314\224\310\315\"G\\\316\317\306\211\311%\262\f\n\203\\ \204S \203\\ \262\262\202\313 \320\230\203j \n?\262\202\313 \321\230\203x 	?\262\n\202\313 \322\230\203\206 ?\262	\202\313 \323\230\203\224 ?\262\202\313 \324\230\203\243 \306\262\306\262\202\313 \325\230\203\263 \203\313 \326 \210\202\313 \327\230\203\313 \306\262\306\262\n\306\262	\306\262\306\262\306\262\330&	\266\202 \266\206\202\353 \211\262\207" [erc-interpret-controls-p erc-controls-highlight-regexp erc-interpret-mirc-color erc-beep-p remove erc-controls-strip nil string-match match-string 1 2 4 0 5 replace-match "" "" "" "" "" "" "" ding "" erc-controls-propertize] 23 (#$ . 28345)])#@73 Return a copy of STR with all IRC control characters removed.

(fn STR)
(defalias 'erc-controls-strip #[257 "\211\205 \211\301\"\203 \302\303\304\211$\262\202 \211\262\207" [erc-controls-remove-regexp string-match replace-match "" nil] 7 (#$ . 29396)])#@64 Regular expression which matches control characters to remove.
(defvar erc-controls-remove-regexp "\\|\\|\\|\\|\\|\\|[0-9]?[0-9]?\\(,[0-9][0-9]?\\)?" (#$ . 29662))#@75 Regular expression which matches control chars and the text to highlight.
(defvar erc-controls-highlight-regexp "\\(\\|\\|\\|\\|\\|\\|\\([0-9][0-9]?\\)?\\(,\\([0-9][0-9]?\\)\\)?\\)\\([^\n]*\\)" (#$ . 29838))#@184 Highlight IRC control chars in the buffer.
This is useful for `erc-insert-modify-hook' and `erc-send-modify-hook'.
Also see `erc-interpret-controls-p' and `erc-interpret-mirc-color'.
(defalias 'erc-controls-highlight #[0 "eb\210\305=\203 \306	\307\310#\205\340 \311\312!\210\202	 \203\337 \307\211\211\211\211\211\306\n\307\310#\205\336 \313\314!\313\315!\313\316!\317\224\317\224\313\320!G\\\311\312\307\211\211\314%\210\203Y \204P \203Y \262\262\202\310 \321\230\203g \n?\262\202\310 \322\230\203u 	?\262\n\202\310 \323\230\203\203 ?\262	\202\310 \324\230\203\221 ?\262\202\310 \325\230\203\240 \307\262\307\262\202\310 \326\230\203\260 \f\203\310 \327 \210\202\310 \330\230\203\310 \307\262\307\262\n\307\262	\307\262\307\262\307\262\331&\266\202\" \207\307\207" [erc-interpret-controls-p erc-controls-remove-regexp erc-controls-highlight-regexp erc-interpret-mirc-color erc-beep-p remove re-search-forward nil t replace-match "" match-string 1 2 4 0 5 "" "" "" "" "" "" ding "" erc-controls-propertize] 20 (#$ . 30066)])#@253 Prepend properties from IRC control characters between FROM and TO.
If optional argument STR is provided, apply to STR, otherwise prepend properties
to a region in the current buffer.

(fn FROM TO BOLDP ITALICP INVERSEP UNDERLINEP FG BG &optional STR)
(defalias 'erc-controls-propertize #[2312 "\300		\301\302\205 \303\205 \304\205 \305\205 \306\205) \307\f!C\2053 \310\f!C&%\210\207" [font-lock-prepend-text-property font-lock-face append (erc-bold-face) (erc-italic-face) (erc-inverse-face) (erc-underline-face) erc-get-fg-color-face erc-get-bg-color-face] 21 (#$ . 31151)])#@162 Toggle interpretation of control sequences in messages.

If ARG is positive, interpretation is turned on.
Else interpretation is turned off.

(fn &optional ARG)
(defalias 'erc-toggle-interpret-controls #[256 "\211\247\203 \211\301V\203 \302\202 \211\203 \303\202 ?\304\305\203& \306\202' \307\"\207" [erc-interpret-controls-p 0 t nil message "ERC color interpretation %s" "ON" "OFF"] 4 (#$ . 31756) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable erc-smiley-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Smiley mode is enabled.\nSee the `erc-smiley-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-smiley-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group erc-smiley] 12)#@356 Toggle ERC smiley mode.
With a prefix argument ARG, enable smiley if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
This mode translates text-smileys such as :-) into pictures.
This requires the function `smiley-region', which is defined in
smiley.el, which is part of Gnus.

(fn &optional ARG)
(defalias 'erc-smiley-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-smiley-mode current-message set-default toggle default-value 1 nil t boundp delq erc-smiley-enable erc-smiley-disable run-hooks erc-smiley-mode-hook erc-smiley-mode-on-hook erc-smiley-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Erc-Smiley mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 32714) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-smiley-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-smiley-mode-map erc-smiley-mode-hook variable-documentation put "Hook run after entering or leaving `erc-smiley-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-smiley-mode boundp] 6)#@25 Enable ERC smiley mode.
(defalias 'erc-smiley-enable #[0 "\302>\203 \210\202 \302B\303\304\305\306\"\210\304\307\306\"\207" [erc-modules erc-smiley-mode smiley t add-hook erc-insert-modify-hook erc-smiley erc-send-modify-hook] 3 (#$ . 34412) nil])#@26 Disable ERC smiley mode.
(defalias 'erc-smiley-disable #[0 "\302\303\"\304\305\306\307\"\210\305\310\307\"\207" [erc-modules erc-smiley-mode delq smiley nil remove-hook erc-insert-modify-hook erc-smiley erc-send-modify-hook] 3 (#$ . 34672) 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-smiley-mode erc-module smiley definition-name erc-smiley-enable erc-smiley-disable] 4)#@79 Smilify a region.
This function should be used with `erc-insert-modify-hook'.
(defalias 'erc-smiley #[0 "\300\301!\205\n \301ed\"\207" [fboundp smiley-region] 3 (#$ . 35120)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable erc-unmorse-mode funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if Erc-Unmorse mode is enabled.\nSee the `erc-unmorse-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-unmorse-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group erc-unmorse] 12)#@266 Toggle ERC unmorse mode.
With a prefix argument ARG, enable unmorse if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
This mode causes morse code in the current channel to be unmorsed.

(fn &optional ARG)
(defalias 'erc-unmorse-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-unmorse-mode current-message set-default toggle default-value 1 nil t boundp delq erc-unmorse-enable erc-unmorse-disable run-hooks erc-unmorse-mode-hook erc-unmorse-mode-on-hook erc-unmorse-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Erc-Unmorse mode" "en" "dis" "" force-mode-line-update] 7 (#$ . 35844) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar erc-unmorse-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-unmorse-mode-map erc-unmorse-mode-hook variable-documentation put "Hook run after entering or leaving `erc-unmorse-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-unmorse-mode boundp] 6)#@26 Enable ERC unmorse mode.
(defalias 'erc-unmorse-enable #[0 "\302>\203 \210\202 \302B\303\304\305\306\"\207" [erc-modules erc-unmorse-mode unmorse t add-hook erc-insert-modify-hook erc-unmorse] 3 (#$ . 37465) nil])#@27 Disable ERC unmorse mode.
(defalias 'erc-unmorse-disable #[0 "\302\303\"\304\305\306\307\"\207" [erc-modules erc-unmorse-mode delq unmorse nil remove-hook erc-insert-modify-hook erc-unmorse] 3 (#$ . 37691) 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-unmorse-mode erc-module unmorse definition-name erc-unmorse-enable erc-unmorse-disable] 4)#@172 Unmorse some text.
Add this to `erc-insert-modify-hook' if you happen to be on a
channel that has weird people talking in morse to each other.

See also `unmorse-region'.
(defalias 'erc-unmorse #[0 "eb\210\300\301\302\303#\205; \214\304\224\304\225}\210eb\210\300\305\302\303#\203$ \306\307!\210\202 eb\210\300\310\302\303#\2036 \306\311!\210\202' \312ed\")\207" [re-search-forward "[.-]+[./ -]*[.-]/?" nil t 0 " / " replace-match "  " "/ " "/" unmorse-region] 4 (#$ . 38110)])#@238 Search for STRING in all buffers related to current server.
If called interactively and prefix argument is given, search on all connected
servers.  If called from a program, PROC specifies the server process.

(fn STRING &optional PROC)
(defalias 'erc-occur #[513 "\300\301!\203 \301\302\303\"\"\207\304\305!\207" [fboundp multi-occur erc-buffer-list nil error "`multi-occur' is not defined as a function"] 6 (#$ . 38595) (byte-code "\302\303!?\205	 	D\207" [current-prefix-arg erc-server-process read-string "Search for: "] 2)])
(provide 'erc-goodies)
