;ELC ;;; compiled by jwz@thalidomide on Sat May 21 16:04:31 1994 ;;; from file /th/jwz/emacs19/lisp/emulators/evi.el ;;; emacs version 19.10 Lucid (beta25). ;;; bytecomp version 2.24; 26-Apr-94. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (byte-code "!!M!!   \"Ϊ \"Ъ \")  =MMM =MMMM =MMM!!!\"ȇ" [boundp evi-version "Evi 1.0o of 4-27-94" evi-copyright "Copyright (c) 1992, 1993, 1994 Jeffrey R. Lewis" evi-defbuffervar (macro . #[(name default-value documentation) "\n F\nDD\nDEF" [progn defvar name nil documentation make-variable-buffer-local quote set-default default-value] 6]) evi-inhibit-startup-message nil evi-emacs-version emacs-version version string-match "Emacs 18\\|Epoch 4" emacs18 "Emacs 19.[0-9]*.[0-9]* Lucid" lucid19 "Emacs 19" emacs19 evi-fill-keymap #[(keymap def) " \n\"" [fillarray keymap def] 3] evi-keymap-bindings #[(map) " \"" [evi-keymap-bindings2 map ""] 3] evi-keymap-bindings2 #[(map prefix) " ! GÉW H !P! \"  B BTK - A  @ @!PA!A \"  AB B* A O *" [arrayp map 0 nil mappings keys binding len i prefix char-to-string keymapp evi-keymap-bindings2 bindings] 6] #[(keymap def) " A@\n\"" [fillarray keymap def] 3] #[(map) " \"" [evi-keymap-bindings2 map ""] 3] #[(map prefix) "A @! @\"\n @@@!@!Q  P A!A \"\n AB\nB+ A+\n*" [map nil mappings bindings vectorp evi-vector-keymap-bindings prefix binding char-to-string "<" prin1-to-string ">" key keys keymapp evi-keymap-bindings2] 4] evi-vector-keymap-bindings #[(map prefix) " G‰W H!P ! \"  B BTO -" [0 map nil mappings keys binding len i prefix char-to-string keymapp evi-keymap-bindings2] 6] #[(keymap def) " SX \"#l )" [128 i 0 define-key keymap make-string 1 def] 5] #[(map) " \" )" [nil mappings evi-keymap-bindings2 map ""] 3] #[(map prefix) "\n\"" [map-keymap #[(key def) "\n!P ! \" BB)" [prefix single-key-description key keys keymapp def evi-keymap-bindings2 mappings] 3] map] 3] evi-initialized evi-interactive t] 3) (defvar evi-mode-hook nil "\ *Function or functions called upon entry to evi.") (defvar evi-enabled nil "\ If t, currently emulating vi in this buffer.") (byte-code "!\"" [make-variable-buffer-local evi-enabled set-default nil] 3) (defvar evi-debug nil "\ If t, errors generated by emacs are not handled.") (defvar evi-suppress-ex-startup nil "\ If t, don't source .exrc or EXINIT at startup.") (defvar evi-report-unsupported-options nil "\ If t, give an error if a :set option is used that isn't supported. Otherwise, these are silently ignored.") (defvar evi-mode nil "\ Current vi mode, one of vi, insert or replace.") (byte-code "!\"" [make-variable-buffer-local evi-mode set-default vi] 3) (defvar evi-mode-string nil "\ String describing current evi mode. This is displayed in the mode line.") (byte-code "!\"" [make-variable-buffer-local evi-mode-string set-default nil] 3) (defvar evi-quit-function 'ex-quit-internal "\ Function to invoke when user `quits' evi. Default is to kill emacs.") (byte-code "!!!!!!‡" [boundp evi-timed-out nil evi-unread-command-char evi-macro-stack evi-current-macro evi-current-macro-index evi-command-keys-length 256] 2) (defvar evi-command-keys (make-string evi-command-keys-length 0) "\ The keystrokes for the current command.") (defvar evi-last-command-keys nil "\ Command keys for the last complete vi command.") (byte-code "!!!!ć" [boundp evi-command-keys-index 0 evi-prompt nil evi-replaced-string evi-replaced-string-index] 2) (defvar evi-minibuf-contents nil "\ Contents of last minibuf read.") (defvar evi-in-minibuf nil "\ If t, we are currently editing in the minibuffer") (byte-code "!\"" [make-variable-buffer-local evi-in-minibuf set-default nil] 3) (defvar evi-enable-emacs-commands nil "\ If t, emacs commands will be visible") (defvar evi-meta-prefix-char nil "\ Meta-prefix-char to use while in Evi buffers.") (defvar evi-emacs-meta-prefix-char nil "\ Meta-prefix-char that emacs uses.") (defvar evi-parameterized-macro nil "\ If t, currently executing a parameteized macro.") (defvar ex-input-escapes nil "\ If t, backslash escapes in ex commands will be processed.") (defvar evi-read-only-buffers nil "\ If t, read-only files will have read-only buffers") (defvar evi-last-point nil "\ Used to calculate line number updates.") (defvar evi-mark nil "\ Used to define regions for operator commands.") (defvar evi-prev-file nil "\ Filename of previous file edited.") (byte-code "!!!‡" [boundp evi-directory-stack nil evi-process-buffer evi-abbrev-list] 2) (defvar evi-emacs-local-map nil "\ Emacs' local map. (buffer specific)") (byte-code "!\"" [make-variable-buffer-local evi-emacs-local-map set-default nil] 3) (defvar evi-emacs-local-suppress-key-list '(8 9 27 127) "\ Keys from emacs local map that are to be suppressed.") (defvar evi-prompted nil "\ If t, the current command was prompted for.") (defvar evi-replace-max nil "\ Maximum excursion of a replace, after which it switches to insert.") (byte-code "!\"" [make-variable-buffer-local evi-replace-max set-default nil] 3) (defvar evi-overstruck-char nil "\ Value of the character overstruck by the `$' marking a partial line change.") (byte-code "!\"" [make-variable-buffer-local evi-overstruck-char set-default nil] 3) (defvar evi-context nil "\ Current motion context. One of to-end, to-next, whole-line, or nil. The value of this variable is passed to evi-motion-command, and is set by prefix operators like 'd' or '>' to control the type of region defined by the following motion command.") (byte-code "!\"" [make-variable-buffer-local evi-context set-default nil] 3) (defvar evi-prefix-count nil "\ Current prefix count.") (defvar evi-last-prefix-count nil "\ Last prefix count.") (defvar evi-prefix-count-multiplier nil "\ Current prefix count multiplier.") (defvar evi-register-spec nil "\ Current register to use for deletes, yanks, puts, etc.") (defvar evi-last-register-spec nil "\ Last register used for deletes, yanks, puts, etc.") (defvar evi-digit-register 8 "\ Current delete-ring register cursor. Points to the register that will be register 1.") (defvar evi-repeat-count 0 "\ The number of times the current command has been repeated via `.'.") (defvar evi-hidden-repeat-count 0 "\ The hidden copy of evi-repeat-count, which isn't visible unless actually repeating a command.") (defvar evi-last-macro-register nil "\ Last register used to invoke a macro via \\[evi-register-macro].") (defvar evi-registers (make-vector 72 nil) "\ Vi registers. 0-8 are the delete ring, 9 is the unnamed text register, 10-35 are the alphabetic text registers, and 36-71 are the mark registers. Each text register is a cons cell with the car being the text in the register and the cdr being a flag indicating whether or not the text is whole lines.") (defvar evi-register-unnamed 9 "\ Symbolic name for the unnamed register. Shouldn't change.") (defvar evi-region-shape 'chars "\ Specifies the shape of the region for the current operation - one of chars, lines, or rectangle. The value of this variable is stored in the cdr of any register that gets stored as a result of the current command.") (defvar evi-current-indentation nil "\ The indentation of the most recently auto-indented line. Used by evi-newline to determine when to kill auto-indented whitespace. (buffer specific)") (byte-code "!\"" [make-variable-buffer-local evi-current-indentation set-default 0] 3) (defvar evi-goal-column nil "\ The column that vertical cursor motion will try to preserve, if possible.") (byte-code "!\"" [make-variable-buffer-local evi-goal-column set-default 0] 3) (defvar evi-reset-goal-column nil "\ If t, a horizontal motion has been performed, thus goal column must be reset.") (byte-code "!\"" [make-variable-buffer-local evi-reset-goal-column set-default t] 3) (defvar evi-search-pattern nil "\ The last pattern specified for searching.") (defvar evi-search-forward t "\ If t, the last search command was a forward search.") (defvar evi-find-character nil "\ The last character specified for finding.") (defvar evi-find-forward t "\ If t, the last find command was a forward search.") (defvar evi-find-up-to nil "\ If t, the last find command was a find up to command.") (defvar ex-previous-re nil "\ Last regular expression searched for in :subst command.") (defvar ex-previous-replacement nil "\ Last replacement used in :subst command.") (defvar evi-context-ring nil "\ The last 10 contexts for this buffer. A context is a location in the buffer where only relative motions were performed. A new context is thus saved each time a non-relative motion is performed.") (byte-code "!\"\"" [make-variable-buffer-local evi-context-ring set-default make-vector 10 nil] 5) (defvar evi-context-ring-cursor nil "\ The cursor pointing to the last context in the context ring.") (byte-code "!\"" [make-variable-buffer-local evi-context-ring-cursor set-default 0] 3) (defvar evi-last-shell-command nil "\ The last shell command run.") (defvar ex-work-space (get-buffer-create " *ex-work-space*") "\ Evi work space for parsing ex commands.") (defvar ex-tag nil "\ Last tag specified.") (byte-code "M#Ç" [evi-make-keymap #[(name small &optional fill) " ! \" \" )" [small make-sparse-keymap make-keymap map fboundp set-keymap-name name fill evi-fill-keymap] 3] evi-top-level-map nil evi-top-level] 4) (defconst evi-vi-map (evi-make-keymap 'evi-vi-map nil) "\ The keymap used in vi mode.") (defconst evi-param-map (evi-make-keymap 'evi-param-map t) "\ The keymap used for parameterized macros.") (defconst evi-motion-map (evi-make-keymap 'evi-motion-map nil) "\ The keymap used for operand motions.") (defconst evi-map-map (evi-make-keymap 'evi-map-map t) "\ The keymap used for map macros.") (defconst evi-input-map (evi-make-keymap 'evi-input-map nil 'evi-self-insert) "\ The keymap used in input modes.") (defconst evi-replace-map (evi-make-keymap 'evi-replace-map nil 'evi-self-replace) "\ The keymap used in replace mode.") (defconst evi-insert-map (evi-make-keymap 'evi-insert-map t) "\ The insert mode specific input map.") (defconst evi-read-string-map (evi-make-keymap 'evi-read-string-map t) "\ The evi-read-string specific command map.") (defconst evi-read-string-input-map (evi-make-keymap 'evi-read-string-input-map t) "\ The evi-read-string specific input map.") (defconst evi-ex-map (evi-make-keymap 'evi-ex-map t) "\ The keymap used when reading ex commands from the minibuffer") (defconst evi-ex-input-map (evi-make-keymap 'evi-ex-input-map t) "\ The keymap used when reading ex commands from the minibuffer (insert-mode)") (defconst evi-input-map-map (evi-make-keymap 'evi-input-map-map t) "\ The keymap used for input map macros.") (defconst evi-shell-map (evi-make-keymap 'evi-shell-map t) "\ The local keymap used in command mode in a shell buffer.") (defvar evi-buffer-local-vi-map nil "\ The keymap for buffer specific additions to the vi command map") (byte-code "!\"\"\"!\"!\"!\" !\"\n =BBBBBB =BBBBBBBB BBԇ" [make-variable-buffer-local evi-buffer-local-vi-map set-default evi-make-keymap t evi-minibuf-input-map boundp evi-Z-map evi-lbrack-map evi-lbrack-m-map evi-rbrack-map evi-emacs-version emacs19 param evi-param-map map evi-map-map evi-vi-map cond-emacs local nil global evi-vi-keymap-list lucid19] 8) (defvar evi-keymap-list nil "\ Keymap list") (byte-code "!\"" [make-variable-buffer-local evi-keymap-list set-default nil] 3) (defconst evi-all-keymaps '(vi insert replace ex) "\ All Evi keymaps.") (defvar evi-register-parameter nil "\ Register specification to the current parameterized macro.") (byte-code "!\"" [make-variable-buffer-local evi-register-parameter set-default nil] 3) (defvar evi-prefix-count-parameter nil "\ Prefix count to the current parameterized macro.") (byte-code "!\"" [make-variable-buffer-local evi-prefix-count-parameter set-default nil] 3) (defvar evi-insert-point nil "\ The point at which the current insert command began.") (byte-code "!\"Ç" [make-variable-buffer-local evi-insert-point set-default nil ((("autoindent" "ai") bool . evi-auto-indent) (("autoprint" "ap") bool) (("autowrite" "aw") bool) (("backslash-escapes" "be") bool . ex-input-escapes) (("beautify") bool) (("command-line-editing" "cle") bool . evi-command-line-editing) (("directory" "dir") string) (("edcompatible" "ed") bool) (("enable-emacs-commands" "ee") bool . evi-enable-emacs-commands) (("errorbells" "eb") bool . evi-error-bell) (("exrc") bool . evi-local-exrc) (("flash") bool) (("global-directory" "gd") bool . evi-global-directory) (("hardtabs" "ht") number) (("ignorecase" "ic") bool . evi-ignore-case) (("inhibit-startup-message" "ism") bool . evi-inhibit-startup-message) (("ishell" "ish") string . explicit-shell-file-name) (("lisp") bool) (("list") bool) (("magic") bool . evi-search-magic) (("mesg") bool) (("meta-prefix" "mp") char . evi-meta-prefix-char) (("modeline") bool) (("mode-specific-insert-bindings" "msb") bool . evi-insert-mode-local-bindings) (("modified-paragraph") bool . evi-modified-paragraph) (("novice") bool) (("number" "nu") bool . evi-number) (("optimize" "opt") bool) (("paragraphs" "para") string) (("parens") string . evi-parens) (("prompt") bool) (("readonly" "ro") bool . evi-buffer-read-only) (("readonly-buffers") bool . evi-read-only-buffers) (("redraw") bool) (("remap") bool . evi-remap) (("report") number) (("ruler") bool) (("scroll") number . evi-scroll-count) (("sections" "sect") string) (("shell" "sh") string . shell-file-name) (("shiftwidth" "sw") number . evi-shift-width) (("showmatch" "sm") bool . evi-show-match) (("showmode") bool . evi-show-mode) (("sidescroll") number) (("slowopen" "slow") bool) (("sourceany") bool) (("tabstop" "ts") number . evi-tab-width) (("tags") string) (("taglength" "tl") number) (("term") string) (("terse") bool) (("timeout") bool . evi-timeout) (("timeoutlen") number . evi-timeout-length) (("ttytype" "tty") string) (("warn") bool) (("word") string . evi-word) (("Word") string . evi-Word) (("wrapmargin" "wm") number . evi-wrap-margin) (("wrapscan" "ws") bool . evi-search-wraparound) (("writeany" "wa") bool)) evi-option-list] 3) (defvar evi-set-options nil "\ List of options that have been set.") (defconst evi-auto-indent nil "\ *If t, automatically indents text inserted on a new line.") (defconst evi-command-line-editing nil "\ *If t, command-line editing is enabled.") (fset 'evi-command-line-editing #[(enable) " ?#" [evi-define-key (read-string read-string-input ex ex-input) "" enable evi-exit-minibuf] 4]) (defconst evi-error-bell nil "\ *If t, ring bell on error.") (defconst evi-local-exrc nil "\ *If t, source local .exrc file at startup.") (defconst evi-global-directory t "\ *If t, a global current directory is used (this is the default).") (defconst evi-ignore-case nil "\ *If t, ignore case in searches.") (defconst evi-search-magic t "\ *If t, search patterns are normal regular expressions. This is the default. Otherwise, the `magic' characters `.' `[' and `*' are treated as literals and must be escaped to get their regular expression interpretation.") (defconst evi-insert-mode-local-bindings nil "\ *If t, emacs buffer-local key bindings will be enabled in insert mode.") (defconst evi-modified-paragraph nil "\ *If t, a modified paragraph motion will be used that is similar to sentence motion.") (defconst evi-number nil "\ *If t, tracks line and column number in status line (NOT).") (defconst evi-parens "()[]{}" "\ *The set of parentheses that `%' will match.") (defvar evi-buffer-read-only nil "\ *If t, the current buffer is read-only") (byte-code "!\"" [make-variable-buffer-local evi-buffer-read-only set-default nil] 3) (defconst evi-remap t "\ *If t, nested map macros are expanded") (defconst evi-scroll-count nil "\ *The number of lines to scroll.") (defconst evi-shift-width 8 "\ *The number of colums shifted by > and < command, and ^T and ^D in insert mode.") (defconst evi-show-match nil "\ *If t, show matching parentheses.") (fset 'evi-show-match #[(val) "" [val blink-matching-paren] 2]) (defconst evi-show-mode t "\ *If t, show current vi mode.") (defconst evi-tab-width 8 "\ *Distance between tab stops") (fset 'evi-tab-width #[(width) "" [width tab-width] 2]) (defconst evi-timeout t "\ *If t, keys in multi-character maps must be typed within one second of each other, otherwise the partial command aborted.") (defconst evi-timeout-length 500 "\ *Not implemented.") (defconst evi-word "[a-zA-Z0-9_]+\\|[^a-zA-Z0-9_ \n]+\\|^[ ]*\n" "\ *Regular expression to describe words for w, b and e commands.") (defconst evi-Word "[^ \n]+\\|^[ ]*\n" "\ *Regular expression to describe words for W, B and E commands.") (defconst evi-wrap-margin 0 "\ *If non-zero, the amount of right margin past which wraparound occurs.") (fset 'evi-wrap-margin #[(margin) "=\nUĉ \nZȉ\nUĉ \nZȉ " [evi-emacs-version emacs18 margin 0 nil auto-fill-hook window-width fill-column do-auto-fill auto-fill-function] 2]) (defconst evi-search-wraparound t "\ *If t, search wraps around the end of the file.") (defvar ex-commands '((("edit" . 1) (0 (nil . "!") (t . offset) (t . file)) . ex-edit) (("buffer" . 1) (0 (nil . "!") (t . buffer)) . ex-change-buffer) (("read" . 1) (1 (t if "!" shell-command) (t . file)) . ex-read) (("write" . 1) (2 (nil . "!") (t if "!" shell-command) (t . ">>") (t . file)) . ex-write) (("kill" . 1) (0 (nil . "!") (t . buffer)) . ex-kill-buffer) (("next" . 1) (0 (nil . "!") (t . files)) . ex-next) (("Edit" . 1) (0 (nil . "!") (nil . offset) (t . file)) . ex-edit-other-window) (("Buffer" . 1) (0 (nil . "!") (t . buffer)) . ex-change-buffer-other-window) (("Kill" . 1) (0 (nil . "!") (t . buffer)) . ex-kill-buffer-delete-windows) (("Write" . 1) (0 (nil . "!")) . ex-write-all-buffers) (("Next" . 1) (0 (nil . "!") (t . files)) . ex-next-other-window) (("split" . 2) (0 (t . file)) . ex-split) (("set" . 2) (0 (nil . settings)) . ex-set) (("substitute" . 1) (2 (t . regular-expression) (backup . regular-expression2) (nil . "g") (nil . "c")) . ex-substitute) (("global" . 1) (2 (nil . "!") (t . regular-expression) (t . command)) . ex-global) (("vglobal" . 1) (2 (t . regular-expression) (t . command)) . ex-vglobal) (("map" . 3) (0 (nil . "!") (t . map) (t . words)) . ex-map) (("gdb" . 2) (0 (t . file)) . ex-gdb) (("wk" . 2) (0) . ex-write-kill) (("wq" . 2) (0 (nil . "!")) . ex-write-quit) (("Wq" . 2) (0 (nil . "!")) . ex-write-all-and-quit) (("visual" . 2) (0 (nil . "!") (t . offset) (t . file)) . ex-edit) (("Visual" . 2) (0 (nil . "!") (nil . offset) (t . file)) . ex-edit-other-window) (("abbreviate" . 2) (0 (t . abbrev) (t . words)) . ex-abbrev) (("append" . 1) (1) . ex-not-implemented) (("args" . 2) (0) . ex-not-implemented) (("bind" . 2) (0 (nil . "!") (t . word) (t . rest-of-line)) . ex-elisp-bind) (("bug" . 3) (0 (t . words)) . ex-report-bug) (("cd" . 2) (0 (t . file)) . ex-change-directory) (("change" . 1) (2) . ex-not-implemented) (("chdir" . 3) (0 (t . file)) . ex-change-directory) (("copy" . 2) (2 (t . address)) . ex-copy) (("delete" . 1) (2 (t . register)) . ex-delete) (("dirs" . 2) (0) . ex-directory-stack) (("elisp" . 2) (0 (t . rest-of-line)) . ex-elisp-execute) (("evilist" . 4) (0 (t . words)) . ex-mail-list) (("file" . 1) (0 (t . file)) . ex-file) (("insert" . 1) (1) . ex-not-implemented) (("join" . 1) (2) . ex-not-implemented) (("killprocess" . 5) (0 (t . process)) . delete-process) (("list" . 1) (2) . ex-not-implemented) (("mail" . 3) (0 (t . words)) . ex-mail) (("mark" . 2) (1 (t . mark)) . ex-mark) (("move" . 1) (2 (t . address)) . ex-move) (("number" . 2) (2) . ex-not-implemented) (("popd" . 2) (0) . ex-pop-directory) (("preserve" . 3) (0) . ex-preserve) (("previous" . 4) (0) . ex-not-implemented) (("print" . 1) (2) . ex-print) (("pushd" . 4) (0 (t . file)) . ex-push-directory) (("put" . 2) (1 (t . register)) . ex-put) (("quit" . 1) (0 (nil . "!")) . ex-quit) (("recover" . 3) (0 (nil . "!") (t . file)) . ex-recover) (("initialize" . 3) (0) . ex-initialize) (("rewind" . 3) (0) . ex-not-implemented) (("send" . 3) (0 (nil . "!")) . ex-send-mail) (("shell" . 2) (0) . ex-shell) (("source" . 2) (0 (t . file)) . ex-source-file) (("tag" . 1) (0 (t . word)) . ex-tag) (("unabbreviate" . 3) (0 (t . abbrev)) . ex-unabbrev) (("undo" . 1) (0) . ex-not-implemented) (("unmap" . 3) (0 (nil . "!") (t . word)) . ex-unmap) (("version" . 2) (0) . ex-evi-version) (("xit" . 1) (0 (nil . "!")) . ex-write-all-and-quit) (("yank" . 1) (2 (t . register)) . ex-yank) (("!" . 1) (2 (nil . "&") (t . shell-command)) . ex-shell-command) (("<" . 1) (2) . ex-shift-left) (("=" . 1) (2) . ex-not-implemented) ((">" . 1) (2) . ex-shift-right) (("&" . 1) (2) . ex-substitute-again) (("@" . 1) (2) . ex-not-implemented) (("" . 0) (2) . ex-null)) "\ Ex commands table The car of an item in the list is a pair of the full name of a command with the length of the shortest prefix that's unambiguous. The cdr of an item is a pair of a description of arguments with the name of the lisp function to invoke for this command. The description of argument is a pair of the number of addresses this command accepts and a list describing its subsequent arguments and how to parse them. Each element of the list of subsequent argument descriptions is a pair. The car of this pair is `t' if the parser should eat whitespace before the arg, and `nil' if it shouldn't. The cdr describes the argument itself. The possible values are as follows (symbols are indicated by prefixing with \"'\", asterisked items are completable): a string literally match that string 'address an ex line address 'register a register name * 'file a file name (`%', `#' and wildcards are expanded) * 'files several file names (similarly expanded) * 'buffer a buffer name (can include spaces) 'rest-of-line the rest of the line (can include `|') * 'process a process name (can include spaces and `|') 'word a space-delimited word 'words several words * 'map a :map macro name * 'abbrev an :abbrev macro name 'regular-expression a regular expression 'regular-expression2 same but `&' is special 'command an ex command * 'settings :set settings (`wm=8', etc) * 'shell-command a shell command (`%', `#' are expanded) 'offset a line offset (`+5') 'mark a mark In summary (postfix `*' means `list-of'): ((full-name . prefix-len) . ((num-of-addrs . (eat-whitespace? . arg-descr)*) . lisp-function))") (byte-code "MMMMMMMMMMMMMMM############ց@AB#ցCD#ցEFG#ցHIJ#ցKLM#ցNOP#ցQRS#ցTUV#ցWXY#ցZ[\\#ց]^#ց_`a#ցbcd#ցefg#ցhij#ցklm#ցnop#ցqrs#ցtu#ցvwx#ցyz{#ց|}~#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#؁#ց#؁#؁#ց#ց#ց#ց#؁#ց#ց#ց#ց#ց#ց#ց#ց#ց#؁#ց#!ց#ց#ց#؁#؁#ցB#ց#ցB#ցB#ց[#ցi#ցl#ց \n#ց   #ց#ց#ց#ցB#ց#ց#ց #ց!\"##ց$%&#ց' (#ց)*+#ց,-.#ց/01#ց234#ց56#ց78#ց9:;#ց<=#ց>?B#ց@AV#ցBCD#ցEFG#ցHIJ#ցKLM#ցNO#ցPQR#؁STU#ցVWX#ցYZ#ց[\\#ց]^_#؁`ab#ցcde#ցfgh#ցij#ցklm#ցnop#ցqrs#ցtfu#ցv^w#ցx%y#ցzC{#ց|Q}#ց~#ց#ց#ց#ց⁈#ց#ց偍#ց#ց#ց#ց#ցF#ց#ց#ց#ց偠#ց#ցF#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#ց#" [evi-defmotion (macro . #[(&rest args) "@A@88\n!P! @=\n D DD# AD#E @=\n DE DE߯ A@D AAD#E\n D D D#E." [args direction function 2 params 3 documentation 4 body intern "do-" symbol-name do-function &char progn defun nil (interactive) append (evi-motion-command) quote ((evi-adjust-count) evi-context (evi-read-command-char)) (defun) &string (interactive) evi-extend-continuation 'evi-after-string-arg list 'quote 'quote (evi-adjust-count) (list 'quote evi-context) evi-read-string (defun) (interactive) evi-motion-command (evi-adjust-count) evi-context (defun)] 13]) evi-after-string-arg #[(func dir count context) " \n %" [evi-motion-command func dir count context evi-minibuf-contents] 6] evi-iterate (macro . #[(count &rest body) " DCEDDEC#EF" [let count append while > 0 body setq 1- =] 9]) evi-break (macro . #[nil "E" [setq count -1] 3]) evi-enumerate-condition (macro . #[(item list condition &rest body) " D\nCD\nE EED\n\n\"\"F" [let list item append while and progn setq (car list) condition body ((setq list (cdr list))) ((setq list (cdr list)))] 10]) evi-iterate-list (macro . #[(item list &rest body) " D\nCED\nEC#\"E" [let list item (found) append while setq (car list) body ((setq list (cdr list)))] 8]) evi-find (macro . #[(item list pred) " D\nCE\n\nEEEF" [let list item (found) while and progn setq (car list) found pred (not found) (setq list (cdr list))] 11]) evi-set-goal-column (macro . #[nil "" [(if evi-reset-goal-column (setq evi-goal-column (current-column) evi-reset-goal-column nil))] 1]) evi-reset-goal-column (macro . #[nil "" [(setq evi-reset-goal-column t)] 1]) evi-register-text (macro . #[(register) " D" [car register] 2]) evi-register-shape (macro . #[(register) " D" [cdr register] 2]) evi-define-key #[(maps key def) " @\n!Q!J \n# Ag *" [maps nil map list define-key intern "evi-" symbol-name "-map" key def] 6] evi-define-macro #[(maps key macro) " @\n!Q!DFDF! A_ *" [maps nil map list eval define-key intern "evi-" symbol-name "-map" key quote lambda (interactive) evi-internal-macro macro] 11] evi-make-local-keymap #[(keydefs) " ! \"\" )" [make-sparse-keymap keymap fboundp set-keymap-name evi-local mapcar #[(keydef) " @! A@#" [define-key keymap eval keydef] 4] keydefs] 3] evi-unbound #[nil "\n\"" [evi-error "Nothing bound to `%c'" last-command-char] 3 nil nil] (vi) "" evi-scroll-page-backward (vi) "" keyboard-quit (vi) "" evi-scroll-text-forward (vi) "" evi-scroll-cursor-forward (vi) "" evi-scroll-page-forward (vi) "" evi-file-info (vi motion) "" evi-backward-char (vi) " " (vi motion) "\n" evi-next-line (vi) " " evi-redraw (vi motion) " " evi-beginning-of-next-line (vi motion) "" (vi motion) "" evi-previous-line (vi) "" (vi) "" evi-scroll-text-backward (vi) "" evi-scroll-cursor-backward (vi) "" suspend-emacs (vi) "" evi-tag (vi) "" ":e#\n" (vi motion) " " evi-forward-char (vi) "!" evi-shell-filter (vi) "\"" evi-prefix-register (vi) "#" (vi motion) "$" evi-end-of-line (vi motion) "%" evi-paren-match (vi) "&" ":s\n" (vi motion) "'" evi-goto-mark-vertical (vi motion) "(" evi-backward-sentence (vi motion) ")" evi-forward-sentence (vi) "*" evi-send-to-process (vi motion) "+" (vi motion) "," evi-find-next-character-reverse (vi motion) "-" evi-beginning-of-previous-line (vi) "." evi-repeat (vi motion) "/" evi-search-forward (vi motion) "0" evi-digit-or-beginning-of-line (vi motion) "1" evi-prefix-digit (vi motion) "2" (vi motion) "3" (vi motion) "4" (vi motion) "5" (vi motion) "6" (vi motion) "7" (vi motion) "8" (vi motion) "9" (vi) ":" evi-ex-command (vi motion) ";" evi-find-next-character (vi) "<" evi-shift-left (vi) "=" evi-indent (vi) ">" evi-shift-right (vi motion) "?" evi-search-backward (vi) "@" evi-register-macro (vi) "A" "$#a" (vi motion) "B" evi-backward-Word (vi) "C" "&c#$" (vi) "D" "&d#$" (vi motion) "E" evi-end-of-Word (vi motion) "F" evi-find-char-backwards (vi motion) "G" evi-goto-line (vi motion) "H" evi-goto-top-of-window (vi) "I" "^#i" (vi) "J" evi-join-lines (vi) "K" (vi motion) "L" evi-goto-bottom-of-window (vi motion) "M" evi-goto-middle-of-window (vi motion) "N" evi-search-next-reverse (vi) "O" evi-open-before (vi) "P" evi-put (vi) "Q" evi-quit-evi (vi) "R" evi-replace (vi) "S" "&c#c" (vi motion) "T" evi-find-char-backwards-after boundp buffer-undo-list (vi) "U" evi-undo-line (vi) "V" (vi motion) "W" evi-forward-Word (vi) "X" "&d#h" (vi) "Y" "&y#y" (vi) "Z" prefix evi-Z-map (Z) ":Wq!\n" (vi) "[" evi-lbrack-map (motion) evi-lbrack-m-map (lbrack) evi-register-string (lbrack) evi-register-char (lbrack lbrack-m) evi-parameterized-macro (lbrack lbrack-m) evi-backward-section (lbrack) "b" evi-buffer-name (lbrack) "u" evi-undo-more (lbrack) "{" evi-loop-over-lines-in-region (vi) "\\" (vi motion) "]" evi-rbrack-map (rbrack) evi-forward-section (vi motion) "^" evi-goto-indentation (vi) "_" evi-prompt-repeat (vi motion) "`" evi-goto-mark-horizontal (vi) "a" evi-insert-after (vi motion) evi-backward-word (vi) "c" evi-change (vi) "d" evi-delete (vi motion) "e" evi-end-of-word (vi motion) "f" evi-find-character (vi) "g" (vi motion) "h" (vi) "i" evi-insert (vi motion) "j" (vi motion) "k" (vi motion) "l" (vi) "m" evi-set-mark (vi motion) "n" evi-search-next (vi) "o" evi-open-after (vi) "p" evi-put-after (vi) "q" (vi) "r" evi-replace-char (vi) "s" "&c#l" (vi motion) "t" evi-find-character-before (vi) evi-undo (vi) "v" (vi motion) "w" evi-forward-word (vi) "x" "&d#l" (vi) "y" evi-yank (vi) "z" evi-window-control (vi motion) evi-backward-paragraph (vi motion) "|" evi-goto-column (vi motion) "}" evi-forward-paragraph (vi) "~" evi-toggle-case (param) evi-register-parameter (param) evi-prefix-count-parameter (motion) evi-region-arbitrary (motion) evi-region-mouse (motion) evi-region-rectangle (motion) evi-region-rows (motion) evi-region-columns (input) "" evi-quoted-insert (input) "" (input replace) evi-keyboard-quit (input replace) "" evi-resume-continuation (insert) evi-backward-indent (insert) evi-insert-mode-delete-backward-char (insert) evi-newline (insert) (insert) "" evi-forward-indent (insert) evi-insert-mode-kill-line (insert) "" evi-insert-mode-delete-backward-word (insert) "" (insert) "" (replace) evi-replace-mode-backward-indent (replace) evi-replace-mode-delete-backward-char (replace) evi-replace-mode-kill-line (replace) evi-replace-mode-delete-backward-word (replace) (replace) (read-string ex) evi-backward-char-maybe-abort (read-string-input ex-input) evi-delete-backward-char-maybe-abort (read-string read-string-input ex ex-input) evi-exit-minibuf (read-string read-string-input ex ex-input) (read-string read-string-input ex ex-input) (read-string ex) (read-string-input ex-input) (ex-input) ex-complete (shell) evi-shell-send-input] 5) (byte-code "MMMM!\" MMM!!!!MMMMM\"=M\"=MMMMMMMMMMM!;ԇ" [evi-init-special-keys #[nil "=####MMMMMM####=  # # # # # # # #)MMMM6#6#6#6#" [evi-emacs-version emacs19 ex-map nil [left] "h" [right] "l" [up] "k" [down] "j" evi-posn-buffer #[(position) " ! !!\n\n!)" [posn-window position window integer-or-marker-p posn-point window-buffer] 3 "Return the buffer of the window in POSITION."] evi-mouse-drag-text #[(event handler) " !!ʼn !!# #  A@= H==GU \\ !H\\!OP !OP\")!!! i  !P !\"S;#! & '#*#!#! & '#,!:@= \nD\"AC\n!GZ!O!SHO \"lj A $*5 \"," [t inhibit-quit evi-read-command-char char char-to-string vector keys nil keydef evi-timed-out evi-keymap-list keymap list keymapp lookup-key param evi-parameterized-macro map evi-remap evi-current-macro evi-enable-emacs-commands emacs 0 global current-global-map current-local-map evi-meta-prefix-char evi-emacs-version lucid19 1 128 2 evi-emacs-meta-prefix-char evi-timeout evi-sit-for evi-prompted message "" last-command-char last-command-event evi-push-macro #[(lck) "" [lck evi-last-command-keys] 2] evi-last-command-keys commandp quit-flag call-interactively prefix evi-extend-continuation #[(kl) "" [kl evi-keymap-list] 2] quote evi-push-continuation evi-prompt evi-lose-key evi-error-bell beep evi-error "Unknown command `%s'" evi-keys-description] 7] evi-read-command-char #[nil " \n !! )" [evi-read-char char evi-current-macro evi-add-key 35] 2] evi-unread-command-char #[(char) " " [char evi-unread-command-char evi-lose-key] 1] evi-count-arg #[nil "C" [evi-prefix-count] 1] evi-register-args #[nil "@A E" [evi-register-spec evi-prefix-count] 3] evi-character-arg #[nil " D" [evi-read-command-char evi-prefix-count] 2] evi-context-arg #[nil "C" [evi-context] 1] evi-mode-line-format " Evi:%-6s" evi-in-mode-line-p #[(var) "< >" [mode-line-buffer-identification var] 2] evi-install-in-mode-line #[(var) " !\n<\n C\"\n CB" [evi-in-mode-line-p var mode-line-buffer-identification append] 3] evi-deinstall-from-mode-line #[(var) " ! \"" [evi-in-mode-line-p var evi-filter #[(mode-var) " =?" [var mode-var] 2] mode-line-buffer-identification] 3]] 3) (fset 'evi-change-mode-id #[(string) " \n\"" [format evi-mode-line-format string evi-mode-string] 3 "\ Change Evi's mode identification string to STRING."]) (fset 'evi-refresh-mode-line #[nil " !" [set-buffer-modified-p buffer-modified-p] 2 "\ Redraw mode line."]) (byte-code "MMMM" [evi-initialize #[nil "\nC  =\nː ) ː )!BB  " [t evi-initialized default-directory evi-directory-stack meta-prefix-char evi-emacs-meta-prefix-char evi-init-special-keys evi-emacs-version emacs18 evi-startup-show-hook temp-buffer-show-hook "*Startup*" evi-customize temp-buffer-show-function boundp minor-mode-map-alist evi-enabled evi-top-level-map evi-meta-prefix-char evi-welcome-message] 2] evi-startup-show-hook #[(buf) "p qomebc !!\"q)" [curbuf buf "The following problems were found at startup:\n" display-buffer message "Use `z1=' to show only `%s'" buffer-name] 4] evi-customize #[nil "  ê P! P!!!  ΍  =ԪPR!?!-" [user-login-name user-name user-real-login-name "~" home file-readable-p "~/.evirc" load-file "/.evirc" ".evirc" nil evi-interactive source abort (byte-code " P! P!!!  !)!!  !)Ї" [evi-suppress-ex-startup "~/.exrc" source evi-do-ex-command-file home "/.exrc" "~/.exrc.evi" "/.exrc.evi" evi-local-exrc ".exrc" "EXINIT" getenv exinit evi-do-ex-command-string ".exrc.evi" "EVIINIT" nil] 4) message beep y-or-n-p "Error in " t "" ": " ". Continue? " ex-quit] 6] evi-welcome-message #[nil "? ?p!= ?  =˪ =ͪ =б!!!q !)։" [evi-inhibit-startup-message noninteractive get-buffer "*scratch*" input-pending-p evi-version ". " evi-copyright ".\n\nEvi is an enhanced emulator for Vi that runs in an emacs environment.\nIf you are familiar with vi, you should have very few problems using Evi.\nBy default, Evi is setup to emulate vi as closely as it can; however,\nthere are a number of new commands (mostly `:' commands) that support\nthe multiple window/multiple buffer environment that emacs provides.\nIn addition, file/buffer/command/etc completion is supported for `:'\ncommands (use `TAB' to complete).\n\nType `Q' to exit Evi (back to emacs). Type `ZZ' to save *all* modified\nfiles and exit emacs. Type `:w' to save the current file, and `:W' to\nsave all modified files. Type `:q' to quit " evi-emacs-version emacs18 "emacs." emacs19 "the current frame, and\nquit emacs if only one frame exists." lucid19 "the current screen, and\nquit emacs if only one screen exists." "\n\nYou may be interested in the following enhancements, which are disabled\nby default: using emacs commands, command line editing, backslash escapes\n(such as `\\n') and disabling this message(!). For more information, consult\nthe Evi manual (in the files `evi.info' or `evi.tex'). Hopefully this is\navailable by using `M-x info' and selecting the `Evi' menu item. If\nnecessary, consult your nearest emacs guru for advice." set-buffer-modified-p nil sit-for 120 erase-buffer t inhibit-startup-message] 6]] 2) (fset 'evi #[nil " !=!L!L!!L!!! !!!\"!#!! " [evi-enabled evi-initialized evi-initialize current-local-map evi-emacs-local-map evi-install-in-mode-line evi-mode-string evi-emacs-version lucid19 make-local-variable interrupt-char 3 echo-keystrokes 0 blink-matching-paren evi-meta-prefix-char meta-prefix-char evi-set-continuation evi-standard-continuation evi-vi-keymap-list evi-keymap-list boundp minor-mode-map-alist use-local-map evi-top-level-map buffer-read-only buffer-file-name evi-read-only-buffers toggle-read-only t evi-buffer-read-only evi-change-mode-id "Vi" evi-show-match evi-tab-width evi-wrap-margin run-hooks evi-mode-hook evi-refresh-mode-line] 2 "\ Start vi emulation in this buffer." nil]) (fset 'evi-quit-evi #[nil "!!!!\n=! " [nil evi-enabled evi-deinstall-from-mode-line evi-mode-string boundp minor-mode-map-alist use-local-map evi-emacs-local-map kill-local-variable meta-prefix-char evi-emacs-version lucid19 interrupt-char evi-refresh-mode-line] 2 "\ Quit vi emulation in this buffer." nil]) (fset 'evi-backward-char-maybe-abort #[(&optional count) "`y\nZ`Z GW b\n!)" [start 0 count 1 evi-minibuf-prompt evi-abort-minibuf do-evi-backward-char] 2 "\ Backup, aborting command if at beginning of input." (evi-count-arg)]) (fset 'evi-delete-backward-char-maybe-abort #[nil "`y`Z\nGX b!)" [start 0 evi-minibuf-prompt evi-abort-minibuf delete-backward-char 1] 2 "\ Backup and delete previous character, aborting command if at beginning of input." nil]) (fset 'evi-scroll-page-forward #[(&optional count) " = Z S _!ʼn" [scroll-up count 1 window-height 3 t evi-reset-goal-column] 3 "\ Scroll COUNT pages forward." (evi-count-arg)]) (fset 'evi-scroll-page-backward #[(&optional count) " = Z S _!ʼn" [scroll-down count 1 window-height 3 t evi-reset-goal-column] 3 "\ Scroll COUNT pages backward." (evi-count-arg)]) (fset 'evi-scroll-text-forward #[(&optional count) "i  Sƥ `T\" \n\n! S\n^y !*" [evi-reset-goal-column evi-goal-column nil count evi-scroll-count window-height 2 count-lines window-start window-line line-count scroll-up evi-move-to-column] 4 "\ Scroll COUNT lines forward. Default is one half of a page or the last COUNT specified to either \\[evi-scroll-text-forward] or \\[evi-scroll-text-backward] if one was previously given. The position of the cursor on the screen is maintained." (evi-count-arg)]) (fset 'evi-scroll-text-backward #[(&optional count) "i  Sƥ `T\" \n\n! S Z\n^[y !*" [evi-reset-goal-column evi-goal-column nil count evi-scroll-count window-height 2 count-lines window-start window-line line-count scroll-down evi-move-to-column] 4 "\ Scroll COUNT lines backward. Default is one half of a page or the last COUNT specified to either \\[evi-scroll-up] or \\[evi-scroll-down] if one was previously given. The position of the cursor on the screen is maintained." (evi-count-arg)]) (fset 'evi-scroll-cursor-forward #[(&optional count) "i ! !" [evi-reset-goal-column evi-goal-column nil scroll-up count 1 evi-move-to-column] 2 "\ Scroll COUNT lines forward. Maintain cursor position in the file if possible." (evi-count-arg)]) (fset 'evi-scroll-cursor-backward #[(&optional count) "i ! !" [evi-reset-goal-column evi-goal-column nil scroll-down count 1 evi-move-to-column] 2 "\ Scroll COUNT lines backward. Maintain cursor position in the file if possible." (evi-count-arg)]) (fset 'evi-window-control #[(char &optional linenumber) "!\nY\nX\nZ! U SZ!\nU!\nU!\nUU U U !\nUU U U *\nU\nU !\nU\nU !\n=\n=Ϫ\n=\n= ӥ\n=\n= Z!$$!)&!" [linenumber do-evi-goto-line char 48 57 evi-read-number count evi-read-command-char 46 enlarge-window window-height 43 45 shrink-window 61 0 delete-window 1 delete-other-windows 2 split-window-vertically evi-error "Invalid window op" 124 split-window-horizontally 102 110 select-window next-window 98 112 previous-window 13 72 77 76 position recenter evi-prompted message ""] 4 "\ Position current line on the screen according to the following character. With a prefix count, position that line." (evi-character-arg)]) (fset 'evi-move-to-column #[(column) " !ln? " [move-to-column column backward-char] 2]) (fset 'evi-insert #[(&optional count) "` !" [evi-insert-point evi-undo-boundary evi-enter-insert count] 2 "\ Enter insert mode." (evi-count-arg)]) (fset 'evi-insert-after #[(&optional count) "u\n!" [nil evi-insert count] 2 "\ Enter insert mode after the current point." (evi-count-arg)]) (fset 'evi-open-after #[(&optional count) "c` !" [nil 10 evi-insert-point evi-maybe-indent evi-enter-insert count] 2 "\ Open a new line below the current one and enter insert mode." (evi-count-arg)]) (fset 'evi-open-before #[(&optional count) "yc `!!" [0 10 backward-char evi-insert-point evi-maybe-indent t evi-enter-insert count] 2 "\ Open a new line above the current one and enter insert mode." (evi-count-arg)]) (byte-code "MMM" [evi-enter-insert #[(count) "\n\" " [evi-extend-continuation evi-exit-insert count evi-suspend-continuation evi-insert-mode] 3] evi-insert-mode #[nil "m\n!!!  C C!BBCBCD$" [insert evi-mode buffer-read-only newline 1 backward-char evi-in-minibuf evi-change-mode-id "Insert" evi-refresh-mode-line append evi-input-map-map evi-minibuf-input-map boundp minor-mode-map-alist evi-insert-mode-local-bindings emacs local evi-emacs-local-suppress-key-list evi-emacs-local-map evi-insert-map evi-input-map evi-keymap-list] 6] evi-exit-insert #[(&optional count) " \n!n  " [evi-maybe-kill-indentation evi-exit-input-mode count backward-char t evi-reset-goal-column evi-save-command-keys] 2]] 2) (fset 'evi-exit-input-mode #[(&optional count) " \n`{ SV c Ss* ! " [ex-expand-abbrev count evi-insert-point input-string 0 vi evi-mode evi-vi-keymap-list evi-keymap-list evi-in-minibuf evi-change-mode-id "Vi" evi-refresh-mode-line] 3 "\ Exit from an input mode." nil]) (fset 'evi-insert-mode-delete-backward-char #[nil "`V!!" [evi-insert-point delete-backward-char 1 message "Beginning of inserted text"] 2 "\ Backup and delete previous character, but no further than insert point." nil]) (fset 'evi-insert-mode-delete-backward-word #[nil "`X!` `Wb` |)" [evi-insert-point message "Beginning of inserted text" start do-evi-backward-word] 2 "\ Backup and delete previous word, but no further than insert point." nil]) (fset 'evi-insert-mode-kill-line #[nil "`X!`y HUP!Gu`Wb` |)" [evi-insert-point message "Beginning of inserted text" start 0 evi-in-minibuf looking-at evi-minibuf-prompt 91 "\\"] 3 "\ Kill current line, but no further than insert point." nil]) (byte-code "MM" [evi-maybe-indent #[(&optional forward) "`w `|) =u )j i " [evi-auto-indent start " " nil evi-insert-mode-local-bindings indent-line-function indent-to-left-margin forward backward-char current-indentation indent-according-to-mode evi-current-indentation] 2 nil nil] evi-maybe-kill-indentation #[nil " iUxn`wl `B* @ A|)" [evi-auto-indent evi-current-indentation " " nil start region] 3]] 2) (fset 'evi-newline #[nil " `c b *" [ex-expand-abbrev start 10 evi-maybe-indent evi-maybe-kill-indentation] 1 "\ Insert a newline, and indent to the current indentation level. Kills indentation on current line if the line is otherwise empty." nil]) (fset 'evi-forward-indent #[nil "i  Z\\x`)` Z!i\nWct\nV!\niZ\"+" [start-column evi-shift-width target-column " " nil backup-point delete-backward-char indent-tabs-mode 9 1 insert-char 32] 5 "\ Move forward to the next indentation level, defined by shiftwidth." nil]) (fset 'evi-calc-backward-indent #[nil "i U \n)` Z]xiZ) ^+" [start-column evi-shift-width toffset 0 offset " " furthest] 5]) (fset 'evi-backward-indent #[nil " \"" [backward-delete-char-untabify evi-calc-backward-indent nil] 3 "\ Move backward to the previous indentation level, defined by shiftwidth." nil]) (fset 'evi-replace-mode-backward-indent #[nil "`X!  Vb Z` Zb)" [evi-insert-point message "Beginning of replaced text" evi-calc-backward-indent offset evi-replaced-string-index 0] 3 "\ Move backward to the previous indentation level, defined by shiftwidth." nil]) (fset 'evi-quoted-insert #[nil " c" [evi-read-char] 1 nil nil]) (fset 'evi-replace #[nil " ! dS!" [evi-undo-boundary replace evi-mode evi-extend-continuation evi-exit-replace evi-suspend-continuation evi-replace-mode] 2 "\ Enter replace mode." nil]) (byte-code "MMM" [evi-replace-mode #[(max-replace-position) " \nÓ`!   D" [evi-replace-max make-marker max-replace-position nil evi-insert-point "" evi-replaced-string 0 evi-replaced-string-index evi-change-mode-id "Replce" evi-refresh-mode-line evi-input-map-map evi-replace-map evi-keymap-list] 3] evi-switch-to-insert #[nil " " [evi-replace-max nil evi-insert-mode] 3] evi-exit-replace #[nil "= GW``` G Z\\| O! b)= \n n   lj " [evi-mode insert evi-exit-insert evi-replaced-string-index evi-replaced-string start insert-before-markers nil change evi-exit-change-mode evi-overstruck-char evi-exit-input-mode backward-char evi-replace-max t evi-reset-goal-column evi-save-command-keys] 4]] 2) (fset 'evi-self-replace #[nil " ` YgU !! GUg!PT` !` ZV T  T`{G)" [evi-kill-undo-boundary evi-replace-max 10 evi-push-macro char-to-string last-command-char evi-switch-to-insert evi-replaced-string-index evi-replaced-string start evi-replace-one-char 1 evi-insert-point] 4 "\ Replace character under cursor with the command character." nil]) (fset 'evi-replace-one-char #[(char) "``T|!\n` U\n\"UU c" [boundp buffer-undo-list evi-overstruck-char evi-replace-max evi-change-last-undo 0 nil char 10 13 evi-newline] 3]) (fset 'evi-replace-mode-delete-backward-char #[nil "`X! S" [evi-insert-point message "Beginning of replaced text" backward-char evi-replaced-string-index] 2 "\ Backup to previous character, undoing last replacement, but no further than insert point." nil]) (fset 'evi-replace-mode-delete-backward-word #[nil "`X!` `Wb `ZZ)" [evi-insert-point message "Beginning of replaced text" start do-evi-backward-word evi-replaced-string-index] 3 "\ Backup and delete previous word, but no further than insert point." nil]) (fset 'evi-replace-mode-kill-line #[nil "`X!`y HUP!Gu`Wbĉ\n)" [evi-insert-point message "Beginning of replaced text" start 0 evi-in-minibuf looking-at evi-minibuf-prompt 91 "\\" evi-replaced-string-index] 3 "\ Kill current line, but no further than insert point." nil]) (fset 'evi-replace-char #[(char &optional count) "! ƉV ! Sq) U U n  " [abort (byte-code " $" [evi-motion-command do-evi-forward-char horizontal count to-end] 5) evi-error "Can't replace that many characters" evi-exchange-point-and-mark count 1 0 evi-replace-one-char char 10 13 evi-maybe-kill-indentation backward-char t evi-reset-goal-column evi-save-command-keys] 3 "\ Replace the following COUNT characters with CHAR." (evi-character-arg)]) (fset 'evi-toggle-case #[(&optional count) " $` ZV gYX``T\"YX``T\") SJ*! " [evi-motion-command do-evi-forward-char horizontal count to-end evi-mark 0 backward-char char 97 122 upcase-region 65 90 downcase-region evi-fixup-cursor t evi-reset-goal-column evi-save-command-keys] 6 "\ Toggle the case of the following COUNT characters." (evi-count-arg)]) (fset 'evi-change #[(&optional count) "!! \"" [evi-extend-continuation evi-operator-after-after evi-push-continuation evi-change-internal evi-operator-command count to-end] 3 "\ Change operator." (evi-count-arg)]) (byte-code "MM" [evi-change-internal #[nil "!  `V)` U` | Sf` b S |c!\nAA\nb) ! !" [evi-copy-region-to-registers t evi-exchange-point-and-mark nil evi-mark evi-insert evi-overstruck-char here 36 boundp buffer-undo-list change evi-mode evi-extend-continuation evi-exit-replace evi-suspend-continuation evi-replace-mode] 2] evi-exit-change-mode #[nil " !` W `ZS @ A` !| ĉ!\n\")" [marker-position evi-replace-max overstrike-offset buffer-undo-list nil boundp evi-change-last-undo evi-overstruck-char] 3]] 2) (fset 'evi-delete #[(&optional count) "!! \"" [evi-extend-continuation evi-operator-after-after evi-delete-internal evi-operator-command count to-next] 3 "\ Delete operator." (evi-count-arg)]) (fset 'evi-delete-internal #[nil "! ` U!=` T\"` |=˪!" [evi-copy-region-to-registers t evi-exchange-point-and-mark evi-mark message "Nothing deleted" evi-region-shape rectangle delete-rectangle evi-fixup-cursor chars horizontal vertical] 3]) (fset 'evi-yank #[(&optional count) "!`\" \"" [evi-extend-continuation evi-operator-after-after evi-yank-internal evi-operator-command count to-next] 3 "\ Yank operator." (evi-count-arg)]) (fset 'evi-yank-internal #[(start) "!\n`U! b" [evi-copy-region-to-registers nil evi-mark message "Nothing to yank" start] 2]) (fset 'evi-put-after #[(&optional register-number register-append count) " \nH A=muljV @cSp*nluljV A= @c @!Sc) !\"!) " [evi-registers register-number evi-register-unnamed register lines nil count 1 0 chars insert-rectangle backward-char message "Nothing in register %c" evi-register-name "No text to put" t evi-reset-goal-column evi-save-command-keys] 5 "\ Put back yanked or deleted text after cursor." (evi-register-args)]) (fset 'evi-put #[(&optional register-number register-append count) " \nH A=yljV @cSp*ljV A= @c @!Sc) !\"!) " [evi-registers register-number evi-register-unnamed register lines 0 count 1 chars insert-rectangle backward-char message "Nothing in register %c" evi-register-name "No text to put" t evi-reset-goal-column evi-save-command-keys] 5 "\ Put back yanked or deleted text." (evi-register-args)]) (fset 'evi-shift-right #[(&optional count) "!\" \"" [evi-extend-continuation evi-operator-after-after evi-shift-internal 1 evi-operator-command count whole-lines] 3 "\ Shift right operator." (evi-count-arg)]) (fset 'evi-shift-left #[(&optional count) "!\" \"" [evi-extend-continuation evi-operator-after-after evi-shift-internal -1 evi-operator-command count whole-lines] 3 "\ Shift left operator." (evi-count-arg)]) (fset 'evi-shift-internal #[(direction) "`U!` _#bw" [evi-mark message "Nothing shifted" indent-rigidly evi-shift-width direction " " nil] 5]) (fset 'evi-indent #[(&optional count) "!! \"" [evi-extend-continuation evi-operator-after-after evi-indent-internal evi-operator-command count whole-lines] 3 "\ Indent region." (evi-count-arg)]) (fset 'evi-indent-internal #[nil "`U!`#bw" [evi-mark message "Nothing indented" indent-region nil " "] 4]) (fset 'evi-shell-filter #[(&optional count) "`\" \"" [evi-push-continuation evi-shell-filter2 evi-operator-command count whole-lines] 3 "\ Filter region thru shell command." (evi-count-arg)]) (byte-code "MM" [evi-shell-filter2 #[(start) "! \"!" [evi-extend-continuation evi-operator-after-after evi-filter-internal start evi-read-string "!"] 3] evi-filter-internal #[(start) "\n!`$b" [evi-minibuf-contents "!" evi-last-shell-command evi-error "No previous shell command to substitute for !" shell-command-on-region evi-mark t start] 5]] 2) (fset 'evi-send-to-process #[(&optional count) "`\" \"" [evi-push-continuation evi-send-to-process2 evi-operator-command count to-next] 3 "\ Send region to emacs process buffer." (evi-count-arg)]) (byte-code "MM" [evi-send-to-process2 #[(start) "! \"!" [evi-extend-continuation evi-operator-after-after evi-to-process-internal start evi-read-string "*"] 3] evi-to-process-internal #[(start) "` b\nØ !\n #) BB " [end start evi-minibuf-contents "*" evi-process-buffer evi-error "No previous process to substitute for *" process-send-region evi-mark other (progn (goto-char (process-mark (get-buffer-process evi-process-buffer))) (evi-insert)) evi-delayed-buffer-change-request] 4]] 2) (fset 'evi-loop-over-lines-in-region #[(&optional count) "! \"" [evi-push-continuation evi-loop-over-lines2 evi-operator-command count to-end] 3 "\ Execute a sequence of operations on every line in a region." (evi-count-arg)]) (byte-code "MMMMMM" [evi-loop-over-lines2 #[nil "!!!" [evi-extend-continuation evi-operator-after-after evi-loop-lines-internal evi-read-string "[{"] 2] evi-loop-lines-internal #[nil " by  $)" [nil evi-last-command-keys evi-prefix-count make-marker point-marker ending-mark evi-mark 0 evi-push-macro evi-minibuf-contents evi-loop-lines-internal2] 5] evi-loop-lines-internal2 #[(macro ending-mark) "u`!!!ǰ!`!W  $!" [nil evi-db "{" prin1-to-string "," marker-position ending-mark "}" evi-push-macro macro evi-loop-lines-internal2 evi-fixup-cursor vertical] 7] evi-operator-command #[(count context) " D\"  ! BBEB!" [evi-push-continuation evi-operator-after quote evi-keymap-list context evi-context count evi-prefix-count-multiplier nil evi-prefix-count evi-make-local-keymap (((char-to-string last-command-char) evi-whole-lines)) param evi-param-map map evi-map-map evi-motion-map evi-prompt] 4] evi-operator-after #[(old-keymap-list) " " [old-keymap-list evi-keymap-list nil evi-context evi-prefix-count-multiplier evi-pop-continuation] 1] evi-operator-after-after #[nil " " [t evi-reset-goal-column evi-save-command-keys] 1]] 2) (fset 'evi-join-lines #[(&optional count) "` S]V \nu`Sw`| `hUhUgUhUĪ\" S9) b* " [nil ending-point starting-point count 2 1 0 evi-eobp -1 " " 32 9 41 insert-char 46 t evi-reset-goal-column evi-save-command-keys] 5 "\ Join together COUNT + 1 lines, supplying appropriate whitespace." (evi-count-arg)]) (byte-code "MMMMM" [evi-exchange-point-and-mark #[nil "` b)" [evi-mark temp] 1] evi-expand-region-to-lines #[(context) " y m =uʼn" [evi-exchange-point-and-mark 0 nil context to-end lines evi-region-shape] 2] evi-normalize-region #[nil "ly` V bxn) y muʼn" [0 evi-mark " " nil evi-exchange-point-and-mark lines evi-region-shape] 2] evi-fixup-cursor #[(direction) "=\n=mo ln? mo yƇln? " [evi-mode vi direction horizontal backward-char 0 nil] 2] evi-motion-command #[(move-function direction count context &optional arg) "`\n=\n= i \n \n#\n\n\"` W  ==!=  !" [context evi-mark move-function do-evi-next-line do-evi-previous-line evi-reset-goal-column evi-goal-column nil t arg count evi-exchange-point-and-mark direction vertical whole-lines evi-expand-region-to-lines chars evi-region-shape to-next evi-normalize-region evi-fixup-cursor] 4]] 2) (fset 'evi-forward-char #[nil " $" [evi-motion-command do-evi-forward-char horizontal evi-adjust-count evi-context] 5 "\ Move right COUNT characters on the current line." nil]) (fset 'do-evi-forward-char #[(&optional count context) "`\n`ZW\n\\b)l ?!" [here nil count 1 context evi-error "End of line"] 3]) (fset 'evi-backward-char #[nil " $" [evi-motion-command do-evi-backward-char horizontal evi-adjust-count evi-context] 5 "\ Move left COUNT characters on the current line." nil]) (fset 'do-evi-backward-char #[(&optional count context) "`y\nS`ZW\nSZb)n! " [here 0 count 1 evi-error "Beginning of line" backward-char] 3]) (fset 'evi-next-line #[nil " $" [evi-motion-command do-evi-next-line vertical evi-adjust-count evi-context] 5 "\ Go to ARGth next line." nil]) (fset 'do-evi-next-line #[(&optional count context) " ! !" [evi-next-line-internal count 1 context evi-adjust-scroll-up move-to-column evi-goal-column] 2]) (fset 'evi-beginning-of-next-line #[nil " $" [evi-motion-command do-evi-beginning-of-next-line vertical evi-adjust-count evi-context] 5 "\ Go to beginning of ARGth next line." nil]) (byte-code "MM!MM" [do-evi-beginning-of-next-line #[(&optional count context) " ! w" [evi-next-line-internal count 1 context evi-adjust-scroll-up " " nil] 2] evi-next-line-internal #[(count) "` ym? Ub Uƪ!*" [starting-point count offset 0 evi-error 1 "Last line in buffer" "Not that many lines left in buffer"] 3] fboundp window-end evi-adjust-scroll-up #[nil " `T\" S` Y \nť\\W`!b)*" [count-lines window-start window-height window-line window-end 3 start nil recenter -1] 4] #[nil " `T\" S b y`)` Y\n ť\\W!+" [count-lines window-start window-line window-height window-end 3 recenter -1] 4]] 2) (fset 'evi-previous-line #[nil " $" [evi-motion-command do-evi-previous-line vertical evi-adjust-count evi-context] 5 "\ Go to ARGth previous line." nil]) (fset 'do-evi-previous-line #[(&optional count context) " ! !" [evi-previous-line-internal count 1 context evi-adjust-scroll-down move-to-column evi-goal-column] 2]) (fset 'evi-beginning-of-previous-line #[nil " $" [evi-motion-command do-evi-beginning-of-previous-line vertical evi-adjust-count evi-context] 5 "\ Go to beginning of ARGth previous line." nil]) (byte-code "MMM" [do-evi-beginning-of-previous-line #[(&optional count context) " ! " [evi-previous-line-internal count 1 context evi-adjust-scroll-down back-to-indentation] 2] evi-previous-line-internal #[(count) "` [yU?b Uƪ!*" [starting-point count offset 0 evi-error 1 "First line in buffer" "Not that many lines left in buffer"] 4] evi-adjust-scroll-down #[nil "` W`T \" S\nĥW!*" [window-start count-lines window-height window-line 3 recenter 0] 4]] 2) (fset 'evi-goto-line #[nil " $" [evi-motion-command do-evi-goto-line vertical evi-adjust-count evi-context] 5 "\ Go to line number LINE, or to end of file if no count specified." nil]) (fset 'do-evi-goto-line #[(&optional count context) " \n!" [evi-push-context ex-goto-line count] 2]) (fset 'evi-goto-top-of-window #[nil " $" [evi-motion-command do-evi-goto-top-of-window vertical evi-adjust-count evi-context] 5 "\ Go to the top line of the window. With an arg, OFFSET, goes to the OFFSET'th line of the window." nil]) (fset 'do-evi-goto-top-of-window #[(&optional offset context) " S! w" [move-to-window-line offset 1 context " " nil] 2]) (fset 'evi-goto-middle-of-window #[nil " $" [evi-motion-command do-evi-goto-middle-of-window vertical evi-adjust-count evi-context] 5 "\ Go to the middle line of the window." nil]) (fset 'do-evi-goto-middle-of-window #[(&optional offset context) " ¥! w" [move-to-window-line window-height 2 context " " nil] 3]) (fset 'evi-goto-bottom-of-window #[nil " $" [evi-motion-command do-evi-goto-bottom-of-window vertical evi-adjust-count evi-context] 5 "\ Go to the bottom line of the window. With an arg, OFFSET, goes to the OFFSET'th line from the bottom of the window." nil]) (fset 'do-evi-goto-bottom-of-window #[(&optional offset context) " S\nZ! w" [move-to-window-line window-height offset 1 context " " nil] 3]) (fset 'evi-goto-column #[nil " $" [evi-motion-command do-evi-goto-column horizontal evi-adjust-count evi-context] 5 "\ Go to column COLUMN, or as close to that column as possible." nil]) (fset 'do-evi-goto-column #[(&optional column context) " S!" [move-to-column column 1] 2]) (fset 'evi-whole-lines #[nil " $" [evi-motion-command do-evi-whole-lines vertical evi-adjust-count evi-context] 5 "\ Go ARG - 1 lines forward." nil]) (fset 'do-evi-whole-lines #[(&optional count context) " S!" [evi-next-line-internal count 1] 2]) (fset 'evi-beginning-of-line #[nil " $" [evi-motion-command do-evi-beginning-of-line horizontal evi-adjust-count evi-context] 5 "\ Go to beginning of line." nil]) (fset 'do-evi-beginning-of-line #[(&optional count context) "y" [0 nil] 1]) (fset 'evi-goto-indentation #[nil " $" [evi-motion-command do-evi-goto-indentation horizontal evi-adjust-count evi-context] 5 "\ Go to beginning of indented text on current line." nil]) (fset 'do-evi-goto-indentation #[(&optional count context) "y " [0 back-to-indentation] 1]) (fset 'evi-end-of-line #[nil " $" [evi-motion-command do-evi-end-of-line horizontal evi-adjust-count evi-context] 5 "\ Go to end of line." nil]) (byte-code "MM" [do-evi-end-of-line #[(&optional count context) " S!É" [evi-next-line-internal count 1 nil 1000000 evi-goal-column evi-reset-goal-column] 2] evi-eobp #[nil "d`ZW" [3] 2]] 2) (fset 'evi-forward-word #[nil " $" [evi-motion-command do-evi-forward-word horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNTth next word." nil]) (fset 'do-evi-forward-word #[(&optional count context) " \n #" [evi-forward-word-internal evi-word count 1 context] 4]) (fset 'evi-forward-Word #[nil " $" [evi-motion-command do-evi-forward-Word horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNTth next white-space delimited word." nil]) (byte-code "MM" [do-evi-forward-Word #[(&optional count context) " \n #" [evi-forward-word-internal evi-Word count 1 context] 4] evi-forward-word-internal #[(pattern count context) " ! S! T $=`)#= V!̕bu̔bm " [context evi-eobp evi-error "End of buffer" count looking-at pattern re-search-forward nil limit to-next to-end 0 backward-char] 5]] 2) (fset 'evi-end-of-word #[nil " $" [evi-motion-command do-evi-end-of-word horizontal evi-adjust-count evi-context] 5 "\ Move to the end of the COUNTth next word." nil]) (fset 'do-evi-end-of-word #[(&optional count context) " \n #" [evi-end-of-word-internal evi-word count 1 context] 4]) (fset 'evi-end-of-Word #[nil " $" [evi-motion-command do-evi-end-of-Word horizontal evi-adjust-count evi-context] 5 "\ Move to the end of the COUNTth next whitespace delimited word." nil]) (byte-code "MM" [do-evi-end-of-Word #[(&optional count context) " \n #" [evi-end-of-word-internal evi-Word count 1 context] 4] evi-end-of-word-internal #[(pattern count context) " !u$ɕɪZbm " [context evi-eobp evi-error "End of buffer" nil re-search-forward pattern limit count 0 1 backward-char] 5]] 2) (fset 'evi-backward-word #[nil " $" [evi-motion-command do-evi-backward-word horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNTth previous word." nil]) (fset 'do-evi-backward-word #[(&optional count context) " \n\"" [evi-backward-word-internal evi-word count 1] 3]) (fset 'evi-backward-Word #[nil " $" [evi-motion-command do-evi-backward-Word horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNTth previous whitespace delimited word." nil]) (byte-code "MM   M" [do-evi-backward-Word #[(&optional count context) " \n\"" [evi-backward-word-internal evi-Word count 1] 3] evi-backward-word-internal #[(pattern count) "o!\nV # !Õ \n !Õ\nUo i u*\nSA\nU)" [evi-error "Beginning of buffer" count 0 re-search-backward pattern nil limit looking-at at-beginning end backward-char -1] 5] "\\([.?!][]\"')]*\\([ \n]\\| [ \n]\\)\\|^[ ]*\n\\|\\`\\)[ \n]*[^ \n]" evi-sentence-beginning "\\([.?!][]\"')]*\\([ \n]\\| [ \n]\\)\\|^[ ]*$\\)" evi-sentence-ending "\\(^\n\\|\\`\\)[ \n]*[^ \n]" evi-paragraph-beginning "\\(^[ ]*\n\\|\\`\\)[ \n]*[^ \n]" evi-paragraph-beginning-mod "[ \n]*[^ \n]\n$" evi-paragraph-ending "^[ ]*$" evi-paragraph-ending-mod "^\\({\\|\\.\\(NH\\|SH\\|H\\|HU\\|nh\\|sh\\)[ \n]\\)" evi-section-beginning "[ \n]*\n\\(}\\|\\.\\(NH\\|SH\\|H\\|HU\\|nh\\|sh\\)[ \n]\\)" evi-section-ending evi-not-at #[(pattern &optional limit) "`\n #ĕU?b)" [start re-search-backward pattern limit 0 t] 4]] 2) (fset 'evi-forward-sentence #[nil " $" [evi-motion-command do-evi-forward-sentence horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNT'th next sentence." nil]) (fset 'do-evi-forward-sentence #[(&optional count context) " !u=! ̪Z$=#x#͔S)# " [context evi-eobp evi-error "End of buffer" nil to-next evi-not-at evi-sentence-beginning to-end re-search-forward limit count 1 0 evi-sentence-ending " \n" evi-paragraph-ending backward-char] 6]) (fset 'evi-backward-sentence #[nil " $" [evi-motion-command do-evi-backward-sentence horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNT'th previous sentence." nil]) (fset 'do-evi-backward-sentence #[(&optional count context) "o!x $ɕSb" [evi-error "Beginning of buffer" " \n" nil re-search-backward evi-sentence-beginning limit count 1 0] 5]) (fset 'evi-forward-paragraph #[nil " $" [evi-motion-command do-evi-forward-paragraph horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNT'th next paragraph." nil]) (fset 'do-evi-forward-paragraph #[(&optional count context) " ! u=! =ͪZ$=#ΔSby  $Εb= " [context evi-eobp evi-error "End of buffer" evi-modified-paragraph nil to-next evi-not-at evi-paragraph-beginning-mod to-end re-search-forward limit count 1 0 evi-paragraph-ending-mod backward-char evi-paragraph-ending] 7]) (fset 'evi-backward-paragraph #[nil " $" [evi-motion-command do-evi-backward-paragraph horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNT'th previous paragraph." nil]) (fset 'do-evi-backward-paragraph #[(&optional count context) "o!\n $ɕSb\n=no S  $ɔb" [evi-error "Beginning of buffer" evi-modified-paragraph re-search-backward evi-paragraph-beginning-mod nil limit count 1 0 context to-next evi-mark evi-paragraph-beginning] 5]) (fset 'evi-forward-section #[nil " $" [evi-motion-command do-evi-forward-section horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNT'th next section." nil]) (fset 'do-evi-forward-section #[(&optional count context) " !`!`wmu=\n \")\n=ϪZ$=#h=ДbДb " [context evi-eobp evi-error "End of buffer" evi-push-context start "^ \n" nil to-next evi-not-at evi-section-beginning to-end re-search-forward limit count 1 0 evi-section-ending 125 backward-char] 7]) (fset 'evi-backward-section #[nil " $" [evi-motion-command do-evi-backward-section horizontal evi-adjust-count evi-context] 5 "\ Move to the beginning of the COUNT'th previous section." nil]) (fset 'do-evi-backward-section #[(&optional count context) "o!\n`! $" [evi-error "Beginning of buffer" context evi-push-context re-search-backward evi-section-beginning nil limit count 1] 5]) (fset 'evi-region-arbitrary #[nil "`W uÉ" [evi-mark evi-exchange-point-and-mark nil chars evi-region-shape] 2 "\ Define region bounded by mark and point (containing point)." nil]) (fset 'evi-region-mouse #[nil " ` W uĉ" [mark evi-mark evi-exchange-point-and-mark nil chars evi-region-shape] 2 "\ Define region bounded by last mouse selection." nil]) (fset 'evi-region-rectangle #[nil "`W ‰" [evi-mark evi-exchange-point-and-mark rectangle evi-region-shape] 2 "\ Define region as rectangle bounded by mark and point (containing point)." nil]) (fset 'evi-region-rows #[(context) "`W !" [evi-mark evi-exchange-point-and-mark evi-expand-region-to-lines evi-context] 2 "\ Define region as rows bounded by mark and point (containing point)." (evi-context-arg)]) (fset 'evi-region-columns #[nil "`W bi)idbl y`\n\\b*Ɖ" [evi-mark evi-exchange-point-and-mark end-col start-col backward-char 0 rectangle evi-region-shape] 3 "\ Define region as columns bounded by mark and point (containing point)." nil]) (fset 'evi-search-forward #[nil "DD D%!" [evi-extend-continuation evi-after-string-arg quote do-evi-search-forward horizontal evi-adjust-count evi-context evi-read-string "/"] 7 "\ Search forward for the ARGth occurence of a pattern. A null string will repeat the previous search." nil]) (fset 'do-evi-search-forward #[(string &optional count context) "\n #" [evi-do-vi-search t string count 1] 4]) (fset 'evi-search-backward #[nil "DD D%!" [evi-extend-continuation evi-after-string-arg quote do-evi-search-backward horizontal evi-adjust-count evi-context evi-read-string "?"] 7 "\ Search backward for the ARGth occurence of a pattern. A null string will repeat the previous search." nil]) (byte-code "MM" [do-evi-search-backward #[(string &optional count context) "\n #" [evi-do-vi-search nil string count 1] 4] evi-do-vi-search #[(search-forward search-spec count) "p q ĪDZeb \n q ̘    #!\nV\n!\nW\n[!+" [ex-user-buffer ex-work-space erase-buffer search-forward 47 63 search-spec "\n" ex-scan-regular-expression ex-scan-line-offset offset string "" evi-search-pattern evi-do-search evi-search-forward count evi-error "No previous search pattern" 0 evi-next-line-internal evi-previous-line-internal] 4]] 2) (fset 'evi-search-next #[nil " $" [evi-motion-command do-evi-search-next horizontal evi-adjust-count evi-context] 5 "\ Search for the next ARGth occurence of the previous search pattern." nil]) (fset 'do-evi-search-next #[(&optional count context) "\n #!" [evi-search-pattern evi-do-search evi-search-forward count 1 evi-error "No previous search pattern"] 4]) (fset 'evi-search-next-reverse #[nil " $" [evi-motion-command do-evi-search-next-reverse horizontal evi-adjust-count evi-context] 5 "\ Search for the next ARGth occurence of the previous search pattern but look in the opposite direction." nil]) (byte-code "MMMM" [do-evi-search-next-reverse #[(&optional count context) "?\n \")" [evi-search-forward do-evi-search-next count context] 3] evi-do-search #[(search-forward search-string count) "` \" \" !ɔb bV̪Ϫ ЪP!*" [evi-ignore-case starting-point case-fold-search search-forward evi-search-forward-count search-string count evi-search-backward-count evi-push-context 0 evi-error 1 "Nth occurrence not found" "Pattern not found" evi-search-wraparound "" " before end of file" " before beginning of file"] 3] evi-search-forward-count #[(string count) "Vu # S\"eb # S\"Ň" [count 0 nil re-search-forward string t evi-search-forward-count evi-search-wraparound] 4] evi-search-backward-count #[(string count) "V # S\"db # S\"Ň" [count 0 re-search-backward string nil t evi-search-backward-count evi-search-wraparound] 4]] 2) (fset 'evi-find-character #[nil " %" [evi-motion-command do-evi-find-character horizontal evi-adjust-count evi-context evi-read-command-char] 6 "\ Search for CHAR on the current line. With COUNT find the COUNT'th occurance." nil]) (fset 'do-evi-find-character #[(char &optional count context) " \"" [char evi-find-character t evi-find-forward nil evi-find-up-to evi-find-character-internal count 1 context] 3]) (fset 'evi-find-char-backwards #[nil " %" [evi-motion-command do-evi-find-char-backwards horizontal evi-adjust-count evi-context evi-read-command-char] 6 "\ Search backwards for CHAR on the current line. With COUNT find the COUNT'th occurance." nil]) (fset 'do-evi-find-char-backwards #[(char &optional count context) "\"" [char evi-find-character nil evi-find-forward evi-find-up-to evi-find-character-backwards-internal count 1 context] 3]) (fset 'evi-find-character-before #[nil " %" [evi-motion-command do-evi-find-character-before horizontal evi-adjust-count evi-context evi-read-command-char] 6 "\ Search for CHAR on the current line and leave the cursor on the character before it. With COUNT find the COUNT'th occurance." nil]) (fset 'do-evi-find-character-before #[(char &optional count context) "\"" [char evi-find-character t evi-find-forward evi-find-up-to evi-find-character-internal count 1 context] 3]) (fset 'evi-find-char-backwards-after #[nil " %" [evi-motion-command do-evi-find-char-backwards-after horizontal evi-adjust-count evi-context evi-read-command-char] 6 "\ Search backwards for CHAR on the current line and leave the cursor on the character after it. With COUNT find the COUNT'th occurance." nil]) (fset 'do-evi-find-char-backwards-after #[(char &optional count context) " \"" [char evi-find-character nil evi-find-forward t evi-find-up-to evi-find-character-backwards-internal count 1 context] 3]) (fset 'evi-find-next-character #[nil " $" [evi-motion-command do-evi-find-next-character horizontal evi-adjust-count evi-context] 5 "\ Search for the next COUNT'th occurence of the previous search character." nil]) (fset 'do-evi-find-next-character #[(&optional count context) " \" \"!" [evi-find-character evi-find-forward evi-find-character-internal count 1 context evi-find-character-backwards-internal evi-error "No previous search character"] 3]) (fset 'evi-find-next-character-reverse #[nil " $" [evi-motion-command do-evi-find-next-character-reverse horizontal evi-adjust-count evi-context] 5 "\ Search for the next COUNT'th occurence of the previous search character in the opposite direction." nil]) (byte-code "MMMM" [do-evi-find-next-character-reverse #[(&optional count context) "?\n \")" [evi-find-forward do-evi-find-next-character count context] 3] evi-find-character-internal #[(count context) "u !`)$ !) " [nil case-fold-search search-forward char-to-string evi-find-character t count evi-find-up-to backward-char evi-error "No more occurences on this line" context] 5] evi-find-character-backwards-internal #[(count context) " !y`)$!)\nu" [nil case-fold-search search-backward char-to-string evi-find-character 0 t count evi-error "No more occurences on this line" evi-find-up-to] 5] evi-modify-paren-syntax #[(char) " G W HU THP\" THP\" SHP\" SHP\"T?+ ," [0 t nil evi-parens len match-open open i char modify-syntax-entry "(" ")"] 5]] 2) (fset 'evi-paren-match #[nil " $" [evi-motion-command do-evi-paren-match horizontal evi-adjust-count evi-context] 5 "\ Move cursor to matching parenthesis, brace or bracket." nil]) (fset 'do-evi-paren-match #[(&optional count context) "`) # !  !h!! uT!!*!)" [nil end-point re-search-forward "[][(){}]" t backward-char syntax-table st copy-syntax-table newst set-syntax-table evi-modify-paren-syntax forward-sexp 1 context evi-mark backward-sexp evi-error "Nothing on rest of line to balance"] 4]) (fset 'evi-paren-match #[nil " $" [evi-motion-command do-evi-paren-match horizontal evi-adjust-count evi-context] 5 "\ Move cursor to matching parenthesis, brace or bracket." nil]) (byte-code "MMMMMMMM" [do-evi-paren-match #[(&optional count context) "``) #h \nU \nU \nU \nU \nU \nU  #h\nUSYTa\nb!Y  #g\nUSYTa\nb!Y T,!*" [nil end-point start re-search-forward "[][(){}]" t 0 depth forward match c 91 "[][]" 93 40 "(\\|)" 41 123 "{\\|}" 125 evi-error "No match" backward-char re-search-backward context evi-mark "Nothing on rest of line to balance"] 5] evi-add-key #[(k) " Y \\ \"P IT!P" [evi-command-keys-index evi-command-keys-length 256 evi-command-keys make-string 0 k evi-prompt char-to-string] 4] evi-lose-key #[(&optional count) "V\nZ" [evi-command-keys-index 0 count 1] 2] evi-erase-keys #[nil "‰" [0 evi-command-keys-index nil evi-prompt] 2] evi-copy-keys #[nil "\nO" [evi-command-keys 0 evi-command-keys-index] 3] evi-keys-description #[nil " #" [mapconcat single-key-description evi-copy-keys ""] 4] evi-prompt-keys-description #[nil "\n#" [mapconcat single-key-description evi-prompt ""] 4] evi-save-command-keys #[nil " \n" [evi-copy-keys evi-last-command-keys evi-prefix-count evi-last-prefix-count 0 evi-hidden-repeat-count evi-register-spec evi-last-register-spec] 2]] 2) (fset 'evi-repeat #[nil " \n\n  T!  #" [evi-prefix-count evi-last-prefix-count evi-register-spec evi-last-register-spec evi-hidden-repeat-count evi-repeat-count evi-push-continuation evi-repeat-continuation evi-push-macro evi-last-command-keys evi-repeat-after] 4 "\ Repeat last modifying command." nil]) (byte-code "MM" [evi-repeat-continuation (lambda nil) evi-repeat-after #[(command-keys) "\nĉ" [command-keys evi-last-command-keys evi-repeat-count evi-hidden-repeat-count 0] 2]] 2) (fset 'evi-prompt-repeat #[nil "\n\" ! )" [evi-read-string "Repeat: " evi-last-command-keys command evi-execute-macro] 3 "\ Print last modifying command." nil]) (fset 'evi-read-number #[(prefix-value) " Y X _ Z\\! ! )" [evi-read-command-char char 48 57 evi-read-number prefix-value 10 evi-unread-command-char] 5]) (fset 'evi-prefix-digit #[nil " _ Z\\!" [evi-lose-key evi-prefix-count 0 10 last-command-char 48 evi-push-continuation evi-prompt] 3 "\ Prefix count." nil]) (byte-code "MM" [evi-digit-or-beginning-of-line #[nil " " [evi-prefix-count evi-prefix-digit evi-beginning-of-line] 1 nil nil] evi-adjust-count #[nil " _ " [evi-prefix-count-multiplier evi-prefix-count 1] 2]] 2) (fset 'evi-prefix-register #[nil "  ! Y X?B)!" [evi-lose-key evi-prompt evi-read-command-char char evi-register-number 97 122 evi-register-spec evi-push-continuation] 3 "\ Prefix register." nil]) (byte-code "MMMMMMMM" [evi-register-number #[(register-name) "YXZ\\YXZ\\YXZ\n\\\\˦= =!!" [register-name 97 122 10 65 90 49 57 evi-digit-register 48 evi-repeat-count 9 94 evi-register-unnamed 64 evi-last-macro-register evi-error "No previous macro register specified" "Invalid register name"] 3] evi-register-name #[(register-number) "V\\\\" [register-number 9 87 49] 2] evi-copy-region-to-registers #[(number-register-also) "= `T\" `{ \" BI U˪ S )" [evi-region-shape rectangle extract-rectangle evi-mark region evi-copy-region-to-register evi-register-spec number-register-also evi-registers evi-digit-register 0 8] 4] evi-copy-region-to-register #[(region register-spec) "@\n= \n BI A = H@ PA)B BI)" [register-spec register-number evi-register-unnamed evi-registers region evi-region-shape rectangle register] 5] evi-register-string #[(count) "\n\"!" [evi-extend-continuation evi-register-string-after count evi-read-string "\""] 3 nil (evi-count-arg)] evi-register-string-after #[(count) " B\"" [chars evi-region-shape evi-copy-region-to-register evi-minibuf-contents evi-register-spec evi-register-unnamed nil] 4] evi-register-char #[(char &optional count) "\n!!" [evi-register-string char-to-string char] 3 nil (evi-character-arg)] evi-buffer-name #[nil " !" [evi-register-string buffer-name] 2 nil nil]] 2) (fset 'evi-undo #[nil " ! !" [evi-current-macro evi-in-minibuf message "undo!" evi-undo-start evi-undo-one-change evi-fixup-cursor vertical] 2 "\ Undo previous change." nil]) (fset 'evi-undo-line #[nil " !" [evi-undo-start evi-undo-one-line evi-fixup-cursor vertical] 2 "\ Undo all changes to this line." nil]) (fset 'evi-undo-start #[nil " ! @? Auć!" [undo-start boundp buffer-undo-list pending-undo-list nil undo-more 1] 3]) (fset 'evi-undo-more #[nil "!! ! ! ! !" [boundp buffer-undo-list pending-undo-list evi-current-macro evi-in-minibuf message "undo more!" evi-undo-one-change evi-error "No previous undo to continue" evi-fixup-cursor vertical] 2 "\ Continue undoing previous changes." nil]) (byte-code "M!!MMMM" [evi-undo-one-change #[nil " ! )ʼn" [buffer-modified-p modified undo-more 1 delete-auto-save-file-if-necessary t evi-reset-goal-column] 2] boundp evi-last-undo-line-mark nil buffer-undo-list evi-undo-one-line #[nil " A=!y`)`) \n  : @ @= : @; A Y AX @G\\ C 1C : @( @ A W VZX YUBC  WVC W BCVZZBC AƪZͪC - =ͫ A ** \n!! y )!,͉" [evi-last-undo-line-mark buffer-undo-list evi-error "No undo for this line" 0 begin nil end undo-new something-to-do pending-undo-list undo-record list t first second begin2 end2 diff buffer-modified-p modified undo-more 1 evi-current-macro evi-in-minibuf message "Undo!" delete-auto-save-file-if-necessary evi-reset-goal-column] 5] evi-change-last-undo #[(pos char) "@< @@ Aq @!Q! @@I)" [buffer-undo-list ul evi-db "{" prin1-to-string "}" pos char] 5] evi-undo-boundary #[nil "= B" [evi-emacs-version emacs18 nil buffer-undo-list] 2] evi-kill-undo-boundary #[nil "@?A" [buffer-undo-list] 2]] 2) (fset 'evi-set-mark #[(char &optional count) "YX Z\\ I=`" [char 97 122 evi-registers 36 point-marker 46 evi-mark] 3 "\ Mark location." (evi-character-arg)]) (fset 'evi-goto-mark-horizontal #[nil " $" [evi-motion-command do-evi-goto-mark-horizontal horizontal evi-adjust-count evi-context] 5 "\ Goto a mark." nil]) (fset 'do-evi-goto-mark-horizontal #[(&optional count context) " \n\"" [evi-goto-mark-internal evi-read-command-char context] 3]) (fset 'evi-goto-mark-vertical #[nil " $" [evi-motion-command do-evi-goto-mark-vertical vertical evi-adjust-count evi-context] 5 "\ Goto a mark. If an operand, define a whole lines region." nil]) (byte-code "MMMMMM" [do-evi-goto-mark-vertical #[(&optional count context) " \n\"\n " [evi-goto-mark-internal evi-read-command-char context back-to-indentation] 3] evi-goto-mark-internal #[(char &optional context) "YX Z\\Hp != !!` b)== b= b= b" [char 97 122 evi-registers 36 marker marker-buffer switch-to-buffer context evi-mark evi-push-context 96 39 evi-exchange-context 46 evi-pop-context 44 evi-unpop-context] 3] evi-push-context #[(&optional offset) " “   IUȪT)" [offset make-marker nil point-marker marker evi-context-ring evi-context-ring-cursor 9 0] 3] evi-pop-context #[nil "UªS H" [evi-context-ring-cursor 0 9 evi-context-ring] 2] evi-unpop-context #[nil "UªT H" [evi-context-ring-cursor 9 0 evi-context-ring] 2] evi-exchange-context #[nil "UªS H I)" [evi-context-ring-cursor 0 9 cursor evi-context-ring point-marker] 4]] 2) (fset 'evi-redraw #[nil "= = ! = !" [evi-emacs-version emacs18 redraw-display emacs19 window-system redraw-frame selected-frame lucid19 redraw-screen selected-screen] 2 "\ Redraw the display." nil]) (fset 'evi-file-info #[nil "`Td^\"`d\"\\S   \"  ͪ Ϫ\n iT\n_ &+" [count-lines 1 line-number total-lines buffer-file-name file-name message "\"%s\"%s%s line %d of %d, column %d --%d%%--" evi-global-directory evi-abbreviate-file-name evi-current-directory "" evi-buffer-read-only " [Read only]" buffer-modified-p " [Modified]" 100] 11 "\ Give information on the file associated with the current buffer." nil]) (fset 'evi-abbreviate-file-name #[(file-name directory &optional abbrev) "G SHU V G Y O  Ī\\OP *" [directory length 47 ends-in-slash 0 file-name abbrev "" 1 nil] 4]) (fset 'evi-tag #[nil "$`{!" [evi-motion-command do-evi-forward-word horizontal 1 to-end ex-tag evi-mark] 5 "\ Go to the tag which is the next word in the buffer." nil]) (byte-code "M! MMMMMMMMMMMMMM! !\"" [evi-make-char-table #[nil "\" SX Iq SX Iq SX Iq SX Iq *" [make-vector 256 0 58 i table 48 1 91 65 2 123 97 32 4] 3] boundp evi-char-table evi-is-num #[(c) " \nH\"U" [logand evi-char-table c 1] 3] evi-is-alpha #[(c) " \nH\"U" [logand evi-char-table c 2] 3] evi-is-alphanum #[(c) " \nH\"U?" [logand evi-char-table c 3 0] 3] evi-is-nonalphanum #[(c) " \nH\"U" [logand evi-char-table c 3 0] 3] evi-is-control-char #[(c) " \nH\"U" [logand evi-char-table c 4] 3] evi-is-printable #[(c) " !? W" [evi-is-control-char c 127] 2] evi-display-and-prompt #[(command &optional args) "  = ! \" !!  U U U\n! !)*" [selected-window current-window-configuration wconf window minibuffer-window select-window previous-window apply command args message "Hit SPACE or RET to continue, anything else to keep window" evi-read-char c 10 13 32 set-window-configuration] 4] evi-display-list-and-prompt #[(buffer list &optional initial max-len) "\n F\"" [evi-display-and-prompt evi-display-list buffer list initial max-len] 6] evi-display-list #[(buffer list &optional initial max-len) " !q c = ȥZ  Z\"eb \")̇" [get-buffer-create buffer erase-buffer evi initial max-len half window-width 2 list evi-insert-list-pretty display-buffer t] 4] evi-insert-list-pretty #[(list max-len) "G! ^\\   S\\ \n   W Z  \n VS\n_ B Sg)\nV  ˉ@\nZ@ jG V ZOPc \\ )AF+cS'U. " [list len evi-max-len max-len max-width 2 col-width window-width width cols rows nil counters indent 1 count 0 found item s "..." 10] 5] evi-max-len #[(list) "\n\" \")" [mapcar length list lengths apply max] 3] evi-pretty-char #[(c) " ! ! ! UƇ Uȇ Uʇ U̇ WΪ\\!P \\!P U ҇Ӈ \"" [evi-is-printable c char-to-string evi-is-control-char ex-input-escapes 10 "\\n" 13 "\\r" 9 "\\t" 27 "\\e" "\\C-" 96 64 "^" 127 "\\C-?" "^?" format "\\%03o"] 5] evi-pretty-string #[(s) "\n#" [mapconcat evi-pretty-char s ""] 4] evi-pretty-binding #[(b) " @! A: AA A!Q" [evi-pretty-string b " = "] 4] ex-user-buffer nil ex-printed] 2) (fset 'evi-ex-command #[nil " \"p $" [evi-extend-continuation ex-read-command-after current-window-configuration ex-user-buffer nil ex-printed evi-read-string ":" evi-ex-map evi-ex-input-map] 5 "\ Execute an ex command." nil]) (byte-code "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM@AMBCMDEMFGMHIMJKMLMMNOMPQMRSMTUMVWMXYMZ[M\\]M^_M`aMbcMdeMfgMhiMjkMlmMnoMpqMrsMtuMvwMxyMz{!|{}~MMMMMMMMMMMMM=M=MM" [ex-read-command-after #[(wconf) " ! ! qed=!)!" [set-window-configuration wconf evi-do-ex-command-string evi-minibuf-contents ex-printed "*Print*" evi-display-and-prompt #[nil "eb p!" [evi display-buffer] 2] evi-fixup-cursor vertical] 2] ex-do-completion #[(name start c-name c-list-fun) ";  !! `|cc c)!``\\|" [c-name name evi-display-completions c-list-fun start " " beep " [no match]" sit-for 2 11] 3] evi-display-completions #[(list) "\n#" [evi-display-list " *Completions*" list "Possible completions are:\n"] 4] ex-scan-one-command-point #[nil " ` l B`B A@A\"`B`B*" [ex-scan-addresses start-of-com ex-scan-command-name command ex-scan-parameter-list t nil] 3] ex-scan-command-point #[nil " wgUu s )" [ex-scan-one-command-point res " " nil 124] 2] ex-is-completable #[(proto) "=========" [proto file files shell-command buffer settings command map abbrev process] 2] ex-complete #[nil "yu @@ @Ax`)]`{ = = =! !pq \" q) G\\ \"$+; = \"\"\"\"$); =Њbw`)`V ;f=Tf=\\f=O\\)\"**\"$) = = = =/\" =1!233\"$) = \"88\"$)c," [0 nil ex-scan-command-point cmd-point type "^ " start-of-word word file files shell-command file-name-nondirectory name file-name-directory odir cur-buffer ex-user-buffer expand-file-name evi-current-directory dir ex-do-completion file-name-completion #[(c-name) " \n\"" [file-name-all-completions c-name dir] 3] buffer mapcar list evi-filter #[(name) "HU?" [name 0 32] 2] buffer-name buffer-list buf-list try-completion #[(c-name) " \n\"" [all-completions c-name buf-list] 3] settings "^=\n" beep 110 111 2 118 car evi-option-list settings-list #[(c-name) " \n\"" [all-completions c-name settings-list] 3] command map abbrev ex-commands evi-keymap-bindings evi-map-map evi-abbrev-list cmd-list #[(c-name) " \n\"" [all-completions c-name cmd-list] 3] process #[(x) " !C" [process-name x] 2] process-list proc-list #[(c-name) " \n\"" [all-completions c-name proc-list] 3] 9] 8 nil nil] evi-filter #[(pred list) "B @!\n @B Am A*" [nil head end list pred] 4] evi-do-ex-command-file #[(filename) " !p q  !)eb q+" [file-readable-p filename evi-current-directory nil evi-interactive def-dir ex-user-buffer ex-work-space erase-buffer default-directory insert-file-contents evi-do-ex-command] 3] evi-do-ex-command-string #[(command-string) "p q ıeb q)" [ex-user-buffer ex-work-space erase-buffer command-string "\n" evi-do-ex-command] 2] evi-do-ex-command #[nil "m? \nq  !qu)b" [ex-scan-command command ex-user-buffer evi-global-directory evi-current-directory default-directory eval ex-work-space nil] 2] ex-scan-command #[nil "gUugU  A@@@@A@A AA\n! !V# \"w!m`wx`{\"\n= @DB= DB.B" [58 nil 34 ex-scan-addresses addresses ex-scan-command-name command-struct number-of-addresses command-name command-prototype command-function evi-error "Unknown ex command" ex-count-addresses "The %s command only needs %d addresses" ex-scan-parameter-list parameter-list " " looking-at "[|\n]" "garbage after end of command: `%s'" "^|\n" 1 quote 2] 6] ex-scan-parameter-list #[(prototype-list completing) "@A@@=\nw@@= ` < @= A@! 8` ! !  l ! BA \"  B-" [prototype-list t skip-white prototype " " nil backup backward-char start if ex-scan-parameter 2 param completing ex-is-completable ex-scan-parameter-list recurs] 3] ex-scan-parameter #[(prototype) ";!= D= D=\"==\"==\"===\"= =!= D= D= =\"= = " [prototype nil ex-scan-string address quote ex-scan-address register ex-scan-register file ex-scan-quoted "%#*?$[" " |\n" buffer words "|\n" rest-of-line process "\n" word map abbrev regular-expression ex-scan-regular-expression regular-expression2 t command ex-scan-command settings ex-scan-settings files ex-scan-files shell-command "%#" offset ex-scan-edit-offset mark ex-scan-mark] 3] ex-scan-addresses #[nil "wgUuBBBBB! wgUuw BBBBBBBB" [" " nil 37 number 1 0 dollar looking-at "[-+0-9.$^'/?]" ex-scan-address 44] 3] ex-scan-address #[nil " B" [ex-scan-linespec ex-scan-line-offset] 2] ex-scan-linespec #[nil "gYX`w `{!)B=uB=uB=uB=uhB= B= B)" [char 48 57 start "0-9" nil number string-to-int 46 dot 36 dollar 94 prev 39 2 mark 47 re-forward ex-scan-regular-expression 63 re-backward] 5] ex-scan-regular-expression #[(&optional esc-ampersand) "!?u` ?Ph!Q Q w!gUgUuGUQ!`S`|ucu wF `{lu," [looking-at "[|\n]" nil start esc-ampersand "&" evi-search-magic ".[*" stop-chars "^\n\\\\" char-to-string skip-chars "[\\\\" "]" stop-pat 92 22 0 "[" "\\"] 4] ex-scan-line-offset #[nil "!`uw`\nZUhWhUŪȪ\n`{!)ʇ" [looking-at "[0-9+-]" start nil "0-9" 1 48 43 -1 string-to-int 0] 3] ex-scan-edit-offset #[nil "gU??ug! ć" [43 nil evi-is-num ex-scan-line-offset -1] 2] ex-define-region #[(addresses whole-lines default-whole-file) "@A@@ edb`\n!` \")!*" [addresses end start default-whole-file evi-mark starting-point ex-goto-address whole-lines evi-expand-region-to-lines ex] 4] ex-goto-line #[(line) "`ebSyVmo? b!)dbhUyyLJ" [line starting-point 0 evi-error "Past end of buffer" 10 -1 nil] 2] ex-goto-address #[(address &optional starting-point) "@@@A= !\n=b\n=!\n=by\n= !\n= GU! bӍy!)\n=b #*Ay" [address value token number ex-goto-line dot starting-point dollar nil prev -1 mark evi-goto-mark-internal re-forward 0 ex-previous-re evi-error "No previous regular expression" abort (byte-code "\n#ć" [evi-do-search t value 1 nil] 4) message re-backward evi-do-search 1] 5] ex-goto-line-after-address #[(address) "@@y@@=@AUeb!y" [address nil number 0 ex-goto-address] 2] ex-count-addresses #[(addresses) "@@@=‡A@@=Çć" [addresses nil 0 1 2] 2] ex-scan-command-name #[nil "w`!uhY X Y Xw) \n`{\")" [" " nil start looking-at "[a-zA-Z!<=>&@]" char 97 122 65 90 "a-zA-Z" ex-lookup-command ex-commands] 5] ex-lookup-command #[(command-list command) " @ @\"  Aj\n+" [command-list nil found cmd-struct list ex-command-eq command] 4] ex-command-eq #[(command command-cell) "@\n \nGAY GW\n@\nGO))" [command-cell full-command command command-length 0] 5] ex-scan-register #[nil "g!gu ! Y X)?BB" [evi-is-alpha char nil evi-register-number 97 122 evi-register-unnamed] 3] ex-scan-mark #[nil "g!gu Y XêZ\\)!" [evi-is-alpha char nil 97 122 65 36 evi-error "marker name required for mark command"] 3] ex-scan-files #[nil "\"GV\n Bwk *BB" [nil flist file ex-scan-quoted "%#*?$[" " |\n" 0 " " quote] 3] ex-scan-quoted #[(stop-chars delim-chars) "` \nQ Q w!g U``T|u U``T|g U``T|c U``T|c U``T|c U``T|c U`TfU`\\f W۪Zc``\\|)u)u U!!\"``T|\"c!) U&``T|&c!u)w ` `{P$ b\nPw `U? `{," ["^\\\\" stop-chars delim-chars "[\\\\" "]" nil expand-glob stop-pat skip-chars start looking-at char 22 92 ex-input-escapes 101 27 110 10 114 13 116 9 67 45 2 97 64 96 3 1 37 buffer-file-name ex-user-buffer file-name evi-error "Buffer has no filename to substitute for %%%%" 35 evi-prev-file "No alternate filename to substitute for #" t shell-command-on-region "echo " "^"] 7] ex-scan-string #[(string) "Gw`)`ZX`` \\{ u))" [string string-length "^|\n" nil buffer-string t] 4] ex-not-implemented #[(&optional arg) "!" [message "Command not implemented"] 2] ex-abbrev #[(abbrev definition) "\n\" G B AA!\" G BB\nB\")\n\"\"" [abbrev assoc evi-abbrev-list elem definition message "%s" evi-pretty-string evi-error "No abbrev for `%s'" evi-display-list-and-prompt "*Abbrevs*" mapcar evi-pretty-binding] 6] ex-expand-abbrev #[nil " @@` @A@Z#h!`` @A@\\| @AAc` @A@\\b AN*" [evi-abbrev-list nil case-fold-search abbrev search-backward t evi-is-nonalphanum] 5] evi-self-insert #[nil " \n! !" [evi-kill-undo-boundary evi-is-nonalphanum last-command-char ex-expand-abbrev self-insert-command 1] 2 nil nil] ex-change-buffer #[(exclam buffer-name) " \n#" [ex-change-buffer-internal exclam buffer-name nil] 4] ex-change-buffer-other-window #[(exclam buffer-name) " \n#" [ex-change-buffer-internal exclam buffer-name t] 4] ex-change-buffer-internal #[(exclam buffer-name other-window) "p!!! !!\" )" [buffer-name other-buffer ex-verify-buffer found exclam other-window switch-to-buffer-other-window switch-to-buffer message "Buffer \"%s\" does not exist" evi] 3] ex-verify-buffer #[(buffer-name) "  @ !  An\n+" [buffer-list nil found buf list buffer-name] 4] evi-expand-file-name #[(file-name) " !G\n SHU\n\nP*" [expand-file-name file-name expanded-name len 47 "/"] 3] evi-current-directory #[nil " @\n" [evi-global-directory evi-directory-stack default-directory] 1] ex-change-directory #[(directory-name) " ! )" [evi-expand-file-name directory-name "~" expnd-dir-name evi-global-directory evi-directory-stack default-directory] 2] ex-push-directory #[(directory-name) "!\nB\nA!\nA@\n@\nAABB" [directory-name evi-expand-file-name evi-directory-stack evi-error "Only one directory"] 3] ex-pop-directory #[nil "A!A" [evi-directory-stack evi-error "Only one directory left"] 2] ex-directory-stack #[nil "!#!)" [getenv "HOME" home message mapconcat #[(f) " \n#GS HU O *" [evi-abbreviate-file-name f home "~" dir end 47 0] 5] evi-directory-stack " "] 5] ex-copy #[(from-addresses to-address) " # `{! c)" [ex-define-region from-addresses t nil evi-mark text ex-goto-line-after-address to-address] 4] ex-delete #[(addresses register-struct) " #!`W `|)" [register-struct evi-register-spec ex-define-region addresses t nil evi-copy-region-to-registers evi-mark evi-exchange-point-and-mark] 4] ex-edit #[(exclam offset file-name) " \n $" [ex-edit-internal exclam offset file-name nil] 5] ex-edit-other-window #[(exclam offset file-name) " \n $" [ex-edit-internal exclam offset file-name t] 5] ex-edit-internal #[(exclam offset file-name other-window) " \n !\n !\" p!\n!!p!=! )U?!" [file-name exclam other-window buffer-modified-p message "Buffer modified since last save (use :edit! to override)" split-window-vertically buffer-file-name "Buffer has no file associated with it" revert-buffer nil t evi get-buffer prev-buf find-file-other-window find-file evi-prev-file offset ex-goto-line -1] 3] ex-elisp-execute #[(lisp-expression) "\n!@!" [eval read-from-string lisp-expression] 3] ex-file #[(file-name) "! " [file-name set-visited-file-name evi-file-info] 2] ex-global #[(addresses notmatch pattern command) " ` \n GU   !  É# `ZV!“`W`y `“b  S#=b`! bI ! ‰‰ b!." [evi-ignore-case make-marker nil t large-region end-pos none-found start end-line-mark next-line-mark case-fold-search pattern 0 ex-previous-re evi-error "No previous regular expression" ex-define-region addresses evi-exchange-point-and-mark evi-mark 5000 message "running global command... " re-search-forward notmatch eval command "running global command... complete." "No occurance of pattern found"] 8] ex-vglobal #[(addresses pattern command) " $" [ex-global addresses t pattern command] 5] ex-recurse #[(fun) "p q `q!p q c bq+" [ex-user-buffer ex-work-space buffer-string work-point work-string eval fun erase-buffer] 2] ex-initialize #[nil "!" [ex-recurse (evi-customize)] 2] ex-kill-buffer #[(exclam buffer-name) " \n#" [ex-kill-buffer-internal exclam buffer-name nil] 4] ex-kill-buffer-delete-windows #[(exclam buffer-name) " \n#" [ex-kill-buffer-internal exclam buffer-name t] 4] ex-kill-buffer-internal #[(exclam buffer windows-too) " p!\n ! !! q! \n̏ !p" [get-buffer buffer exclam buffer-file-name buffer-modified-p evi-error "No write since last change (use :kill! to override)" set-buffer-modified-p nil delete-auto-save-file-if-necessary windows-too (delete-windows-on buffer) ((error)) kill-buffer ex-user-buffer] 3] boundp evi-special-keys (f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 kp-f1 kp-f2 kp-f3 kp-f4 left right up down M-left M-right deletechar deleteline insertline redo undo insert execute begin end next M-next prior home find menu select props kp-enter kp-separator kp-add kp-subtract kp-period kp-0 kp-1 kp-2 kp-3 kp-4 kp-5 kp-6 kp-7 kp-8 kp-9) ex-find-fkey #[(suffix) " !\n! =\n  !\n@  \n A  @ ̉\nl\nA\n@ _ +*" [intern suffix sym vector key window-system x evi-special-keys evi-keymap-bindings function-key-map bindings it nil fkey] 3] ex-map #[(exclam key definition) " \n GV HU H! OP! OP! O!  ! # # # \";!\" \") !\"\")" [exclam evi-input-map-map evi-map-map map key 1 0 35 evi-is-num ex-find-fkey "f" nil "kp-f" vectorp define-key evi-top-level-map evi-top-level definition evi-define-key (input-map) (map) lookup-key mapping message "%s" evi-pretty-string evi-error "No map for `%s'" evi-display-list-and-prompt "*Mappings*" mapcar evi-pretty-binding evi-keymap-bindings] 7] ex-mark #[(address marker) " `\"\n I)" [ex-goto-address address evi-registers marker point-marker] 3] ex-move #[(from-addresses to-address) " # `{Ŋ!`)! `W ` |b cÉ*" [ex-define-region from-addresses t nil evi-mark copy-marker ex-goto-line-after-address to-address to-mark text evi-exchange-point-and-mark] 4] ex-preserve #[nil " " [do-auto-save] 1] ex-print #[(addresses) " # `{!q c)" [ex-define-region addresses t nil evi-mark get-buffer-create "*Print*" ex-printed erase-buffer] 4] ex-next #[(exclam files) " \n#" [ex-next-internal exclam files nil] 4] ex-next-other-window #[(exclam files) " \n#" [ex-next-internal exclam files t] 4] ex-next-internal #[(exclam files other-window) "\"p! @! @! p!= !\n ))! \np!!! !)" [files mapcar find-file-noselect next-buffers get-buffer prev-buf other-window switch-to-buffer-other-window switch-to-buffer buffer-file-name evi-prev-file evi evi-next-file-buffer t next-buffer bury-buffer message "All files are displayed"] 4] evi-next-file-buffer #[(not-in-window) " A @ \n!\n! Aj *@)" [buffer-list nil buffer list not-in-window get-buffer-window buffer-file-name rest-of-list] 3] ex-put #[(address register-struct) " !\n @H A= @G! @G! A= @! @c A=c)  @!\"!)" [ex-goto-line-after-address address evi-registers register-struct register rectangle newline backward-char insert-rectangle chars 10 evi-register-spec message "Nothing in register %c" evi-register-name "No text to put"] 5] evi-list-apply #[(func l) " @! A\"" [l func evi-list-apply] 3] ex-quit #[(discard) " !" [evi-quit-function discard] 2] evi-emacs-version emacs19 window-system ex-quit-internal #[(discard) " GU ! " [frame-list 1 ex-really-quit discard delete-frame] 2] lucid19 #[(discard) " GU ! " [screen-list 1 ex-really-quit discard delete-screen] 2] #[(discard) " !" [ex-really-quit discard] 2]] 2) (byte-code "MMMMMMMMMMM!MMMMMMMM)=+=MMMMMMMMMM@AMBCMDEMFGMHIMJKMLMM" [ex-really-quit #[(discard) " \" \"A@p=!!) " [discard evi-list-apply #[(buf) " ! q " [buffer-file-name buf delete-auto-save-file-if-necessary] 2] buffer-list evi-filter #[(buf) " !H ! U? U?)" [buffer-name buf 0 c buffer-modified-p 32 42] 2] modified-buffers evi-error "Modified buffers exist (use :quit! to override, :Wq to save buffers and quit)" "No write since last change (use :quit! to override)" kill-emacs] 4] ex-read #[(address shell-command arg) " !\n\n=!\n& !" [ex-goto-line-after-address address shell-command t evi-error "Incomplete shell escape" call-process shell-file-name nil "-c" evi-insert-file arg] 7] evi-insert-file #[(filename) "!c`S`| AA !" [boundp buffer-undo-list 64 insert-file-contents filename] 2] ex-recover #[(exclam file-name) " \n !!!!! " [file-name buffer-file-name exclam buffer-modified-p evi-error "No write since last change (use :recover! to override)" "Buffer has no file associated with it" recover-file auto-save-mode 1 message "Auto save mode on" evi] 2] ex-set #[(settings) "! #!" [settings ex-set-internal message mapconcat evi-get-option evi-set-options " "] 5] ex-set-internal #[(settings) "@@ A\nĘ \"\"$ \n!!!\n \"A!+" [settings setting name value "all" evi-display-list-and-prompt "*Settings*" mapcar #[(x) " @@!" [evi-get-option x] 2] evi-filter #[(x) "AA" [x] 1] evi-option-list nil half princ evi-get-option " " evi-set-option ex-set-internal] 8] ex-scan-settings #[nil "w!`w `{)!u\"B\nB!uB\nBB\nB)w" bool t "no" number "=" int-to-string "" string evi-pretty-string char evi-pretty-char "Internal Error: Invalid type `%s'" prin1-to-string] 6] evi-set-option #[(option value) " \n\"\nGV\nHU\nHU \nO\" \nA@ =\n\"\nAA=\n@\" = ;\n#\n = ; ! \n#\n = ;\n#\nL = ; GU H \n\"\n\n#\n !\"\nAA\nAA Lȉ !!@ \n!A!k+\nC\nC\nAA!\nAA !*" [evi-search-option-list evi-option-list option 2 0 110 1 111 nil value option-struct type evi-warning "Invalid option `%s'" evi-interactive evi-report-unsupported-options "Option `%s' not implemented" bool "Only %s or no%s allowed" number string-to-int "Use %s= to set, or %s? to query" string "Use %s= to set, or %s? to query" char "Only single character can be assigned to `%s'" "Use %s= to set, or %s? to query" evi-error "Internal Error: Invalid type `%s'" prin1-to-string evi-set-options found opt list fboundp] 6] evi-search-option-list #[(option-list option) " @@ \" @ AB) Ac\n+" [option-list nil found option-struct list option-strings evi-string-list-match option] 4] evi-string-list-match #[(string-list string) " @‡A \"" [string-list string t evi-string-list-match] 3] boundp evi-shell-mode-hook nil evi-shell-mode-setup #[nil "!!L!L!!L \n " [run-hooks evi-shell-mode-hook make-local-variable evi-insert-mode-local-bindings t evi-wrap-margin 0 evi-emacs-local-suppress-key-list (27) evi evi-shell-map evi-buffer-local-vi-map] 2] evi-shell-send-input #[nil "! =p!!b " [fboundp comint-mode comint-send-input evi-mode vi process-mark get-buffer-process evi-insert shell-send-input] 3 nil nil] ex-shell #[nil "!  *" [boundp shell-mode-hook evi-shell-mode-setup evi-shell-mode-hook shell evi-insert] 2] ex-gdb #[(program-name) "!  ! *" [boundp gdb-mode-hook evi-shell-mode-setup evi-shell-mode-hook gdb program-name evi-insert] 2] ex-source-file #[(file-name) " ! ! D! \" \"" [file-exists-p file-name file-readable-p ex-recurse evi-do-ex-command-file evi-warning "Unable to read file `%s'" "No such file or directory: %s"] 3] ex-split #[(file-name) " " [split-window-vertically] 1] ex-substitute #[(addresses pattern replacement global query) "` `  #  GU b!  b! HU HU `ZV!Ó`W #͔b`\"]yX !É b \"." [evi-ignore-case make-marker t nil large-region end-pos none-found end-line-mark start case-fold-search ex-define-region addresses pattern 0 ex-previous-re evi-error "No previous regular expression" ex-previous-replacement replacement "No previous substitution" "" 94 36 global evi-exchange-point-and-mark evi-mark 5000 message "running substitute command... " re-search-forward ex-replace-match query "running substitute command... complete." "No occurance of pattern `%s' found"] 7] ex-substitute-again #[(addresses) " ‰É%" [ex-substitute addresses "" nil] 6] evi-emacs-version emacs19 window-system x evi-hilight-region #[(start end) " \nT\" #! !)" [make-overlay start end ov overlay-put face region sit-for 99999 delete-overlay] 4] #[(start end) "` b\n!t b ?d b+" [nil t going flag here start sit-for 1 end] 4] ex-replace-match #[(query replacement) " ! S\" U Uc U^ UY UT ‰O U U+#b" [query 0 nil answer end beginning message "replace? (y or n)" evi-hilight-region evi-read-char 3 keyboard-quit 121 110 89 78 beep replace-match replacement t] 5] ex-tag #[(tag) " ! ! " [tag ex-tag evi-error "No previous tag specified" find-tag evi] 2] ex-unabbrev #[(abbrev) " @@\n\n A Ae  A_*" [evi-abbrev-list nil alist2 alist abbrev] 3] ex-unmap #[(exclam key) " # #" [exclam evi-define-key (input-map) key nil (map)] 4] ex-evi-version #[nil " !" [message evi-version] 2] ex-write #[(addresses exclam shell-command append file-arg) "=! #`)BC\")\n  HU  P  ! ! !   !\n #\neU`dU! ` $)!!)" [shell-command t evi-error "Incomplete shell escape" ex-define-region addresses evi-mark region evi-display-and-prompt #[(cmd) " @ A\n# =!qed\"V)ɇ" [shell-command-on-region region cmd evi-emacs-version emacs19 get-buffer "*Shell Command Output*" count-lines 1 t] 4] file-arg buffer-file-name file-name 0 47 evi-current-directory exclam fboundp file-truename file-exists-p evi-buffer-read-only set-buffer-modified-p basic-save-buffer write-region append "File read-only (use :write! to attempt override)" "File exists, use :write! to override"] 6] ex-write-all-buffers #[(quietly) " !" [save-some-buffers quietly] 2] ex-write-kill #[nil "! ĉ\"" [set-buffer-modified-p t basic-save-buffer ex-kill-buffer nil] 3] ex-write-quit #[(discard) "! !" [set-buffer-modified-p t basic-save-buffer ex-quit discard] 2] ex-write-all-and-quit #[(quietly) " \"!" [save-some-buffers quietly t ex-quit] 3] ex-yank #[(addresses register-struct) " #!*" [register-struct evi-register-spec ex-define-region addresses t nil evi-copy-region-to-registers] 4] ex-shell-command #[(addresses background shell-command) "\n! !!  % !)@@@!q )C\"#`$" [shell-command "!" evi-last-shell-command evi-error "No previous shell command to substitute for !" background evi-current-directory curdir switch-to-buffer-other-window get-buffer-create "*Shell Command Output*" evi default-directory erase-buffer start-process "sh" "-c" select-window previous-window addresses evi-display-and-prompt #[(cmd) " !\n=!qed\"V)ȇ" [shell-command cmd evi-emacs-version emacs19 get-buffer "*Shell Command Output*" count-lines 1 t] 3] ex-define-region t nil shell-command-on-region evi-mark] 6] ex-shift-right #[(addresses) " # `#yw" [ex-define-region addresses t nil indent-rigidly evi-mark evi-shift-width -1 " "] 4] ex-shift-left #[(addresses) " # `[#yw" [ex-define-region addresses t nil indent-rigidly evi-mark evi-shift-width -1 " "] 4] ex-null #[(addresses) " #yw" [ex-define-region addresses t nil -1 " "] 4]] 2) (defvar evi-evi-list "evi-list@brandx.rain.com" "\ Address of site maintaining mailing list for Evi.") (defvar evi-bug-address "jlewis@cse.ogi.edu" "\ Address of who maintains evi.") (byte-code "MMMMM!" [ex-mail #[(to) "\n\" ! " [mail nil to evi message "Type `:send' to send message. Type `:kill' to abort." evi-insert] 3] ex-mail-list #[(subject) "\n # db ɱ! " [mail nil evi-evi-list subject evi "Using " evi-version " (" emacs-version ").\n\n" message "Type `:send' to send message. Type `:kill' to abort." evi-insert] 5] ex-elisp-bind #[(input key definition) " ª !@#" [evi-define-key input (insert replace ex) (vi) key read-from-string definition] 5] ex-report-bug #[(subject) "\n # db ɱ! " [mail nil evi-bug-address subject evi "In " evi-version " (" emacs-version ")\n\n" message "Type `:send' to send bug report. Type `:kill' to abort." evi-insert] 5] ex-send-mail #[(exclam) " \"" [mail-send exclam ex-kill-buffer t nil] 3] provide evi] 2)