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



(byte-code "\300\301!\210\302\303\304\305\306\307\306\310\311\312\311\313&\207" [require comint custom-declare-group hippie-expand nil "Expand text trying various ways to find its expansion." :link (custom-manual "(autotype)Hippie Expand") (emacs-commentary-link "hippie-exp") :group abbrev convenience] 12)
(defvar he-num -1)
(defvar he-string-beg (make-marker))
(defvar he-string-end (make-marker))
(defvar he-search-string nil)
(defvar he-expand-list nil)
(defvar he-tried-table nil)
(defvar he-search-loc (make-marker))
(defvar he-search-loc2 nil)
(defvar he-search-bw nil)
(defvar he-search-bufs nil)
(defvar he-searched-n-bufs nil)
(defvar he-search-window nil)
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\210\300\314\302\303\315DD\316\306\313%\210\300\317\302\303\320DD\321\306\313%\210\300\322\302\303\323DD\324\306\313%\210\300\325\302\303\326DD\327\306\330%\210\300\331\302\303\332DD\333\306\334%\210\300\335\302\303\336DD\337\306\340%\207" [custom-declare-variable hippie-expand-try-functions-list funcall function #[0 "\300\207" [(try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol)] 1 #1=""] "The list of expansion functions tried in order by `hippie-expand'.\nTo change the behavior of `hippie-expand', remove, change the order of,\nor insert functions in this list." :type (repeat function) hippie-expand-verbose #[0 "\300\207" [t] 1 #1#] "Non-nil makes `hippie-expand' output which function it is trying." boolean hippie-expand-dabbrev-skip-space #[0 "\300\207" [nil] 1 #1#] "Non-nil means tolerate trailing spaces in the abbreviation to expand." hippie-expand-dabbrev-as-symbol #[0 "\300\207" [t] 1 #1#] "Non-nil means expand as symbols, i.e. syntax `_' is considered a letter." hippie-expand-no-restriction #[0 "\300\207" [t] 1 #1#] "Non-nil means that narrowed buffers are widened during search." hippie-expand-max-buffers #[0 "\300\207" [nil] 1 #1#] "The maximum number of buffers (apart from the current) searched.\nIf nil, all buffers are searched." (choice (const :tag "All" nil) integer) hippie-expand-ignore-buffers #[0 "\300\207" [("^ \\*.*\\*$" dired-mode)] 1 #1#] "A list specifying which buffers not to search (if not current).\nCan contain both regexps matching buffer names (as strings) and major modes\n(as atoms)." (repeat (choice regexp (symbol :tag "Major Mode"))) hippie-expand-only-buffers #[0 "\300\207" [nil] 1 #1#] "A list specifying the only buffers to search (in addition to current).\nCan contain both regexps matching buffer names (as strings) and major modes\n(as atoms).  If non-nil, this variable overrides the variable\n`hippie-expand-ignore-buffers'." (repeat (choice regexp (symbol :tag "Major Mode")))] 6)
#@437 Try to expand text before point, using multiple methods.
The expansion functions in `hippie-expand-try-functions-list' are
tried in order, until a possible expansion is found.  Repeated
application of `hippie-expand' inserts successively possible
expansions.
With a positive numeric argument, jumps directly to the ARG next
function in this list.  With a negative argument or just \[universal-argument],
undoes the expansion.

(fn ARG)
(defalias 'hippie-expand #[257 "\211\203 \211\250\203~ \211\306V\203~ \307U\206 	\n\232?\211\203! \307\310\203/ \211\2042 \311 \210\2022 \306\262\\\306]\211\fGY\204Q \312\f8UC\"\204Q \211T\262\2027 \211\fGY\203m \307\211\203f \313\314!\210\202j \313\315!\210\316 \207\205} \317 ?\205} \313\320\f8\"\207\306Y\205\237 \321!p=\205\237 \307\311 \210\205\237 \317 ?\205\237 \313\322!\207" [he-num this-command last-command he-tried-table hippie-expand-try-functions-list hippie-expand-verbose 0 -1 nil he-reset-string apply message "No expansion found" "No further expansions found" ding window-minibuffer-p "Using %s" marker-buffer "Undoing expansions" he-string-beg] 8 (#$ . 2985) "P"])
#@16 

(fn BEG END)
(defalias 'he-init-string #[514 "\303\223\210	\303\223\210\304\"\211\207" [he-string-beg he-string-end he-search-string nil buffer-substring-no-properties] 5 (#$ . 4133)])
(defalias 'he-reset-string #[0 "\303 b\210	c\210`\n|\210\211b\207" [he-string-beg he-search-string he-string-end point-marker] 3])
#@33 

(fn STR &optional TRANS-CASE)
(defalias 'he-substitute-string #[513 "\211\205	 \205	 	\306 \307\nb\210\203 \310\"\202 \262\211\fB\211c\210`|\210b\207" [case-replace case-fold-search he-string-beg he-search-string he-tried-table he-string-end point-marker nil he-transfer-case] 8 (#$ . 4464)])
#@12 

(fn STR)
(defalias 'he-capitalize-first #[257 "\300 \301\302\"\216\303\304\"\203  \227\305\224H\226I\210\266\202\202! )\207" [match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] string-match "\\Sw*\\(\\sw\\).*" 1] 8 (#$ . 4777)])
#@12 

(fn STR)
(defalias 'he-ordinary-case-p #[257 "\211\227\230\206 \211\226\230\206 \211\300!\230\206 \211\301!\230\207" [capitalize he-capitalize-first] 4 (#$ . 5054)])
#@24 

(fn FROM-STR TO-STR)
(defalias 'he-transfer-case #[514 "\300GG^O\230\203 \207\301!\204 \207\211\227\230\203 \211\227\207\211\226\230\203) \211\226\207\302!\230\2035 \302!\207\303!\230\203A \303!\207\207" [0 he-ordinary-case-p he-capitalize-first capitalize] 7 (#$ . 5235)])
#@37 

(fn STR LST &optional TRANS-CASE)
(defalias 'he-string-member #[770 "\205 \211\203 \203 	\203 \303\n\"\202 \235\207" [case-replace case-fold-search he-search-string he-transfer-case] 6 (#$ . 5533)])
#@12 

(fn LST)
(defalias 'he-buffer-member #[257 ">\206! \211\203  \211@;\203 \301@\302 \"\204  \211A\262\202 \211\207" [major-mode string-match buffer-name] 4 (#$ . 5750)])
#@205 Construct a function similar to `hippie-expand'.
Make it use the expansion functions in TRY-LIST.  An optional second
argument VERBOSE non-nil makes the function verbose.

(fn TRY-LIST &optional VERBOSE)
(defalias 'make-hippie-expand-function #[513 "\300\301\302\303\304\"\305\"\306\307\310\311	\312#P\313&\207" [make-byte-code 257 "\300\301\304!*\207" vconcat vector [hippie-expand-verbose hippie-expand-try-functions-list hippie-expand] 3 "Try to expand text before point, using the following functions: \n" mapconcat prin1-to-string ", " "P"] 12 (#$ . 5933)])
#@253 Try to complete text as a file name.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible completions of the same
string).  It returns t if a new completion is found, nil otherwise.

(fn OLD)
(defalias 'try-complete-file-name #[257 "\211\204> \303\304 `\"\210\305!\306\307!\206 \310!\311	\"\204! 	B\310\232\204: \312!\203: \313\314\"\315\"\266\202> \316\266\n\203Q \311\n@	\"\203Q \nA\211\204B \n\204^ \211\203\\ \317 \210\316\207\320\307!\n@\"\321!\210\n@	AB\nA\322\207" [he-search-string he-tried-table he-expand-list he-init-string he-file-name-beg file-name-nondirectory expand-file-name file-name-directory "" he-string-member file-directory-p sort file-name-all-completions string-lessp nil he-reset-string he-concat-directory-file-name he-substitute-string t] 8 (#$ . 6512)])
#@223 Try to complete text as a file name, as many characters as unique.
The argument OLD has to be nil the first call of this function.  It
returns t if a unique, possibly partial, completion is found, nil
otherwise.

(fn OLD)
(defalias 'try-complete-file-name-partially #[257 "\302\204A \303\304 `\"\210\305!\306\307!\206 \310!\310\232\204) \311!\203) \312\"\262\313=\204< \230\204< \314	\"\203? \302\262\266\211\204N \203L \315 \210\302\207\316\307!\"\317!\210	AB\313\207" [he-search-string he-tried-table nil he-init-string he-file-name-beg file-name-nondirectory expand-file-name file-name-directory "" file-directory-p file-name-completion t he-string-member he-reset-string he-concat-directory-file-name he-substitute-string] 7 (#$ . 7381)])
#@65 Characters that are considered part of the file name to expand.
(defvar he-file-name-chars (byte-code "\301>\203 \302\207\303\207" [system-type (ms-dos windows-nt cygwin) "-a-zA-Z0-9_/.,~^#$+=:\\\\" "-a-zA-Z0-9_/.,~^#$+="] 2) (#$ . 8151))
(defalias 'he-file-name-beg #[0 "`\212\301x\210\302\303!\304V\203 \211\202 `)\207" [he-file-name-chars nil skip-syntax-backward "w" 0] 3])
#@102 Try to slam together two parts of a file specification, system dependently.

(fn DIR-PART NAME-PART)
(defalias 'he-concat-directory-file-name #[514 "\204 \207\301=\203. \302\303\"\203* \302\304\"\204* \211GSH\305U\203* \211GS\306I\210P\207P\207" [system-type ms-dos string-search "\\" "/" 47 92] 5 (#$ . 8541)])
#@262 Try to complete word as an Emacs Lisp symbol.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible completions of the same
string).  It returns t if a new completion is found, nil otherwise.

(fn OLD)
(defalias 'try-complete-lisp-symbol #[257 "\211\204% \304\305 `\"\210\306	\"\204 	B\307\232?\205$ \310\311\n\312#\313\"\2038 \306@	\"\2038 A\211\204) \204E \211\203C \314 \210\315\207\316@!\210A\317\207" [he-search-string he-tried-table obarray he-expand-list he-init-string he-lisp-symbol-beg he-string-member "" sort all-completions #[257 "\300!\206 \301!\206 \302!\207" [boundp fboundp symbol-plist] 3 "\n\n(fn SYM)"] string-lessp he-reset-string nil he-substitute-string t] 7 (#$ . 8871)])
#@227 Try to complete as an Emacs Lisp symbol, as many characters as unique.
The argument OLD has to be nil the first call of this function.  It
returns t if a unique, possibly partial, completion is found, nil
otherwise.

(fn OLD)
(defalias 'try-complete-lisp-symbol-partially #[257 "\303\204. \304\305 `\"\210\306\230\204 \307	\310#\262\211\311=\204+ \211\230\204+ \312\n\"\203. \303\262\211\204; \2039 \313 \210\303\207\314!\210\311\207" [he-search-string obarray he-tried-table nil he-init-string he-lisp-symbol-beg "" try-completion #[257 "\300!\206 \301!\206 \302!\207" [boundp fboundp symbol-plist] 3 "\n\n(fn SYM)"] t he-string-member he-reset-string he-substitute-string] 6 (#$ . 9653)])
(defalias 'he-lisp-symbol-beg #[0 "\212\300\301!\210`)\207" [skip-syntax-backward "w_"] 2])
#@282 Try to complete the current line to an entire line in the buffer.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible completions of the same
string).  It returns t if a new completion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-line #[257 "\306\307p!\205\f \205\f 	\204 \310\311!`\"\210\n\306\223\210\312\313\232\204` \212\214\203- ~\210\f\203L \nb\210\314\312#\262\n`\306\223\210\204L \n\306\223\210\306\204_ \nb\210\314\306#\262\n`\306\223\210*\204m \203k \315 \210\306\207\316\312\"\210\312\207" [comint-use-prompt-regexp comint-prompt-regexp he-search-loc he-string-beg he-search-bw he-search-string nil get-buffer-process he-init-string he-line-beg t "" he-line-search he-reset-string he-substitute-string hippie-expand-no-restriction he-string-end] 7 (#$ . 10458)])
#@279 Try to complete the current line, searching all other buffers.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible completions of the same
string).  It returns t if a new completion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-line-all-buffers #[257 "\300\301\302#\207" [he--all-buffers #[0 "\302\303p!\205\f \205\f 	!\207" [comint-use-prompt-regexp comint-prompt-regexp he-line-beg get-buffer-process] 3] #[257 "\302\303p!\205 \205 	\304#\207" [comint-use-prompt-regexp comint-prompt-regexp he-line-search get-buffer-process nil] 5 "\n\n(fn STRING)"]] 5 (#$ . 11335)])
#@41 

(fn OLD BEG-FUNCTION SEARCH-FUNCTION)
(defalias 'he--all-buffers #[771 "\306p	\n\204 \307 `\"\210\310 \311\312@\223\210\313\232\204\214 \203\214 \204\214 \2037 \fW\203\214 @q\210p=\204\200 \203K \314!\202O \314!?\203\200 \212\214\203[ ~\210b\210\211!)\262`\306\223\210\204| A\fT\312@\223\210*\202# A\312@\223\210\202# q\210\204\235 \203\233 \315 \210\306\207\316\317\"\210\317\207" [hippie-expand-only-buffers hippie-expand-ignore-buffers case-fold-search he-search-bufs he-searched-n-bufs he-search-loc nil he-init-string buffer-list 0 1 "" he-buffer-member he-reset-string he-substitute-string t he-search-string hippie-expand-max-buffers hippie-expand-no-restriction] 11 (#$ . 11990)])
#@33 

(fn STR STRIP-PROMPT REVERSE)
(defalias 'he-line-search #[771 "\301\211\2045 \203 \302\303\"\301\304#\202 \305\303\"\301\304#\2035 \306\307\225\310\225\"\262\311\304#\203 \301\262\202 \207" [he-tried-table nil re-search-backward he-line-search-regexp t re-search-forward buffer-substring-no-properties 1 0 he-string-member] 8 (#$ . 12734)])
#@21 

(fn STRIP-PROMPT)
(defalias 'he-line-beg #[257 "\212\300\301\302\"\303 \304#\203 \305\224\202 `)\207" [re-search-backward he-line-search-regexp "" line-beginning-position t 2] 5 (#$ . 13096)])
#@25 

(fn PAT STRIP-PROMPT)
(defalias 'he-line-search-regexp #[514 "\211\203 \301\302\303!\304\260\207\305\303!\304Q\207" [comint-prompt-regexp "\\(" "\\|^\\s-*\\)\\(?2:" regexp-quote "[^\n]*[^ 	\n]\\)" "^\\(\\s-*\\)\\("] 7 (#$ . 13300)])
#@265 Try to complete the current beginning of a list.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible completions of the same
string).  It returns t if a new completion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-list #[257 "\306\204 \307\310 `\"\210	\306\223\210\311\312\232\204P \212\214\f\203  ~\210\n\203= b\210\313\311\"\262`\306\223\210\211\204= \306\223\210\306\211\204O b\210\313\306\"\262`\306\223\210*\211\204] \203[ \314 \210\306\207\315\311\"\210\311\207" [he-search-loc he-string-beg he-search-bw he-search-string hippie-expand-no-restriction he-string-end nil he-init-string he-list-beg t "" he-list-search he-reset-string he-substitute-string] 5 (#$ . 13547)])
#@279 Try to complete the current list, searching all other buffers.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible completions of the same
string).  It returns t if a new completion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-list-all-buffers #[257 "\300\301\302#\207" [he--all-buffers he-list-beg he-list-search] 5 (#$ . 14321)])
#@30 

(fn STR &optional REVERSE)
(defalias 'he-list-search #[513 "\302\211\211\211\204c \203 \303\302\304#\202 \305\302\304#\203c `\262\306\224\262b\210\302\262\30717 \310\311!0\210\202; \210\304\262\203H `V\203H \304\262\211\204] \312`\"\262\313	\304#\203] \302\262b\210\202 \207" [he-string-beg he-tried-table nil search-backward t search-forward 0 (error) forward-list 1 buffer-substring-no-properties he-string-member] 10 (#$ . 14733)])
(defalias 'he-list-beg #[0 "\212\3001 \301\302!0\210\202 \210`)\207" [(error) backward-up-list 1] 2])
#@278 Try to expand word before point according to all abbrev tables.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible expansions of the same
string).  It returns t if a new expansion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-all-abbrevs #[257 "\211\204 \304\305 `\"\210\306\232?\205 \307\310\311\312	\"\"\n\2032 \n@\203+ \313\n@\314#\2032 \nA\211\204 \n\204? \211\203= \315 \210\316\207\317\n@\314\"\210\nA\314\207" [he-search-string abbrev-table-name-list he-expand-list he-tried-table he-init-string he-dabbrev-beg "" mapcar #[257 "\301!\205 \302J!\205 \303\227J\"\207" [he-search-string boundp abbrev-table-p abbrev-expansion] 4 "\n\n(fn SYM)"] append (local-abbrev-table global-abbrev-table) he-string-member t he-reset-string nil he-substitute-string] 7 (#$ . 15304)])
#@278 Try to expand word "dynamically", searching the current buffer.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible expansions of the same
string).  It returns t if a new expansion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-dabbrev #[257 "\306\204 \307\310 `\"\210	\306\223\210\311\312\232\204P \212\214\f\203  ~\210\n\203= b\210\313\311\"\262`\306\223\210\211\204= \306\223\210\306\211\204O b\210\313\306\"\262`\306\223\210*\211\204] \203[ \314 \210\306\207\315\311\"\210\311\207" [he-search-loc he-string-beg he-search-bw he-search-string hippie-expand-no-restriction he-string-end nil he-init-string he-dabbrev-beg t "" he-dabbrev-search he-reset-string he-substitute-string] 5 (#$ . 16173)])
#@277 Try to expand word "dynamically", searching all other buffers.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible expansions of the same
string).  It returns t if a new expansion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-dabbrev-all-buffers #[257 "\300\301\302#\207" [he--all-buffers he-dabbrev-beg he-dabbrev-search] 5 (#$ . 16969)])
#@280 Try to expand word "dynamically", searching visible window parts.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible expansions of the same
string).  It returns t if a new expansion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-dabbrev-visible #[257 "\304\305\306 !\203\f \307\202 \310\204# \311\312 `\"\210\313 	\314!\315!\223\210\n\316\232\204\217 \317	!\203\217 \204\217 r\320	!q\210\212	b\210\321\n\304\322!#\262\203d \320!p=\203d \317!\323\224=\203d \321\n\304\322!#\262	`p\223\210*\204# \324\304#\211\313 =\203\203 	\304\211\223\210\202# 	\314!\315!\223\210\202# \204\234 \203\232 \325 \210\304\207\326\310\"\210\310\207" [he-search-window he-search-loc he-search-string he-string-beg nil frame-visible-p window-frame visible t he-init-string he-dabbrev-beg selected-window window-start window-buffer "" marker-position marker-buffer he-dabbrev-search window-end 0 next-window he-reset-string he-substitute-string] 9 (#$ . 17389)])
#@40 

(fn PATTERN &optional REVERSE LIMIT)
(defalias 'he-dabbrev-search #[769 "\302\204 \303\304!\305Q\202% \306Hz\307=\203 \304!\310P\202% \303\304!\310Q\204h \2035 \311\312#\202: \313\312#\203h \314\306\224\306\225\"\262\203Z \306\224eV\203Z \306\224Sfz\315>\204b \316	\312#\203% \302\262\202% \207" [hippie-expand-dabbrev-as-symbol he-tried-table nil "\\<" regexp-quote "\\sw+" 0 95 "\\(\\sw\\|\\s_\\)+" re-search-backward t re-search-forward buffer-substring-no-properties (95 119) he-string-member] 9 (#$ . 18428)])
(defalias 'he-dabbrev-beg #[0 "`\212\203\n \302\303!\210\302	\203 \304\202 \305!\306U\203 \211\202 `)\207" [hippie-expand-dabbrev-skip-space hippie-expand-dabbrev-as-symbol skip-syntax-backward ". " "w_" "w" 0] 3])
#@275 Try to expand word "dynamically", searching the kill ring.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible completions of the same
string).  It returns t if a new completion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-dabbrev-from-kill #[257 "\304\204 \305\306 `\"\210\307\232?\205 	\310\307\232\204! \311!\262\211\204. \203, \312 \210\304\207\313\314\"\210\314\207" [he-search-string kill-ring he-expand-list he-search-loc2 nil he-init-string he-dabbrev-beg "" 0 he-dabbrev-kill-search he-reset-string he-substitute-string t] 5 (#$ . 19190)])
#@16 

(fn PATTERN)
(defalias 'he-dabbrev-kill-search #[257 "\304\204 \305\306!\307Q\202% \310Hz\311=\203 \306!\312P\202% \305\306!\312Q	@\204\210 	\203\210 \204t \313\n#\203t \211\310\224\310\225O\262\314\310G\304$\210\310\224T\203f \310\224\310V\203f \211\310\224SHz\315>\204n \316\317#\203/ \304\262\202/ \204' 	\203' 	A\211@\262\310\202' \207" [hippie-expand-dabbrev-as-symbol he-expand-list he-search-loc2 he-tried-table nil "\\<" regexp-quote "\\sw+" 0 95 "\\(\\sw\\|\\s_\\)+" string-match set-text-properties (95 119) he-string-member t] 10 (#$ . 19829)])
#@272 Try to complete text with something from the kill ring.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible completions of the same
string).  It returns t if a new completion is found, nil otherwise.

(fn OLD)
(defalias 'try-expand-whole-kill #[257 "\305\204! \306\307 `\"\210\310	\"\204 	B\311\232?\205 \n\305\311\232\204, \312!\262\211\2049 \2037 \313 \210\305\207\314!\210\315\207" [he-search-string he-tried-table kill-ring he-expand-list he-search-loc2 nil he-init-string he-kill-beg he-string-member "" he-whole-kill-search he-reset-string he-substitute-string t] 5 (#$ . 20419)])
#@12 

(fn STR)
(defalias 'he-whole-kill-search #[257 "\305\211\306!@\307\204\222 \203\222 \n\204) \310T#\211\262\203) \211\nB\202 \204} \n\203} \n@\262\nA\212b\210`ZeY\203k `Zf\311H=\203k \312\311O`Z\313#\203k \305O\262\314\311G\305$\210)\203) \315\f\"\203) \305\262\202) \204\n \203\n A\211@\262\307\262\202\n )\207" [he-expand-list case-fold-search he-search-loc2 he-string-beg he-tried-table nil regexp-quote -1 string-match 0 search-backward t set-text-properties he-string-member] 12 (#$ . 21087)])
(defalias 'he-kill-beg #[0 "`\212\300\301!\210\300\302!\303U\203 \211\202 `)\207" [skip-syntax-backward "^w_" "w_" 0] 3])
(provide 'hippie-exp)
