;ELC   
;;; Compiled by rms@psilocin.gnu.org on Sun Mar  8 18:42:29 1998
;;; from file /gd/gnu/emacs/lisp/chistory.el
;;; in Emacs version 20.2.89.6
;;; with bytecomp version 2.38
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(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 "`chistory.el' was compiled for Emacs 19.29 or later"))


(custom-declare-group 'chistory nil "List command history." :group 'keyboard)
#@317 Edit and re-evaluate complex command with name matching PATTERN.
Matching occurrences are displayed, most recent first, until you select
a form for evaluation.  If PATTERN is empty (or nil), every form in the
command history is offered.  The form is placed in the minibuffer for
editing and the result is evaluated.
(defalias 'repeat-matching-complex-command #[(&optional pattern) "\203 \305\306\"\203 \307\224\310O\202 \310	\310\211\f\203K \n\204K \f@\2035 \305\311@!\"\203D \312\313\314\"!\203D \f@\202 \fA\211\204  \n\204U \315\316!\202d 	@@\317=\203` 	A\320\321\n\"+\207" [pattern command-history what temp history string-match "[^ 	]" 0 nil symbol-name y-or-n-p format "Redo %S? " error "Command history exhausted" repeat-matching-complex-command edit-and-eval-command "Redo: "] 5 (#$ . 610) "sRedo Command (regexp): "])
#@300 *A list of symbols to be ignored by `default-command-history-filter'.
If that function is given a list whose car is an element of this list,
then it will return non-nil (indicating the list should be discarded from
the history).
Initially, all commands related to the command history are discarded.
(custom-declare-variable 'default-command-history-filter-garbage ''(command-history-mode list-command-history electric-command-history) '(#$ . -1463) :type '(repeat symbol) :group 'chistory)
#@404 Predicate to test which commands should be excluded from the history listing.
If non-nil, should be the name of a function of one argument.
It is passed each element of the command history when
\[list-command-history] is called.  If the filter returns non-nil for
some element, that element is excluded from the history listing.  The
default filter removes commands associated with the command-history.
(defvar list-command-history-filter 'default-command-history-filter (#$ . 1960))
#@98 Filter commands matching `default-command-history-filter-garbage' list
from the command history.
(defalias 'default-command-history-filter #[(frob) ":?\206\n @	>\207" [frob default-command-history-filter-garbage] 2 (#$ . 2450)])
#@80 *If non-nil, maximum length of the listing produced by `list-command-history'.
(custom-declare-variable 'list-command-history-max '32 '(#$ . -2687) :type '(choice integer (const nil)) :group 'chistory)
#@308 List history of commands typed to minibuffer.
The number of commands listed is controlled by `list-command-history-max'.
Calls value of `list-command-history-filter' (if non-nil) on each history
element to judge if that element should be excluded from the list.

The buffer is left in Command History mode.
(defalias 'list-command-history #[nil "\306\220\307	\206	 \310\n\311U\2048 \f\2038 \312\305!\203' \203' \f@!\2042 \nS\313\f@!\210\314 \210\fA\202\f +\212\306q\210eb\210m\203J \315\316!\202L \317 )\221\207" [command-history list-command-history-max count buffer-read-only history list-command-history-filter "*Command History*" nil -1 0 boundp prin1 terpri error "No command history" Command-history-setup] 4 (#$ . 2896) nil])
(defalias 'Command-history-setup #[(&optional majormode modename keymap) "\306q\210\307\206	 	!\210\310\311!\210\312\n!\210\313\307\206 	!\210\f\206\" \314\206) \315\211\207" [keymap command-history-map emacs-lisp-mode-syntax-table buffer-read-only majormode major-mode "*Command History*" use-local-map lisp-mode-variables nil set-syntax-table t command-history-mode "Command History" modename mode-name] 2])
#@69 If non-nil, its value is called on entry to `command-history-mode'.
(custom-declare-variable 'command-history-hook 'nil '(#$ . 4062) :type 'hook :group 'chistory)
(byte-code "\303\300!\204 \304\300	B\2041 \305 \n\244\306!\210\307\310\311#\210\307\312\313#\210\307\314\313#\210\307\315\316#\210\304\207" [command-history-map current-load-list shared-lisp-mode-map boundp nil make-sparse-keymap suppress-keymap define-key "x" command-history-repeat "\n" next-line "" "" previous-line] 4)
#@107 Repeat the command shown on the current line.
The buffer for that command is the previous current buffer.
(defalias 'command-history-repeat #[nil "\212\300\212\301y\210\302p!)\303 A@q\210!)\207" [eval 0 read buffer-list] 3 (#$ . 4567) nil])
#@600 Major mode for examining commands from `command-history'.
The number of commands listed is controlled by `list-command-history-max'.
The command history is filtered by `list-command-history-filter' if non-nil.
Use \<command-history-map>\[command-history-repeat] to repeat the command on the current line.

Otherwise much like Emacs-Lisp Mode except that there is no self-insertion
and digits provide prefix arguments.  Tab does not indent.
\{command-history-map}
Calls the value of `command-history-hook' if that is non-nil.
The Command History listing is recomputed each time this mode is invoked.
(defalias 'command-history-mode #[nil "\300 \210\301\302!\210\303\304!\207" [list-command-history pop-to-buffer "*Command History*" run-hooks command-history-hook] 2 (#$ . 4815) nil])
(provide 'chistory)
