;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:39:45 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/emulation/viper-ex.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`viper-ex.el' was compiled for Emacs 19.29 or later"))

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


(byte-code "\305\306!\210\307B\310B\311B\312B\313B\314B\315B\316B\317B\320B\321B	\210\322\323!\210\324\306\325\326\327\330\331\332&\210\302B\333\303B\334\n!\304B\335\325\207" [current-load-list noninteractive viper-ex-work-buf-name viper-ex-work-buf viper-ex-tmp-buf-name provide viper-ex read-file-name-map viper-use-register viper-s-string viper-shift-width viper-ex-history viper-related-files-and-buffers-ring viper-local-search-start-marker viper-expert-level viper-custom-file-name viper-case-fold-search explicit-shell-file-name require viper-util custom-declare-group nil "Viper support for Ex commands" :prefix "ex-" :group viper " *ex-working-space*" get-buffer-create " *ex-tmp*"] 8)
(defalias 'ex-cmd-obsolete #[(name) "\301\302\"\207" [name error "`%s': Obsolete command, not supported by Viper"] 3])
(defalias 'ex-cmd-not-yet #[(name) "\301\302\"\207" [name error "`%s': Command not implemented in Viper"] 3])
(byte-code "\301B\302\301\207" [current-load-list 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" (viper-info-on-file)) ("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)) ("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")) ("print" (ex-cmd-not-yet "print")) ("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)))] 2)
(defalias 'ex-cmd-is-mashed-with-args #[(cmd) "AA@\301=\205\n \207" [cmd is-mashed] 2])
(defalias 'ex-cmd-is-one-letter #[(cmd) "AA@\301=\205\n \207" [cmd one-letter] 2])
(defalias 'ex-cmd-execute #[(cmd) "\302\211A@)!\207" [cmd x eval] 3])
(defalias 'ex-splice-args-in-1-letr-cmd #[(key list) "\304\305\306\307O	\"!\211\205+ \310\n\211A@)\307GW\205\" \307\311OC\"\n\211AA)@E)\207" [key list onelet x ex-cmd-is-one-letter assoc 0 1 append nil] 7])
(defalias 'ex-cmd-assoc #[(key list) "\305	\"\306\211\307=\203 \310	\"\2025 ;\203' \311	\"\2065 \310	\"\2025 \306=\2034 \311	\"\2025 \306\211\211A@);\203J \312\n\211A@)	\"\n*\207" [key list result entry x try-completion nil t assoc ex-splice-args-in-1-letr-cmd ex-cmd-assoc] 4])
(byte-code "\301B\306\302B\307\302!\204 \310\303B\307\303!\204 \310\304B\307\304!\204* \310\305B\307\305!\2046 \310\311B\307\311!\204C \310	\312B\307\312!\204P \310\n\313B\307\313!\204] \310\314B\307\314!\204j \310\f\315B\307\315!\204w \310\316B\307\316!\204\204 \310\317B\307\317!\204\221 \310\310\207" [current-load-list ex-variable-alist ex-token ex-token-type ex-addresses ex-flag (("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")) boundp nil ex-buffer ex-count ex-g-flag ex-g-variant ex-reg-exp ex-repl ex-g-pat] 2)
#@53 Is the user using a unix-type shell under a non-OS?
(custom-declare-variable 'ex-unix-type-shell '(let ((case-fold-search t)) (and (stringp shell-file-name) (string-match (concat "\\(" "csh$\\|csh.exe$" "\\|" "ksh$\\|ksh.exe$" "\\|" "^sh$\\|sh.exe$" "\\|" "[^a-z]sh$\\|[^a-z]sh.exe$" "\\|" "bash$\\|bash.exe$" "\\)") shell-file-name))) '(#$ . 5750) :type 'boolean :group 'viper-ex)
#@94 Options to pass to the Unix-style shell. 
Don't put `-c' here, as it is added automatically.
(custom-declare-variable 'ex-unix-type-shell-options '(let ((case-fold-search t)) (if ex-unix-type-shell (cond ((string-match "\\(csh$\\|csh.exe$\\)" shell-file-name) "-f") ((string-match "\\(bash$\\|bash.exe$\\)" shell-file-name) "-noprofile")))) '(#$ . 6138) :type '(choice (const nil) string) :group 'viper-ex)
#@47 The command to run when the user types :make.
(custom-declare-variable 'ex-compile-command '"make" '(#$ . 6551) :type 'string :group 'viper-ex)
#@319 Expand the file spec containing wildcard symbols.
The default tries to set this variable to work with Unix, Windows,
OS/2, and VMS.

However, if it doesn't work right for some types of Unix shells or some OS, 
the user should supply the appropriate function and set this variable to the
corresponding function symbol.
(custom-declare-variable 'viper-glob-function '(cond (ex-unix-type-shell 'viper-glob-unix-files) ((eq system-type 'emx) 'viper-glob-mswindows-files) (viper-ms-style-os-p 'viper-glob-mswindows-files) (viper-vms-os-p 'viper-glob-unix-files) (t 'viper-glob-unix-files)) '(#$ . 6702) :type 'symbol :group 'viper-ex)
(byte-code "\301B\306\301!\204\f \307\302B\306\302!\204 \307\303B\306\303!\204$ \307\304B\306\304!\2040 \307\305B\306\305!\204< \307\310B\306\310!\204I \307\311B\306\311!\204V \312	\313B\306\313!\204c \307\307\207" [current-load-list ex-tag ex-file ex-variant ex-offset ex-append boundp nil ex-cmdfile ex-cmdfile-args "" viper-keep-reading-filename] 2)
#@149 *If t, :n and :b cycles through files and buffers in other window.
Then :N and :B cycles in the current window.  If nil, this behavior is
reversed.
(custom-declare-variable 'ex-cycle-other-window 't '(#$ . -7719) :type 'boolean :group 'viper-ex)
#@71 *Cycle through *scratch* and other buffers that don't visit any file.
(custom-declare-variable 'ex-cycle-through-non-files 'nil '(#$ . -7971) :type 'boolean :group 'viper-ex)
(byte-code "\301B\304\301!\204\f \305\302B\304\302!\204 \305\303B\304\303!\204$ \306\305\207" [current-load-list viper-ex-last-shell-com viper-incomplete-ex-cmd viper-last-ex-prompt boundp nil ""] 2)
(defalias 'viper-get-ex-com-subr #[nil "\305\211\306`!\210\307\310!\210\311`\312\313!{\314\f\"\211\203$ 	@\211\202' \315\211*\207" [case-fold-search cmd 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 #[nil "\300\213\207" [((byte-code "\306!\211q\210\307\310w\210\311\312\313!\203 \314\315g!\316u\202\312\317!\203) \320 \202\312\321!\2038 \316u\210\322\211\202\312\323!\203h \324`!\210\325\326!\210\327=\203P \330\202[ \331=\203Z \332\202[ \333\334`\335\311!{!\211\202\312\336!\203w \316u\210\337\211\202\312\340!\203\206 \316u\210\341\211\202\312\342!\203\274 \312\343!\204\230 \312\344!\203\247 \316u\210\345c\210\346u\210\327\211\202\312\347!\203\266 \316u\210\327\211\202\350!\202\312\351!\203\362 \312\352!\204\316 \312\353!\203\335 \316u\210\345c\210\346u\210\331\211\202\312\354!\203\354 \316u\210\331\211\202\350!\202\312\355!\203D\316u\210\324`!\210\311@l\204+@\203+\325\356!\210\357A\212\360A\310\311#)\205!`\361\225U)\204\310@\202)\346u\210`\335\311!{\312\355!\203>\316u\210\362\211\202\312\363!\203\227\316u\210\324`!\210\311@l\204\211@\203\211\325\364!\210\365A\212\360A\310\311#)\205s`\361\225U)\204z\310@\346u\210\312\366!\204T\316u\210\202T)\367`S\335\311!{\211\202\312\370!\203\246\316u\210\371\211\202\312\372!\203\265\316u\210\373\211\202\312\374!\203\306\314\315g!\316u\202\312\375!\203\360\376\316u\210\312\375!\203\334\310\202\353\312\317!\203\347g\202\353\350\377!\210\316u\202\312\366!\203\201C \201D \211\202\350B!)\207" [viper-ex-work-buf-name viper-ex-work-buf case-fold-search ex-token-type ex-token viper-BadAddress get-buffer-create " 	|" nil t looking-at "#" command char-to-string 1 "[a-z]" viper-get-ex-com-subr "\\." dot "[0-9]" set-mark re-search-forward "[0-9]*" plus add-number minus sub-number abs-number string-to-int mark "\\$" end "%" whole "+" "+[-+]" "+[\n|]" "1" -1 "+[0-9]" error "-" "-[-+]" "-[\n|]" "-[0-9]" "/" "[^/]*\\(/\\|\n\\)" "[^\\\\]\\(\\\\\\\\\\)*\\\\/" re-search-backward 0 search-forward "\\?" "[^\\?]*\\(\\?\\|\n\\)" "[^\\\\]\\(\\\\\\\\\\)*\\\\\\?" "\n" search-backward "," comma ";" semi-colon "[!=><&~]" "'" goto-mark "Marks are ' and a-z" cont str viper-BadExCommand end-mark "goto"] 5))] 1])
(defalias 'ex-cmd-read-exit #[nil "\305\306\307\310\311\213\210\212\312\f\313\305#)\205 `\314\225U)\203$ \315 \202X 	\212\312\f\313\305#)\2054 `\314\225U)\203= \316c\202X \n\212\312\f\313\305#)\205M `\314\225U)\203V \315 \202X \316c+\207" [viper-incomplete-ex-cmd stay-regex quit-regex2 quit-regex1 str t "\\(set[ 	]*\\|edit[ 	]*\\|[nN]ext[ 	]*\\|unm[ 	]*\\|^[ 	]*rep\\)" "[a-zA-Z][ 	]*\\(!\\|>>\\|\\+[0-9]+\\)*[ 	]*$" "\\(^[ 	]*$\\|[?/].*\\|[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].*\\)!*" ((byte-code "\302!\211q\210db\207" [viper-ex-work-buf-name viper-ex-work-buf get-buffer-create] 3)) re-search-backward nil 0 exit-minibuffer " "] 4 nil nil])
(defalias 'ex-cmd-complete #[nil "\306\211\211\211\211\212\307\306x`)\310U\204@ \311\212\312\306\313#)\205( `\310\225U)\204@ \314\212\312\306\313#)\205< `\310\225U)\203{ \315\212\312\306\313#)\205P `\310\225U)\206k \311\212\312\306\313#)\205d `\310\225U)\206k \316\317!?\205\304 \320\220\321\322!!\221\202\304 \f`{\323	\"\211\313=\203\221 \324\325!\202\304 \306=\203\235 \324\326!\202\304 \fb\210`d|\210c\210\306\327\330P\")\nG\331V\205\304 \320\220\321\322\332\n!!!\221-\207" [completion-result string-to-complete compl-list dist save-pos str nil "[a-zA-Z!=>&~]" 0 "\\([ 	]*['`][ 	]*[a-z]*\\)" re-search-backward t "^[ 	]*[a-zA-Z!=>&~][ 	]*[/?]*[ 	]+[a-zA-Z!=>&~]+" "[a-zA-Z!=>&~][ 	]*[/?]*[ 	]*" looking-at "[^ 	\n]" "*Completions*" display-completion-list viper-alist-to-list try-completion viper-tmp-insert-at-eob " (Sole completion)" " (No match)" viper-filter-alist "^" 1 reverse ex-token-alist case-fold-search] 6 nil nil])
(defalias 'viper-ex #[(arg &optional string) "\204 \306\306\307!\306\310$`%\306&\306'\306(\306)\306*\306+\306,\311-\f\"\210.\203o \312\313\310!`\"\210`\313\310!V\203N \313\310!(`)\202V \313\310!)`(\212(b\210\314e`\"T\211&\314()\"\\\315\\')&\203} \316\317&'#*\206\230 \320\321*\322*?\205\217 @\f*\205\226 \323&,\324\213\210\306/\3060$\205\206\325 \210/\326>\203\365 \203\274 0B0\327 \210\33012\"\2113\204\323 \331\33214#\210\3333!\210\3343!\204\346 \3353!\203\354 \306$\202\361 \212\336\213\210))\202/\337=\203\331\33214#\210\202/\340=\203'\3060\203d0B\202\"de0BB0\202/\341=\203H+\340=\2037e\204?`\202@0B0\202/\342=\203p+\340=\203Xe\203_%\204g`\202h0B0\202\343%\"\2115\203~5)/+\202\243 .\207" [string ex-g-flag ex-g-variant minibuffer-local-map map address nil copy-keymap t viper-add-keymap viper-enlarge-region mark count-lines -1 format "%d,%d" viper-read-string-with-history ":" viper-ex-history " [Type command to execute on current region]" ((byte-code "\303!\211q\210ed|\210\n\304\261\210eb\207" [viper-ex-work-buf-name viper-ex-work-buf com-str get-buffer-create "\n"] 3)) viper-get-ex-token (command end-mark) viper-deactivate-mark ex-cmd-assoc error "`%s': %s" ex-cmd-execute ex-cmd-is-mashed-with-args ex-cmd-is-one-letter ((byte-code "\305!\211q\210\306\307w\210\310\311!\203 \312u\210\202( \310\313!\203\" \307\202( \314\315\f#\210\307\207" [viper-ex-work-buf-name viper-ex-work-buf cont ex-token viper-SpuriousText get-buffer-create " 	" nil looking-at "|" 1 "\n" error "`%s': %s"] 5)) non-command whole comma semi-colon viper-get-ex-address-subr cont dot reg-beg-line reg-end-line reg-beg reg-end initial-str prev-token-type com-str viper-ex-cmd-map arg ex-token-type ex-addresses ex-token ex-token-alist cmd viper-BadExCommand ans] 8 nil "P"])
(defalias 'viper-get-ex-pat #[nil "\300\213\207" [((byte-code "\306!\211q\210\307\310w\210\311\312!\203 \n??\313u\210\307\310w\210g\314\315\316\317\f\"\"\2031 \320\321!\210\202; \f\322U\203; \320\323!\210\311\324!\203\305 \313u\210\325`!\210\326m\204\240 \203\240 \327\316\330\f\211#\310\326#\204o #\331\235\203l \320\332!\210\202o db\210\316\333\f\"$\212\334$\310\326#)\205\204 `\335\225U)\204\215 \310\202J \336\337!\210\fc\210l\203J \310\310u\210\202J )\340\326!`U\203\255 \341\202\263 `S\340\326!{#\342u\210l\203\310 \fc\210\342u\210\202\310 \310#\f)\207" [viper-ex-work-buf-name viper-ex-work-buf ex-g-variant ex-g-flag c cont 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" "[^\\\\]\\(\\\\\\\\\\)*\\\\%c" re-search-backward 0 delete-backward-char 2 mark "" -1 ex-token str] 6))] 1])
(defalias 'viper-get-ex-opt-gc #[(c) "\300\213\207" [((byte-code "\304!\211q\210\305\306\307\n\"!\203 \310u\210\311\312w\210\305\313!\203$ \313\310u\210\314\207\305\315!\2031 \315\310u\210\314\207\312\207" [viper-ex-work-buf-name viper-ex-work-buf c ex-token get-buffer-create looking-at format "%c" 1 " 	" nil "g" t "c"] 5))] 1])
(defalias 'viper-default-ex-addresses #[(&optional whole-flag) "\204 	\203 deD\202 ``D\211\207A?\205  @B\211\207" [ex-addresses whole-flag] 2])
(defalias 'viper-get-ex-address #[nil "\306 \307\310\311\203e \312 \210\f\313=\203+ \n\314\235\203$ \307\311\211\202\n \315\316!\210\202	 \f\317=\2037 \311\211\202\n \f\320=\203D \315\321!\210\202	 \f\322=\203S \315\323\n#\210\202	 \324	\306 \"\211\203a )\202	 	*\207" [cont address ex-token ex-flag ex-token-type viper-SpuriousText point-marker t "" nil viper-get-ex-token command ("print" "list" "#") error "Address expected in this Ex command" end-mark whole "Trailing address expected" comma "`%s': %s" viper-get-ex-address-subr ans] 5])
(defalias 'viper-get-ex-address-subr #[(old-address dot) "\305	\204 \n\302=\203 \n\202\303 \306=\2032 \212	b\210	\307U\203( \fS\202) \fy\210\310 )\202\303 \311=\203G \212	b\210\f[y\210\310 )\202\303 \312=\203g \212eb\210\f\307U\203\\ \307\202c \fSy\210\310 )\202\303 \313=\203s \314 \202\303 \315=\204\303 \316=\204\303 \317=\203\221 \212\320\321!\210\310 )\202\303 \322=\203\243 \212\320\305!\210\310 )\202\303 \323=\203\303 \212\f\204\264 \324 \210\202\277 \325\326\f\327ZT!\330\"b\210\310 ))\207" [address old-address dot ex-token-type ex-token nil add-number 0 point-marker sub-number abs-number end point-max-marker plus minus search-forward ex-search-address t search-backward goto-mark exchange-point-and-mark viper-register-to-point viper-int-to-char 97 enforce-buffer] 4])
(defalias 'ex-search-address #[(forward) "\304\230\203 	\204 \305\n!\210\202 	\202 \203# \306y\210\307!\207\310y\210\311!\207" [ex-token viper-s-string viper-NoPrevSearch forward "" error 1 re-search-forward -1 re-search-backward] 2])
(defalias 'viper-get-ex-buffer #[nil "\303\303\303\304\213\207" [ex-buffer ex-count ex-flag nil ((byte-code "\306!\211q\210\307\310w\210\311\312!\203 g\313u\210\307\310w\210\311\314!\2034 \315`!\210\316\317!\210\320`\321\322!{!\307\310w\210\311\323!\203? \322\313u\210\311\324!?\205L \325\326#\207" [viper-ex-work-buf-name viper-ex-work-buf ex-buffer ex-count ex-flag ex-token get-buffer-create " 	" nil looking-at "[a-zA-Z]" 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-int mark t "[pl#]" "[\n|]" error "`%s': %s" viper-SpuriousText] 5))] 1])
(defalias 'viper-get-ex-count #[nil "\303\303\303\304\213\207" [ex-variant ex-count ex-flag nil ((byte-code "\306!\211q\210\307\310w\210\311\312!\203 \313\314u\210\307\310w\210\311\315!\2034 \316`!\210\317\320!\210\321`\322\313!{!\307\310w\210\311\323!\203? \313\314u\210\311\324!?\205N \325\326edS{#\207" [viper-ex-work-buf-name viper-ex-work-buf ex-variant ex-count ex-flag viper-BadExCommand get-buffer-create " 	" nil looking-at "!" t 1 "[0-9]" set-mark re-search-forward "[0-9][0-9]*" string-to-int mark "[pl#]" "[\n|]" error "`%s': %s"] 5))] 1])
(defalias 'ex-expand-filsyms #[(cmd buf) "\306\211\211\212q\210\f\307\306\310\")\n\204! \311\312\"\203! \313\314!\210	\2040 \311\315\"\2030 \313\316!\210\212\317!q\210\320 \210c\210eb\210\321\322\306\310#\203\217 \323 \324\224\324\225{\325P\212\326\306\310#)\205h `\324\225U)\203t \327!\210\202\213 \330!\210\331\230\203\207 \327\n!\210\202\213 \327	!\210*\202@ \306\210e`{\332\333\"\210)+\207" [ret pf cf buf buffer-file-name cmd 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 "\\\\" re-search-backward replace-match store-match-data "%" message "%s" viper-ex-tmp-buf-name char data str] 4])
(defalias 'viper-get-ex-file #[nil "\306\306\306\306\306\306\307\f\212\310\213\210)\203' \311\312\313\"!\211\202. 	\206, \307\211)\207" [prompt ex-file ex-variant ex-append ex-offset ex-cmdfile nil "" ((byte-code "\306!\211q\210\307\310w\210\311\312!\203@ \313\212\314\n\310\315#)\205! `\316\225U)\2047 \317\230\2047 \315\320u\210\307\310w\210\202@ \315\320u\210\307\310w\210\311\321!\203R \315 \315\322u\210\307\310w\210\311\323!\203t \320u\210\324`!\210\325\326!\210\327u\210`\330\315!{!\320u\210\307\310w\210\331\235\203\257 `dS{\"\332\333\230\203\213 \334\202\214 \335\"\"\203\247 \310#\"\316\225\310O$\"\316\224\316\225O\202\250 \336\"`dS|\210db\210\337\310x\210e`{%\310\207" [viper-ex-work-buf-name viper-ex-work-buf str ex-token ex-variant ex-cmdfile get-buffer-create " 	" nil looking-at "!" "[ 	]" re-search-backward t 0 "read" 1 ">>" 2 "+" set-mark re-search-forward "[ 	\n]" -1 mark ("read" "write" "edit" "visual" "next") string-match "edit" "[^ 	\n]+\\([ 	]+[^ 	\n]+\\)*" "[^ 	\n]+" "" " 	\n" ex-append ex-offset ex-file viper-incomplete-ex-cmd ex-cmdfile-args prompt] 5)) viper-ex-read-file-name format ":%s " ex-cmdfile-args viper-last-ex-prompt viper-incomplete-ex-cmd] 4])
(defalias 'viper-complete-filename-or-exit #[nil "\304\305	!\203 \306 \207\307\212\310\n\311\304#)\205 `\312\225U)\203$ \304\313c\207\311\314 \207" [viper-keep-reading-filename ex-token str ex-cmdfile t ex-cmd-accepts-multiple-files-p exit-minibuffer "^[ 	]*!.*" re-search-backward nil 0 " " minibuffer-complete-word] 4 nil nil])
(defalias 'viper-handle-! #[nil "\302 \303!\230\203 	\304\235\203 \305 \210\306c\207" [default-directory ex-token buffer-string viper-abbreviate-file-name ("read" "write") erase-buffer "!"] 3 nil nil])
(defalias 'ex-cmd-accepts-multiple-files-p #[(token) "\301\235\207" [token ("edit" "next" "Next")] 2])
(defalias 'viper-ex-read-file-name #[(prompt) "\306\307	!\310\310\310\310\311\203 	\202 \"\210\312\211\211\203s \310\313P\310#\314!\315\316\"\203K \317!\203K \320\320Q\306\232\203V \306\202W \316\211\306\232\203b \306\202c \316R\205n \317!\211\204' \315\321\"\315\322\"\323\235\203\227 \315\324\"\203\227 \312\nT\325P\n\206\235 \326O.\207" [str minibuffer-local-completion-map beg end cont val "" copy-keymap nil viper-add-keymap t read-file-name expand-file-name string-match " " ex-cmd-accepts-multiple-files-p "\"" "[^ 	]" "[ 	]*$" ("read" "write") "[	 ]*!" " !" 0 ex-read-filename-map viper-emacs-p read-file-name-map viper-keep-reading-filename prompt default-directory ex-token ex-cmdfile viper-last-ex-prompt] 6])
(defalias 'viper-undisplayed-files #[nil "\300\301\302 \"\207" [mapcar #[(b) "\304!?\205( \305!\211\203 	\202' \n\205' \306!\211\307\310O\311\230?\205& ))\207" [b f ex-cycle-through-non-files s get-buffer-window buffer-file-name buffer-name 0 1 " "] 4] buffer-list] 3])
(defalias 'ex-args #[nil "\303 \304\305\211\203\" \n@\203 \306\307	\n@$T\nA\211\204 	\304\230\203. \310\311!\2022 \212\312\213)+\207" [file-count args l viper-undisplayed-files "" 1 format "%s %d) %s\n" message "All files are already displayed" ((byte-code "\301\220\302\303!\210\302\304!\210\302!\210\302\304!\210\302\305!\210\302\306!\221\210\307 \207" [args " *viper-info*" 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" viper-read-event] 3))] 6])
(defalias 'ex-cd #[nil "\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])
(defalias 'ex-copy #[(del-flag) "\306 \210\307 @A@\nb\210\212\310	\311\"\210\312\313\311!`\"\210\f\203+ \314`\313\311!\"\210\2022 \315`\313\311!\"\210\203Z \316\220\317\f\204G \204G \203M \320\321!\202R `\313\311!{!\221\210\322\323\324\217\210)\321U\203g eb\210\202m b\210\325y\210\320\321!c+\207" [ex-addresses beg end address del-flag ex-flag viper-default-ex-addresses viper-get-ex-address push-mark t viper-enlarge-region mark kill-region copy-region-as-kill " *copy text*" princ current-kill 0 nil (byte-code "\300\301!\210\212\302\303!\210)\300\207" [read-string "[Hit return to confirm] " kill-buffer " *copy text*"] 2) ((quit (byte-code "\212\300\301!\210)\302\303\304\"\207" [kill-buffer " *copy text*" signal quit nil] 3))) 1 ex-g-flag ex-g-variant] 5])
(defalias 'ex-delete #[nil "\306 \210\307 \210@A@	\nV\203 \310!\210\212\311	\n\"\210\312 \210\f\203/ \313`!\210\fSy\210\2023 \313\n!\210\311`\314\315!\"\210\203V \316\220\317`\314\315!{!\221\210\320\321\322\217\210\212\323\316!)\202\256 \203\250 \324\325\"\203\215 \227`\314\315!\326\327!;\203\201 \327!\202\202 \330\n{P\"\210+\202\250 \324!\203\241 \331`\314\315!\320$\210\202\250 \310\"\210\332`\314\315!\"+\207" [ex-addresses beg end viper-FirstAddrExceedsSecond ex-count ex-flag viper-default-ex-addresses viper-get-ex-buffer error viper-enlarge-region exchange-point-and-mark set-mark mark t " *delete text*" princ nil (read-string "[Hit return to confirm] ") ((quit (byte-code "\212\300\301!\210)\302\303!\207" [kill-buffer " *delete text*" error ""] 2))) kill-buffer viper-valid-register (Letter) set-register get-register "" copy-to-register kill-region ex-buffer start reg viper-InvalidRegister] 5])
(defalias 'ex-edit #[(&optional file) "\204 \306 \210	\307\230\203 \n\203 \310\302 !\202# 	\307\230\203# \311!\210\312	!\211\204A \313\314	p\"!\210\f\315=\204; \316 \210eb\210\202E \317!\210\203S \320\213\210\321 b\210\322 \210\323	\"\207" [file ex-file buffer-file-name viper-NoFileSpecified major-mode ex-offset viper-get-ex-file "" viper-abbreviate-file-name error get-file-buffer ex-find-file ex-expand-filsyms dired-mode viper-change-state-to-vi switch-to-buffer ((byte-code "\303!\211q\210ed|\210\n\304\261\210eb\207" [viper-ex-work-buf-name viper-ex-work-buf ex-offset get-buffer-create "\n"] 3)) viper-get-ex-address beginning-of-line ex-fixup-history viper-last-ex-prompt] 4])
(defalias 'ex-find-file #[(filespec) "\303\304	!\203 \305	!\202! \306	\"\203 \307\305\n	!\"\202! \305	!)\207" [nonstandard-filename-chars filespec viper-glob-function "[^-a-zA-Z0-9_./,~$\\]" file-exists-p find-file string-match mapcar] 4])
(defalias 'ex-global #[(variant) "\n\204\n \203 \306\307	\"\210\202! \f\203 \310\311\202! \311\310\312 \210\204- \306\313	\"\210)\314\230\203F \204@ \306!\210\202K \202K \204X deD\202[ \315 \210\310\316@A@\310 !V\203| \306\"!\210\212\317\"\210\320 \210\311\321 #$\320 \210\322 \210m\203\233 \323 \210$\203\370 o\204\370 `#Y\203\370 \322 \210\324`!\210\310\210\325\326\311!\311#%\n\203\310 %\204\321 \203\340 %\204\340 \310\210 T \321 !B!)\322 \210o\203\357 \310\211$\202\235 \327y\210\310\210\202\233 +\330\213\210!\205!@b\210\331\310\"\210 S !A\211!\204\310-\207" [ex-token gcommand ex-g-flag ex-g-variant variant viper-s-string 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 ((byte-code "\303!\211q\210`TdS{\303\207" [viper-ex-work-buf-name viper-ex-work-buf com-str get-buffer-create] 3)) viper-ex viper-NoPrevSearch ex-g-pat ex-addresses com-str beg end mark-count marks viper-FirstAddrExceedsSecond limit cont found] 6])
(defalias 'ex-goto #[nil "\204 `\301B\302`\303\"\210@b\210\304 \207" [ex-addresses nil push-mark t beginning-of-line] 3])
(defalias 'ex-line #[(com) "\306 \210\307 \210@A@\310\nV\203 \311\f!\210\212\312\n\"\210\313 \210\203- \314`!\210y\210\203K \315\220\316`\317\320!{!\221\210\310\321\322\217\210\212\323\315!\210)\202T \324`\317\320!#\210`)	Sb\210\325 +\207" [ex-addresses point beg end viper-FirstAddrExceedsSecond ex-count viper-default-ex-addresses viper-get-ex-count nil error viper-enlarge-region exchange-point-and-mark set-mark " *join text*" princ mark t (byte-code "\301\302!\210\303`\304\305!#\207" [com read-string "[Hit return to confirm] " ex-line-subr mark t] 5) ((quit (ding))) kill-buffer ex-line-subr beginning-of-line ex-flag com] 5])
(defalias 'ex-line-subr #[(com beg end) "\305\230\203: 	\n^b\210m?\2059 `	\n]W\205e \306\210`	\n]X\203 m\204 \307y\210``S|\210\204 \310 \210\202 \207\311\230\204F \312\230\205e \313	\n^	\n]\311\230\203W \f\202Y \f[#\210	\n]b\210\306\210\314 \207" [com beg end ex-variant viper-shift-width "join" nil 1 fixup-whitespace "right" "left" indent-rigidly viper-forward-char-carefully] 5])
(defalias 'ex-mark #[(&optional name) "\304	\204\n `\304B\n\203) \nG\305=\203 \306\n!\202, \307\310\n\211\305\304O$\210\202, \311\213\210\212	@b\210\312\313\314ZT!!*\207" [char ex-addresses name viper-SpuriousText nil 1 string-to-char error "`%s': Spurious text \"%s\" after mark name" ((byte-code "\305!\211q\210\306\307w\210\310\311!\203) g\312u\210\306\307w\210\310\313!\204. \314\315\f#\210\202. \314\316\"\210\307\207" [viper-ex-work-buf-name viper-ex-work-buf char ex-token viper-SpuriousText get-buffer-create " 	" nil looking-at "[a-z]" 1 "[\n|]" error "`%s': %s" "`%s' requires a following letter"] 5)) point-to-register viper-int-to-char 97] 6])
(defalias 'ex-next #[(cycle-other-window &optional find-alt-file) "\300\301\215\207" [ex-edit (byte-code "\306\211\n\204C \307 \210\310!\204 \f\311\230\204* \312\313\f\"\204* \314\315!\210\316\314\306\"\210\202E \317\f!\211\320U\2036 \321	\320W\203E \322\323!\210\202E \321\324 	\320V\203m \203^ @\204^ A\211\204R 	S\211\320V\203H A\202H \n\203v @\202\257 @\203\254 \325@!\203\254 \203\213 \326 \202\215 \327 \330!\331\325@!\"\210\332!\210\333\f\"*\202\257 \322\334!*\207" [l count find-alt-file ex-offset ex-file cycle-other-window nil viper-get-ex-file char-or-string-p "" string-match "^[0-9]+$" ex-edit t throw string-to-int 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" w b viper-last-ex-prompt] 5)] 2])
(defalias 'ex-next-related-buffer #[(direction &optional no-recursion) "\306	\"\210\307!\310 \311\211\211%&\312!\203$ \313!\314V\204( \315\316!\210&;\2044 \315\317&\"\210\320&!\206F \321&!\205F \322&!\211\203Y \320!\203Y \323\320!!\204e \315\324&\325\326&!!#\210p\232\203w '\204w \327\330	\331\"\210\f?\205\305 \332!\211\204\223 \333(?\205\214 \334!\335\n\"\210\336 \203\265 \337\340\n!!\210\340\n!\340!\232\203\256 \341\213\210\202\270 \342\n!\210\202\270 \343\213\210\212q\210%)\344 \211).\207" [viper-related-files-and-buffers-ring direction wind buf skip-rest old-win 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" viper-abbreviate-file-name expand-file-name t ex-next-related-buffer norecursion viper-get-visible-buffer-window get-lru-window visible set-window-buffer viper-window-display-p raise-frame window-frame ((byte-code "\301!\210\302\303!\207" [wind select-window sit-for 1] 2)) select-window ((byte-code "\301!\210\302\303!\207" [wind select-window sit-for 1] 2)) point-marker old-ring file-or-buffer-name no-recursion viper-xemacs-p viper-local-search-start-marker] 7])
(defalias 'ex-preserve #[nil "\300\301!\210\302\303!\207" [message "Autosaving all buffers that need to be saved..." do-auto-save t] 2])
(defalias 'ex-put #[nil "\204 `\202\n @\304 \210\n	b\210o\203 \305\306!\202  \307\306!)\207" [ex-addresses point ex-buffer viper-use-register viper-get-ex-buffer viper-Put-back 1 viper-put-back] 2])
(defalias 'ex-pwd #[nil "\301!\207" [default-directory message] 2])
(defalias 'ex-quit #[nil "\212\303!\211q\210\304\305!\203 \306u\210)\n\307W\203 \310 \207\311p!\207" [viper-ex-work-buf-name viper-ex-work-buf viper-expert-level get-buffer-create looking-at "!" 1 3 save-buffers-kill-emacs kill-buffer] 3])
(defalias 'ex-read #[nil "\306 \210\204 `\202 @\307\211b\210\310 \210o\204! m\204! \311y\210\2046 \f\312\230\2036 \2044 \313!\210\203K \314\fPp\"\315	\316\"\210\202O \317\f!\210*\320\f#\207" [ex-addresses command point ex-variant ex-file buffer-file-name viper-get-ex-file nil viper-add-newline-at-eob-if-necessary 1 "" error ex-expand-filsyms shell-command t insert-file-contents ex-fixup-history viper-NoFileSpecified ex-cmdfile ex-cmdfile-args viper-last-ex-prompt] 5])
(defalias 'ex-fixup-history #[(&rest args) "\302\303\304#	AB\211\207" [args viper-ex-history mapconcat identity " "] 4])
(defalias 'ex-recover #[nil "\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 #[nil "\300\301!\207" [message "Use `:n <count>' instead.  Counts are obtained from the `:args' command"] 2])
(defalias 'ex-set-read-variable #[nil "\305!\306\307\211\310\311\312#\210\310\313\314#\210\315\316\317\307\320#!\203& \306\315\321!\210\322\323!\210	\2042 \324\325!\210\326\327\330\331\f\"\211\"\203O \322\332!\210\315\333!\2042 \324\325!\210\2022 \n,\207" [minibuffer-local-completion-map batch str 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 "^[ \\t\\n]*$" completing-read ":set " ":set <Variable> [= <Value>]" ""] 5])
(defalias 'ex-set #[nil "\306 \307\310\311\312\313\314\211\211\211@AB\211CC\315\230\203+ \314@\314A\202C\316\235\203A \317C\310A\314@\320B\202C\321\235\203X \322\323!\210\317C\324A\320B\202C\325\235\203k \317C\314@\326B\202C\327\235\203\202 \322\323!\210\317C\324A\326B\202C\330\235\203\222 \331C\320B\202C\332\235\203\242 \331C\326B\202C\333\235\203\262 \334C\320B\202C\335\235\203\302 \334C\326B\202C\336\235\203\322 \337C\320B\202C\340\235\203\342 \337C\326B\202C\341\235\203\362 \342C\320B\202C\343\235\203\342C\326B\202C\344\235\203\345C\320B\202C\346\235\203\345C\326BA\203\302B\307=\203\302\311D\347\350C\"\210\351\352!\204>\353\354!\210\355\356\357C\"!B\360\361B#\210C\362\235\203Z\314\363\364\217\210C\365\235\203g\366C\202\276C\367\235\203z\370C\310A\314@\202\276C\371\235\203\216\322\372!\210\370C\324A\202\276C\373\235\203\251\322\374!\210\375C\356\376B\"B\324A\202\276C\377\235\203\276\201F C\356\201G B\"B)\202\307\360\361\"\210A\203\344\356\201H ACB%\356\201I AC$@\203/\201J \356\201K E\"!\203/\201L E\n#\210C\375\230\203/	\307V\203\201L \201M PE\f#\210\202/\201L \314E\f#\210\201L \314E\n#\210A\203V\347\201N AC\201O \201P B\"\203R\356\201Q B\"\202TB$\210\203e\201R \201S !@!\210C\375\230\203\205	\307V\203}\201T \201U !\210\202\205\201T \201V !\210C\315\230\205\220\201W  .\n\207" [orig-var val2 lisp-cmd-del-pattern actual-lisp-cmd delete-turn-on-auto-fill-pattern auto-cmd-label ex-set-read-variable 0 "setq" t "; don't touch or else..." "([ 	]*add-hook[ 	]+'viper-insert-state-hook[ 	]+'turn-on-auto-fill.*)" nil "all" ("ai" "autoindent") "viper-auto-indent" "t" ("ai-g" "autoindent-global") kill-local-variable viper-auto-indent "setq-default" ("noai" "noautoindent") "nil" ("noai-g" "noautoindent-global") ("ic" "ignorecase") "viper-case-fold-search" ("noic" "noignorecase") ("ma" "magic") "viper-re-search" ("noma" "nomagic") ("ro" "readonly") "buffer-read-only" ("noro" "noreadonly") ("sm" "showmatch") "blink-matching-paren" ("nosm" "noshowmatch") ("ws" "wrapscan") "viper-search-wrap-around-t" ("nows" "nowrapscan") 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") (byte-code "\303!@\211\247\204 \304\305\n#\210\303\207" [val val2 var read-from-string error "%s: Invalid value, numberp, %S"] 4) ((error (error "%s: Invalid value, numberp, %S" var val))) ("sw" "shiftwidth") "viper-shift-width" ("ts" "tabstop") "tab-width" ("ts-g" "tabstop-global") tab-width ("wm" "wrapmargin") fill-column "fill-column" "(- (window-width) %s)" ("sh" "shell") ask-if-save set-cmd val var cursor-in-echo-area viper-custom-file-name "explicit-shell-file-name" "\"%s\"" "\n(%s %s %s) %s" "^\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) " "%s %s %s" string-match "^[ 	]*$" "%S" eval read-from-string auto-fill-mode 1 -1 ex-show-vars] 11])
(defalias 'ex-get-inline-cmd-args #[(regex-forw &optional chars-back replace-str) "\212\306!\211q\210eb\210\307\n\310\311#\210`\310db\210\203# \310x\210\202' \312\310x\210`\fb\210\203F \307\313\310\311#\203F \314\310\311#\210\315 \210\2021 b\210\f{+\207" [viper-ex-work-buf-name viper-ex-work-buf regex-forw end beg chars-back get-buffer-create re-search-forward nil t " 	\n" " +" replace-match viper-forward-char-carefully replace-str] 5])
(defalias 'ex-shell #[nil "\300 \207" [shell] 1])
(defalias 'ex-help #[nil "\300\301\302\217\207" [nil (byte-code "\301\302\303!!\210\304\203 \305\202 \306!\210\307\310!\207" [viper-xemacs-p pop-to-buffer get-buffer-create "*info*" info "viper.info" "viper" message "Type `i' to search for a specific topic"] 3) ((error (byte-code "\301\302!\210\303\220\304\305\306\203 \307\202 \310\"!\221\207" [viper-xemacs-p beep 1 " *viper-info*" princ format "\nThe Info file for Viper does not seem to be installed.\n\nThis file is part of the standard distribution of %sEmacs.\nPlease contact your system administrator. " "X" ""] 5)))] 3])
(defalias 'ex-source #[nil "\302 \210\303\230\203 \304	!\207\304!\207" [ex-file viper-custom-file-name viper-get-ex-file "" load] 2])
(defalias 'ex-substitute #[(&optional repeat r-flag) "\306\211\211\306\211\211!\"#\203 \306$\202 \307 $\204C %\203- &\202/ '\211;\2049 \310\311!\210(\312\n!\202p $\313\230\203O &\202Q $\211&\n'\307 $\204i \313$\313(\202p $$(\314!\203\211 $\315\230\203\203 \316\"\202p \316!\202p \317 \210)\203\262 \212*\203\234 *@b\210\320`!\210)Sy\210`\321\316!\306BB*)\202\317 *\204\301 ``\306BB*\202\317 *A\204\317 *@*B**@*A@\306+,-\212\322-,\"\210\212`\321\316!]b\210\323 ).`\321\316!^b\210`.W\203\217\212\306\210\324 \210\323 +)\325 \210\"\203Rl\204I\326\n+\316#\203I!\2033\327\330\224\330\225\"\210\331\332!\203\333 \210`	;\204A\310\334!\210\335	\316\"\210\202\306\210\324 \210\202\371 \n\204Z\310\336!\210\326\n+\316#\203\210!\203u\327\330\224\330\225\"\210\331\332!\203\210\333 \210`	;\204\203\310\334!\210\335	\316\"\210+b\210\202\371 -\203\227b\210\325 \210!\205\242\337\340!.\207" [viper-case-fold-search repl pat delim case-fold-search matched-pos 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" opt-c opt-g repeat ex-token r-flag viper-s-string ex-reg-exp ex-repl ex-count ex-addresses eol-mark end beg limit] 8])
(defalias 'ex-tag #[nil "\302\303\213\210\304\230\204 \305 \210\306\307\310\217)\207" [tag ex-tag nil ((byte-code "\303!\211q\210\304\305w\210\306`!\210\307\305w\210\310\311!`{\305\207" [viper-ex-work-buf-name viper-ex-work-buf tag get-buffer-create " 	" nil set-mark "^ |	\n" mark t] 3)) "" viper-change-state-to-emacs conds (byte-code "\302\230\203 \303	\304\"\210\202 \305	!\210\306 \207" [tag ex-tag "" find-tag t find-tag-other-window viper-change-state-to-vi] 3) ((error (byte-code "\301 \210\302!\207" [conds viper-change-state-to-vi viper-message-conditions] 2)))] 3])
(defalias 'ex-write #[(q-flag) "\306\307!\210\310 \210@A@p\311 \312 \313 \314\211\211\211\21101234545V\2036 \3156!\2107\203P \31645\"\210\317`\320\307!89P#\202t8\321\230\203e \311 \204e \322\323\324\312 \"!8e4U\205p d5U8\321\230\203} \311 \202\201 \3258!8\3268!\203\241 	\203\241 \326	!\204\241 \3278!\330	!P8\3318!8\311 \230	\203\326 \f\203\326 \313 \204\300 \332\333!\210\202@\334p!\210\335 \210\214~\210\336\n8ed$\210)\202@\n\203\354 \f\204\354 \337\323\3408\"!\204\354 \315\341!\210\342\216\212\31645\"\210`\320\307!{\343\344!\211q\210:\203\3458!\210\202\3458\346\"\210\347 \210\n\203';\203'\3508!\210db\210c\210\334p!\210\314<\335 \210\336\n8ed$\210*\311 \203L\f\203L\351 \210	\204`\f\203`\352\353!\210\332\354!\210\355\307!\210=\205t>\353W\203q\356 \202t\357p!.\207" [ex-addresses writing-whole-file file-exists region writing-same-file temp-buf viper-default-ex-addresses t viper-get-ex-file buffer-file-name buffer-name buffer-modified-p 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: " expand-file-name file-directory-p file-name-as-directory file-name-nondirectory file-exists-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" ((byte-code "q\210\302\303!\210\304!\210	q\207" [temp-buf orig-buf set-buffer-modified-p nil kill-buffer] 2)) get-buffer-create " *ex-write*" set-visited-file-name noquerry 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 buff-changed-p orig-buf-name orig-buf-file-name orig-buf beg end viper-FirstAddrExceedsSecond ex-cmdfile ex-file ex-cmdfile-args viper-xemacs-p ex-append selective-display q-flag viper-expert-level] 12])
(defalias 'ex-write-info #[(exists file-name beg end) "\304\305\306!	\203 \307\202 \310\311\nTd^\"\nZ%\207" [file-name exists beg end message "`%s'%s %d lines, %d characters" viper-abbreviate-file-name "" " [New file]" count-lines] 8])
(defalias 'ex-yank #[nil "\306 \210\307 \210@A@	\nV\203 \310!\210\212\311	\n\"\210\312 \210\f\204( \203, \310\313!\210\203= \314`!\210Sy\210\202A \314\n!\210\311`\315\316!\"\210\203S \310\317\"\210\203\245 \320\321\"\203\212 \227`\315\316!\322\323!;\203~ \323!\202 \324\n{P\"\210+\202\245 \320!\203\236 \325`\315\316!\326$\210\202\245 \310\"\210\327`\315\316!\"+\207" [ex-addresses beg end viper-FirstAddrExceedsSecond ex-g-flag ex-g-variant 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) set-register get-register "" copy-to-register nil copy-region-as-kill ex-count ex-flag viper-SpuriousText ex-buffer start reg viper-InvalidRegister] 5])
(defalias 'ex-command #[nil "\305\306\213\210\307p\"\211G\310V\203, \310\311O\312\230\203, 	\203( 	\311\305OP\202, \313\314!\210\n\2048 \315!\202a \n@\nA@\204E \f\212b\210\316\f!\210\317`\320\321!\"\210\322`\320\321!\321$\210)b*)\207" [command viper-ex-last-shell-com ex-addresses beg end nil ((byte-code "\303!\211q\210\304\305w\210`d{\305\207" [viper-ex-work-buf-name viper-ex-work-buf command get-buffer-create " 	" nil] 3)) ex-expand-filsyms 0 1 "!" error "No previous shell command" shell-command set-mark viper-enlarge-region mark t shell-command-on-region] 6])
#@186 Reads args from the command line, then runs 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 #[nil "\303\304\213\210\211GS\303O\305\230\203 \306GSO\307\230\203+ \310\301!\203' 	\202/ \n\202/ \n\311Q\312!)\207" [args compile-command ex-compile-command nil ((byte-code "\303!\211q\210`d{\304\207" [viper-ex-work-buf-name viper-ex-work-buf args get-buffer-create nil] 3)) "\n" 0 "" boundp " " compile] 3 (#$ . 44095)])
(defalias 'ex-line-no #[nil "\301\302\303e\204\f d\202 @\"T\"\207" [ex-addresses message "%d" count-lines] 5])
(defalias 'viper-info-on-file #[nil "\305\306!\305\307!\310\211\211\311e\305\307!\"\312 \203# \313\312 !\314P\202' \315 \316P\317\320\fU\2035 \nT\2026 \n\311ed\"`dSiT\321 \203H \322\202I \323&\211G	G\\\324\\\325\326 !W\203d \327	\330Q!\202f \331\213-\207" [info file lines pos2 pos1 viper-line-pos start end nil count-lines buffer-file-name viper-abbreviate-file-name ":" buffer-name " [Not visiting any file]:" format "line=%d/%d pos=%d/%d col=%d %s" buffer-modified-p "[Modified]" "[Unchanged]" 1 window-width minibuffer-window message " " ((byte-code "\303\220\304\305\306	\307\260!\221\210\310\311\312 !\210)\313\303!\207" [file info inhibit-quit " *viper-info*" princ "\n" "\n\n	" "\n\n" t viper-set-unread-command-events viper-read-event kill-buffer] 7))] 9 nil nil])
(defalias 'ex-show-vars #[nil "\306\220\307\203 \310\202\f \311!\210\307\312\300!\203 \313\202 \314!\210\307	\203% \315\202& \316!\210\307\n\2031 \317\2022 \320!\210\307\203= \321\202> \322!\210\307\f\203I \323\202J \324!\210\307\203U \325\202V \326!\210\307\327\330$\"!\210\307\327\331\"!\210\307\327\332\312\333!\"!\210\307\327\334\335 Z\"!\210\307\327\336\335 \312\337!Z\"!\210\307\327\340\341\342!\203\226 \"\202\227 \343\"!\221\207" [viper-auto-indent viper-case-fold-search viper-re-search buffer-read-only blink-matching-paren viper-search-wrap-around-t " *viper-info*" princ "autoindent (local)\n" "noautoindent (local)\n" default-value "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 viper-shift-width] 7])
