;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:36:35 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/abbrev.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; 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 "`abbrev.el' was compiled for Emacs 19.29 or later"))

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


#@147 *t means user plans to use global abbrevs only.
This makes the commands that normally define mode-specific abbrevs
define global abbrevs instead.
(custom-declare-variable 'only-global-abbrevs 'nil '(#$ . -615) :type 'boolean :group 'abbrev-mode :group 'convenience)
#@177 Toggle abbrev mode.
With argument ARG, turn abbrev mode on iff ARG is positive.
In abbrev mode, inserting an abbreviation causes it to expand
and be replaced by its expansion.
(defalias 'abbrev-mode #[(&optional arg) "\204	 	?\202 \302!\303V\304 \207" [arg abbrev-mode prefix-numeric-value 0 force-mode-line-update] 2 (#$ . 888) "P"])
#@301 Toggle abbrev mode.
Non-nil means automatically expand abbrevs as they are inserted.

This variable automatically becomes buffer-local when set in any fashion.
Changing it with \[customize] sets the default value.
Use the command `abbrev-mode' to enable or disable Abbrev mode in the current
buffer.
(custom-declare-variable 'abbrev-mode 'nil '(#$ . 1234) :type 'boolean :group 'abbrev-mode)
#@30 Keymap used in edit-abbrevs.
(defvar edit-abbrevs-map nil (#$ . 1632))
(byte-code "\204 \301 \302\303\304#\210\302\305\304#\210\301\207" [edit-abbrevs-map make-sparse-keymap define-key "" edit-abbrevs-redefine ""] 4)
#@31 Undefine all defined abbrevs.
(defalias 'kill-all-abbrevs #[nil "\211\205 \302	@J!\210	A\211\204 \303)\207" [abbrev-table-name-list tables clear-abbrev-table nil] 3 (#$ . 1864) nil])
#@95 Insert after point a description of all defined abbrevs.
Mark is set after the inserted text.
(defalias 'insert-abbrevs #[nil "\302\212\211\203 \303	@\304\"\210	A\211\204 )`)!\207" [abbrev-table-name-list tables push-mark insert-abbrev-table-description t] 5 (#$ . 2058) nil])
#@183 Display a list of defined abbrevs.
If LOCAL is non-nil, interactively when invoked with a
prefix arg, display only local, i.e. mode-specific, abbrevs.
Otherwise display all abbrevs.
(defalias 'list-abbrevs #[(&optional local) "\301\302!!\207" [local display-buffer prepare-abbrev-list-buffer] 3 (#$ . 2347) "P"])
#@42 Value is the name of abbrev table TABLE.
(defalias 'abbrev-table-name #[(table) "\304	\204 \n\203 \n@J=\203 \n@\nA\202 	*\207" [abbrev-table-name-list found tables table nil] 2 (#$ . 2667)])
(defalias 'prepare-abbrev-list-buffer #[(&optional local) "\212\305\306!q\210\307 \210\n\203 \310\311	!\312\"\210\2021 \313\211\2030 \f@\310	\312\"\210\fA\211\204! *eb\210\314\313!\210\315 \210p*\207" [local-abbrev-table table local abbrev-table-name-list #1=#:--dolist-temp--97269 get-buffer-create "*Abbrevs*" erase-buffer insert-abbrev-table-description abbrev-table-name t nil set-buffer-modified-p edit-abbrevs-mode] 4])
#@76 Major mode for editing the list of abbrev definitions.
\{edit-abbrevs-map}
(defalias 'edit-abbrevs-mode #[nil "\303\304\305\n!\207" [major-mode mode-name edit-abbrevs-map edit-abbrevs-mode "Edit-Abbrevs" use-local-map] 2 (#$ . 3308) nil])
#@568 Alter abbrev definitions by editing a list of them.
Selects a buffer containing a list of abbrev definitions.
You can edit them and type \<edit-abbrevs-map>\[edit-abbrevs-redefine] to redefine abbrevs
according to your editing.
Buffer contains a header line for each abbrev table,
 which is the abbrev table name in parentheses.
This is followed by one line per abbrev in that table:
NAME   USECOUNT   EXPANSION   HOOK
where NAME and EXPANSION are strings with quotes,
USECOUNT is an integer, and HOOK is any valid function
or may be omitted (it is usually omitted).
(defalias 'edit-abbrevs #[nil "\300\301 !\207" [switch-to-buffer prepare-abbrev-list-buffer] 2 (#$ . 3556) nil])
#@56 Redefine abbrevs according to current buffer contents.
(defalias 'edit-abbrevs-redefine #[nil "\300\301!\210\302\303!\207" [define-abbrevs t set-buffer-modified-p nil] 2 (#$ . 4242) nil])
#@255 Define abbrevs according to current visible buffer contents.
See documentation of `edit-abbrevs' for info on the format of the
text you must have in the buffer.
With argument, eliminate all abbrev definitions except
the ones defined from the buffer now.
(defalias 'define-abbrevs #[(&optional arg) "\203 \306 \210\212eb\210m?\205j \307\310\311\312#\205j p\313	!\311\311\311\311\311\314y\210\314y\210l\204` \313	!\313	!\313	!\315\311x\210l?\205N \313	!\315\311x\210\fFB\202- \316\n\"\210.\202 )\207" [arg buf table abbrevs name hook kill-all-abbrevs re-search-forward "^(" nil t read 1 " 	\n\f" define-abbrev-table exp count] 4 (#$ . 4437) "P"])
#@242 Read abbrev definitions from file written with `write-abbrev-file'.
Optional argument FILE is the name of the file to read;
it defaults to the value of `abbrev-file-name'.
Optional second argument QUIETLY non-nil means don't print anything.
(defalias 'read-abbrev-file #[(&optional file quietly) "\305\203 G\306V\203 \202 	\307\n#\210\310\307\211\207" [file abbrev-file-name quietly save-abbrevs abbrevs-changed load 0 nil t] 4 (#$ . 5116) "fRead abbrev file: "])
#@196 Read abbrev definitions from file written with write-abbrev-file.
Optional argument FILE is the name of the file to read;
it defaults to the value of `abbrev-file-name'.
Does not print anything.
(defalias 'quietly-read-abbrev-file #[(&optional file) "\301\302\"\207" [file read-abbrev-file t] 3 (#$ . 5595)])
#@177 Write all abbrev definitions to a file of Lisp code.
The file written can be loaded in another session to define the same abbrevs.
The argument FILE is the file name to write.
(defalias 'write-abbrev-file #[(file) "\203 G\304V\204 	\212\305\306!q\210\307 \210\n\211\203) \310@\311\"\210A\211\204 )\312\313d#\210\307 )\207" [file abbrev-file-name abbrev-table-name-list tables 0 get-buffer-create " write-abbrev-file" erase-buffer insert-abbrev-table-description nil write-region 1] 5 (#$ . 5912) (list (read-file-name "Write abbrev file: " (file-name-directory (expand-file-name abbrev-file-name)) abbrev-file-name))])
#@338 Define mode-specific abbrev for last word(s) before point.
Argument is how many words before point form the expansion;
or zero means the region is the expansion.
A negative argument means to undefine the specified abbrev.
Reads the abbreviation in the minibuffer.

Don't use this function in a Lisp program; use `define-abbrev' instead.
(defalias 'add-mode-abbrev #[(arg) "\304\203	 	\202 \n\206 \305\306!\307#\207" [only-global-abbrevs global-abbrev-table local-abbrev-table arg add-abbrev error "No per-mode abbrev table" "Mode"] 4 (#$ . 6549) "p"])
#@388 Define global (all modes) abbrev for last word(s) before point.
The prefix argument specifies the number of words before point that form the
expansion; or zero means the region is the expansion.
A negative argument means to undefine the specified abbrev.
This command uses the minibuffer to read the abbreviation.

Don't use this function in a Lisp program; use `define-abbrev' instead.
(defalias 'add-global-abbrev #[(arg) "\302\303	#\207" [global-abbrev-table arg add-abbrev "Global"] 4 (#$ . 7112) "p"])
(defalias 'add-abbrev #[(table type arg) "\305Y\205 \306`\305U\203 \307 \202 \212[v\210`)\"\310\311\312\n\203( \313\202) \314\n#!\315\305	G\310	$\210\n\203N \316	\f\"\203N \317\312\320	\316	\f\"#!\205T \321\f	\227\n#*\207" [arg name exp type table 0 buffer-substring-no-properties mark nil read-string format "%s abbrev for \"%s\": " "Undefine %s abbrev: " set-text-properties abbrev-expansion y-or-n-p "%s expands to \"%s\"; redefine? " define-abbrev] 7])
#@217 Define last word before point as a mode-specific abbrev.
With prefix argument N, defines the Nth word before point.
This command uses the minibuffer to read the expansion.
Expands the abbreviation after defining it.
(defalias 'inverse-add-mode-abbrev #[(arg) "\304\203	 	\202 \n\206 \305\306!\307#\207" [only-global-abbrevs global-abbrev-table local-abbrev-table arg inverse-add-abbrev error "No per-mode abbrev table" "Mode"] 4 (#$ . 8094) "p"])
#@229 Define last word before point as a global (mode-independent) abbrev.
With prefix argument N, defines the Nth word before point.
This command uses the minibuffer to read the expansion.
Expands the abbreviation after defining it.
(defalias 'inverse-add-global-abbrev #[(arg) "\302\303	#\207" [global-abbrev-table arg inverse-add-abbrev "Global"] 4 (#$ . 8552) "p"])
(defalias 'inverse-add-abbrev #[(table type arg) "\306\211\211\211\212\f[Tv\210`\307v\210`\310	\")\311\312\313#\306\211\211\314%\315\"\203= \316\312\317\315\"#!\205L \320\227\n#\210\212b\210\321 ),\207" [end start exp name arg type nil -1 buffer-substring-no-properties read-string format "%s expansion for \"%s\": " t abbrev-expansion y-or-n-p "%s expands to \"%s\"; redefine? " define-abbrev expand-abbrev table] 7])
#@230 Mark current point as the beginning of an abbrev.
Abbrev to be expanded starts here rather than at beginning of word.
This way, you can expand an abbrev with a prefix: insert the prefix,
use this command, then insert the abbrev.
(defalias 'abbrev-prefix-mark #[(&optional arg) "\204 \303 \210\304 p\305c\207" [arg abbrev-start-location abbrev-start-location-buffer expand-abbrev point-marker "-"] 1 (#$ . 9365) "P"])
#@243 For abbrev occurrence in the region, offer to expand it.
The user is asked to type y or n for each occurrence.
A prefix argument means don't query; expand all abbrevs.
If called from a Lisp program, arguments are START END &optional NOQUERY.
(defalias 'expand-region-abbrevs #[(start end &optional noquery) "\212b\210d	Z\306\211m?\205A \307v\210`\211d\fZX\205A \310\311\212\312v\210`)\"\211!\203\f \204; \313\314\315\n\"!\203\f \316 \210\202\f ,\207" [start end string pnt lim noquery nil 1 abbrev-expansion buffer-substring-no-properties -1 y-or-n-p format "Expand `%s'? " expand-abbrev] 4 (#$ . 9793) "r\nP"])
