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



(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 #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 #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 #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 #1#] "If non-nil, bind C-h to `help-command'.\nIf nil, 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))
#@294 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.
(defvar viper-vi-local-user-map (make-sparse-keymap) (#$ . 1540))
(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) (#$ . 2031))
#@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) (#$ . 2191))
#@65 This keymap keeps keyboard macros defined via the :map command.
(defvar viper-vi-kbd-map (make-sparse-keymap) (#$ . 2349))
#@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) (#$ . 2479))
#@72 Auxiliary map for per-buffer user-defined keybindings in Insert state.
(defvar viper-insert-local-user-map (make-sparse-keymap) (#$ . 2701))
(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) (#$ . 2978))
#@31 The basic insert-mode keymap.
(defvar viper-insert-basic-map (make-sparse-keymap) (#$ . 3119))
#@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) (#$ . 3221))
#@56 This keymap keeps VI-style kbd macros for insert mode.
(defvar viper-insert-kbd-map (make-sparse-keymap) (#$ . 3470))
#@36 Map used in Viper's replace state.
(defvar viper-replace-map (make-sparse-keymap) (#$ . 3594))
#@64 Auxiliary map for global user-defined bindings in Emacs state.
(defvar viper-emacs-global-user-map (make-sparse-keymap) (#$ . 3695))
#@55 This keymap keeps Vi-style kbd macros for Emacs mode.
(defvar viper-emacs-kbd-map (make-sparse-keymap) (#$ . 3834))
#@63 Auxiliary map for local user-defined bindings in Emacs state.
(defvar viper-emacs-local-user-map (make-sparse-keymap) (#$ . 3956))
(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 #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 "\304\300!\203\n \202 \305\306 \211\203o \211@r\211q\210\304\301!\2033 \307	!\2033 \203- \310	\311#\210\310	\312#\210\304\302!\203O \307\n!\203O \203I \310\n\311#\210\310\n\313#\210\304\303!\203g \307!\203g \310\311#\210\310\314#\210)A\266\202\202 \210\315\"\207" [viper-toggle-key viper-insert-basic-map viper-vi-intercept-map viper-emacs-intercept-map boundp [(control 122)] buffer-list keymapp define-key nil viper-escape-to-vi viper-toggle-key-action viper-change-state-to-vi set-default] 9 "\n\n(fn SYMBOL VALUE)"] viper-quoted-insert-key #[0 "\300\207" [""] 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] (#$ . 5368))
(defvar viper-vi-state-modifier-alist nil)
(defvar viper-insert-state-modifier-alist nil)
(defvar viper-emacs-state-modifier-alist nil)
(defvar viper--key-maps nil nil)
(make-variable-buffer-local 'viper--key-maps)
(defvar viper--intercept-key-maps nil nil)
(make-variable-buffer-local 'viper--intercept-key-maps)
(defvar viper-need-new-vi-local-map t nil)
(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)
(defvar viper-need-new-insert-local-map t nil)
(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)
(defvar viper-need-new-emacs-local-map t nil)
(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\244 \313\347!\317#\210\211T\262\202\217 \210\313	\350\351#\210\313	\352\353#\210\313	\354\355#\210\313	\n\356#\210\313	\357\360#\210\313	\361\360#\210\313	\362\363#\210\313	\364#\210\313	\365\366#\210\313	\367\370#\210\313\f\354\355#\210\313\f\371\372#\210\313\f\373\372#\210\313\f\357\374#\210\313\f\375\374#\210\313\376\377#\210\313\320\201A #\210\313\350\201B #\210\313\323\201C #\210\313\324\201D #\210\313\373\201E #\210\313\336\201F #\210\313\341\201G #\210\313\201H \201I #\210\313\201J \201K #\210\313\365\201L #\210\313\367\201M #\210\313\201N \201O #\210\313\201P \201Q #\210\313\201R \201Q #\210\313\201S \201Q #\210\313\201T \201U #\210\313\201V \201W #\210\313\201X \201Y #\210\313\201Z \201[ #\210\313\201\\ \201] #\210\313\201^ \201_ #\210\313\201` \201a #\210\313\201b \201E #\210\313\201c \201d #\210\313\201e \201f #\210\313\201g \201h #\210\313\201i \201j #\210\313\201k \201l #\210\313\201m \201n #\210\313\201o \201n #\210\313\201p \201n #\210\313\201q \201n #\210\313\201r \201n #\210\313\201s \201n #\210\313\201t \201n #\210\313\201u \201n #\210\313\201v \201n #\210\313\201w \201x #\210\313\201y \201z #\210\313\201{ \201Q #\210\313\201| \201Q #\210\313\201} \201Q #\210\313\201~ \201 #\210\313\201\200 \201\201 #\210\313\201\202 \201\203 #\210\313\201\204 \201\205 #\210\313\201\206 \201\207 #\210\313\201\210 \201\211 #\210\313\201\212 \201\213 #\210\313\201\214 \201\215 #\210\313\201\216 \201\217 #\210\313\201\220 \201\221 #\210\313\201\222 \201\223 #\210\313\201\224 \201\225 #\210\313\201\226 \201\227 #\210\313\201\230 \201\231 #\210\313\201\232 \201\233 #\210\313\201\234 \201\235 #\210\313\201\236 \201\237 #\210\313\201\240 \201\241 #\210\313\201\242 \201\243 #\210\313\201\244 \201\245 #\210\313\201\246 \201\247 #\210\313\201\250 \201\251 #\210\313\201\252 \201\253 #\210\313\201\254 \201\255 #\210\313\201\256 \201\257 #\210\313\201\260 \201\261 #\210\313\201\262 \201\263 #\210\313\201\264 \201\265 #\210\313\201\266 \201\267 #\210\313\201\270 \201\271 #\210\313\201\272 \201\273 #\210\313\362\363#\210\313\201\274 \201\275 #\210\313\201\276 \201\277 #\210\313\201\300 \201\301 #\210\313\201\302 \201\303 #\210\313\201\304 \201Q #\210\313\201\305 \201Q #\210\313\201\306 \201\307 #\210\313\201\310 \201\311 #\210\313\201\312 \201\227 #\210\313\201\313 \201\314 #\210\313\201\315 \201\314 #\210\313\201\316 \201\317 #\210\313\201\320 \201\321 #\210\313\201\322 \201\323 #\210\313\201\324 \201O #\210\313\201\325 \201\326 #\210\313\201\327 \201\330 #\210\313\201\331 \201\332 #\210\313\201\333 \201\334 #\210\313\201\335 \201\227 #\210\313\201\336 \201\337 #\210\313\201\340 \201\341 #\210\313\201\342 \201\343 #\210\313\201\344 \201\253 #\210\313\201\345 \201\346 #\210\313\201\347 \201\350 #\210\313\201\351 \201\352 #\210\313\201\353 \201\354 #\210\313\201\355 \201Q #\210\313\201\356 \201\357 #\210\313\201\360 \201\361 #\210\313\201\362 \201\363 #\210\313\201\364 \201\357 #\210\313\201\365 \201\361 #\210\313\201\366 \201\363 #\210\313\201\367 \201\370 #\210\313\201\371 \201\372 #\210\313\201\373 \201\374 #\210\313\201\375 \201\376 #\210\313\357\201\314 #\210\313\201\377 \201\227 #\210\313@\316\201\227 #\210\313@\321\201\227 #\210\313@\325\201K #\210\313@\314\201\227 #\210\313@\326\201\227 #\210\313@\327\201 #\210\313@\330\201\321 #\210\313@\331\201\227 #\210\313@\332\201\323 #\210\313@\333\201\227 #\210\313@\334\201 #\210\313@\335\201\227 #\210\313@\354\201\227 #\210\313@\201\347 \201\227 #\210\313@\352\201\227 #\210\313@\201\200 \201\227 #\210\313@\201\377 \201\227 #\210\313@\201` \201\227 #\210\313@\201S \201\227 #\210\313@\344\201\227 #\210\313@\343\201\227 #\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 string "" 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] "" #[0 "\300\301\302\"\207" [viper-ex nil "e#"] 3 nil nil] viper-vi-diehard-map 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] 5)
#@64 Keymap used to modify keys when Minibuffer is in Insert state.
(defvar viper-minibuffer-map (make-sparse-keymap) (#$ . 13430))
(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) (#$ . 14045))
(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) (#$ . 14346))
(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) (#$ . 14586))
(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) (#$ . 14823))
(define-key viper-gnus-modifier-map ":" 'viper-ex)
#@465 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 (#$ . 14981)])
#@213 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 (#$ . 16198) 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J\236\211\203# \211\241\266\2020 B\211\262JBL\266\306 \210\307!\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 viper-normalize-minor-mode-map-alist viper-set-mode-vars-for] 8 (#$ . 16751)])
(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\331A\"!\210\316\317\332B\"!\210\316\317\333C\"!\210\316\317\334D\"!\210\316\317\335E\"!\210\316\317\336F\"!\210\316\317\337G\"!\210\316\317\340H\"!\210\316\317\341I\"!\210\316\317\342J\"!\210\316\317\343K\"!\210\316\317\344L\"!\210\316\317\345M\"!\210\316\317\346N\"!\210\316\317\347O\"!\210\316\317\350P\"!\210\316\317\351Q\"!\210\316\317\352R\"!\210\316\317\353S\"!\210\316\317\354T\"!\210\316\317\355U\"!\210\316\317\356V\"!\210\316\317\357W\"!\210\316\317\360X\"!\210\316\317\361Y\"!\210\316\317\362Z\"!\210\316\317\363[\"!\210\316\364!\210\316\317\365\366\367!\"!\210\316\317\3707\"!\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\"A\"\207" [mapc make-closure #[257 "\301\300\302@!A#\207" [V0 define-key vector] 5 "\n\n(fn P)"]] 6 (#$ . 21436)])
#@133 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\"\"\207" [mapcar make-closure #[257 "\301\300\302@\303\"A#\207" [V0 define-key eval t] 6 "\n\n(fn P)"]] 6 (#$ . 21702)])
(provide 'viper-keym)
