%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303!\210\302\304!\210\305\301\306\307\310\311\312\313&\207" [provide viper-ex require viper-keym viper-util custom-declare-group 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)) (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]) (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)))) (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) "\301A@!\207" [cmd eval] 2]) (defalias 'ex-splice-args-in-1-letr-cmd #[(key list) "\303\304\305\306O \"!\211\205% \307\nA@\306GW\205 \306\310OC\"\nAA@E)\207" [key list oneletter ex-cmd-is-one-letter assoc 0 1 append nil] 7]) (defalias 'ex-cmd-assoc #[(key list) "\304 \"\305\211\306=\203 \307 \"\2025 ;\203' \310 \"\2065 \307 \"\2025 \305=\2034 \310 \"\2025 \305\211A@;\203D \311\nA@ \"\n*\207" [key list result entry try-completion nil t assoc ex-splice-args-in-1-letr-cmd ex-cmd-assoc] 4]) (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\304\305\306\307&\210\300\310\311\312\304\313\306\307&\210\300\314\315\316\304\317\306\307&\210\300\320\321\322\304\323\306\307&\207" [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))) "Is the user using a unix-type shell under a non-OS?" :type boolean :group viper-ex 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")))) "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 "make" "The command to run when the user types :make." string viper-glob-function (cond (ex-unix-type-shell 'viper-glob-unix-files) (viper-ms-style-os-p 'viper-glob-mswindows-files) (t 'viper-glob-unix-files)) "Expand the file spec containing wildcard symbols.\nThe default tries to set this variable to work with Unix, Windows,\nand OS/2.\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] 8) (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\304\305\306\307&\210\300\310\311\312\304\305\306\307&\207" [custom-declare-variable ex-cycle-other-window t "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 :group viper-ex ex-cycle-through-non-files nil "Cycle through *scratch* and other buffers that don't visit any file."] 8) (defvar viper-ex-last-shell-com nil) (defvar viper-incomplete-ex-cmd nil) (defvar viper-last-ex-prompt "") (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 "\306 \307\216\310 !\211q\210\311\312w\210\313\314\315!\203# \316\317g!\320u\202\376\314\321!\203. \322 \202\376\314\323!\203= \320u\210\324\211\202\376\314\325!\203m \326`!\210\327\330!\210\f\331=\203U \332\202` \f\333=\203_ \334\202` \335\336`\337\313!{!\211\202\376\314\340!\203| \320u\210\341\211\202\376\314\342!\203\213 \320u\210\343\211\202\376\314\344!\203\302 \314\345!\204\235 \314\346!\203\254 \320u\210\347c\210\350u\210\331\211\202\376\314\351!\203\273 \320u\210\331\211\202\376\352@!\202\376\314\353!\203\371 \314\354!\204\324 \314\355!\203\343 \320u\210\347c\210\350u\210\333\211\202\376\314\356!\203\362 \320u\210\333\211\202\376\352@!\202\376\314\357!\203>\320u\210\326`!\210\313Al\204%A\203%\327\360!\210\361\362\363\364!\"\204 \312A\202 )\350u\210`\337\313!{\314\357!\2038\320u\210\365\211\202\376\314\366!\203\204\320u\210\326`!\210\313Al\204vA\203v\327\367!\210\361\370\363\364!\"\204g\312A\350u\210\314\371!\204N\320u\210\202N)\372`S\337\313!{\211\202\376\314\373!\203\223\320u\210\374\211\202\376\314\375!\203\242\320u\210\376\211\202\376\314\377!\203\263\316\317g!\320u\202\376\314\201C !\203\350\201D \320u\210\314\201C !\203\317\312\202\343\314\321!\203\332g\202\343\352\201E \201F \"\210\320u\202\376\314\371!\203\372\201G \201H \211\202\376\352B!+\207" [#1=#:wconfig viper-ex-work-buf-name viper-ex-work-buf case-fold-search ex-token-type ex-token current-window-configuration #[nil "\301!\207" [#1# set-window-configuration] 2] 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-number mark "\\$" end "%" whole "+" "+[-+]" "+[\n|]" "1" -1 "+[0-9]" error "-" "-[-+]" "-[\n|]" "-[0-9]" "/" "[^/]*\\(/\\|\n\\)" looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/" line-beginning-position 0 search-forward "\\?" "[^\\?]*\\(\\?\\|\n\\)" "[^\\\\]\\(\\\\\\\\\\)*\\\\\\?" "\n" search-backward "," comma ";" semi-colon "[!=><&~]" viper-BadAddress cont viper-BadExCommand "'" goto-mark "%s" "Marks are ' and a-z" end-mark "goto"] 5]) (defalias 'ex-cmd-read-exit #[nil "\306\307\310\311\312 \313\216\314 !\211q\210db\210*\315!\203$ \316 \202<