;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313&\210\302\314\304\305\315DD\316\310\311\312\313&\210\302\317\304\305\320DD\321\310\311\312\313&\210\302\322\304\305\323DD\324\310\311\312\313&\207" [require viper-util custom-declare-variable viper-want-emacs-keys-in-insert funcall function #[0 "\300\207" [t] 1] "Set to nil if you want complete Vi compatibility in insert mode.\nComplete compatibility with Vi is not recommended for power use of Viper." :type boolean :group viper viper-want-emacs-keys-in-vi #[0 "\300\207" [t] 1] "Set to nil if you want complete Vi compatibility in Vi mode.\nFull Vi compatibility is not recommended for power use of Viper." viper-no-multiple-ESC #[0 "\300\207" [t] 1] "If non-nil, multiple ESC in Vi mode will cause bell to ring.\nThis is set to t on a windowing terminal and to `twice' on a dumb\nterminal (unless the user level is 1, 2, or 5). On a dumb terminal, this\nenables cursor keys and is generally more convenient, as terminals usually\ndon't have a convenient Meta key.\nSetting it to nil will allow as many multiple ESC, as is allowed by the\nmajor mode in effect." viper-want-ctl-h-help #[0 "\300\207" [nil] 1] "If non-nil, C-h gets bound to help-command; otherwise, C-h gets the usual Vi bindings."] 8) (defvar viper-vi-intercept-map (make-sparse-keymap)) (defvar viper-insert-intercept-map (make-sparse-keymap)) (defvar viper-emacs-intercept-map (make-sparse-keymap)) #@305 Keymap for user-defined local bindings. Useful for changing bindings such as ZZ in certain major modes. For instance, in letter-mode, one may want to bind ZZ to mh-send-letter. In a newsreader such as gnus, tin, or rn, ZZ could be bound to save-buffers-kill-emacs then post article, etc. (buffer local) (defvar viper-vi-local-user-map (make-sparse-keymap) (#$ . 1852)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-vi-local-user-map put permanent-local t] 4) #@88 Keymap for user-defined global bindings. These bindings are seen in all Viper buffers. (defvar viper-vi-global-user-map (make-sparse-keymap) (#$ . 2354)) #@99 This is the main keymap in effect in Viper's Vi state. This map is global, shared by all buffers. (defvar viper-vi-basic-map (make-keymap) (#$ . 2514)) #@65 This keymap keeps keyboard macros defined via the :map command. (defvar viper-vi-kbd-map (make-sparse-keymap) (#$ . 2672)) #@154 This keymap is in use when the user asks Viper to simulate Vi very closely. This happens when viper-expert-level is 1 or 2. See viper-set-expert-level. (defvar viper-vi-diehard-map (make-sparse-keymap) (#$ . 2802)) #@87 Auxiliary map for per-buffer user-defined keybindings in Insert state. (buffer local) (defvar viper-insert-local-user-map (make-sparse-keymap) (#$ . 3024)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-insert-local-user-map put permanent-local t] 4) #@65 Auxiliary map for global user-defined bindings in Insert state. (defvar viper-insert-global-user-map (make-sparse-keymap) (#$ . 3316)) #@31 The basic insert-mode keymap. (defvar viper-insert-basic-map (make-sparse-keymap) (#$ . 3457)) #@184 Map used when user wants vi-style keys in insert mode. Most of the Emacs keys are suppressed. This map overshadows viper-insert-basic-map. Not recommended, except for novice users. (defvar viper-insert-diehard-map (make-keymap) (#$ . 3559)) #@56 This keymap keeps VI-style kbd macros for insert mode. (defvar viper-insert-kbd-map (make-sparse-keymap) (#$ . 3808)) #@36 Map used in Viper's replace state. (defvar viper-replace-map (make-sparse-keymap) (#$ . 3932)) #@64 Auxiliary map for global user-defined bindings in Emacs state. (defvar viper-emacs-global-user-map (make-sparse-keymap) (#$ . 4033)) #@55 This keymap keeps Vi-style kbd macros for Emacs mode. (defvar viper-emacs-kbd-map (make-sparse-keymap) (#$ . 4172)) #@78 Auxiliary map for local user-defined bindings in Emacs state. (buffer local) (defvar viper-emacs-local-user-map (make-sparse-keymap) (#$ . 4294)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-emacs-local-user-map put permanent-local t] 4) (defvar viper-empty-keymap (make-sparse-keymap)) (defvar viper-mode-map (make-sparse-keymap)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\300\314\302\303\315DD\316\306\317\310\311&\207" [custom-declare-variable viper-toggle-key funcall function #[0 "\300\207" [[(control 122)]] 1] "The key used to change states from Emacs to Vi and back.\nIn insert mode, this key also functions as Meta." :type key-sequence :group viper :set #[514 "\301\300!\203\n\202 \302\303\304\305\306\307\310\"\311\"\312\313%\314 \"\210\315\"\207" [viper-toggle-key boundp [(control 122)] mapc make-byte-code 257 "r\211q\210\305\302!\203 \306\n!\203 \301\203\307\n\301\310#\210\307\n\300\311#\210\305\303!\203<\306 !\203<\301\2036\307 \301\310#\210\307 \300\312#\210\305\304!\205S\306\f!\205S\307\f\301\310#\210\307\f\300\313#)\207" vconcat vector [viper-insert-basic-map viper-vi-intercept-map viper-emacs-intercept-map boundp keymapp define-key nil viper-escape-to-vi viper-toggle-key-action viper-change-state-to-vi] 5 "\n\n(fn BUF)" buffer-list set-default] 11 "\n\n(fn SYMBOL VALUE)"] viper-quoted-insert-key #[0 "\300\207" [#1=""] 1 #1#] "The key used to quote special characters when inserting them in Insert state." string] 10) #@18 Key used to ESC. (defconst viper-ESC-key [escape] (#$ . 5830)) (defvar viper-vi-state-modifier-alist nil) (defvar viper-insert-state-modifier-alist nil) (defvar viper-emacs-state-modifier-alist nil) #@20 nil (buffer local) (defvar viper--key-maps nil (#$ . 6035)) (make-variable-buffer-local 'viper--key-maps) #@20 nil (buffer local) (defvar viper--intercept-key-maps nil (#$ . 6147)) (make-variable-buffer-local 'viper--intercept-key-maps) #@17 (buffer local) (defvar viper-need-new-vi-local-map t (#$ . 6279)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-need-new-vi-local-map put permanent-local t] 4) #@17 (buffer local) (defvar viper-need-new-insert-local-map t (#$ . 6482)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper-need-new-insert-local-map put permanent-local t] 4) #@17 (buffer local) (defvar viper-need-new-emacs-local-map t (#$ . 6693)) (byte-code "\306\307!\210\310\307\311\312#\210\313\314\315#\210\313\316\317#\210\313\320\317#\210\313\321\322#\210\313\323\317#\210\313\324\317#\210\313\325\317#\210\313\314\317#\210\313\326\317#\210\313\327\317#\210\313\330\317#\210\313\331\317#\210\313\332\317#\210\313\333\317#\210\313\334\317#\210\313\335\317#\210\313\336\337#\210\313\340\317#\210\313\341\317#\210\313\342\317#\210\313\343\317#\210\313\344\317#\210\345\211\346X\203\245\313\347\350\"\317#\210\211T\262\202\217\210\313 \351\352#\210\313 \353\354#\210\313 \355\356#\210\313 \n\357#\210\313 \360\361#\210\313 \362\361#\210\313 \363\364#\210\313 \365#\210\313 \366\367#\210\313 \370\371#\210\313\f\355\356#\210\313\f\372\373#\210\313\f\374\373#\210\313\f\360\375#\210\313\f\376\375#\210\313 \377\201A#\210\313 \320\201B#\210\313 \351\201C#\210\313 \323\201D#\210\313 \324\201E#\210\313 \374\201F#\210\313 \336\201G#\210\313 \341\201H#\210\313 \201I\201J#\210\313 \201K\201L#\210\313 \366\201M#\210\313 \370\201N#\210\313 \201O\201P#\210\313 \201Q\201R#\210\313 \201S\201R#\210\313 \201T\201R#\210\313 \201U\201V#\210\313 \201W\201X#\210\313 \201Y\201Z#\210\313 \201[\201\\#\210\313 \201]\201^#\210\313 \201_\201`#\210\313 \201a\201b#\210\313 \201c\201F#\210\313 \201d\201e#\210\313 \201f\201g#\210\313 \201h\201i#\210\313 \201j\201k#\210\313 \201l\201m#\210\313 \201n\201o#\210\313 \201p\201o#\210\313 \201q\201o#\210\313 \201r\201o#\210\313 \201s\201o#\210\313 \201t\201o#\210\313 \201u\201o#\210\313 \201v\201o#\210\313 \201w\201o#\210\313 \201x\201y#\210\313 \201z\201{#\210\313 \201|\201R#\210\313 \201}\201R#\210\313 \201~\201R#\210\313 \201\201\200#\210\313 \201\201\201\202#\210\313 \201\203\201\204#\210\313 \201\205\201\206#\210\313 \201\207\201\210#\210\313 \201\211\201\212#\210\313 \201\213\201\214#\210\313 \201\215\201\216#\210\313 \201\217\201\220#\210\313 \201\221\201\222#\210\313 \201\223\201\224#\210\313 \201\225\201\226#\210\313 \201\227\201\230#\210\313 \201\231\201\232#\210\313 \201\233\201\234#\210\313 \201\235\201\236#\210\313 \201\237\201\240#\210\313 \201\241\201\242#\210\313 \201\243\201\244#\210\313 \201\245\201\246#\210\313 \201\247\201\250#\210\313 \201\251\201\252#\210\313 \201\253\201\254#\210\313 \201\255\201\256#\210\313 \201\257\201\260#\210\313 \201\261\201\262#\210\313 \201\263\201\264#\210\313 \201\265\201\266#\210\313 \201\267\201\270#\210\313 \201\271\201\272#\210\313 \201\273\201\274#\210\313 \363\364#\210\313 \201\275\201\276#\210\313 \201\277\201\300#\210\313 \201\301\201\302#\210\313 \201\303\201\304#\210\313 \201\305\201R#\210\313 \201\306\201R#\210\313 \201\307\201\310#\210\313 \201\311\201\312#\210\313 \201\313\201\230#\210\313 \201\314\201\315#\210\313 \201\316\201\315#\210\313 \201\317\201\320#\210\313 \201\321\201\322#\210\313 \201\323\201\324#\210\313 \201\325\201P#\210\313 \201\326\201\327#\210\313 \201\330\201\331#\210\313 \201\332\201\333#\210\313 \201\334\201\335#\210\313 \201\336\201\230#\210\313 \201\337\201\340#\210\313 \201\341\201\342#\210\313 \201\343\201\344#\210\313 \201\345\201\254#\210\313 \201\346\201\347#\210\313 \201\350\201\351#\210\313 \201\352\201\353#\210\313 \201\354\201\355#\210\313 \201\356\201R#\210\313 \201\357\201\360#\210\313 \201\361\201\362#\210\313 \201\363\201\364#\210\313 \201\365\201\360#\210\313 \201\366\201\362#\210\313 \201\367\201\364#\210\313 \201\370\201\371#\210\313 \201\372\201\373#\210\313 \201\374\201\375#\210\313 \201\376\201\377#\210\313 \360\201\315#\210\313 \201\201\230#\210\313@\316\201\230#\210\313@\321\201\230#\210\313@\325\201L#\210\313@\314\201\230#\210\313@\326\201\230#\210\313@\327\201#\210\313@\330\201\322#\210\313@\331\201\230#\210\313@\332\201\324#\210\313@\333\201\230#\210\313@\334\201#\210\313@\335\201\230#\210\313@\355\201\230#\210\313@\201\350\201\230#\210\313@\353\201\230#\210\313@\201\201\201\230#\210\313@\201\201\230#\210\313@\201a\201\230#\210\313@\201T\201\230#\210\313@\344\201\230#\210\313@\343\201\230#\207" [viper-insert-diehard-map viper-insert-basic-map viper-quoted-insert-key viper-toggle-key viper-replace-map viper-vi-basic-map make-variable-buffer-local viper-need-new-emacs-local-map put permanent-local t define-key " " viper-insert-tab "" self-insert-command "" "" viper-change-state-to-vi "" "" "" " " "\f" "" "" "" "" "" "" "" viper-erase-line "" "" "" "" "" 32 126 make-string 1 "" viper-backward-indent "" viper-delete-backward-word "" viper-forward-indent quoted-insert "" viper-del-backward-char-in-insert [backspace] "" viper-alternate-Meta-key viper-escape-to-vi "\360" viper-insert-prev-from-insertion-ring "\356" viper-insert-next-from-insertion-ring "\n" viper-replace-state-carriage-return " " viper-del-backward-char-in-replace [backspace] "" viper-vi-diehard-map #[0 "\300\301\302\"\207" [viper-ex nil "e#"] 3 nil nil] viper-scroll-screen-back viper-scroll-up viper-scroll-up-one viper-scroll-screen viper-next-line-at-bol viper-scroll-down viper-scroll-down-one "/" viper-toggle-search-style "" viper-info-on-file viper-prev-destructive-command viper-next-destructive-command " " viper-forward-char "!" viper-command-argument "\"" "#" "$" viper-goto-eol "%" viper-paren-match "&" #[0 "\300\301\302\"\207" [viper-ex nil "&"] 3 nil nil] "'" viper-goto-mark-and-skip-white "(" viper-backward-sentence ")" viper-forward-sentence "*" call-last-kbd-macro "+" "," viper-repeat-find-opposite "-" viper-previous-line-at-bol "." viper-repeat "/" viper-search-forward "0" viper-beginning-of-line "1" viper-digit-argument "2" "3" "4" "5" "6" "7" "8" "9" ":" viper-ex ";" viper-repeat-find "<" "=" ">" "?" viper-search-backward "@" viper-register-macro "A" viper-Append "B" viper-backward-Word "C" viper-change-to-eol "D" viper-kill-line "E" viper-end-of-Word "F" viper-find-char-backward "G" viper-goto-line "H" viper-window-top "I" viper-Insert "J" viper-join-lines "K" viper-nil "L" viper-window-bottom "M" viper-window-middle "N" viper-search-Next "O" viper-Open-line "P" viper-Put-back "Q" viper-query-replace "R" viper-overwrite "S" viper-substitute-line "T" viper-goto-char-backward "U" viper-undo "V" find-file-other-window "W" viper-forward-Word "X" viper-delete-backward-char "Y" viper-yank-line "ZZ" viper-save-kill-buffer "\\" viper-escape-to-emacs "[" viper-brac-function "]" viper-ket-function "^" viper-bol-and-skip-white "`" viper-goto-mark "a" viper-append "b" viper-backward-word "c" "d" "e" viper-end-of-word "f" viper-find-char-forward "g" "h" viper-backward-char [backspace] "i" viper-insert "j" viper-next-line "k" viper-previous-line "l" "m" viper-mark-point "n" viper-search-next "o" viper-open-line "p" viper-put-back "q" "r" viper-replace-char "s" viper-substitute "t" viper-goto-char-forward "u" "v" find-file "" find-file-other-frame "w" viper-forward-word "x" viper-delete-char "y" "zH" viper-line-to-top "zM" viper-line-to-middle "zL" viper-line-to-bottom "z " "z." "z-" "{" viper-backward-paragraph "|" viper-goto-col "}" viper-forward-paragraph "~" viper-toggle-case "_" redraw-display] 6) #@64 Keymap used to modify keys when Minibuffer is in Insert state. (defvar viper-minibuffer-map (make-sparse-keymap) (#$ . 14059)) (byte-code "\301\302\303#\210\301\304\303#\207" [viper-minibuffer-map define-key " " viper-exit-minibuffer "\n"] 4) (defvar viper-ex-cmd-map (make-sparse-keymap)) (byte-code "\301\302\303#\210\301\304\305#\207" [viper-ex-cmd-map define-key " " ex-cmd-read-exit " " ex-cmd-complete] 4) (defvar ex-read-filename-map (make-sparse-keymap)) (byte-code "\301\302\303#\210\301\304\305#\207" [ex-read-filename-map define-key " " viper-complete-filename-or-exit "!" viper-handle-!] 4) #@97 This map redefines `/' and `:' to behave as in Vi. Useful in some modes, such as Gnus, MH, etc. (defvar viper-slash-and-colon-map (make-sparse-keymap) (#$ . 14674)) (byte-code "\301\302\303#\210\301\304\305#\207" [viper-slash-and-colon-map define-key ":" viper-ex "/" viper-search-forward] 4) #@32 This map modifies comint mode. (defvar viper-comint-mode-modifier-map (make-sparse-keymap) (#$ . 14975)) (byte-code "\301\302\303#\210\301\304\303#\207" [viper-comint-mode-modifier-map define-key " " viper-exec-key-in-emacs ""] 4) #@35 This map modifies Dired behavior. (defvar viper-dired-modifier-map (make-sparse-keymap) (#$ . 15215)) (byte-code "\301\302\303#\210\301\304\305#\207" [viper-dired-modifier-map define-key ":" viper-ex "/" viper-search-forward] 4) #@34 This map modifies Gnus behavior. (defvar viper-gnus-modifier-map (make-sparse-keymap) (#$ . 15452)) (define-key viper-gnus-modifier-map ":" 'viper-ex) #@468 Override some vi-state or insert-state bindings in the current buffer. The effect is seen in the current buffer only. Useful for customizing mailer buffers, gnus, etc. STATE is `vi-state', `insert-state', or `emacs-state'. ALIST is of the form ((key . func) (key . func) ...) Normally, this would be called from a hook to a major mode or on a per buffer basis. Usage: (viper-add-local-keys state \='((key-str . func) (key-str . func)...)) (fn STATE ALIST) (defalias 'viper-add-local-keys #[514 "\306\307\267\2024\203\310 \306 \262\2029\n\203\310 \306 \262\2029\f\203,\310 \306 \262\2029\311\312\"\210\313\"\210\314 \210\315!\207" [viper-need-new-vi-local-map viper-vi-local-user-map viper-need-new-insert-local-map viper-insert-local-user-map viper-need-new-emacs-local-map viper-emacs-local-user-map nil #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (vi-state 7 insert-state 22 emacs-state 37)) make-sparse-keymap error "Invalid state in viper-add-local-keys: %S. Valid states: vi-state, insert-state or emacs-state" viper-modify-keymap viper-normalize-minor-mode-map-alist viper-set-mode-vars-for viper-current-state] 6 (#$ . 15610)]) #@211 Unconditionally reset Viper viper-*-local-user-map's. Rarely useful, but if you made a mistake by switching to a mode that adds undesirable local keys, e.g., comint-mode, then this function can restore sanity. (defalias 'viper-zap-local-keys #[0 "\306 \307\306 \307\306 \307\310 \207" [viper-vi-local-user-map viper-need-new-vi-local-map viper-insert-local-user-map viper-need-new-insert-local-map viper-emacs-local-user-map viper-need-new-emacs-local-map make-sparse-keymap nil viper-normalize-minor-mode-map-alist] 1 (#$ . 16830) nil]) #@605 Modify key bindings in a major-mode in a Viper state using a keymap. If the default for a major mode is emacs-state, then modifications to this major mode may not take effect until the buffer switches state to Vi, Insert or Emacs. If this happens, add viper-change-state-to-emacs to this major mode's hook. If no such hook exists, you may have to put an advice on the function that invokes the major mode. See viper-set-hooks for hints. The above needs not to be done for major modes that come up in Vi or Insert state by default. Arguments: (major-mode viper-state keymap) (fn MODE STATE KEYMAP) (defalias 'viper-modify-major-mode #[771 "\301\267\202\302\202\303\202\304\202\305\305\306\307!\"\211\262\203)\310\307!\"L\210B\307!BL\210\311 \210\312!\207" [viper-current-state #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (vi-state 6 insert-state 10 emacs-state 14)) viper-vi-state-modifier-alist viper-insert-state-modifier-alist viper-emacs-state-modifier-alist nil assoc eval delq viper-normalize-minor-mode-map-alist viper-set-mode-vars-for] 10 (#$ . 17381)]) (defalias 'viper-debug-keymaps #[0 "r\306\307!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!\210+\211:\316\317\320\321 \"!\210\316\322!\210\316\317\323;\"!\210\316\317\324<\"!\210\316\317\325=\"!\210\316\317\326>\"!\210\316\317\327?\"!\210\316\317\330@\"!\210\316\317\331A\"!\210\316\317\332B\"!\210\316\317\333C\"!\210\316\317\334D\"!\210\316\317\335E\"!\210\316\317\336F\"!\210\316\317\337G\"!\210\316\317\340H\"!\210\316\317\341I\"!\210\316\317\342J\"!\210\316\317\343K\"!\210\316\317\344L\"!\210\316\317\345M\"!\210\316\317\346N\"!\210\316\317\347O\"!\210\316\317\350P\"!\210\316\317\351Q\"!\210\316\317\352R\"!\210\316\317\353S\"!\210\316\317\354T\"!\210\316\317\355U\"!\210\316\317\356V\"!\210\316\317\357W\"!\210\316\317\360X\"!\210\316\317\361Y\"!\210\316\317\362Z\"!\210\316\317\363[\"!\210\316\364!\210\316\317\365\366\367!\"!\210\316\317\3707\"!\371!\210)\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only get-buffer-create " *viper-debug*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ format "Buffer name: %s\n\n" buffer-name "Variables: \n" "major-mode: %S\n" "viper-current-state: %S\n" "viper-mode-string: %S\n\n" "viper-vi-intercept-minor-mode: %S\n" "viper-insert-intercept-minor-mode: %S\n" "viper-emacs-intercept-minor-mode: %S\n" "viper-vi-minibuffer-minor-mode: %S\n" "viper-insert-minibuffer-minor-mode: %S\n\n" "viper-vi-local-user-minor-mode: %S\n" "viper-vi-global-user-minor-mode: %S\n" "viper-vi-kbd-minor-mode: %S\n" "viper-vi-state-modifier-minor-mode: %S\n" "viper-vi-diehard-minor-mode: %S\n" "viper-vi-basic-minor-mode: %S\n" "viper-replace-minor-mode: %S\n" "viper-insert-local-user-minor-mode: %S\n" "viper-insert-global-user-minor-mode: %S\n" "viper-insert-kbd-minor-mode: %S\n" "viper-insert-state-modifier-minor-mode: %S\n" "viper-insert-diehard-minor-mode: %S\n" "viper-insert-basic-minor-mode: %S\n" "viper-emacs-local-user-minor-mode: %S\n" "viper-emacs-kbd-minor-mode: %S\n" "viper-emacs-global-user-minor-mode: %S\n" "viper-emacs-state-modifier-minor-mode: %S\n" "\nviper-expert-level %S\n" "viper-no-multiple-ESC %S\n" "viper-always %S\n" "viper-ex-style-motion %S\n" "viper-ex-style-editing %S\n" "viper-want-emacs-keys-in-vi %S\n" "viper-want-emacs-keys-in-insert %S\n" "viper-want-ctl-h-help %S\n" "\n\n\n" "Default value for minor-mode-map-alist: \n%S\n\n" default-value minor-mode-map-alist "Actual value for minor-mode-map-alist: \n%S\n" internal-temp-output-buffer-show standard-output major-mode viper-current-state viper-mode-string viper-vi-intercept-minor-mode viper-insert-intercept-minor-mode viper-emacs-intercept-minor-mode viper-vi-minibuffer-minor-mode viper-insert-minibuffer-minor-mode viper-vi-local-user-minor-mode viper-vi-global-user-minor-mode viper-vi-kbd-minor-mode viper-vi-state-modifier-minor-mode viper-vi-diehard-minor-mode viper-vi-basic-minor-mode viper-replace-minor-mode viper-insert-local-user-minor-mode viper-insert-global-user-minor-mode viper-insert-kbd-minor-mode viper-insert-state-modifier-minor-mode viper-insert-diehard-minor-mode viper-insert-basic-minor-mode viper-emacs-local-user-minor-mode viper-emacs-kbd-minor-mode viper-emacs-global-user-minor-mode viper-emacs-state-modifier-minor-mode viper-expert-level viper-no-multiple-ESC viper-always viper-ex-style-motion viper-ex-style-editing viper-want-emacs-keys-in-vi viper-want-emacs-keys-in-insert viper-want-ctl-h-help] 8 nil nil]) #@93 Add contents of mapsrc to mapdst. It is assumed that mapsrc is sparse. (fn MAPSRC MAPDST) (defalias 'viper-add-keymap #[514 "\300\301\302\303\304\305!\306\"\307\310%A\"\207" [mapc make-byte-code 257 "\301\300\302@!A#\207" vconcat vector [define-key vector] 5 "\n\n(fn P)"] 9 (#$ . 22091)]) #@134 Modifies MAP with bindings specified in the ALIST. The alist has the form ((key . function) (key . function) ... ). (fn MAP ALIST) (defalias 'viper-modify-keymap #[514 "\300\301\302\303\304\305!\306\"\307\310%\"\207" [mapcar make-byte-code 257 "\301\300\302@!A#\207" vconcat vector [define-key eval] 5 "\n\n(fn P)"] 9 (#$ . 22395)]) (provide 'viper-keym)