;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:13:00 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/erc/erc-ring.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require erc comint ring] 2)
#@260 Non-nil if Erc-Ring mode is enabled.
See the command `erc-ring-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `erc-ring-mode'.
(custom-declare-variable 'erc-ring-mode 'nil '(#$ . 629) :set 'custom-set-minor-mode :initialize 'custom-initialize-default :group 'erc-ring :type 'boolean)
#@184 Toggle ERC ring mode.
With arg, turn ERC ring mode on if and only if arg is positive.
Stores input in a ring so that previous commands and messages can
be recalled using M-p and M-n.
(defalias 'erc-ring-mode #[(&optional arg) "\303 	\304=\203\n?\202\305	!\306V\211\203\307 \210\202!\310 \210\311\312\n\203+\313\202,\314\"\210\315\316!\203Q\317\302!\210\303 \203D\303 \232\203Q\320\321\n\203N\322\202O\323\"\210)\324 \210\n\207" [#1=#:last-message arg erc-ring-mode current-message toggle prefix-numeric-value 0 erc-ring-enable erc-ring-disable run-hooks erc-ring-mode-hook erc-ring-mode-on-hook erc-ring-mode-off-hook called-interactively-p any customize-mark-as-set message "Erc-Ring mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 1052) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\303\211%\207" [erc-ring-mode-map add-minor-mode erc-ring-mode nil boundp] 6)
#@23 Enable ERC ring mode.
(defalias 'erc-ring-enable #[nil "\302\303\304\"\210\305\306\307\310\"\210\311	\312\313#\210\311	\314\315#\207" [erc-ring-mode erc-mode-map add-to-list erc-modules ring t add-hook erc-send-pre-hook erc-add-to-input-ring define-key "\360" erc-previous-command "\356" erc-next-command] 4 (#$ . 1983) nil])
#@24 Disable ERC ring mode.
(defalias 'erc-ring-disable #[nil "\303\304\"\305\306\307\310\"\210\311\n\312\313#\210\311\n\314\313#\207" [erc-modules erc-ring-mode erc-mode-map delq ring nil remove-hook erc-send-pre-hook erc-add-to-input-ring define-key "\360" undefined "\356"] 4 (#$ . 2316) nil])
(byte-code "\300\301\302\303#\210\300\304\302\303#\210\300\305\302\303#\207" [put erc-ring-mode definition-name ring erc-ring-enable erc-ring-disable] 4)
#@21 Input ring for erc.
(defvar erc-input-ring nil (#$ . 2771))
(make-variable-buffer-local 'erc-input-ring)
#@253 Position in the input ring for erc.
If nil, the input line is blank and the user is conceptually 'after'
the most recently added item in the ring. If an integer, the input
line is non-blank and displays the item from the ring indexed by this
variable.
(defvar erc-input-ring-index nil (#$ . 2883))
(make-variable-buffer-local 'erc-input-ring-index)
#@113 Do the setup required so that we can use comint style input rings.
Call this function when setting up the mode.
(defalias 'erc-input-ring-setup #[nil "\303!\304\211\207" [comint-input-ring-size erc-input-ring erc-input-ring-index make-ring nil] 2 (#$ . 3239)])
#@60 Add string S to the input ring and reset history position.
(defalias 'erc-add-to-input-ring #[(s) "\204\303 \210\304	\"\210\305\211\207" [erc-input-ring s erc-input-ring-index erc-input-ring-setup ring-insert nil] 3 (#$ . 3509)])
#@160 Remove all entries from the input ring, then call garbage-collect.
You might use this for security purposes if you have typed a command
containing a password.
(defalias 'erc-clear-input-ring #[nil "\303!\304\305 \210\306\307!\207" [comint-input-ring-size erc-input-ring erc-input-ring-index make-ring nil garbage-collect message "ERC input ring cleared."] 2 (#$ . 3751) nil])
#@65 Replace current command with the previous one from the history.
(defalias 'erc-previous-command #[nil "\204\303 \210\304!\305V\205K	\203$\304!	TU\203$\306\307!\210\310\211\207	\2046d\nV\2036\311\nd{!\210\305	\203C\312	\304!\"\202D\305\306\313	\"!\207" [erc-input-ring erc-input-ring-index erc-input-marker erc-input-ring-setup ring-length 0 erc-replace-current-command "" nil erc-add-to-input-ring ring-plus1 ring-ref] 4 (#$ . 4136) nil])
#@61 Replace current command with the next one from the history.
(defalias 'erc-next-command #[nil "\204\302 \210\303!\304V\2052	\203!	\304U\203!\305\306!\210\307\211\207\310	\206'\304\303!\"\305\311	\"!\207" [erc-input-ring erc-input-ring-index erc-input-ring-setup ring-length 0 erc-replace-current-command "" nil ring-minus1 ring-ref] 4 (#$ . 4598) nil])
#@40 Replace current command with string S.
(defalias 'erc-replace-current-command #[(s) "\303	b\210\304 db|\210\nc)\207" [inhibit-read-only erc-insert-marker s t erc-bol] 2 (#$ . 4969)])
(provide 'erc-ring)
