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


#@71 Non-nil enables searching multiple related buffers, in certain modes.#@2 #@255 A choice defining where to pause the search.
If the value is nil, don't pause before going to the next buffer.
If the value is `initial', pause only after a failing search in the
initial buffer.
If t, pause in all buffers that contain the search string.#@987 Function to call to get the next buffer to search.

When this variable is set to a function that returns a buffer, then
after typing another \[isearch-forward] or \[isearch-backward] at a failing search, the search goes
to the next buffer in the series and continues searching for the
next occurrence.

This function should return the next buffer (it doesn't need to switch
to it), or nil if it can't find the next buffer (when it reaches the
end of the search space).

The first argument of this function is the current buffer where the
search is currently searching.  It defines the base buffer relative to
which this function should find the next buffer.  When the isearch
direction is backward (when option `isearch-forward' is nil), this function
should return the previous buffer to search.

If the second argument of this function WRAP is non-nil, then it
should return the first buffer in the series; and for the backward
search, it should return the last buffer in the series.
(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\312\313\314\315\316DD\317\320\321\306\307&\210\312\322\314\315\323DD\324\320\325\306\307&\207" [require cl-lib custom-declare-group multi-isearch nil "Using isearch to search through multiple buffers." :version "23.1" :group isearch custom-declare-variable multi-isearch-search funcall function #[0 "\300\207" [t] 1 (#$ . 157)] (#$ . 83) :type boolean multi-isearch-pause #[0 "\300\207" [t] 1 (#$ . 157)] (#$ . 164) (choice (const :tag "Don't pause" nil) (const :tag "Only in initial buffer" initial) (const :tag "All buffers" t))] 8)
(defvar multi-isearch-next-buffer-function nil (#$ . 424))#@140 The currently active function to get the next buffer to search.
Initialized from `multi-isearch-next-buffer-function' when
Isearch starts.
(defvar multi-isearch-next-buffer-current-function nil (#$ . 2076))#@118 The buffer where the search is currently searching.
The value is nil when the search still is in the initial buffer.
(defvar multi-isearch-current-buffer nil (#$ . 2289))#@130 Sequence of buffers visited by multiple buffers Isearch.
This is nil if Isearch is not currently searching more than one buffer.
(defvar multi-isearch-buffer-list nil (#$ . 2466))#@61 Sequence of files visited by multiple file buffers Isearch.
(defvar multi-isearch-file-list nil (#$ . 2651))
(defvar multi-isearch-orig-search-fun nil)
(defvar multi-isearch-orig-wrap nil)
(defvar multi-isearch-orig-push-state nil)#@89 Set up isearch to search multiple buffers.
Intended to be added to `isearch-mode-hook'.
(defalias 'multi-isearch-setup #[0 "\205, 	\205, \306	\307\310!\307\311!\307\312!\313\310\314\"\210\313\311\315\"\210\313\312\316\"\210\317\320\321\"\207" [multi-isearch-search multi-isearch-next-buffer-function multi-isearch-current-buffer multi-isearch-next-buffer-current-function multi-isearch-orig-search-fun multi-isearch-orig-wrap nil default-value isearch-search-fun-function isearch-wrap-function isearch-push-state-function set-default multi-isearch-search-fun multi-isearch-wrap multi-isearch-push-state add-hook isearch-mode-end-hook multi-isearch-end multi-isearch-orig-push-state] 3 (#$ . 2888)])#@61 Clean up the multi-buffer search after terminating isearch.
(defalias 'multi-isearch-end #[0 "\306\211\306\211\307\310\f\"\210\307\311\"\210\307\312\"\210\313\314\315\"\207" [multi-isearch-current-buffer multi-isearch-next-buffer-current-function multi-isearch-buffer-list multi-isearch-file-list multi-isearch-orig-search-fun multi-isearch-orig-wrap nil set-default isearch-search-fun-function isearch-wrap-function isearch-push-state-function remove-hook isearch-mode-end-hook multi-isearch-end multi-isearch-orig-push-state] 4 (#$ . 3599)])#@69 Return the proper search function, for isearch in multiple buffers.#@29 

(fn STRING BOUND NOERROR)
(defalias 'multi-isearch-search-fun #[0 "\300\207" [#[771 "\306 \307\211#\211\203 \204 \310=\203 \307\206\201 ?\205\201 \n\205\201 \2034 \203z 	\203z \3111q \204h \206B p\307\"\262r\211q\210\f\203R e\202S db\210``#)\262\2028 \211\203n \2110\207\210\312\313\314D\"\207\312\313\315D\"\207" [multi-isearch-pause multi-isearch-current-buffer multi-isearch-search multi-isearch-next-buffer-current-function isearch-forward isearch-barrier isearch-search-fun-default nil t (error) signal search-failed "end of multi" "repeat for next buffer" isearch-opoint] 10 (#$ . 4228)]] 1 (#$ . 4155)])#@315 Wrap the multiple buffers search when search is failed.
Switch buffer to the first buffer for a forward search,
or to the last buffer for a backward search.
Set `multi-isearch-current-buffer' to the current buffer to display
the isearch suffix message [initial buffer] only when isearch leaves
the initial buffer.
(defalias 'multi-isearch-wrap #[0 "\203\f \203 	\203 \np\305\"\306 \210\203 e\202 db\207p\307\211\207" [multi-isearch-pause multi-isearch-current-buffer multi-isearch-next-buffer-current-function isearch-forward isearch-wrapped t multi-isearch-switch-buffer nil] 3 (#$ . 4884)])#@151 Save a function restoring the state of multiple buffers search.
Save the current buffer to the additional state parameter in the
search status stack.#@12 

(fn CMD)
(defalias 'multi-isearch-push-state #[0 "p\300\301\"\207" [make-closure #[257 "\301\300\"\207" [V0 multi-isearch-pop-state] 4 (#$ . 5648)]] 4 (#$ . 5493)])#@131 Restore the multiple buffers search state in BUFFER.
Switch to the buffer restored from the search status stack.

(fn CMD BUFFER)
(defalias 'multi-isearch-pop-state #[514 "\211p=?\205 \211\301 \207" [multi-isearch-current-buffer multi-isearch-switch-buffer] 4 (#$ . 5823)])#@51 Switch to the next buffer in multi-buffer search.
(defalias 'multi-isearch-switch-buffer #[0 "\302!\205 p=?\205 \303\304!\210\305\211\207" [multi-isearch-current-buffer isearch-mode buffer-live-p nil switch-to-buffer " M-Isearch"] 2 (#$ . 6104)])#@274 Return the next buffer in the series of buffers.
This function is used for multiple buffers Isearch.  A sequence of
buffers is defined by the variable `multi-isearch-buffer-list'
set in `multi-isearch-buffers' or `multi-isearch-buffers-regexp'.

(fn &optional BUFFER WRAP)
(defalias 'multi-isearch-next-buffer-from-list #[512 "\203 	\202 \302	!\203 @\207\235A@\207" [isearch-forward multi-isearch-buffer-list reverse] 5 (#$ . 6364)])#@63 Return a list of buffers specified interactively, one by one.
(defalias 'multi-isearch-read-buffers #[0 "\301\302p\303#C\304\301\305 \304\303#\211\262\306\230\204+ \211\235\203! \202$ \211B\262\202	 \237)\207" [ido-ignore-item-temp-list read-buffer "First buffer to search: " t nil multi-occur--prompt ""] 6 (#$ . 6810)])#@101 Return a list of buffers whose names match specified regexp.
Uses `read-regexp' to read the regexp.#@12 

(fn BUF)
(defalias 'multi-isearch-read-matching-buffers #[0 "\300\301!\211\205 \302\303\304\305\306\"\307 \"\"\207" [read-regexp "Search in buffers whose names match regexp" delq nil mapcar make-closure #[257 "\301\300\302!\"\205\n \211\207" [V0 string-match buffer-name] 5 (#$ . 7253)] buffer-list] 7 (#$ . 7148)])#@290 Start multi-buffer Isearch on a list of BUFFERS.
This list can contain live buffers or their names.
Interactively read buffer names to search, one by one, ended with RET.
With a prefix argument, ask for a regexp, and search in buffers
whose names match the specified regexp.

(fn BUFFERS)
(defalias 'multi-isearch-buffers #[257 "\303\304\305\"\306	@!\210\n\203 e\202 db\210\302\307\310\")\207" [multi-isearch-next-buffer-function multi-isearch-buffer-list isearch-forward multi-isearch-next-buffer-from-list mapcar get-buffer switch-to-buffer nil t] 4 (#$ . 7580) (byte-code "\203	 \301 \202 \302 C\207" [current-prefix-arg multi-isearch-read-matching-buffers multi-isearch-read-buffers] 1)])#@297 Start multi-buffer regexp Isearch on a list of BUFFERS.
This list can contain live buffers or their names.
Interactively read buffer names to search, one by one, ended with RET.
With a prefix argument, ask for a regexp, and search in buffers
whose names match the specified regexp.

(fn BUFFERS)
(defalias 'multi-isearch-buffers-regexp #[257 "\303\304\305\"\306	@!\210\n\203 e\202 db\210\307\310\311\")\207" [multi-isearch-next-buffer-function multi-isearch-buffer-list isearch-forward multi-isearch-next-buffer-from-list mapcar get-buffer switch-to-buffer isearch-forward-regexp nil t] 4 (#$ . 8286) (byte-code "\203	 \301 \202 \302 C\207" [current-prefix-arg multi-isearch-read-matching-buffers multi-isearch-read-buffers] 1)])#@404 Return the next buffer in the series of file buffers.
This function is used for multiple file buffers Isearch.  A sequence
of files is defined by the variable `multi-isearch-file-list' set in
`multi-isearch-files' or `multi-isearch-files-regexp'.
Every next/previous file in the defined sequence is visited by
`find-file-noselect' that returns the corresponding file buffer.

(fn &optional BUFFER WRAP)
(defalias 'multi-isearch-next-file-buffer-from-list #[512 "\203 	\202 \302	!\303\203 @\202 \304!\235A@!\207" [isearch-forward multi-isearch-file-list reverse find-file-noselect buffer-file-name] 6 (#$ . 9029)])#@61 Return a list of files specified interactively, one by one.
(defalias 'multi-isearch-read-files #[0 "\302\303	#C\304\302\305\211#\211\262\230\204& \211\235\203 \202! \211B\262\202 \237\207" [default-directory buffer-file-name read-file-name "First file to search: " nil "Next file to search (RET to end): "] 6 (#$ . 9657)])#@103 Return a list of files whose names match specified wildcard.
Uses `read-regexp' to read the wildcard.
(defalias 'multi-isearch-read-matching-files #[0 "\300\301!\211\205# \302\303\"?\205# \302\304\"\205# \3051  \306\307\"0\207\210\211C\207" [read-regexp "Search in files whose names match wildcard" string-match "\\`/:" "[[*?]" (error) file-expand-wildcards t] 4 (#$ . 9998)])#@373 Start multi-buffer Isearch on a list of FILES.
Relative file names in this list are expanded to absolute
file names using the current buffer's value of `default-directory'.
Interactively read file names to search, one by one, ended with RET.
With a prefix argument, ask for a wildcard, and search in file buffers
whose file names match the specified wildcard.

(fn FILES)
(defalias 'multi-isearch-files #[257 "\303\304\305\"\306	@!\210\n\203 e\202 db\210\302\307\310\")\207" [multi-isearch-next-buffer-function multi-isearch-file-list isearch-forward multi-isearch-next-file-buffer-from-list mapcar expand-file-name find-file nil t] 4 (#$ . 10384) (byte-code "\203	 \301 \202 \302 C\207" [current-prefix-arg multi-isearch-read-matching-files multi-isearch-read-files] 1)])#@380 Start multi-buffer regexp Isearch on a list of FILES.
Relative file names in this list are expanded to absolute
file names using the current buffer's value of `default-directory'.
Interactively read file names to search, one by one, ended with RET.
With a prefix argument, ask for a wildcard, and search in file buffers
whose file names match the specified wildcard.

(fn FILES)
(defalias 'multi-isearch-files-regexp #[257 "\303\304\305\"\306	@!\210\n\203 e\202 db\210\307\310\311\")\207" [multi-isearch-next-buffer-function multi-isearch-file-list isearch-forward multi-isearch-next-file-buffer-from-list mapcar expand-file-name find-file isearch-forward-regexp nil t] 4 (#$ . 11170) (byte-code "\203	 \301 \202 \302 C\207" [current-prefix-arg multi-isearch-read-matching-files multi-isearch-read-files] 1)])#@374 What to do with unsaved edits when showing multi-file replacements as diffs.
If the value is `save-buffers', save unsaved buffers before creating diff.
If the value is `use-file', use text from the file even when the
file-visiting buffer is modified.
If the value is `use-modified-buffer', use text from the file-visiting
modified buffer to be able to use unsaved changes.#@236 Show as diffs replacements of FROM-STRING with REPLACEMENTS.
FILES is a list of file names.  REGEXP-FLAG and DELIMITED-FLAG have
the same meaning as in `perform-replace'.

(fn FILES FROM-STRING REPLACEMENTS REGEXP-FLAG DELIMITED-FLAG)#@15 

(fn F-OR-B)#@30 

(fn IGNORE-AUTO NOCONFIRM)
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable multi-file-diff-unsaved funcall function #[0 "\300\207" [save-buffers] 1 (#$ . 157)] (#$ . 11993) :type (choice (const :tag "Save buffers" save-buffers) (const :tag "Use file" use-file) (const :tag "Use modified buffer" use-modified-buffer)) :version "30.1"] 8)
(defalias 'multi-file-replace-as-diff #[1285 "\305\306!\210\307\310\311!	\312=\203 \313\307\314\315\n\"\"\210r\211q\210\316p!\210\307\317 )\210\307\320 )\210\211\203\235 \211@\321!\211\203B 	\322=\205E \323!\203\227 \324\325\307\"r\211q\210\314\326\"\216\203k \203d \327!\203k \330!\210\202o \331!\210eb\210\332\333\f\f%\210\334\203\207 \202\210 p\333	\335P	&*\266\266A\202/ \210r\211q\210\336 \210\337 \210\340p!\210\341\304!\210\314\342\n\f&eb)\210\343!)\207" [inhibit-message multi-file-diff-unsaved inhibit-read-only buffer-read-only revert-buffer-function require diff t get-buffer-create "*replace-diff*" save-buffers save-some-buffers make-closure #[0 "\301\302\300\"\207" [V0 seq-some #[257 "\211\232\207" [buffer-file-name] 3 (#$ . 12612)]] 3] buffer-disable-undo erase-buffer diff-mode file-exists-p use-modified-buffer find-buffer-visiting generate-new-buffer " *temp*" #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] buffer-modified-p insert-buffer-substring insert-file-contents perform-replace nil multi-file-diff-no-select "~" diff-setup-whitespace diff-setup-buffer-type buffer-enable-undo make-local-variable #[514 "\305\304\303\302\301\300%\207" [V0 V1 V2 V3 V4 multi-file-replace-as-diff] 8 (#$ . 12631)] pop-to-buffer] 19 (#$ . 12372)])#@292 Show as diffs replacements of REGEXP with TO-STRING in FILES.
DELIMITED has the same meaning as in `replace-regexp'.
The replacements are displayed in the buffer *replace-diff* that
you can later apply as a patch after reviewing the changes.

(fn FILES REGEXP TO-STRING &optional DELIMITED)
(defalias 'multi-file-replace-regexp-as-diff #[1027 "\300\301%\207" [multi-file-replace-as-diff t] 10 (#$ . 14335) (byte-code "\301 \302\303\203\f \304\202 \305\306Q\307\211#@A@\3108F\207" [current-prefix-arg multi-isearch-read-files query-replace-read-args "Replace" " word" "" " regexp as diff in files" t 2] 7)])#@299 Show as diffs replacements of REGEXP with TO-STRING in the current buffer.
DELIMITED has the same meaning as in `replace-regexp'.
The replacements are displayed in the buffer *replace-diff* that
you can later apply as a patch after reviewing the changes.

(fn REGEXP TO-STRING &optional DELIMITED)
(defalias 'replace-regexp-as-diff #[770 "\301C\302%\207" [buffer-file-name multi-file-replace-as-diff t] 9 (#$ . 14958) (byte-code "\301\302\203\n \303\202 \304\305Q\306\211#\211@A@\3078E\207" [current-prefix-arg query-replace-read-args "Replace" " word" "" " regexp as diff" t 2] 5)])#@378 Compare the OLD and NEW file/buffer.
If the optional SWITCHES is nil, the switches specified in the
variable `diff-switches' are passed to the diff command,
otherwise SWITCHES is used.  SWITCHES can be a string or a list
of strings.  BUF should be non-nil.  LABEL-OLD and LABEL-NEW
specify labels to use for file names.

(fn OLD NEW &optional SWITCHES BUF LABEL-OLD LABEL-NEW)
(defalias 'multi-file-diff-no-select #[1538 "\306!\204 \307!\262\306!\204 \307!\262\204 \262\310!\262\311 \210\312!\312!\313\314	\315	\316\317\204A \205~ \n\320=\205~ \321;\203S \202b ;\203^ \202b \322!\321\f;\203n \f\202} ;\203y \202} \322!F	\206\205 	\206\214 D\244\"\"B\323#rq\210\320\211\324\261\210\325\f\326\326&)\210\203\263 \327!\210\205\272 \327!)\207" [diff-switches diff-command diff-use-labels inhibit-read-only shell-file-name shell-command-switch bufferp expand-file-name ensure-list diff-check-labels diff-file-local-copy mapconcat identity append mapcar shell-quote-argument t "--label" prin1-to-string " " "\n" call-process nil delete-file] 20 (#$ . 15556)])#@133 Remove autoloaded variables from `unload-function-defs-list'.
Also prevent the feature from being reloaded via `isearch-mode-hook'.
(defalias 'multi-isearch-unload-function #[0 "\301\302\303\"\210@CA\211\203% \211@\2119\203 \211\304>\204  \211B\262\210A\202\n \210\211\237\305\207" [unload-function-defs-list remove-hook isearch-mode-hook multi-isearch-setup (multi-isearch-next-buffer-function multi-isearch-next-buffer-current-function multi-isearch-current-buffer multi-isearch-buffer-list multi-isearch-file-list) nil] 5 (#$ . 16677)])
(byte-code "\300\301\302\"\210\303\304!\210\303\305!\207" [defalias misearch-unload-function multi-isearch-unload-function provide multi-isearch misearch] 3)
