403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.141
Web Server : Apache
System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp//abbrev.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\312\313\314\315\316DD\317\320\321\322\323&\210\312\324\314\315\325DD\326\322\327\310\303\310\330&	\207" [require obarray custom-declare-group abbrev-mode nil "Word abbreviations mode." :link (custom-manual "(emacs)Abbrevs") :group abbrev custom-declare-variable abbrev-file-name funcall function #[0 "\300\301\302\"\207" [locate-user-emacs-file "abbrev_defs" ".abbrev_defs"] 3 #1=""] "Default name of file from which to read and where to save abbrevs." :initialize custom-initialize-delay :type file only-global-abbrevs #[0 "\300\207" [nil] 1 #1#] "Non-nil means user plans to use only global abbrevs.\nThis makes the commands that normally define mode-specific abbrevs\ndefine global abbrevs instead." boolean convenience] 10)
#@687 Toggle Abbrev mode in the current buffer.

This is a minor mode.  If called interactively, toggle the `Abbrev
mode' mode.  If the prefix argument is positive, enable the mode, and
if it is zero or negative, disable the mode.

If called from Lisp, toggle the mode if ARG is `toggle'.  Enable the
mode if ARG is nil, omitted, or is a positive number.  Disable the
mode if ARG is a negative number.

To check whether the minor mode is enabled in the current buffer,
evaluate `abbrev-mode'.

The mode's hook is called both when the mode is enabled and when it is
disabled.

In Abbrev mode, inserting an abbreviation causes it to expand and
be replaced by its expansion.

(fn &optional ARG)
(defalias 'abbrev-mode #[256 "\302 \303=\203
?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300	\"\2031\300	B\311\312\203;\313\202<\314\"\210\315\316!\203^\302 \203P\211\302 \232\203^\317\320\203Z\321\202[\322\323#\210\210\324 \210\207" [abbrev-mode local-minor-modes current-message toggle 1 nil t boundp delq run-hooks abbrev-mode-hook abbrev-mode-on-hook abbrev-mode-off-hook called-interactively-p any message "Abbrev mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 878) (byte-code "\203\n\301!\202\302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar abbrev-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%\210\303\312\314\315#\210\316\317\320\310#\210\321\211\203U\211@\317N\203N\320N\204N\303\320\317N#\210A\266\202\2024\210\322\317\320\323#\207" [abbrev-mode-map abbrev-mode-hook variable-documentation put "Hook run after entering or leaving `abbrev-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 abbrev-mode boundp safe-local-variable booleanp defvaralias edit-abbrevs-map edit-abbrevs-mode-map (saved-value saved-variable-comment) make-obsolete-variable "24.4"] 7)
#@32 Keymap used in `edit-abbrevs'.
(defvar edit-abbrevs-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\207" [make-sparse-keymap define-key "" abbrev-edit-save-buffer "" abbrev-edit-save-to-file "" edit-abbrevs-redefine] 5) (#$ . 2981))
#@31 Undefine all defined abbrevs.
(defalias 'kill-all-abbrevs #[0 "\211\205\211@\301J!\210A\266\202\202\207" [abbrev-table-name-list clear-abbrev-table] 4 (#$ . 3259) nil])
#@192 Make a new abbrev-table with the same abbrevs as TABLE.
This function does not copy property lists of the abbrevs.
See `define-abbrev' for the documentation of abbrev properties.

(fn TABLE)
(defalias 'copy-abbrev-table #[257 "\300 \301\302\303\"\"\210\207" [make-abbrev-table obarray-map make-closure #[257 "\301\300\302!JK$\207" [V0 define-abbrev symbol-name] 6 "\n\n(fn SYMBOL)"]] 6 (#$ . 3442)])
#@94 Insert the description of all defined abbrevs after point.
Set mark after the inserted text.
(defalias 'insert-abbrevs #[0 "\301\212\211\203\211@\302\303\"\210A\266\202\202\210`)!\207" [abbrev-table-name-list push-mark insert-abbrev-table-description t] 6 (#$ . 3853) nil])
#@215 Display a list of the 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 the abbrevs.

(fn &optional LOCAL)
(defalias 'list-abbrevs #[256 "\300\301!!\207" [display-buffer prepare-abbrev-list-buffer] 4 (#$ . 4141) "P"])
#@60 Return the name of the specified abbrev TABLE.

(fn TABLE)
(defalias 'abbrev-table-name #[257 "\301\211\204\203@J=\203@\262A\262\202\207" [abbrev-table-name-list nil] 5 (#$ . 4473)])
#@24 

(fn &optional LOCAL)
(defalias 'prepare-abbrev-list-buffer #[256 "r\302\303!q\210\304 \210\203\305\306!\307\"\210\202U\310	\211\203;\211@\311J!\203/\211B\262\2024\305\307\"\210A\266\202\202\210\211\237\211\203P\211@\305\307\"\210A\266\202\202>\266\312 \210eb\210\313\310!\210p)\207" [local-abbrev-table abbrev-table-name-list get-buffer-create "*Abbrevs*" erase-buffer insert-abbrev-table-description abbrev-table-name t nil abbrev-table-empty-p edit-abbrevs-mode set-buffer-modified-p] 8 (#$ . 4678)])
#@768 Alter abbrev definitions by editing the list of abbrevs.
This selects a buffer containing the list of abbrev definitions
with point located in the abbrev table for the current buffer, and
turns on `edit-abbrevs-mode' in the buffer with the list of abbrevs.

You can edit the abbrevs and type \<edit-abbrevs-mode-map>\[edit-abbrevs-redefine] to redefine abbrevs
according to your editing.

The abbrevs editing buffer contains a header line for each
abbrev table, which is the abbrev table name in parentheses.

The header line 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
that may be omitted (it is usually omitted).
(defalias 'edit-abbrevs #[0 "\301!\302\303 !\210\211\205\304\305\306!\307Q\310\311#\205\312\225b\207" [local-abbrev-table abbrev-table-name switch-to-buffer prepare-abbrev-list-buffer search-forward "(" symbol-name ")\n\n" nil t 0] 5 (#$ . 5211) nil])
#@56 Redefine abbrevs according to current buffer contents.
(defalias 'edit-abbrevs-redefine #[0 "\214~\210\300\301!\210\302\303!)\207" [define-abbrevs t set-buffer-modified-p nil] 2 (#$ . 6242) nil])
#@343 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.
If ARG is non-nil (interactively, when invoked with a prefix
argument), eliminate all abbrev definitions except the ones
defined by the current buffer contents.

(fn &optional ARG)
(defalias 'define-abbrevs #[256 "\211\203\300 \210\212eb\210m?\205\214\301\302\303\304#\205\214p\305!\303\211\211\211\211\211\306y\210m\204\201\307\310!\203\201\311\306!\203{\305!\262\305!\262\312\232\203S\304\262\305!\262\202V\303\262\305!\262\313\303x\210l?\205i\305!\262\313\303x\210\257B\262\306y\210\202%\314\"\266	\202)\207" [kill-all-abbrevs re-search-forward "^(" nil t read 1 looking-at "[ 	\n]\\|\\(\"\\)" match-string (sys) " 	\n\f" define-abbrev-table] 14 (#$ . 6445) "P"])
#@300 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 display a message
about loading the abbrevs.

(fn &optional FILE QUIETLY)
(defalias 'read-abbrev-file #[512 "\302\206\303#\210\303\211\207" [abbrev-file-name abbrevs-changed load nil] 6 (#$ . 7325) (byte-code "\301\302\303\"\304\305$C\207" [abbrev-file-name read-file-name format-prompt "Read abbrev file" nil t] 5)])
#@257 Quietly 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'.
Do not display any messages about loading the abbrevs.

(fn &optional FILE)
(defalias 'quietly-read-abbrev-file #[256 "\300\301\"\207" [read-abbrev-file t] 4 (#$ . 7883)])
#@490 Write all user-level abbrev definitions to a file of Lisp code.
This does not include system abbrevs; it includes only the abbrev tables
listed in `abbrev-table-name-list'.
The file written can be loaded in another session to define the same abbrevs.
The argument FILE is the file name to write.  If omitted or nil, it defaults
to the value of `abbrev-file-name'.
If VERBOSE is non-nil, display a message indicating the file where the
abbrevs have been saved.

(fn &optional FILE VERBOSE)
(defalias 'write-abbrev-file #[512 "\203G\303V\204\262\304\305\306\307\"r\211q\210\310\311\"\216\312\313\n!\314\"\211\203;\211@\315!\2034\316\317\"\210A\266\202\202#\210\320ed\304#\203F\321eb\210\322\323	\"c\210\324\317\211\317?\205[\303%*\262)\207" [abbrev-file-name coding-system-for-write abbrev-table-name-list 0 utf-8 generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] sort copy-sequence #[514 "\300!\300!\231\207" [symbol-name] 5 "\n\n(fn S1 S2)"] abbrev--table-symbols insert-abbrev-table-description nil unencodable-char-position utf-8-emacs format ";;-*-coding: %s;-*-\n" write-region] 9 (#$ . 8243) (byte-code "\301\302\303\304!!#C\207" [abbrev-file-name read-file-name "Write abbrev file: " file-name-directory expand-file-name] 5)])
#@82 Save to FILE all the user-level abbrev definitions in current buffer.

(fn FILE)
(defalias 'abbrev-edit-save-to-file #[257 "\300 \210\301\302\"\207" [edit-abbrevs-redefine write-abbrev-file t] 4 (#$ . 9571) (byte-code "\301\302\303\304!!#C\207" [abbrev-file-name read-file-name "Save abbrevs to file: " file-name-directory expand-file-name] 5)])
#@138 Save all the user-level abbrev definitions in current buffer.
The saved abbrevs are written to the file specified by
`abbrev-file-name'.
(defalias 'abbrev-edit-save-buffer #[0 "\301!\207" [abbrev-file-name abbrev-edit-save-to-file] 2 (#$ . 9927) nil])
#@614 Define a mode-specific abbrev whose expansion is the last word before point.
Prefix argument ARG says how many words before point to use for the expansion;
zero means the entire region is the expansion.
A negative ARG means to undefine the specified abbrev.

This command reads the abbreviation from the minibuffer.

See also `inverse-add-mode-abbrev', which performs the opposite task:
if the abbreviation is already in the buffer, use that command to define
a mode-specific abbrev by specifying its expansion in the minibuffer.

Don't use this function in a Lisp program; use `define-abbrev' instead.

(fn ARG)
(defalias 'add-mode-abbrev #[257 "\303\203		\202\n\206\304\305!\306#\207" [only-global-abbrevs global-abbrev-table local-abbrev-table add-abbrev error "No per-mode abbrev table" "Mode"] 5 (#$ . 10187) "p"])
#@610 Define a global (all modes) abbrev whose expansion is last word before point.
Prefix argument ARG says how many words before point to use for the expansion;
zero means the entire region is the expansion.
A negative ARG means to undefine the specified abbrev.

This command reads the abbreviation from the minibuffer.

See also `inverse-add-global-abbrev', which performs the opposite task:
if the abbreviation is already in the buffer, use that command to define
a global abbrev by specifying its expansion in the minibuffer.

Don't use this function in a Lisp program; use `define-abbrev' instead.

(fn ARG)
(defalias 'add-global-abbrev #[257 "\301\302#\207" [global-abbrev-table add-abbrev "Global"] 5 (#$ . 11021) "p"])
#@23 

(fn TABLE TYPE ARG)
(defalias 'add-abbrev #[771 "\211\300Y\205\301`\300U\203\302 \202\212[v\210`)\"\303\304\305\203&\306\202'\307#!\262\310\300G\303$\210\203P\311\"\203P\312\305\313\311\n\"#!\205V\314\227#\207" [0 buffer-substring-no-properties mark nil read-string format "%s abbrev that expands into \"%s\": " "Undefine %s abbrev: " set-text-properties abbrev-expansion y-or-n-p "%s expands into \"%s\"; redefine? " define-abbrev] 12 (#$ . 11752)])
#@648 Define the word before point as a mode-specific abbreviation.
With prefix argument N, define the Nth word before point as the
abbreviation.  Negative N means use the Nth word after point.

If `only-global-abbrevs' is non-nil, this command defines a
global (mode-independent) abbrev instead of a mode-specific one.

This command reads the expansion from the minibuffer, defines the
abbrev, and then expands the abbreviation in the current buffer.

See also `add-mode-abbrev', which performs the opposite task:
if the expansion is already in the buffer, use that command
to define an abbrev by specifying the abbreviation in the minibuffer.

(fn N)
(defalias 'inverse-add-mode-abbrev #[257 "\303\203		\202\n\206\304\305!\306#\207" [only-global-abbrevs global-abbrev-table local-abbrev-table inverse-add-abbrev error "No per-mode abbrev table" "Mode"] 5 (#$ . 12242) "p"])
#@536 Define the word before point as a global (mode-independent) abbreviation.
With prefix argument N, define the Nth word before point as the
abbreviation.  Negative N means use the Nth word after point.

This command reads the expansion from the minibuffer, defines the
abbrev, and then expands the abbreviation in the current buffer.

See also `add-global-abbrev', which performs the opposite task:
if the expansion is already in the buffer, use that command
to define an abbrev by specifying the abbreviation in the minibuffer.

(fn N)
(defalias 'inverse-add-global-abbrev #[257 "\301\302#\207" [global-abbrev-table inverse-add-abbrev "Global"] 5 (#$ . 13126) "p"])
#@23 

(fn TABLE TYPE ARG)
(defalias 'inverse-add-abbrev #[771 "\300\211\211\211\212[Tv\210\301\302!\210`\262\303v\210`\262\304\"\262)\305\306\307#\300\211\211\310%\262\311\"\203E\312\306\313\311\f\"#!\205T\314\227#\210\212\211b\210\315 )\207" [nil skip-syntax-backward "^w" -1 buffer-substring-no-properties read-string format "Expansion for %s abbrev \"%s\": " t abbrev-expansion y-or-n-p "%s expands into \"%s\"; redefine? " define-abbrev expand-abbrev] 14 (#$ . 13799)])
#@513 Mark point as the beginning of an abbreviation.
The abbrev to be expanded starts at point rather than at the
beginning of a word.  This way, you can expand an abbrev with
a prefix: insert the prefix, use this command, then insert the
abbrev.

This command inserts a hyphen after the prefix, and if the abbrev
is subsequently expanded, this hyphen will be removed.

If the prefix is itself an abbrev, this command expands it,
unless ARG is non-nil.  Interactively, ARG is the prefix
argument.

(fn &optional ARG)
(defalias 'abbrev-prefix-mark #[256 "\211\204\302 \210\303 p\304c\207" [abbrev-start-location abbrev-start-location-buffer expand-abbrev point-marker "-"] 2 (#$ . 14301) "P"])
#@207 For each abbrev occurrence in the region, offer to expand it.
Ask the user to type `y' or `n' for each occurrence.
A prefix argument means don't query; expand all abbrevs.

(fn START END &optional NOQUERY)
(defalias 'expand-region-abbrevs #[770 "\212b\210dZ\300\211m?\205@\301v\210`\211\262dZX\205@\302\303\212\304v\210`)\"\211\262!\203	\204:\305\306\307\"!\203	\310 \210\202	\266\203)\207" [nil 1 abbrev-expansion buffer-substring-no-properties -1 y-or-n-p format-message "Expand `%s'? " expand-abbrev] 10 (#$ . 15000) "r\nP"])
#@63 Get the property PROP of abbrev table TABLE.

(fn TABLE PROP)
(defalias 'abbrev-table-get #[514 "\300\301\"\211\205\211N\207" [obarray-get ""] 5 (#$ . 15549)])
#@74 Set the property PROP of abbrev table TABLE to VAL.

(fn TABLE PROP VAL)
(defalias 'abbrev-table-put #[771 "\300\301\"\211\302L\210\303#\207" [obarray-put "" nil put] 8 (#$ . 15719)])
(byte-code "\300\301\302\303#\210\300\304\305\306#\207" [defalias abbrev-get get "Get the property PROP of abbrev ABBREV\nSee `define-abbrev' for the effect of some special properties.\n\n(fn ABBREV PROP)" abbrev-put put "Set the property PROP of abbrev ABBREV to value VAL.\nSee `define-abbrev' for the effect of some special properties.\n\n(fn ABBREV PROP VAL)"] 4)
#@49 List of symbols whose values are abbrev tables.
(defvar abbrev-table-name-list '(fundamental-mode-abbrev-table global-abbrev-table) (#$ . 16281))
#@95 Create a new, empty abbrev table object.
PROPS is a list of properties.

(fn &optional PROPS)
(defalias 'make-abbrev-table #[256 "\300 \301\302\303#\210:\203 \301\211A\262\242\211A\262\242#\210\202\207" [obarray-make abbrev-table-put :abbrev-table-modiff 0] 7 (#$ . 16433)])
#@59 Return non-nil if OBJECT is an abbrev table.

(fn OBJECT)
(defalias 'abbrev-table-p #[257 "\300!\205\301\302\"\247\207" [obarrayp abbrev-table-get :abbrev-table-modiff] 4 (#$ . 16724)])
#@152 Return nil if there are no abbrev symbols in OBJECT.
If IGNORE-SYSTEM is non-nil, system definitions are ignored.

(fn OBJECT &optional IGNORE-SYSTEM)
(defalias 'abbrev-table-empty-p #[513 "\300!\204\n\301\302!\210\3032\304\305\306\"\"0?\207" [abbrev-table-p error "Non abbrev table object" some obarray-map make-closure #[257 "\301!G\302U\206\300\205\303\304\"?\205\305\306\307\"\207" [V0 symbol-name 0 abbrev-get :system throw some t] 4 "\n\n(fn ABBREV)"]] 6 (#$ . 16921)])
#@196 The abbrev table whose abbrevs affect all buffers.
Each buffer may also have a local abbrev table.
If it does, the local table overrides the global one
for any particular abbrev defined in both.
(defvar global-abbrev-table (make-abbrev-table) (#$ . 17418))
#@260 Alist of abbrev tables to use for minor modes.
Each element looks like (VARIABLE . ABBREV-TABLE);
ABBREV-TABLE is active whenever VARIABLE's value is non-nil;
VARIABLE is supposed to be a minor-mode variable.
ABBREV-TABLE can also be a list of abbrev tables.
(defvar abbrev-minor-mode-table-alist nil (#$ . 17682))
#@65 The abbrev table of mode-specific abbrevs for Fundamental Mode.
(defvar fundamental-mode-abbrev-table (byte-code "\300 \301\302\"\210\207" [make-abbrev-table set-default local-abbrev-table] 4) (#$ . 18003))
#@116 Non-nil if any word abbrevs were defined or altered.
This causes `save-some-buffers' to offer to save the abbrevs.
(defvar abbrevs-changed nil (#$ . 18218))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable abbrev-all-caps funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil means expand multi-word abbrevs in all caps if the abbrev was so." :type boolean :group abbrev-mode] 8)
#@165 Buffer position for `expand-abbrev' to use as the start of the abbrev.
When nil, use the word before point as the abbrev.
Calling `expand-abbrev' sets this to nil.
(defvar abbrev-start-location nil (#$ . 18642))
#@134 Buffer that `abbrev-start-location' has been set for.
Trying to expand an abbrev in any other buffer clears `abbrev-start-location'.
(defvar abbrev-start-location-buffer nil (#$ . 18861))
#@70 The abbrev-symbol of the last abbrev expanded.  See `abbrev-symbol'.
(defvar last-abbrev nil (#$ . 19055))
#@107 The exact text of the last abbrev that was expanded.
It is nil if the abbrev has already been unexpanded.
(defvar last-abbrev-text nil (#$ . 19169))
#@65 The location of the start of the last abbrev that was expanded.
(defvar last-abbrev-location 0 (#$ . 19324))
#@78 Undefine all abbrevs in abbrev table TABLE, leaving TABLE empty.

(fn TABLE)
(defalias 'clear-abbrev-table #[257 "\301\302\303\"G\304\211W\203\304I\210\211T\262\202	\266\211\204%\305\306!\210\307\303\"\211\310L\210\311\312!\"\266\313\314\315\314\"T#\266\310\207" [abbrevs-changed t obarray-get "" 0 cl--assertion-failed sym obarray-put nil setplist symbol-plist abbrev-table-put :abbrev-table-modiff abbrev-table-get] 8 (#$ . 19439)])
#@1690 Define ABBREV in TABLE, to expand into EXPANSION and optionally call HOOK.
ABBREV must be a string, and should be lower-case.
EXPANSION should usually be a string.
To undefine an abbrev, define it with EXPANSION = nil.
If HOOK is non-nil, it should be a function of no arguments;
it is called after EXPANSION is inserted.
If EXPANSION is not a string (and not nil), the abbrev is a
 special one, which does not expand in the usual way but only
 runs HOOK.

If HOOK is a non-nil symbol with a non-nil `no-self-insert' property,
it can control whether the character that triggered abbrev expansion
is inserted.  If such a HOOK returns non-nil, the character is not
inserted.  If such a HOOK returns nil, then so does `abbrev-insert'
(and `expand-abbrev'), as if no abbrev expansion had taken place.

PROPS is a property list.  The following properties are special:
- `:count': the value for the abbrev's usage-count, which is incremented each
  time the abbrev is used (the default is zero).
- `:system': if non-nil, says that this is a "system" abbreviation
  which should not be saved in the user's abbreviation file.
  Unless `:system' is `force', a system abbreviation will not
  overwrite a non-system abbreviation of the same name.
- `:case-fixed': non-nil means that abbreviations are looked up without
  case-folding, and the expansion is not capitalized/upcased.
- `:enable-function': a function of no arguments which returns non-nil
  if the abbrev should be used for a particular call of `expand-abbrev'.

An obsolete but still supported calling form is:

(define-abbrev TABLE ABBREV EXPANSION &optional HOOK COUNT SYSTEM).

(fn TABLE ABBREV EXPANSION &optional HOOK &rest PROPS)
(defalias 'define-abbrev #[1155 "\211:\203\"\211@\203\211@\247\203\"\301@A@\205\302A@DBB\262\303\301\"\2040\304\301\305#\262\304\306\307\306\"#\262\303\302\"\310\"\311>\204]\312!\203]\211J\203]\313\302\"\203\236\204w\312!\203u\211J\232\203u\211K\232\204w\314\211L\210\211M\210\315\316=\203\217\304\302\314#\202\220\"\210\317\306\307\n\306\"T#\210\207" [abbrevs-changed :count :system plist-get plist-put 0 :abbrev-table-modiff abbrev-table-get obarray-put (nil force) boundp abbrev-get t setplist force abbrev-table-put] 13 (#$ . 19901)])
#@139 Check if the characters in ABBREV have word syntax in either the
current (if global is nil) or standard syntax table.

(fn ABBREV GLOBAL)
(defalias 'abbrev--check-chars #[514 "\300 p\301\302#\216\303\204\300 \202\304 !\210\305\306\"\205Y\307\310\305\306#\203E\310\224H\311\"\2038\210\202>\211B\262\210\211T\262\202 \312\313\314\315\237\"\203U\316\202V\317#\266\202)\207" [syntax-table make-closure #[0 "r\301q\210\302\300!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table standard-syntax-table string-match "\\W" nil 0 memql error "Some abbrev characters (%s) are not word constituents %s" apply string "in the standard syntax" "in this mode"] 11 (#$ . 22187)])
#@177 Define ABBREV as a global abbreviation that expands into EXPANSION.
The characters in ABBREV must all be word constituents in the standard
syntax table.

(fn ABBREV EXPANSION)
(defalias 'define-global-abbrev #[514 "\301\302\"\210\303\227#\207" [global-abbrev-table abbrev--check-chars global define-abbrev] 6 (#$ . 22885) "sDefine global abbrev: \nsExpansion for %s: "])
#@175 Define ABBREV as a mode-specific abbreviation that expands into EXPANSION.
The characters in ABBREV must all be word-constituents in the current mode.

(fn ABBREV EXPANSION)
(defalias 'define-mode-abbrev #[514 "\204\301\302!\210\303\304\"\210\305\227#\207" [local-abbrev-table error "Major mode has no abbrev table" abbrev--check-chars nil define-abbrev] 6 (#$ . 23267) "sDefine mode abbrev: \nsExpansion for %s: "])
#@201 Return the list of abbrev tables that are currently active.
TABLES, if non-nil, overrides the usual rules.  It can hold
either a single abbrev table or a list of abbrev tables.

(fn &optional TABLES)
(defalias 'abbrev--active-tables #[256 "\211:\203\207\303!\203\211C\207<\203\304	C\"\202	D\n\211\203T\211@\211@9\203M\305@!\203M\211@J\203M\211A<\203G\304A\"\202K\211AB\262A\266\202\202 \210\207" [local-abbrev-table global-abbrev-table abbrev-minor-mode-table-alist vectorp append boundp] 7 (#$ . 23698)])
#@284 Return the symbol representing abbrev named ABBREV in TABLE.
This symbol's name is ABBREV, but it is not the canonical symbol of that name;
it is interned in the abbrev-table TABLE rather than the normal obarray.
The value is nil if such an abbrev is not defined.

(fn ABBREV TABLE)
(defalias 'abbrev--symbol #[514 "\300\301\"?\302\"\206$\211\205$\302\227\"\211\205\"\303\301\"?\205\"\211\262\211J\205*\211\207" [abbrev-table-get :case-fixed obarray-get abbrev-get] 7 (#$ . 24236)])
#@433 Return the symbol representing the abbrev named ABBREV in TABLE.
This symbol's name is ABBREV, but it is not the canonical symbol of that name;
it is interned in an abbrev-table rather than the normal obarray.
The value is nil if such an abbrev is not defined.
Optional second arg TABLE is the abbrev table to look it up in.
The default is to try buffer's mode-specific abbrev table, then global table.

(fn ABBREV &optional TABLE)
(defalias 'abbrev-symbol #[513 "\300!\301\203$\211\204$\211A\262\242\302\303\304\"\"\262\305\"\266\202\202\207" [abbrev--active-tables nil append abbrev-table-get :parents abbrev--symbol] 9 (#$ . 24738)])
#@191 Return the string that ABBREV expands into in the current buffer.
Optionally specify an abbrev TABLE as second arg;
then ABBREV is looked up in that table only.

(fn ABBREV &optional TABLE)
(defalias 'abbrev-expansion #[513 "\300\"J\207" [abbrev-symbol] 5 (#$ . 25395)])
#@74 Try and find an abbrev before point.  Return it if found, nil otherwise.
(defalias 'abbrev--before-point #[0 "p=\204\302\303 `\302\211\211\211	\203M	\262\302dW\203.f\304=\203.\211T|\210S\262\305\306!\210`\262V\205\332{\262b\210\307\"F\207\203\331\211@\204\331\211A\262\242\310\311\"\312\310\313\"	\"\262\211\203s\211 \205\317\310\314\"\211\204\220`\315v\210`\262\316v\210`^\211\262\262\202\241\317\320 \"\205\241\316\224\262\316\225\211\262\262\205\317{\211\262\205\317\321\"\211\205\315\322\311\"\262\203\306 \205\315\211F\262\262b\266\202M\211\207" [abbrev-start-location-buffer abbrev-start-location nil abbrev--active-tables 45 skip-syntax-backward " " abbrev-symbol abbrev-table-get :enable-function append :parents :regexp -1 1 looking-back line-beginning-position abbrev--symbol abbrev-get] 13 (#$ . 25674)])
#@504 Insert abbrev ABBREV at point.
If non-nil, NAME is the name by which this abbrev was found.
If non-nil, WORDSTART is the buffer position where to insert the abbrev.
If WORDEND is non-nil, it is a buffer position; the abbrev replaces the
previous text between WORDSTART and WORDEND.
Return ABBREV if the expansion should be considered as having taken place.
The return value can be influenced by a `no-self-insert' property;
see `define-abbrev' for details.

(fn ABBREV &optional NAME WORDSTART WORDEND)
(defalias 'abbrev-insert #[1025 "\204	\302!\262\204`\262\211\204\262\303\304\305\304\"T#\210\211J;\203\211b\210Jc\210\306Z!\210\307\302!\232\204\210\310\311\"\203\210\310\312\"\204t	\204l\212\313v\210`b\210\314v\210`V)\203l\315`\"\210\202\210\316`\"\210\202\210`b\210\317\320S\"\210\315``T\"\210\211b\266)K\203\246K\211 9\203\244\211\204\244\321N\203\244\307\262\266\207" [case-fold-search abbrev-all-caps symbol-name abbrev-put :count abbrev-get delete-char nil string-match "[[:upper:]]" "[[:lower:]]" -1 1 upcase-initials-region upcase-region skip-syntax-forward "^w" no-self-insert] 10 (#$ . 26573)])
#@47 Wrapper hook around `abbrev--default-expand'.
(defvar abbrev-expand-functions nil (#$ . 27737))
(make-obsolete-variable 'abbrev-expand-functions 'abbrev-expand-function "24.4")
#@146 Function that `expand-abbrev' uses to perform abbrev expansion.
Takes no arguments, and should return the abbrev symbol if expansion
took place.
(defvar abbrev-expand-function 'abbrev--default-expand (#$ . 27921))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\207" [custom-declare-variable abbrev-suggest funcall function #[0 "\300\207" [nil] 1 #1=""] "Non-nil means suggest using abbrevs to save typing.\nWhen abbrev mode is active and this option is non-nil, Emacs will\nsuggest in the echo area to use an existing abbrev if doing so\nwill save enough typing.  See `abbrev-suggest-hint-threshold' for\nthe definition of \"enough typing\"." :type boolean :version "28.1" abbrev-suggest-hint-threshold #[0 "\300\207" [3] 1 #1#] "Threshold for when to suggest to use an abbrev to save typing.\nThe threshold is the amount of typing, in terms of the number of\ncharacters, that would be saved by using the abbrev.  The\nthinking is that if the expansion is only a few characters\nlonger than the abbrev, the benefit of informing the user is not\nsignificant.  If you always want to be informed about existing\nabbrevs for the text you type, set this value to zero or less.\nThis setting only applies if `abbrev-suggest' is non-nil." number] 8)
#@69 Return a list of all active abbrev tables, including parent tables.
(defalias 'abbrev--suggest-get-active-tables-including-parents #[0 "\300 \211\211\203\211@\301\302\303\"\"\262A\266\202\202\210\207" [abbrev--active-tables append abbrev-table-get :parents] 8 (#$ . 29228)])
#@99 Return a list of all the active abbrev expansions.
Includes expansions from parent abbrev tables.
(defalias 'abbrev--suggest-get-active-abbrev-expansions #[0 "\300C\301 \211\203\211@\302\303\304#\"\210A\266\202\202\210\211\242\207" [nil abbrev--suggest-get-active-tables-including-parents mapatoms make-closure #[257 "\302\301\"J\211\205\300\303!B\300\242B\240\207" [V0 V1 abbrev--symbol symbol-name] 6 "\n\n(fn E)"]] 8 (#$ . 29518)])
#@102 Return the number of words in EXPANSION.
Expansion is a string of one or more words.

(fn EXPANSION)
(defalias 'abbrev--suggest-count-words #[257 "\300\301\302#G\207" [split-string " " t] 5 (#$ . 29973)])
#@59 Return the N words before point, spaces included.

(fn N)
(defalias 'abbrev--suggest-get-previous-words #[257 "`\212\206\300[v\210\301\302\303\304`\"#)\207" [1 replace-regexp-in-string "\\s " " " buffer-substring-no-properties] 8 (#$ . 30185)])
#@354 Return non-nil if the abbrev in EXPANSION provides significant savings.
A significant saving, here, means the difference in length between
the abbrev and its expansion is not below the threshold specified
by the value of `abbrev-suggest-hint-threshold'.
EXPANSION is a cons cell where the car is the expansion and the cdr is
the abbrev.

(fn EXPANSION)
(defalias 'abbrev--suggest-above-threshold #[257 "\211@GAGZY\207" [abbrev-suggest-hint-threshold] 3 (#$ . 30441)])
#@126 Keeps the list of expansions that have abbrevs defined.
The user can show this list by calling
`abbrev-suggest-show-report'.
(defvar abbrev--suggest-saved-recommendations nil (#$ . 30918))
#@161 Display a message to the user about the existing abbrev.
EXPANSION is a cons cell where the `car' is the expansion and the
`cdr' is the abbrev.

(fn EXPANSION)
(defalias 'abbrev--suggest-inform-user #[257 "\301\302\303\304\305\"#\210\211B\211\207" [abbrev--suggest-saved-recommendations run-with-idle-timer 1 nil make-closure #[0 "\301\302\300@\300A#\207" [V0 message "You can write `%s' using the abbrev `%s'."] 4]] 7 (#$ . 31114)])
#@177 Return the shortest of the two abbrevs given by NEW and CURRENT.
NEW and CURRENT are cons cells where the `car' is the expansion
and the `cdr' is the abbrev.

(fn NEW CURRENT)
(defalias 'abbrev--suggest-shortest-abbrev #[514 "\211\204\207AGAGW\203\207\207" [] 4 (#$ . 31558)])
#@173 Suggest an abbrev to the user based on the word(s) before point.
Uses `abbrev-suggest-hint-threshold' to find out if the user should be
informed about the existing abbrev.
(defalias 'abbrev--suggest-maybe-suggest #[0 "\301\211\211\302 \211\203;\211@\303@!\262\304!\262\305\306V\2033\307@\"\2033\310!\2033\311\"\262)A\266\202\202\210\205C\312!\207" [case-fold-search nil abbrev--suggest-get-active-abbrev-expansions abbrev--suggest-count-words abbrev--suggest-get-previous-words t 0 string-match abbrev--suggest-above-threshold abbrev--suggest-shortest-abbrev abbrev--suggest-inform-user] 8 (#$ . 31850)])
#@224 Return a list of all expansions and how many times they were used.
Each expansion in the returned list is a cons cell where the `car' is the
expansion text and the `cdr' is the number of times the expansion has been
typed.
(defalias 'abbrev--suggest-get-totals #[0 "\301\211\211\2030\211@\302@\"\204\211@\303BB\262\202)\302@\"\262\211AT\241\210A\266\202\202\210\207" [abbrev--suggest-saved-recommendations nil assoc 1] 7 (#$ . 32485)])
#@183 Show a buffer with the list of abbrevs you could have used.
This shows the abbrevs you've "missed" because you typed the
full text instead of the abbrevs that expand into that text.
(defalias 'abbrev-suggest-show-report #[0 "\300 \301\302!\211q\210\303 \210\304\305!c\210\211\203'\211@\306\307@A#c\210A\266\202\202\210\310!\207" [abbrev--suggest-get-totals get-buffer-create "*abbrev-suggest*" erase-buffer substitute-command-keys "** Abbrev expansion usage **\n\nBelow is a list of expansions for which abbrevs are defined, and\nthe number of times the expansion was typed manually.  To display\nand edit all abbrevs, type \\[edit-abbrevs].\n\n" format " %s: %d\n" display-buffer] 8 (#$ . 32945) nil])
#@316 Expand the abbrev before point, if there is an abbrev there.
Effective when explicitly called even when `abbrev-mode' is nil.
Calls the value of `abbrev-expand-function' with no argument to do
the work, and returns whatever it does.  (That return value should
be the abbrev symbol if expansion occurred, else nil.)
(defalias 'expand-abbrev #[0 " \206	\205\302 \207" [abbrev-expand-function abbrev-suggest abbrev--suggest-maybe-suggest] 1 (#$ . 33663) nil])
#@259 Default function to use for `abbrev-expand-function'.
This also respects the obsolete wrapper hook `abbrev-expand-functions'.
(See `with-wrapper-hook' for details about wrapper hooks.)
Calls `abbrev-insert' to insert any expansion, and returns what it does.
(defalias 'abbrev--default-expand #[0 "\301C\211\302\303\"\240\210\211\242\304\300!\205\305\300!\301#\207" [abbrev-expand-functions nil make-closure #[771 ":\203(@\301=\203\300\242\302A\"\303#\207\304@\305\306\307\300\"A##\207\304\310\"\207" [V0 t append nil apply apply-partially make-closure #[642 "\300\242#\207" [V0] 7 "\n\n(fn FUNS GLOBAL &rest ARGS)"] #[0 "\304 \211\242\243\211\242\243\211\242\243\211\242\243\205N\305`\306\"\305\306\"\204+\307 \204+\310 \210	\311\n	$V\203L`U\203Lb\210\266\202\207" [noninteractive last-abbrev-text last-abbrev last-abbrev-location abbrev--before-point copy-marker t window-minibuffer-p undo-boundary abbrev-insert] 16]] 9 "\n\n(fn FUNS GLOBAL ARGS)"] local-variable-p default-value] 5 (#$ . 34132)])
#@139 Undo the expansion of the last abbrev that expanded.
This differs from ordinary undo in that other editing done since then
is not undone.
(defalias 'unexpand-abbrev #[0 "\212eW\206\ndV?\2050b\210	;\2050\nJ\211;\204!\303\304!\210	c\210``G\\|\210\305\211\262)\207" [last-abbrev-location last-abbrev-text last-abbrev error "Value of abbrev-symbol must be a string" nil] 4 (#$ . 35191) nil])
#@110 Write the abbrev in a `read'able form.
Presumes that `standard-output' points to `current-buffer'.

(fn SYM)
(defalias 'abbrev--write #[257 "\300c\210\301\302!!\210\303c\210\301J!\210\303c\210\301K!\210\304c\210\301\305\306\"!\210\305\307\"\2034\310c\210\301\305\307\"!\210\305\311\"\203E\312c\210\301\305\311\"!\210\313c\207" ["    (" prin1 symbol-name " " " :count " abbrev-get :count :case-fixed " :case-fixed " :enable-function " :enable-function " ")\n"] 5 (#$ . 35596)])
#@12 

(fn SYM)
(defalias 'abbrev--describe #[257 "\211J\205D\300\301!!\210\302\303\"\204\304\305\306\"\210\202\"\307c\210\304\310\306\"\210\300\302\311\"!\210\304\310\306\"\210\300J!\210\211K\203B\304\312\306\"\210\300K!\210\313 \207" [prin1 symbol-name abbrev-get :system indent-to 15 1 " (sys)" 20 :count 45 terpri] 5 (#$ . 36089)])
#@459 Insert before point a full description of abbrev table named NAME.
NAME is a symbol whose value is an abbrev table.
If optional 2nd arg READABLE is non-nil, insert a human-readable
description.

If READABLE is nil, insert an expression.  The expression is
a call to `define-abbrev-table' that, when evaluated, will define
the abbrev table NAME exactly as it is currently defined.
Abbrevs marked as "system abbrevs" are ignored.

(fn NAME &optional READABLE)
(defalias 'insert-abbrev-table-description #[513 "\301\"\302\303\"\262p\203%\304c\210\305!\210\306c\210\307\310\"\210\311c\210\202A\312c\210\305!\210\211\2046\313c\210\202A\314c\210\307\315\"\210\316c\210)\317\207" [standard-output abbrev--table-symbols sort string-lessp "(" prin1 ")\n\n" mapc abbrev--describe "\n\n" "(define-abbrev-table '" " '())\n\n" "\n  '(\n" abbrev--write "   ))\n\n" nil] 6 (#$ . 36437)])
#@195 Return the user abbrev symbols in the abbrev table named NAME.
NAME is a symbol whose value is an abbrev table.  System abbrevs
are omitted unless SYSTEM is non-nil.

(fn NAME &optional SYSTEM)
(defalias 'abbrev--table-symbols #[513 "J\300C\301\302\303#\"\210\211\242\207" [nil mapatoms make-closure #[257 "\211J\205\300\204\302\303\"?\205\301\301\242B\240\207" [V0 V1 abbrev-get :system] 4 "\n\n(fn SYM)"]] 9 (#$ . 37331)])
#@1100 Define TABLENAME (a symbol) as an abbrev table name.
Define abbrevs in it according to DEFINITIONS, which is a list of elements
of the form (ABBREVNAME EXPANSION ...) that are passed to `define-abbrev'.
PROPS is a property list to apply to the table.
Properties with special meaning:
- `:parents' contains a list of abbrev tables from which this table inherits
  abbreviations.
- `:case-fixed' non-nil means that abbreviations are looked up without
  case-folding, and the expansion is not capitalized/upcased.
- `:regexp' is a regular expression that specifies how to extract the
  name of the abbrev before point.  The submatch 1 is treated
  as the potential name of an abbrev.  If `:regexp' is nil, the default
  behavior uses `backward-word' and `forward-word' to extract the name
  of the abbrev, which can therefore by default only be a single word.
- `:enable-function' can be set to a function of no arguments which returns
  non-nil if and only if the abbrevs in this table should be used for this
  instance of `expand-abbrev'.

(fn TABLENAME DEFINITIONS &optional DOCSTRING &rest PROPS)
(defalias 'define-abbrev-table #[898 "\203\211\2039\203B\262\301\262\302\303\301\205CBBB!\210\304!\205,J\211\204B\305 \262L\210>\204BB:\203eA\204R\306\307@\"\210\310\211A\262\242\211A\262\242#\210\202B\211\205y\211@\311\312#\210A\266\202\202f\207" [abbrev-table-name-list nil eval defvar boundp make-abbrev-table error "Missing value for property %S" abbrev-table-put apply define-abbrev] 11 (#$ . 37776)])
(byte-code "\300\301\302\303#\300\207" [function-put define-abbrev-table doc-string-elt 3] 4)
#@254 Return a menu that shows all abbrevs in TABLE.
Selecting an entry runs `abbrev-insert' for that entry's abbrev.
PROMPT is the prompt to use for the keymap.
SORTFUN is passed to `sort' to change the default ordering.

(fn TABLE &optional PROMPT SORTFUN)
(defalias 'abbrev-table-menu #[769 "\211C\211\242\204\211\300\240\210\301C\302\303\304\"\"\210\305!\306\242\303\307\"\"\244\207" [string-lessp nil obarray-map make-closure #[257 "\211J\205\301!\300\302!\303\304\305\306\307\310\nDDFF\300\242B\240\262\207" [V0 symbol-name intern menu-item lambda nil (interactive) abbrev-insert quote] 12 "\n\n(fn ABBREV)"] make-sparse-keymap sort #[514 "\300\242\3018\3018\"\207" [V0 2] 6 "\n\n(fn X Y)"]] 11 (#$ . 39430)])
(defvar edit-abbrevs-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [edit-abbrevs-mode-hook variable-documentation put "Hook run after entering Edit-Abbrevs mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp edit-abbrevs-mode-map definition-name edit-abbrevs-mode] 4)
(defvar edit-abbrevs-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\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\317#\207" [edit-abbrevs-mode-abbrev-table edit-abbrevs-mode-map variable-documentation put purecopy "Keymap for `edit-abbrevs-mode'." boundp edit-abbrevs-mode-syntax-table definition-name edit-abbrevs-mode (lambda (#1=#:def-tmp-var) (defvar edit-abbrevs-mode-syntax-table #1#)) make-syntax-table "Syntax table for `edit-abbrevs-mode'." (lambda (#1#) (defvar edit-abbrevs-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `edit-abbrevs-mode'." derived-mode-parent] 5)
#@273 Major mode for editing the list of abbrev definitions.
This mode is for editing abbrevs in a buffer prepared by `edit-abbrevs',
which see.

This mode runs the hook `edit-abbrevs-mode-hook', as the final or
penultimate step during initialization.

\{edit-abbrevs-mode-map}
(defalias 'edit-abbrevs-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
)\315\316!\207" [delay-mode-hooks major-mode mode-name edit-abbrevs-mode-map edit-abbrevs-mode-syntax-table edit-abbrevs-mode-abbrev-table make-local-variable t kill-all-local-variables edit-abbrevs-mode "Edit-Abbrevs" use-local-map set-syntax-table run-mode-hooks edit-abbrevs-mode-hook local-abbrev-table] 2 (#$ . 41383) nil])
(provide 'abbrev)

Youez - 2016 - github.com/yon3zu
LinuXploit