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



(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\207" [require viper-keym viper-util custom-declare-group viper-ex nil "Viper support for Ex commands." :prefix "ex-" :group viper] 8)
(defconst viper-ex-work-buf-name " *ex-working-space*")
(defvar viper-ex-work-buf (get-buffer-create viper-ex-work-buf-name))
(defconst viper-ex-tmp-buf-name " *ex-tmp*")
(defconst viper-ex-print-buf-name " *ex-print*")
(defvar viper-ex-print-buf (get-buffer-create viper-ex-print-buf-name))#@13 

(fn NAME)
(defalias 'ex-cmd-obsolete #[257 "\300\301\"\207" [error "`%s': Obsolete command, not supported by Viper"] 4 (#$ . 582)])#@13 

(fn NAME)
(defalias 'ex-cmd-not-yet #[257 "\300\301\"\207" [error "`%s': Command not implemented in Viper"] 4 (#$ . 722)])
(defconst ex-token-alist '(("!" (ex-command)) ("&" (ex-substitute t)) ("=" (ex-line-no)) (">" (ex-line "right")) ("<" (ex-line "left")) ("Buffer" (if ex-cycle-other-window (viper-switch-to-buffer) (viper-switch-to-buffer-other-window))) ("Next" (ex-next (not ex-cycle-other-window))) ("PreviousRelatedFile" (ex-next-related-buffer -1)) ("RelatedFile" (ex-next-related-buffer 1)) ("W" "Write") ("WWrite" (save-some-buffers t)) ("Write" (save-some-buffers)) ("a" "append") ("args" (ex-args)) ("buffer" (if ex-cycle-other-window (viper-switch-to-buffer-other-window) (viper-switch-to-buffer))) ("c" "change") ("ch" "chdir") ("cd" (ex-cd)) ("chdir" (ex-cd)) ("copy" (ex-copy nil)) ("customize" (customize-group "viper")) ("delete" (ex-delete)) ("edit" (ex-edit)) ("file" (ex-set-visited-file-name)) ("g" "global") ("global" (ex-global nil) is-mashed) ("goto" (ex-goto)) ("help" (ex-help)) ("join" (ex-line "join")) ("k" (ex-mark) one-letter) ("kmark" (ex-mark)) ("m" "move") ("make" (ex-compile)) ("map" (ex-map)) ("mark" (ex-mark)) ("move" (ex-copy t)) ("next" (ex-next ex-cycle-other-window)) ("p" "print") ("preserve" (ex-preserve)) ("print" (ex-print)) ("put" (ex-put)) ("pwd" (ex-pwd)) ("quit" (ex-quit)) ("r" "read") ("re" "read") ("read" (ex-read)) ("recover" (ex-recover)) ("rewind" (ex-rewind)) ("s" "substitute") ("su" "substitute") ("sub" "substitute") ("set" (ex-set)) ("shell" (ex-shell)) ("source" (ex-source)) ("stop" (suspend-emacs)) ("sr" (ex-substitute t t)) ("submitReport" (viper-submit-report)) ("substitute" (ex-substitute) is-mashed) ("suspend" (suspend-emacs)) ("t" "transfer") ("tag" (ex-tag)) ("transfer" (ex-copy nil)) ("u" "undo") ("un" "undo") ("undo" (viper-undo)) ("unmap" (ex-unmap)) ("v" "vglobal") ("version" (viper-version)) ("vglobal" (ex-global t) is-mashed) ("visual" (ex-edit)) ("w" "write") ("wq" (ex-write t)) ("write" (ex-write nil)) ("xit" (ex-write t)) ("yank" (ex-yank)) ("~" (ex-substitute t t)) ("append" (ex-cmd-obsolete "append")) ("change" (ex-cmd-obsolete "change")) ("insert" (ex-cmd-obsolete "insert")) ("open" (ex-cmd-obsolete "open")) ("list" (ex-cmd-not-yet "list")) ("z" (ex-cmd-not-yet "z")) ("#" (ex-cmd-not-yet "#")) ("abbreviate" (error "`%s': Vi abbreviations are obsolete.  Use the more powerful Emacs abbrevs" ex-token)) ("unabbreviate" (error "`%s': Vi abbreviations are obsolete.  Use the more powerful Emacs abbrevs" ex-token))))#@12 

(fn CMD)
(defalias 'ex-cmd-is-mashed-with-args #[257 "\211AA@\300=\205\n \211\207" [is-mashed] 3 (#$ . 3246)])#@12 

(fn CMD)
(defalias 'ex-cmd-is-one-letter #[257 "\211AA@\300=\205\n \211\207" [one-letter] 3 (#$ . 3364)])#@12 

(fn CMD)
(defalias 'ex-cmd-execute #[257 "\300A@\301\"\207" [eval t] 4 (#$ . 3477)])#@17 

(fn KEY LIST)
(defalias 'ex-splice-args-in-1-letr-cmd #[514 "\300\301\302\303O\"!\211\205% \304A@\303GW\205 \303\305OC\"AA@E\207" [ex-cmd-is-one-letter assoc 0 1 append nil] 9 (#$ . 3570)])#@17 

(fn KEY LIST)
(defalias 'ex-cmd-assoc #[514 "\300\"\301\302=\203 \303\"\2021 ;\203% \304\"\2061 \303\"\2021 \2040 \304\"\2021 \301\262\211A@;\203B \305A@\"\262\207" [try-completion nil t assoc ex-splice-args-in-1-letr-cmd ex-cmd-assoc] 7 (#$ . 3776)])
(defconst ex-variable-alist '(("wrapscan") ("ws") ("wrapmargin") ("wm") ("tabstop-global") ("ts-g") ("tabstop") ("ts") ("showmatch") ("sm") ("shiftwidth") ("sw") ("shell") ("sh") ("readonly") ("ro") ("nowrapscan") ("nows") ("noshowmatch") ("nosm") ("noreadonly") ("noro") ("nomagic") ("noma") ("noignorecase") ("noic") ("noautoindent-global") ("noai-g") ("noautoindent") ("noai") ("magic") ("ma") ("ignorecase") ("ic") ("autoindent-global") ("ai-g") ("autoindent") ("ai") ("all")))
(defvar ex-token nil)
(defvar ex-token-type nil)
(defvar ex-addresses nil)
(defvar ex-flag nil)
(defvar ex-buffer nil)
(defvar ex-count nil)
(defvar ex-g-flag nil)
(defvar ex-g-variant nil)
(defvar ex-g-marks nil)
(defvar ex-reg-exp nil)
(defvar ex-repl nil)
(defvar ex-g-pat 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\317%\210\300\320\302\303\321DD\322\306\323%\207" [custom-declare-variable ex-unix-type-shell funcall function #[0 "\302	;\205 \303\304	\")\207" [case-fold-search shell-file-name t string-match "\\(csh$\\|csh.exe$\\|ksh$\\|ksh.exe$\\|^sh$\\|sh.exe$\\|[^a-z]sh$\\|[^a-z]sh.exe$\\|bash$\\|bash.exe$\\)"] 3 #1=""] "Is the user using a unix-type shell under a non-OS?" :type boolean ex-unix-type-shell-options #[0 "\303	\205 \304\305\n\"\203 \306\202 \304\307\n\"\205 \310)\207" [case-fold-search ex-unix-type-shell shell-file-name t string-match "\\(csh$\\|csh.exe$\\)" "-f" "\\(bash$\\|bash.exe$\\)" "-noprofile"] 3 #1#] "Options to pass to the Unix-style shell.\nDon't put `-c' here, as it is added automatically." (choice (const nil) string) ex-compile-command #[0 "\300\207" ["make"] 1 #1#] "The command to run when the user types :make." string viper-glob-function #[0 "\203 \302\207	\203\f \303\207\302\207" [ex-unix-type-shell viper-ms-style-os-p viper-glob-unix-files viper-glob-mswindows-files] 1 #1#] "Expand the file spec containing wildcard symbols.\nThe default tries to set this variable to work with Unix or MS Windows.\n\nHowever, if it doesn't work right for some types of Unix shells or some OS,\nthe user should supply the appropriate function and set this variable to the\ncorresponding function symbol." symbol] 6)
(defvar ex-tag nil)
(defvar ex-file nil)
(defvar ex-variant nil)
(defvar ex-offset nil)
(defvar ex-append nil)
(defvar ex-cmdfile nil)
(defvar ex-cmdfile-args "")
(defvar viper-keep-reading-filename nil)
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\307%\207" [custom-declare-variable ex-cycle-other-window funcall function #[0 "\300\207" [t] 1 #1=""] "If t, :n and :b cycles through files and buffers in other window.\nThen :N and :B cycles in the current window.  If nil, this behavior is\nreversed." :type boolean ex-cycle-through-non-files #[0 "\300\207" [nil] 1 #1#] "Cycle through *scratch* and other buffers that don't visit any file."] 6)
(defvar viper-ex-last-shell-com nil)
(defvar viper-incomplete-ex-cmd nil)
(defvar viper-last-ex-prompt "")
(defalias 'viper-get-ex-com-subr #[0 "\304\211\305`!\210\306\307!\210\310`\311\312!{\313\n\"\262\211\203$ \211@\211\202' \314\211)\207" [case-fold-search ex-token-type ex-token ex-token-alist nil set-mark re-search-forward "[a-zA-Z][a-zA-Z]*" command mark t ex-cmd-assoc non-command] 4])
(defalias 'viper-get-ex-token #[0 "\306 \307\310\"\216\311!\211q\210\312\313w\210\314g\211\315U\203' \316\317!\320u\202\350\321\322!\2032 \323 \202\350\211\324U\203A \320u\210\325\211\202\350\321\326!\203k \327`!\210\330\331!\210\332\267\202] \333\202^ \334\202^ \335\336`\337\314!{!\211\202\350\211\340U\203z \320u\210\341\211\202\350\211\342U\203\211 \320u\210\343\211\202\350\211\344U\203\271 \321\345!\203\244 \320u\210\346c\210\347u\210\350\211\202\350\321\351!\203\263 \320u\210\350\211\202\350\352!\202\350\211\353U\203\351 \321\354!\203\324 \320u\210\346c\210\347u\210\355\211\202\350\321\356!\203\343 \320u\210\355\211\202\350\352!\202\350\211\357U\203+\320u\210\327`!\210\314l\204\211\203\330\360!\210\361\362\363\364!\"\204\367 \313\262\202\367 \210\347u\210`\337\314!{g\357U\203%\320u\210\365\211\202\350\211\366U\203n\320u\210\327`!\210\314l\204`\211\203`\330\367!\210\361\370\363\364!\"\204Q\313\262\347u\210g\371U\2049\320u\210\2029\210\372`S\337\314!{\211\202\350\211\373U\203}\320u\210\374\211\202\350\211\375U\203\214\320u\210\376\211\202\350\321\377!\203\235\316\317!\320u\202\350\211\201A U\203\322\201B \320u\210g\201A U\203\271\313\202\315\321\322!\203\304g\202\315\352\201C \201D \"\210\320u\202\350\211\371U\203\344\201E \201F \211\202\350\352@!)\266\202)\207" [viper-ex-work-buf-name viper-ex-work-buf case-fold-search ex-token-type ex-token viper-BadAddress current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] get-buffer-create " 	|" nil t 35 command char-to-string 1 looking-at "[a-z]" viper-get-ex-com-subr 46 dot "[0-9]" set-mark re-search-forward "[0-9]*" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (plus 85 minus 89)) add-number sub-number abs-number string-to-number mark 36 end 37 whole 43 "\\+[-+\n|]" "1" -1 plus "\\+[0-9]" error 45 "-[-+\n|]" minus "-[0-9]" 47 "[^/]*\\(/\\|\n\\)" looking-back "[^\\]\\(\\\\\\\\\\)*\\\\/" line-beginning-position 0 search-forward 63 "[^\\?]*\\(\\?\\|\n\\)" "[^\\]\\(\\\\\\\\\\)*\\\\\\?" 10 search-backward 44 comma 59 semi-colon "[!=><&~]" viper-BadExCommand 39 goto-mark "%s" "Marks are ' and a-z" end-mark "goto"] 9])
(defalias 'ex-cmd-read-exit #[0 "\303\304 \305\306\"\216\307	!\211q\210db)\266\310\311\312 \"\203  \313 \207\310\314e\"\203* \315c\207\310\316\312 \"\2035 \313 \207\315c\207" [viper-incomplete-ex-cmd viper-ex-work-buf-name viper-ex-work-buf t current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] get-buffer-create looking-back "\\(set[ 	]*\\|edit[ 	]*\\|[nN]ext[ 	]*\\|unm[ 	]*\\|^[ 	]*rep\\)" line-beginning-position exit-minibuffer "\\(^[ 	]*$\\|[?/].*\\|[ktgjmsz][ 	]*$\\|^[ 	]*ab.*\\|tr[ansfer 	]*\\|sr[ 	]*\\|mo.*\\|^[ 	]*k?ma[^p]*\\|^[ 	]*fi.*\\|v?gl.*\\|[vg][ 	]*$\\|jo.*\\|^[ 	]*ta.*\\|^[ 	]*una.*\\|^[ 	]*\\([`'][a-z]\\|[.,%]\\)*[ 	]*su.*\\|^[ 	]*\\([`'][a-z]\\|[.,%]\\)*[ 	]*s[^a-z].*\\|['`][a-z][ 	]*\\|\\(r\\|re\\|rea\\|read\\)[ 	]*!\\|\\(w\\|wr\\|wri\\|writ.?\\)[ 	]+!\\|![ 	]*[a-zA-Z].*\\)!*" " " "[a-zA-Z][ 	]*\\(!\\|>>\\|\\+[0-9]+\\)*[ 	]*$"] 5 nil nil])
(defalias 'ex-cmd-complete #[0 "\306\211\211\211\211\212\307\306x\262`)\262\310U\204% \311\312\313 \"\204% \311\314\313 \"\203j \311\315\313 \"\2068 \311\312\313 \"\2068 \316\317!?\205\323 r\320\321!q\210p\322 \210\306\211\323\211\323\324 \210\325\326!+\210\211#\327\330$!!\331!)\210\207`{\262\332$\"\262\211\333\267\202\204 \334\335!\207\334\336!\207b\210`d|\210\211c\210\306%\337\340P$\")\262G\341V\205\323 r\320\321!q\210p\322 \210\306\211\323\211\323\324 \210\325\326!+\210\211#\327\330\342!!!\331!)\210\266\202\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only nil "a-zA-Z!=>&~" 0 looking-back "\\([ 	]*['`][ 	]*[a-z]*\\)" line-beginning-position "^[ 	]*[a-zA-Z!=>&~][ 	]*[/?]*[ 	]+[a-zA-Z!=>&~]+" "[a-zA-Z!=>&~][ 	]*[/?]*[ 	]*" looking-at "[^ 	\n]" get-buffer-create "*Completions*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook display-completion-list viper-alist-to-list internal-temp-output-buffer-show try-completion #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (t 124 nil 128)) viper-tmp-insert-at-eob " (Sole completion)" " (No match)" viper-filter-alist "^" 1 reverse standard-output ex-token-alist case-fold-search] 12 nil nil])#@29 

(fn ARG &optional STRING)
(defalias 'viper-ex #[513 "\211\204 \306\211\307\n!\306\310`\306\211\211\211\211\211\211\311\f\"\210\f\203Z \312\313\310!`\"\210`\313\310!V\203: \313\310!\262`\262\202B \313\310!\262`\262\212b\210\314e`\"T\262\314\"\\S)\262\203h \315\316#\262\203t \fP\202\212 \317\320\304?\205\200 \f@\205\210 \321&\262\322 \323\324\"\216\325!\211'q\210ed|\210\326\261\210eb)\266\306\211()\205\253\327 \210(\330\267\202\226	\203\312 	)B)\331 \210\332*+\"\211\204\337 \333\334*,#\210\335!\210\336!\204\357 \337!\203\366 \306\262\n\210\202\244\212\322 \323\340\"\216\325!\211'q\210\341\306w\210g\342U\203\343u\210\202*g\344U\203\"\306\262\202*\333\334*-#\210*\266\202\244\333\334*,#\210\202\244\306\262\n)\203Jd)B\202Pde)BB)\202\244\345=\203^e\262\n	\204g`\202i	)B)\202\244\345=\203ze\262\n	\203\203	\262	\204\214`\202\216	)B)\202\244\346\n	\"\211\203\243\211\262\210(\262\202\257 \207" [ex-g-flag ex-g-variant minibuffer-local-map viper-ex-cmd-map viper-ex-history viper-ex-work-buf-name nil copy-keymap t viper-add-keymap viper-enlarge-region mark count-lines format "%d,%d" viper-read-string-with-history ":" " [Type command to execute on current region]" current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] get-buffer-create "\n" viper-get-ex-token #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (command 190 end-mark 190 non-command 304 whole 315 comma 341 semi-colon 369)) deactivate-mark ex-cmd-assoc error "`%s': %s" ex-cmd-execute ex-cmd-is-mashed-with-args ex-cmd-is-one-letter #[0 "\301\300!\207" [V0 set-window-configuration] 2] " 	" 124 1 10 whole viper-get-ex-address-subr viper-ex-work-buf ex-token-type ex-addresses ex-token ex-token-alist viper-BadExCommand viper-SpuriousText] 21 (#$ . 11849) "P"])
(defalias 'viper-get-ex-pat #[0 "\305 \306\307\"\216\310!\211q\210\311\312w\210\313\314!\203% \n??\315u\210\311\312w\210g\316\317\320\321\"\"\2037 \322\323!\210\202A \211\324U\203A \322\325!\210\313\326!\203\275 \315u\210\327`!\210\330m\204\231 \211\203\231 \331\320\332\211#\312\330#\204s \f\333\235\203p \322\334!\210\202s db\210\335\320\336\"\337\340!\"\204\205 \312\262\202O \341\342!\210c\210l\203O \312\262\312u\210\202O \210\343\330!`U\203\246 \344\202\254 `S\343\330!{\345u\210l\203\277 \211c\210\345u\210\202\277 \312)\207" [viper-ex-work-buf-name viper-ex-work-buf ex-g-variant ex-g-flag ex-token current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] get-buffer-create " 	" nil looking-at "!" 1 string-match "[0-9A-Za-z]" format "%c" error "Global regexp must be inside matching non-alphanumeric chars" 63 "`?' is not an allowed pattern delimiter here" "[^\\\n]" set-mark t re-search-forward "[^%c]*%c" ("global" "vglobal") "Missing closing delimiter for global regexp" looking-back "[^\\]\\(\\\\\\\\\\)*\\\\%c" line-beginning-position 0 delete-char -2 mark "" -1] 9])#@10 

(fn C)
(defalias 'viper-get-ex-opt-gc #[257 "\303 \304\305\"\216\306!\211q\210\307\310\311\"!\203 \312u\210\313\314w\210\307\315!\203- \315\312u\210\316\202= \307\317!\203< \317\312u\210\316\202= \314)\207" [viper-ex-work-buf-name viper-ex-work-buf ex-token current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] get-buffer-create looking-at format "%c" 1 " 	" nil "g" t "c"] 7 (#$ . 14911)])#@29 

(fn &optional WHOLE-FLAG)
(defalias 'viper-default-ex-addresses #[256 "\204 \211\203 deD\202 ``D\211\207A?\205  @B\211\207" [ex-addresses] 3 (#$ . 15358)])
(defalias 'viper-get-ex-address #[0 "\304 \305\306\307\211\203O \310 \210\n\311\267\202? \312\235\203\" \305\307\262\202 \313\314!\210\202 \307\262\202 \313\315!\210\202 \313\316#\210\202 \317\304 \"\211\203K \211\262\210\202 \207" [ex-token ex-flag ex-token-type viper-SpuriousText point-marker t "" nil viper-get-ex-token #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (command 20 end-mark 41 whole 47 comma 54)) ("print" "list" "#") error "Address expected in this Ex command" "Trailing address expected" "`%s': %s" viper-get-ex-address-subr] 6])#@24 

(fn OLD-ADDRESS DOT)
(defalias 'viper-get-ex-address-subr #[514 "\302\204 \262\303\267\207\207\212b\210\304U\203 	S\202 	y\210\305 )\207\212b\210	[y\210\305 )\207\212eb\210	\304U\203@ \304\262\202H 	Sy\210\305 \262)\207\212dSb\210\305 )\207\207\207\212\306\307!\210\305 )\207\212\306\302!\210\305 )\207\212	\204r \310 \210\202{ \311	\312ZT\313\"b\210\305 )\207" [ex-token-type ex-token nil #s(hash-table size 10 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (dot 12 add-number 14 sub-number 36 abs-number 48 end 74 plus 83 minus 84 search-forward 85 search-backward 94 goto-mark 103)) 0 point-marker ex-search-address t exchange-point-and-mark viper-register-to-point 97 enforce-buffer] 6 (#$ . 16135)])#@16 

(fn FORWARD)
(defalias 'ex-search-address #[257 "\303\230\203 	\204 \304\n!\210\202 	\202 \211\203# \305y\210\306!\207\307y\210\310!\207" [ex-token viper-s-string viper-NoPrevSearch "" error 1 re-search-forward -1 re-search-backward] 3 (#$ . 16877)])
(defalias 'viper-get-ex-buffer #[0 "\306\211\306\307 \310\311\"\216\312!\211q\210\313\306w\210\314\315!\203' g\316u\210\313\306w\210\314\317!\203A \320`!\210\321\322!\210\323`\324\325!{!\313\306w\210\314\326!\203L \325\316u\210\314\327!?\205Y \330\331#)\207" [ex-buffer ex-count ex-flag viper-ex-work-buf-name viper-ex-work-buf ex-token nil current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] get-buffer-create " 	" looking-at "[a-zA-Z]" 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-number mark t "[pl#]" "[\n|]" error "`%s': %s" viper-SpuriousText] 6])
(defalias 'viper-get-ex-count #[0 "\306\211\306\307 \310\311\"\216\312!\211q\210\313\306w\210\314\315!\203# \316\317u\210\313\306w\210\314\320!\203A \321`!\210\322\323!\210\324`\325\316!{!\313\306w\210\314\326!\203L \316\317u\210\314\327!?\205[ \330\331edS{#)\207" [ex-variant ex-count ex-flag viper-ex-work-buf-name viper-ex-work-buf viper-BadExCommand nil current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] get-buffer-create " 	" looking-at "!" t 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-number mark "[pl#]" "[\n|]" error "`%s': %s"] 6])#@16 

(fn CMD BUF)
(defalias 'ex-expand-filsyms #[514 "\302\211\211rq\210\262\303\302\304\")\262\204! \305\306\"\203! \307\310!\210\2041 \305\311\"\2031 \307\312!\210r\313	!q\210\314 \210c\210eb\210\315\316\302\304#\203z \317 \320\224\320\225{\321\322`\323Z\"\203` \324!\266\202@ \325!\210\211\326\230\203r \324!\266\202@ \324!\266\202@ \302\210e`{\262\327\330\")\210\207" [buffer-file-name viper-ex-tmp-buf-name nil ex-next t string-match "[^\\]%\\|\\`%" error "No current file to substitute for `%%'" "[^\\]#\\|\\`#" "No alternate file to substitute for `#'" get-buffer-create erase-buffer re-search-forward "%\\|#" match-data 0 looking-back "\\\\." 2 replace-match store-match-data "%" message "%s"] 11 (#$ . 18384)])
(defalias 'viper-get-ex-file #[0 "\306\211\306\211\306\211\307\212r\310\"!\211#q\210\311\306w\210g\312U\203D h\313>\204; $\314\230\204; \315\316u\210\311\306w\210\202D \315\316u\210\311\306w\210\317\320!\203U \315\211\321u\210\311\306w\210g\322U\203v \316u\210\323`!\210\324\325!\210\326u\210`\327\315!{\316u\210\311\306w\210$\330\235\203\255 `dS{\331$\332\230\203\216 \333\202\217 \334\"\203\246 \306%\335\225\306O\335\224\335\225O\202\247 \307`dS|\210db\210\336\306x\210e`{*\262\211&%\203\313 \337\340\341\"!\211\207\206\320 \307\211\207" [ex-file ex-variant ex-append ex-offset ex-cmdfile ex-cmdfile-args nil "" get-buffer-create " 	" 33 (32 9) "read" t 1 looking-at ">>" 2 43 set-mark re-search-forward "[ 	\n]" -1 mark ("read" "write" "edit" "visual" "next") string-match "edit" "[^ 	\n]+\\([ 	]+[^ 	\n]+\\)*" "[^ 	\n]+" 0 " 	\n" viper-ex-read-file-name format ":%s " viper-ex-work-buf-name viper-ex-work-buf ex-token viper-incomplete-ex-cmd viper-last-ex-prompt] 6])
(defalias 'viper-complete-filename-or-exit #[0 "\303\304	!\203 \305 \207\306\307\310 \"\203 \303\311c\207\312\313 \207" [viper-keep-reading-filename ex-token ex-cmdfile t ex-cmd-accepts-multiple-files-p exit-minibuffer looking-back "^[ 	]*!.*" line-beginning-position " " nil minibuffer-complete-word] 3 nil nil])
(defalias 'viper-handle-! #[0 "\302 \303!\230\203 	\304\235\203 \305 \210\306c\207" [default-directory ex-token buffer-string abbreviate-file-name ("read" "write") erase-buffer "!"] 3 nil nil])#@14 

(fn TOKEN)
(defalias 'ex-cmd-accepts-multiple-files-p #[257 "\211\300\235\207" [("edit" "next" "Next")] 3 (#$ . 20646)])#@15 

(fn PROMPT)
(defalias 'viper-ex-read-file-name #[257 "\306\307!\310\211\211\211\311	\"\210\312\211\262\203c \310\313P\310#\262\314!\262\315\316\"\203< \317\f!\203< \320\320Q\262\306\232\203G \306\202H \316\211\306\232\203S \306\202T \316R\262\n\205^ \317\f!\262\202 \321\322\"\262\321\323\"\262\f\324\235\203\213 \321\325\"\203\213 \312T\262\326P\206\221 \327O)\207" [minibuffer-local-completion-map ex-read-filename-map viper-keep-reading-filename default-directory ex-token ex-cmdfile "" copy-keymap nil viper-add-keymap t read-file-name expand-file-name string-search " " ex-cmd-accepts-multiple-files-p "\"" string-match "[^ 	]" "[ 	]*$" ("read" "write") "[	 ]*!" " !" 0 viper-last-ex-prompt] 11 (#$ . 20774)])
(defalias 'viper-undisplayed-files #[0 "\300\301\302 \"\207" [mapcar #[257 "\301!?\205$ \302!\211\206\" \205\" \303!\211\304\305O\306\230?\205  \211\262\262\207" [ex-cycle-through-non-files get-buffer-window buffer-file-name buffer-name 0 1 " "] 6 "\n\n(fn B)"] buffer-list] 3])
(defalias 'ex-args #[0 "\306 \307\310\203\" @\203 \311\312@$\262\211T\262A\262\202 \307\230\203, \313\314!\207\212\315 \316\317\"\216r\320\321!q\210p\322 \210\323\211\324\211\324\325 \210\326\327!+\210\211\330\331!\210\330\332!\210\330!\210\330\332!\210\330\333!\210\330\334!\210\335!)\266\336 *\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only viper-undisplayed-files "" 1 format "%s %d) %s\n" message "All files are already displayed" current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] get-buffer-create " *viper-info*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ "\n\nThese files are not displayed in any window.\n" "\n=============\n" "\nThe numbers can be given as counts to :next. " "\n\nPress any key to continue...\n\n" internal-temp-output-buffer-show read-event standard-output] 9])
(defalias 'ex-cd #[0 "\302 \210\303\230\203 \304\305\306!!\211\207" [ex-file default-directory viper-get-ex-file "" "~" file-name-as-directory expand-file-name] 3])#@17 

(fn DEL-FLAG)
(defalias 'ex-copy #[257 "\306 \210\307 @A@b\210\212\310\311\"\210\312\313\311!`\"\210\203( \314`\313\311!\"\210\202/ \315`\313\311!\"\210	\203\230 \nr\316\317!q\210p\320 \210\321\211\311\211\311 !\322 \210\323\324!+\210\211\"\325\204g #\204g $\203m \326\327!\202r `\313\311!{!\210\330!)\266\3311\214 \332\333!\210\212\334\317!)0\210\202\230 \210\212\334\317!)\210\335\336\321\"\210)\327U\203\245 eb\210\202\253 b\210\337y\210\326\327!c\207" [ex-addresses ex-flag default-directory buffer-read-only buffer-file-name buffer-undo-list viper-default-ex-addresses viper-get-ex-address push-mark t viper-enlarge-region mark kill-region copy-region-as-kill get-buffer-create " *copy text*" kill-all-local-variables nil erase-buffer run-hooks temp-buffer-setup-hook princ current-kill 0 internal-temp-output-buffer-show (quit) read-string "[Hit return to confirm] " kill-buffer signal quit 1 inhibit-modification-hooks inhibit-read-only standard-output ex-g-flag ex-g-variant] 11 (#$ . 22967)])
(defalias 'ex-delete #[0 "\306 \210\307 \210@A@\211V\203 \310	!\210\212\311\"\210\312 \210\n\203- \313`!\210\nSy\210\2021 \313!\210\311`\314\315!\"\210\203\220 \fr\316\317!q\210p\320 \210\321\211!\315\211\"\315#$\322 \210\323\324!+\210\211%\325`\314\315!{!\210\326!)\266\3271| \330\331!0\210\202\210 \210\212\332\317!)\210\333&!\210\212\332\317!)\202\313 '\203\305 \334'\335\"\203\252 \336'\227`\314\315!#\210\202\305 \334'!\203\276 \337'`\314\315!\321$\210\202\305 \310('\"\210\340`\314\315!\")\207" [ex-addresses viper-FirstAddrExceedsSecond ex-count ex-flag default-directory buffer-read-only viper-default-ex-addresses viper-get-ex-buffer error viper-enlarge-region exchange-point-and-mark set-mark mark t get-buffer-create " *delete text*" kill-all-local-variables nil erase-buffer run-hooks temp-buffer-setup-hook princ internal-temp-output-buffer-show (quit) read-string "[Hit return to confirm] " kill-buffer user-error viper-valid-register (Letter) viper-append-to-register copy-to-register kill-region buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only standard-output viper-ViperBell ex-buffer viper-InvalidRegister] 9])#@23 

(fn &optional FILE)
(defalias 'ex-edit #[256 "\211\204 \306 \210\307\230\203 	\203 \310\301 !\202# \307\230\203# \311\n!\210\312\211	\203P \313 \203; \314\315\316 \"\262\317\262\202P \320p!\204M \314\321	\"\262\317\262\202P \312\262\211\203l \322!\203f \323\312!\210\324p!\266\202n \325\326\316 \"\210\266\327!\211\262\204\215 \330\331p\"!\210\332=\204\207 \333 \210eb\210\202\221 \334!\210\f\203\262 r\335!\211\"q\210ed|\210\f\336\261\210eb)\210\337 b\210\340 \210\341#\"\207" [ex-file buffer-file-name viper-NoFileSpecified major-mode ex-offset viper-ex-work-buf-name viper-get-ex-file "" abbreviate-file-name error nil buffer-modified-p format "Buffer %s is modified.  Discard changes? " buffer-name t verify-visited-file-modtime "File %s changed on disk.  Reread from disk? " yes-or-no-p set-buffer-modified-p kill-buffer message "Buffer %s was left intact" get-file-buffer ex-find-file ex-expand-filsyms dired-mode viper-change-state-to-vi switch-to-buffer get-buffer-create "\n" viper-get-ex-address beginning-of-line ex-fixup-history viper-ex-work-buf viper-last-ex-prompt] 6 (#$ . 25183)])#@17 

(fn FILESPEC)
(defalias 'ex-find-file #[257 "\301!\203\n \302!\207\303\304\"\203 \305\302!\"\207\302!\207" [viper-glob-function file-exists-p find-file string-match "[^-a-zA-Z0-9_./,~$\\]" mapcar] 5 (#$ . 26312)])#@16 

(fn VARIANT)
(defalias 'ex-global #[257 "	\204	 \n\203 \306\307\"\210\202  \203 \310\311\202  \311\310\312 \210\204, \306\313\"\210\210\314\230\203C \204> \306\f!\210\202G \202G \204T deD\202W \315 \210\310\316@A@\310V\203n \306!\210\212\317\"\210\320 \210\311\321 \320 \210\322 \210m\203\207 \323 \210\203\334 o\204\334 `Y\203\334 \322 \210\324`!\210\310\210\325\326\311!\311#	\203\256 \211\204\266 \n\203\305 \211\204\305 \310\210T\262\321 B\210\322 \210o\203\323 \310\262\202\207 \327y\210\310\210\202\207 )\266r\330!\211q\210`TdS{)\262\205@b\210\331\310\"\210S\262A\211\204\366 \310\207" [ex-token ex-g-flag ex-g-variant viper-s-string viper-NoPrevSearch ex-g-pat error "`%s' within `global' is not allowed" nil t viper-get-ex-pat "`%s': Missing regular expression" "" viper-default-ex-addresses 0 viper-enlarge-region exchange-point-and-mark point-marker beginning-of-line viper-backward-char-carefully set-mark re-search-backward mark -1 get-buffer-create viper-ex ex-addresses ex-g-marks viper-FirstAddrExceedsSecond viper-ex-work-buf-name viper-ex-work-buf] 12 (#$ . 26540)])
(defalias 'ex-goto #[0 "\204 `C\301`\302\"\210@b\210\303 \207" [ex-addresses push-mark t beginning-of-line] 3])#@12 

(fn COM)
(defalias 'ex-line #[257 "\306 \210\307 \210@A@\310V\203 \311	!\210\212\312\"\210\313 \210\n\203* \314`!\210\ny\210\203\203 \fr\315\316!q\210p\317 \210\310\211\320\211\320 !\321 \210\322\323!+\210\211\"\324`\325\320!{!\210\326!)\266\3271v \330\331!\210\332`\325\320!#0\210\202z \210\333 \210\212\334\316!)\210\202\213 \332`\325\320!#\210`)\262\211Sb\210\335 \207" [ex-addresses viper-FirstAddrExceedsSecond ex-count ex-flag default-directory buffer-read-only viper-default-ex-addresses viper-get-ex-count nil error viper-enlarge-region exchange-point-and-mark set-mark get-buffer-create " *join text*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook princ mark internal-temp-output-buffer-show (quit) read-string "[Hit return to confirm] " ex-line-subr ding kill-buffer beginning-of-line buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only standard-output] 11 (#$ . 27815)])#@20 

(fn COM BEG END)
(defalias 'ex-line-subr #[771 "\302\230\203: ^b\210m?\2059 `]W\205e \303\210`]X\203 m\204 \304y\210``S|\210\204 \305 \210\202 \207\306\230\204F \307\230\205e \310^]\306\230\203W 	\202Y 	[#\210]b\210\303\210\311 \207" [ex-variant viper-shift-width "join" nil 1 fixup-whitespace "right" "left" indent-rigidly viper-forward-char-carefully] 8 (#$ . 28781)])#@23 

(fn &optional NAME)
(defalias 'ex-mark #[256 "\305\204 `C\203' G\306=\203 \307!\262\202X \310\311\211\306\305O#\210\202X r\312	!\211q\210\313\305w\210\314\315!\203R g\262\306u\210\313\305w\210\314\316!\204W \310\317\f#\210\202W \310\320\"\210)\212@b\210\321\322ZT!)\207" [ex-addresses viper-ex-work-buf-name viper-ex-work-buf ex-token viper-SpuriousText nil 1 string-to-char error "`%s': Spurious text \"%s\" after mark name" get-buffer-create " 	" looking-at "[a-z]" "[\n|]" "`%s': %s" "`%s' requires a following letter" point-to-register 97] 8 (#$ . 29182)])#@51 

(fn CYCLE-OTHER-WINDOW &optional FIND-ALT-FILE)
(defalias 'ex-next #[513 "\3032\265 \304\211\204G \305 \210\306!\204  	\307\230\204, \310\311	\"\204, \303\312!\210\313\303\304\"\210\202J \314	!\262\315U\203: \316\262\315W\203J \317\320!\210\202J \316\262\321 \262\315V\203u \211\203d \211@\204d \211A\262\202T S\262\315V\203N \211A\262\202N \203\200 \211@\266\202\202\264 \211@\203\257 \322@!\203\257 \203\225 \323 \202\227 \324 \325!\326\322@!\"\210\327!\210\330\n	\"\266\204\202\264 \317\331!\266\2020\207" [ex-offset ex-file viper-last-ex-prompt ex-edit nil viper-get-ex-file char-or-string-p "" string-match "^[0-9]+$" t throw string-to-number 0 1 error "Usage: `next <count>' (count >= 0)" viper-undisplayed-files get-file-buffer get-lru-window selected-window window-buffer set-window-buffer bury-buffer ex-fixup-history "Not that many undisplayed files"] 10 (#$ . 29765)])#@41 

(fn DIRECTION &optional NO-RECURSION)
(defalias 'ex-next-related-buffer #[513 "\302\"\210\303!\304 \305\211\211\306!\203 \307!\310V\204  \311\312!\210;\204+ \311\313\"\210\314!\206= \315!\205= \316!\262\203Q \314!\203Q \317\314!!\204] \311\320\321\322\n!!#\210p\232\203q \204q \323\262\324\325\"\210?\205\326 \326\327\"\211\262\204\212 \330\327!\262\331\"\210\332 \203\272 \333\334!!\210\334!\334!\232\203\263 \335 \336\337\"\216\340!\210\341\342!)\266\202\313 \340!\210\202\313 \335 \336\343\"\216\340!\210\341\342!)\266rq\210)\344 \211\207" [viper-related-files-and-buffers-ring viper-local-search-start-marker viper-ring-rotate1 viper-current-ring-item selected-window nil ring-p ring-length 0 error "This buffer has no related files or buffers" "File and buffer names must be strings, %S" get-buffer file-exists-p find-file-noselect buffer-name "Didn't find buffer %S or file %S" abbreviate-file-name expand-file-name t ex-next-related-buffer norecursion get-buffer-window visible get-lru-window set-window-buffer viper-window-display-p raise-frame window-frame current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] select-window sit-for 1 #[0 "\301\300!\207" [V0 set-window-configuration] 2] point-marker] 14 (#$ . 30673)])
(defalias 'ex-preserve #[0 "\300\301!\210\302\303!\207" [message "Autosaving all buffers that need to be saved..." do-auto-save t] 2])
(defalias 'ex-put #[0 "\204 `\202\n @\303 \210	\211b\210o\203 \304\305!\207\306\305!\207" [ex-addresses ex-buffer viper-use-register viper-get-ex-buffer viper-Put-back 1 viper-put-back] 3])
(defalias 'ex-pwd #[0 "\301\302\"\207" [default-directory message "%s"] 3])
(defalias 'ex-quit #[0 "r\303!\211q\210g\304U\203 \305u\210)\n\306W\203 \307 \207\310p!\207" [viper-ex-work-buf-name viper-ex-work-buf viper-expert-level get-buffer-create 33 1 3 save-buffers-kill-emacs kill-buffer] 2])
(defalias 'ex-read #[0 "\306 \210\204 `\202 @\307b\210\310 \210o\204 m\204 \311y\210	\2043 \n\312\230\2033 \2041 \313\f!\210\203K \314\315\n!Pp\"\262\316\317\"\266\202P \320\n!\266\321\n#\207" [ex-addresses ex-variant ex-file buffer-file-name viper-NoFileSpecified ex-cmdfile viper-get-ex-file nil viper-add-newline-at-eob-if-necessary 1 "" error ex-expand-filsyms shell-quote-argument shell-command t insert-file-contents ex-fixup-history ex-cmdfile-args viper-last-ex-prompt] 5])#@19 

(fn &rest ARGS)
(defalias 'ex-fixup-history #[128 "\301\302\303#AB\211\207" [viper-ex-history mapconcat identity " "] 5 (#$ . 33133)])
(defalias 'ex-recover #[0 "\306 \210\204 	\203 \307\310\n\"\210\311\230\203# \f\204 \307\312!\210\f\202' \313!\304 \230\204; \314 \203; \204; \307\315!\210\316!\207" [ex-append ex-offset viper-SpuriousText ex-file buffer-file-name ex-variant viper-get-ex-file error "`recover': %s" "" "This buffer isn't visiting any file" expand-file-name buffer-modified-p "No write since last change (:rec! overrides)" recover-file] 3])
(defalias 'ex-rewind #[0 "\300\301!\207" [message "Use `:n <count>' instead.  Counts are obtained from the `:args' command"] 2])
(defalias 'ex-set-read-variable #[0 "\303!\304\305\211\306\307\310#\210\306\311\312#\210\313\314\315\305\316#!\203' \304\262\313\317!\210\320\321!\210\211\2043 \322\323!\210\324\325\326\327\n\"\211\262\"\203Q \320\330!\210\313\331!\2043 \322\323!\210\2023 *\207" [minibuffer-local-completion-map cursor-in-echo-area ex-variable-alist copy-keymap t nil define-key " " minibuffer-complete-and-exit "=" exit-minibuffer viper-set-unread-command-events ex-get-inline-cmd-args "[ 	]*[a-zA-Z]*[ 	]*" "" 13 message ":set  <Variable> [= <Value>]" sit-for 2 string-match "^[ 	\n]*$" completing-read ":set " ":set <Variable> [= <Value>]" ""] 9])
(defalias 'ex-set #[0 "\302 \303\304\305\306\211\211\211\262\307\230\203 \306\262\306\262\202\306 \310\267\202\271 \311\262\304\262\306\262\312\262\202\306 \313\314!\210\311\262\315\262\312\262\202\306 \311\262\306\262\316\262\202\306 \313\314!\210\311\262\315\262\316\262\202\306 \317\262\312\262\202\306 \317\262\316\262\202\306 \320\262\312\262\202\306 \320\262\316\262\202\306 \321\262\312\262\202\306 \321\262\316\262\202\306 \322\262\312\262\202\306 \322\262\316\262\202\306 \323\262\312\262\202\306 \323\262\316\262\202\306 \307\230\203\306 \306\262\306\262\203g\303=\203g\305\324\325	\"\210\326\327!\204\343 \330\331!\210\332\333\334\n\"!\262\335\336	#\210\337\235\203\3401\341!@\211\262\247\206\342\343		#0\210\202\210\342\343		#\210\344\267\202c\345\262\202c\346\262\304\262\306\262\202c\313\347!\210\346\262\315\262\202c\313\350!\210\351\262\333\352\"\262\315\262\202c\353\262\333\354\"\262)\202l\335\336\"\210\203\206\333\355\n\n\356%\262\333\357\n\356$\262\203\273\360\333\361	\"!\203\273\362	#\210\351\230\203\273\303V\203\257\362\363	\364#\210\202\273\362\306	\364#\210\362\306	#\210\203\331\324\365\n\366\367\f\"\203\325\333\370\f\"\202\327\n$\210\203\345\371\341!@\305\"\210\351\230\203\375\303V\203\371\372\373!\210\202\375\372\374!\210\307\230\205\375 \207" [cursor-in-echo-area viper-custom-file-name ex-set-read-variable 0 "setq" t nil "all" #s(hash-table size 28 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("ai" 36 "autoindent" 36 "ai-g" 51 "autoindent-global" 51 "noai" 67 "noautoindent" 67 "noai-g" 79 "noautoindent-global" 79 "ic" 95 "ignorecase" 95 "noic" 104 "noignorecase" 104 "ma" 113 "magic" 113 "noma" 122 "nomagic" 122 "ro" 131 "readonly" 131 "noro" 140 "noreadonly" 140 "sm" 149 "showmatch" 149 "nosm" 158 "noshowmatch" 158 "ws" 167 "wrapscan" 167 "nows" 176 "nowrapscan" 176)) "viper-auto-indent" "t" kill-local-variable viper-auto-indent "setq-default" "nil" "viper-case-fold-search" "viper-re-search" "buffer-read-only" "blink-matching-paren" "viper-search-wrap-around" message ":set %s = <Value>" viper-set-unread-command-events "" sit-for 2 read-string format ":set %s = " ex-fixup-history "set" ("sw" "shiftwidth" "ts" "tabstop" "ts-g" "tabstop-global" "wm" "wrapmargin") (error) read-from-string error "%s: Invalid value, numberp, %S" #s(hash-table size 10 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("sw" 294 "shiftwidth" 294 "ts" 300 "tabstop" 300 "ts-g" 312 "tabstop-global" 312 "wm" 325 "wrapmargin" 325 "sh" 345 "shell" 345)) "viper-shift-width" "tab-width" tab-width fill-column "fill-column" "(- (window-width) %s)" "explicit-shell-file-name" "\"%s\"" "\n(%s %s %s) %s" "; don't touch or else..." "^\n?[ 	]*([ 	]*%s[ 	]+%s[ 	].*)[ 	]*%s" y-or-n-p "Do you want to save this setting in %s?" viper-save-string-in-file "(add-hook 'viper-insert-state-hook 'turn-on-auto-fill) ; don't touch or else..." "([ 	]*add-hook[ 	]+'viper-insert-state-hook[ 	]+'turn-on-auto-fill.*)" "%s %s %s" string-match "^[ 	]*$" "%S" eval auto-fill-mode 1 -1 ex-show-vars] 15])#@52 

(fn REGEX-FORW &optional CHARS-BACK REPLACE-STR)
(defalias 'ex-get-inline-cmd-args #[769 "r\302!\211q\210eb\210\303\304\305#\210`\304db\210\203! \304x\210\202% \306\304x\210`\262b\210\203C \303\307\304\305#\203C \310\304\305#\210\311 \210\202/ \211b\210{\266\202)\207" [viper-ex-work-buf-name viper-ex-work-buf get-buffer-create re-search-forward nil t " 	\n" " +" replace-match viper-forward-char-carefully] 9 (#$ . 37679)])
(defalias 'ex-shell #[0 "\300 \207" [shell] 1])
(defalias 'ex-help #[0 "\3061 \307\310\311!!\210\312\313!\210\314\315!0\207\210\316\317!\210r\310\320!q\210p\321 \210\322\211\323\211\323\324 \210\325\326!+\210\211\327\330!\331!)\210\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only (error) pop-to-buffer get-buffer-create "*info*" info "viper" message "Type `i' to search for a specific topic" beep 1 " *viper-info*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ "\nThe Info file for Viper does not seem to be installed.\n\nThis file is part of the standard distribution of Emacs.\nPlease contact your system administrator. " internal-temp-output-buffer-show standard-output] 6])
(defalias 'ex-source #[0 "\302 \210\303\230\203 \304	!\207\304!\207" [ex-file viper-custom-file-name viper-get-ex-file "" load] 2])#@32 

(fn &optional REPEAT R-FLAG)
(defalias 'ex-substitute #[512 "\306\211\211\306\211\211\203 \306\202 \307 \262\n\204; \203$ \202% \f\262;\2040 \310\311!\210\262\312!\262\202` \n\313\230\203E \202F \n\262\307 \262\n\204[ \313\211\202` \n\262\n\314!\203x \n\315\230\203r \316\262\202` \316\262\202` \317 \210!\203\237 \212\"\203\213 \"@b\210\320`!\210!Sy\210`\321\316!D\")\202\272 \"\204\254 ``D\"\202\272 \"A\204\272 \"@\"B\"\"@\"A@\306\212\322\"\210\212`\321\316!]b\210\323 )`\321\316!^b\210`W\203p\212\306\210\324 \210\323 )\262\325 \210\n\2033l\204*\326\316#\203*	\203\327\330\224\330\225\"\210\331\332!\203\364 \333 \210`\262	;\204\"\310\334!\210\335\316\"\210\202\364 \306\210\324 \210\202\332 \204;\310\336!\210\326\316#\203j	\203V\327\330\224\330\225\"\210\331\332!\203j\333 \210`\262	;\204e\310\334!\210\335\316\"\210b\210\202\332 )\266\203zb\210\325 \210\205\204\337\340!)\207" [viper-case-fold-search case-fold-search ex-token viper-s-string ex-reg-exp ex-repl nil viper-get-ex-pat error "No previous pattern to use in substitution" string-to-char "" viper-get-ex-opt-gc "g" t viper-get-ex-count set-mark mark viper-enlarge-region point-marker viper-forward-char-carefully beginning-of-line re-search-forward viper-put-on-search-overlay 0 y-or-n-p "Replace? " viper-hide-search-overlay "Can't perform Ex substitution: No previous replacement pattern" replace-match "Can't repeat Ex substitution: No previous regular expression" message "done" ex-count ex-addresses] 18 (#$ . 39058)])
(defalias 'ex-tag #[0 "\303r\304!\211q\210\305\303w\210\306`!\210\307\303w\210\310\311!`{)\262\211\312\230\204% \211\313 \210\3141@ \211\312\230\2038 \315 \210\202< \316\n!\210\317 0\207\317 \210\320!\207" [viper-ex-work-buf-name viper-ex-work-buf ex-tag nil get-buffer-create " 	" set-mark "^ |	\n" mark t "" viper-change-state-to-emacs (error) next-error xref-find-definitions-other-window viper-change-state-to-vi viper-message-conditions] 4])#@15 

(fn Q-FLAG)
(defalias 'ex-write #[257 "\306\307!\210\310 \210@A@p\311C\311\211\211\211V\203 \312	!\210\n\2034 \313	\"\210\314`\315\307!\fP#\207\316\230\203G \305 \204G \317\320\321\322 \"!eU\205R dU\262\316\230\203_ \305 \202b \323!\324!\203{ \203{ \324!\204{ \325!\326!P\327!\262\305 \230\262\211\203\257 \203\257 \330 \204\232 \331\332!\210\202\333p!\210\334 \210\214~\210\335ed$)\210\202\203\304 \204\304 \336\320\337\"!\204\304 \312\340!\210\341\342#\216\212\313	\"\210`\315\307!{\262\343\344!\240\210\242q\210\345\346\"\210\347 \210\203\372 0\203\372 \350!\210db\210c\210\333p!\210\3111\334 \210\335ed$*\210\305 \203\203\351 \210\211\2042\2032\352\353!\210\331\354!\210\355\307!\210\205D2\353W\203A\356 \207\357p!\207" [ex-addresses viper-FirstAddrExceedsSecond ex-cmdfile ex-file ex-cmdfile-args buffer-file-name viper-default-ex-addresses t viper-get-ex-file nil error viper-enlarge-region shell-command-on-region mark "" read-file-name format "Buffer %s isn't visiting any file.  File to save in: " buffer-name expand-file-name file-directory-p file-name-as-directory file-name-nondirectory file-exists-p buffer-modified-p message "(No changes need to be saved)" viper-maybe-checkout save-buffer ex-write-info yes-or-no-p "File %s exists.  Overwrite? " "Quit" make-closure #[0 "\300\242q\210\302\303!\210\304\300\242!\210\301q\207" [V0 V1 set-buffer-modified-p nil kill-buffer] 2] get-buffer-create " *ex-write*" set-visited-file-name noquery erase-buffer insert-file-contents set-visited-file-modtime sit-for 2 "Warning: you have saved only part of the buffer!" set-buffer-modified-p save-buffers-kill-emacs kill-buffer ex-append selective-display viper-expert-level] 14 (#$ . 41092)])#@33 

(fn EXISTS FILE-NAME BEG END)
(defalias 'ex-write-info #[1028 "\300\301\302!\203 \303\202 \304\305Td^\"Z%\207" [message "`%s'%s %d lines, %d characters" abbreviate-file-name "" " [New file]" count-lines] 12 (#$ . 42866)])
(defalias 'ex-yank #[0 "\306 \210\307 \210@A@\211V\203 \310	!\210\212\311\"\210\312 \210\n\204& \203* \310\313!\210\f\2039 \314`!\210\fSy\210\202= \314!\210\311`\315\316!\"\210\203N \310\317\"\210\203\203 \320\321\"\203h \322\227`\315\316!#\210\202\203 \320!\203| \323`\315\316!\324$\210\202\203 \310\"\210\325`\315\316!\")\207" [ex-addresses viper-FirstAddrExceedsSecond ex-g-flag ex-g-variant ex-count ex-flag viper-default-ex-addresses viper-get-ex-buffer error viper-enlarge-region exchange-point-and-mark "Can't execute `yank' within `global'" set-mark mark t "`yank': %s" viper-valid-register (Letter) viper-append-to-register copy-to-register nil copy-region-as-kill viper-SpuriousText ex-buffer viper-InvalidRegister] 7])
(defalias 'ex-command #[0 "\304r\305!\211q\210\306\304w\210`d{\262\304)\210\307p\"\262\211G\310V\203? \211\310\311O\312\230\203? \n\203; \n\311\304OP\262\202? \313\314!\210\211\204I \315!\207@A@\211\204U \262\212\211b\210\316!\210\317`\320\321!\"\210\322`\320\321!\321\211%)\210\211b\207" [viper-ex-work-buf-name viper-ex-work-buf viper-ex-last-shell-com ex-addresses nil get-buffer-create " 	" ex-expand-filsyms 0 1 "!" error "No previous shell command" shell-command set-mark viper-enlarge-region mark t shell-command-on-region] 9])#@184 Read args from the command line, then run make with the args.
If no args are given, then it runs the last compile command.
Type `mak ' (including the space) to run make with no args.
(defalias 'ex-compile #[0 "\304r\305!\211q\210`d{\262\304)\210\211GS\304O\306\230\203% \211\307GSO\262\211\310\230\2039 \311\302!\2035 \n\202= \202= \312Q\262\313!\207" [viper-ex-work-buf-name viper-ex-work-buf compile-command ex-compile-command nil get-buffer-create "\n" 0 "" boundp " " compile] 4 (#$ . 44415)])
(defalias 'ex-line-no #[0 "\301\302\303e\204\f d\202 @\"T\"\207" [ex-addresses message "%d" count-lines] 5])
(defalias 'viper-info-on-file #[0 "\306\307!\306\310!\311\211\211\312e\306\310!\"\262\302 \203 \313\302 !\314P\2025 \302\315 !\2031 \313\302\315 !!\316P\2025 \317 \320P\262\321\322U\203F T\202G \312ed\"`dSiT\323 \203Y \324\202Z \325&\262\211GTG\\\326\327 !W\203t \330\331\332Q\"\207\333 \334\335\"\216r\336\337!q\210p\340 \210\311\211\341\211\341\342 \210\343\344!+\210\211-\345\346\347\350\260!\210\351!)\266\341.\352\353 !)\210\354\337!)\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only viper-line-pos start end nil count-lines abbreviate-file-name ":" buffer-base-buffer " (indirect buffer):" buffer-name " [Not visiting any file]:" format "line=%d/%d pos=%d/%d col=%d %s" buffer-modified-p "[Modified]" "[Unchanged]" window-width minibuffer-window message "%s" " " current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] get-buffer-create " *viper-info*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook princ "\n" "\n\n	" "\n\n" internal-temp-output-buffer-show viper-set-unread-command-events read-event kill-buffer standard-output inhibit-quit] 15 nil nil])
(defalias 'ex-set-visited-file-name #[0 "\302 \210\303\230\203\f \304 \207\305!\303\230\203& 	\203& \306	!\204& \307!\305	!P\310!\207" [ex-file buffer-file-name viper-get-ex-file "" viper-info-on-file file-name-nondirectory file-directory-p file-name-as-directory set-visited-file-name] 3])
(defalias 'ex-show-vars #[0 "r\306\307!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!+\210\211-\316\203, \317\202- \320!\210\316\321\322!\203: \323\202; \324!\210\316.\203G \325\202H \326!\210\316/\203T \327\202U \330!\210\316	\203` \331\202a \332!\210\3160\203m \333\202n \334!\210\3161\203z \335\202{ \336!\210\316\337\3402\"!\210\316\337\341#\"!\210\316\337\342\321\343!\"!\210\316\337\344\345 'Z\"!\210\316\337\346\345 \321\347!Z\"!\210\316\337\350\351\352!\203\273 *\202\274 \353\"!\354!)\210\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only get-buffer-create " *viper-info*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ "autoindent (local)\n" "noautoindent (local)\n" default-value viper-auto-indent "autoindent (global) \n" "noautoindent (global) \n" "ignorecase\n" "noignorecase\n" "magic\n" "nomagic\n" "readonly\n" "noreadonly\n" "showmatch\n" "noshowmatch\n" "wrapscan\n" "nowrapscan\n" format "shiftwidth 		= %S\n" "tabstop (local) 	= %S\n" "tabstop (global) 	= %S\n" tab-width "wrapmargin (local) 	= %S\n" window-width "wrapmargin (global) 	= %S\n" fill-column "shell 			= %S\n" boundp explicit-shell-file-name none internal-temp-output-buffer-show standard-output viper-case-fold-search viper-re-search blink-matching-paren viper-search-wrap-around viper-shift-width] 9])
(defalias 'ex-print #[0 "\306 \210@A@\211V\203 \307	!\210\212\310\"\210\n\204  \203= \311\f`\312\313!#\210A?\205D r\fq\210\314\315 !\210\316 )\202D \314`\312\313!{!)\207" [ex-addresses viper-FirstAddrExceedsSecond ex-g-flag ex-g-variant viper-ex-print-buf ex-g-marks viper-default-ex-addresses error viper-enlarge-region append-to-buffer mark t ex-print-display-lines buffer-string erase-buffer] 7])#@14 

(fn LINES)
(defalias 'ex-print-display-lines #[257 "\306\307\"\204\f \310\311\"\207\306\307\"GSU\203 \310\311\312\313O\"\207rr\314\315!q\210p\316 \210\317\211\320\211\320\321 \210\322\323!+\210\211\324!\325!)\210\266\202)\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only string-search "\n" message "%s" 0 -1 get-buffer-create " *viper-info*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ internal-temp-output-buffer-show standard-output] 7 (#$ . 48399)])
(provide 'viper-ex)
