%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/emulation/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/emulation/viper-cmd.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(byte-code "\300\301!\210\302\303!\210\302\304!\210\302\305!\210\302\306!\210\302\307!\207" [provide viper-cmd require viper-util viper-keym viper-mous viper-macs viper-ex] 2)
#@13 

(fn NAME)
(defalias 'viper-test-com-defun '(macro . #[257 "\300!\301\302P!\301\303P!\304\305\306\307\310EDF\207" [symbol-name intern "-p" "s" defun (com) consp viper-memq-char com] 11 (#$ . 584)]))
(defvar viper-prefix-commands '(99 100 121 33 61 35 60 62 34))
#@12 

(fn COM)
(defalias 'viper-prefix-command-p #[257 "\301\":\207" [viper-prefix-commands viper-memq-char] 4 (#$ . 859)])
(defconst viper-charpair-commands '(99 100 121 33 61 60 62 114 82))
#@12 

(fn COM)
(defalias 'viper-charpair-command-p #[257 "\301\":\207" [viper-charpair-commands viper-memq-char] 4 (#$ . 1055)])
#@19 Movement commands
(defconst viper-movement-commands '(98 66 101 69 102 70 71 104 106 107 108 72 77 76 110 116 84 119 87 36 37 94 40 41 45 43 124 123 125 91 93 39 96 59 44 48 63 47 32 13 space return delete backspace) (#$ . 1188))
#@12 

(fn COM)
(defalias 'viper-movement-command-p #[257 "\301\":\207" [viper-movement-commands viper-memq-char] 4 (#$ . 1424)])
(defconst viper-digit-commands '(49 50 51 52 53 54 55 56 57))
#@12 

(fn COM)
(defalias 'viper-digit-command-p #[257 "\301\":\207" [viper-digit-commands viper-memq-char] 4 (#$ . 1619)])
(defconst viper-dotable-commands '(99 100 67 115 83 68 62 60))
#@12 

(fn COM)
(defalias 'viper-dotable-command-p #[257 "\301\":\207" [viper-dotable-commands viper-memq-char] 4 (#$ . 1809)])
(defconst viper-hash-commands '(99 67 103 113 115))
#@12 

(fn COM)
(defalias 'viper-hash-command-p #[257 "\301\":\207" [viper-hash-commands viper-memq-char] 4 (#$ . 1992)])
(defconst viper-regsuffix-commands '(100 121 89 68 112 80 120 88))
#@12 

(fn COM)
(defalias 'viper-regsuffix-command-p #[257 "\301\":\207" [viper-regsuffix-commands viper-memq-char] 4 (#$ . 2184)])
#@39 The list of all commands in Vi-state.
(defconst viper-vi-commands (append viper-movement-commands viper-digit-commands viper-dotable-commands viper-charpair-commands viper-hash-commands viper-prefix-commands viper-regsuffix-commands) (#$ . 2319))
#@12 

(fn COM)
(defalias 'viper-vi-command-p #[257 "\301\":\207" [viper-vi-commands viper-memq-char] 4 (#$ . 2572)])
(defvar viper-saved-user-settings nil)
#@20 

(fn BEG END LEN)
(defalias 'viper-after-change-sentinel #[771 "\300\301$\207" [run-hook-with-args viper-after-change-functions] 8 (#$ . 2732)])
#@16 

(fn BEG END)
(defalias 'viper-before-change-sentinel #[514 "\300\301#\207" [run-hook-with-args viper-before-change-functions] 6 (#$ . 2887)])
(defalias 'viper-post-command-sentinel #[0 "\3011\302\303!0\202\304!\262\210\305=\205\306\307!\207" [viper-current-state (error) run-hooks viper-post-command-hooks viper-message-conditions vi-state viper-restore-cursor-color after-insert-mode] 3])
(put 'viper-post-command-sentinel 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'viper-pre-command-sentinel #[0 "\300\301!\207" [run-hooks viper-pre-command-hooks] 2])
(put 'viper-pre-command-sentinel 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'viper-insert-state-post-command-sentinel #[0 "\306>\203	\203`	Y\203\307 \310!\204!\311ee\"\210\312 \210\313=\203X\314\304!\2031\f\202B\315\304\316 \"\211\203?\211A\202@\f\262\317 ;\204S\320 \230\204S\321\322!\210\323!\266\314\305!\203b
\202s\315\305\316 \"\211\203p\211A\202q
\262\211\203\222\324=\203\222\325 ;\204\216\320 \230\204\216\321\326!\210\323!\210\210\327>\205\270\250\205\270\330	!\205\270\331	!\205\270	V\205\270\332	\"\207" [viper-current-state viper-insert-point viper-last-posn-while-in-insert-state viper-replace-overlay viper-insert-state-cursor-color viper-emacs-state-cursor-color (insert-state replace-state) point-marker overlayp viper-set-replace-overlay viper-hide-replace-overlay insert-state local-variable-p assoc frame-parameters viper-get-saved-cursor-color-in-insert-mode viper-get-cursor-color viper-save-cursor-color before-insert-mode viper-change-cursor-color emacs-state viper-get-saved-cursor-color-in-emacs-mode before-emacs-mode (dabbrev-expand hippie-expand) markerp marker-position viper-move-marker-locally this-command viper-pre-command-point] 3])
(put 'viper-insert-state-post-command-sentinel 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'viper-preserve-cursor-color #[0 "\302>\206\303	!\304>\207" [this-command last-command-event (self-insert-command viper-del-backward-char-in-insert viper-del-backward-char-in-replace viper-delete-backward-char viper-join-lines viper-delete-char) viper-event-key (up down left right (meta f) (meta b) (control n) (control p) (control f) (control b))] 2])
(put 'viper-preserve-cursor-color 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'viper-insert-state-pre-command-sentinel #[0 "\304>\204\305	!\306>\204\307\310!\210\311>\205)\312\n!\205)\313\n!\205)\313\n!\211\207" [this-command last-command-event viper-insert-point viper-pre-command-point (self-insert-command viper-del-backward-char-in-insert viper-del-backward-char-in-replace viper-delete-backward-char viper-join-lines viper-delete-char) viper-event-key (up down left right (meta f) (meta b) (control n) (control p) (control f) (control b)) viper-restore-cursor-color after-insert-mode (dabbrev-expand hippie-expand) markerp marker-position] 2])
(put 'viper-insert-state-pre-command-sentinel 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'viper-R-state-post-command-sentinel #[0 "\302!`X\203.`\303!X\203.\304\305\301!\203	\202,\306\301\307 \"\211\203)\211A\202*	\262!\207\310\311!\207" [viper-replace-overlay viper-replace-overlay-cursor-color overlay-start overlay-end viper-change-cursor-color local-variable-p assoc frame-parameters viper-restore-cursor-color after-replace-mode] 4])
(defalias 'viper-replace-state-pre-command-sentinel #[0 "\302>\206\303	!\304>\206\305\306!\207" [this-command last-command-event (self-insert-command viper-del-backward-char-in-insert viper-del-backward-char-in-replace viper-delete-backward-char viper-join-lines viper-delete-char) viper-event-key (up down left right (meta f) (meta b) (control n) (control p) (control f) (control b)) viper-restore-cursor-color after-replace-mode] 2])
(put 'viper-replace-state-pre-command-sentinel 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'viper-trim-replace-chars-to-delete-if-necessary #[0 "\303\304\305	!\n\"^\304`\306\307!\"^]\211\207" [viper-replace-chars-to-delete viper-replace-overlay viper-last-posn-in-replace-region 0 viper-chars-in-region overlay-end viper-line-pos end] 6])
(put 'viper-trim-replace-chars-to-delete-if-necessary 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'viper-replace-state-post-command-sentinel #[0 "\306>\204\307	!\310>\204\311\312!\210\n\313=\203\205\314!\212\fb\210\315
\316\314!\f\"^\316`\317\320!\"^]\321
!\210\315\f\314!U\203B\322 \210)`\323!^Y\205U]Y\266\203\205\204\n\313=\203\200\324\325\326!\203l\202~\327\326\330 \"\211\203z\211A\202|\262!\210\331 \211\207\322 \207" [this-command last-command-event viper-current-state viper-replace-overlay viper-last-posn-in-replace-region viper-replace-chars-to-delete (self-insert-command viper-del-backward-char-in-insert viper-del-backward-char-in-replace viper-delete-backward-char viper-join-lines viper-delete-char) viper-event-key (up down left right (meta f) (meta b) (control n) (control p) (control f) (control b)) viper-restore-cursor-color after-replace-mode replace-state overlay-end 0 viper-chars-in-region viper-line-pos end delete-char viper-finish-change overlay-start viper-change-cursor-color local-variable-p viper-replace-overlay-cursor-color assoc frame-parameters point-marker] 7])
#@18 

(fn NEW-STATE)
(defalias 'viper-change-state #[257 "\306\307\310\"\210\311\307\310\"\210\306\312\313\"\210\311\312\313\314#\210\306\315\316\317#\210\306\320\321\317#\210\322\211\323\267\202M	\324>\203M	\325>\203B\n\203B`\nY\203B\326 \327\f!\204P\330ee\"\210\331 \210	\332=\203\207\333\305!\203`
\202q\334\305\335 \"\211\203n\211A\202o
\262\336 ;\204\202\337 \230\204\202\340\341!\210\342!\266\333\343!\203\222#\202\244\334\343\335 \"\211\203\240\211A\202\242#\262\211\203\303	\344=\203\303\345 ;\204\277\337 \230\204\277\340\346!\210\342!\210\210>\347>\203\352?\250\203\352\350\n!\203\352\351\n!\203\352\n?V\203\352\352\n?\"\210\3531\354\n\"\210@\203\377\322\211@\202\212\355 )0\202\f\356!\262\210AG\357V\203\360A\361\"\210B\203Mn\204M\362 \204M\363u\210\202M	\364>\203:\352\302`\"\210\352\303`\"\210\311\315\316\314\317$\210\311\320\321\314\317$\210\211\365=\203f\322C\366\367!\205aC\2117)\210\202\216D\203~\314C\366\367!\205yC\2117)\210\202\216\322C\366\367!\205\214C\2117)\210\211\365=\203\233\370\322!\210\202\253E\203\247\370\314!\210\202\253\370\322!\210\211\371 \210\372 \210\373!\210\374!\210\375 \207" [viper-intermediate-command viper-current-state viper-insert-point viper-last-posn-while-in-insert-state viper-replace-overlay viper-insert-state-cursor-color remove-hook post-command-hook viper-post-command-sentinel add-hook pre-command-hook viper-pre-command-sentinel t viper-post-command-hooks viper-insert-state-post-command-sentinel local viper-pre-command-hooks viper-insert-state-pre-command-sentinel nil #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (vi-state 41 insert-state 303 replace-state 303)) (insert-state replace-state) (insert-state replace-state) point-marker overlayp viper-set-replace-overlay viper-hide-replace-overlay insert-state local-variable-p assoc frame-parameters viper-get-saved-cursor-color-in-insert-mode viper-get-cursor-color viper-save-cursor-color before-insert-mode viper-change-cursor-color viper-emacs-state-cursor-color emacs-state viper-get-saved-cursor-color-in-emacs-mode before-emacs-mode (dabbrev-expand hippie-expand) markerp marker-position viper-move-marker-locally (error) viper-save-last-insertion viper-repeat-insert-command viper-message-conditions 0 viper-push-onto-ring viper-insertion-ring viper-beginning-of-field -1 (emacs-state vi-state) vi-state boundp iso-accents-mode viper-set-input-method viper-update-syntax-classes viper-normalize-minor-mode-map-alist viper-adjust-keys-for viper-set-mode-vars-for viper-refresh-mode-line this-command viper-pre-command-point viper-began-as-replace viper-last-insertion viper-ESC-moves-cursor-back arg viper-automatic-iso-accents viper-special-input-method] 6 (#$ . 8224)])
#@74 Make necessary adjustments to keymaps before entering STATE.

(fn STATE)
(defalias 'viper-adjust-keys-for #[257 "\211\306>\203`\203&\307	\310\311#\210\n\203\307	\312\313#\210\2022\307	\312\311#\210\2022\307	\310\313#\210\307	\312\313#\210\n?\f\203H\307	\314\315#\210\307
\314\315#\210\202T\307	\314\316#\210\307
\314\317#\210\307	\320\316#\210\307
\321\317#\207?\f\203s\307\314\315#\210\202z\307\314\322#\210\307\323\322#\207" [viper-auto-indent viper-insert-basic-map viper-want-emacs-keys-in-insert viper-insert-diehard-minor-mode viper-want-ctl-h-help viper-replace-map (insert-state replace-state) define-key "
" viper-autoindent "\n" nil "" help-command viper-del-backward-char-in-insert viper-del-backward-char-in-replace [backspace] [backspace] viper-backward-char [backspace] viper-want-emacs-keys-in-vi viper-vi-diehard-minor-mode viper-vi-basic-map] 5 (#$ . 11042)])
(defalias 'viper-normalize-minor-mode-map-alist #[0 "\306B\307	B\310\nBE\311\fB\312
B\313&B\314'B\315\316\317()\"A!\2030\317()\"A\2022*B\320+B\321,B\322-B\323\fB\324.B\325/B\3260B\327\316\317(1\"A!\203e\317(1\"A\202g*B\3302B\3313B\3324B\3335B\3346B\335\316\317(7\"A!\203\223\317(7\"A\202\225*B\2578\336\337!\205\243\340\341!?\205\267\342\343!\210\344\3458\"#\"\211#\207" [viper-vi-intercept-map viper-insert-intercept-map viper-emacs-intercept-map viper--intercept-key-maps viper-minibuffer-map viper-vi-local-user-map viper-vi-intercept-minor-mode viper-insert-intercept-minor-mode viper-emacs-intercept-minor-mode viper-vi-minibuffer-minor-mode viper-vi-local-user-minor-mode viper-vi-kbd-minor-mode viper-vi-global-user-minor-mode viper-vi-state-modifier-minor-mode keymapp assoc viper-vi-diehard-minor-mode viper-vi-basic-minor-mode viper-replace-minor-mode viper-insert-minibuffer-minor-mode viper-insert-local-user-minor-mode viper-insert-kbd-minor-mode viper-insert-global-user-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 fboundp add-to-ordered-list boundp emulation-mode-map-alists make-local-variable minor-mode-map-alist viper-append-filter-alist append viper-vi-kbd-map viper-vi-global-user-map major-mode viper-vi-state-modifier-alist viper-empty-keymap viper-vi-diehard-map viper-vi-basic-map viper-replace-map viper-insert-local-user-map viper-insert-kbd-map viper-insert-global-user-map viper-insert-state-modifier-alist viper-insert-diehard-map viper-insert-basic-map viper-emacs-local-user-map viper-emacs-kbd-map viper-emacs-global-user-map viper-emacs-state-modifier-alist viper--key-maps] 23])
(defalias 'viper-refresh-mode-line #[0 "\306\305!\210\307\267\202	\202\n\202\202\f\202\310\311 \207" [viper-current-state viper-emacs-state-id viper-vi-state-id viper-replace-state-id viper-insert-state-id viper-mode-string make-local-variable #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (emacs-state 10 vi-state 14 replace-state 18 insert-state 22)) nil force-mode-line-update] 2])
(defalias 'viper-exit-insert-state #[0 "\300 \207" [viper-change-state-to-vi] 1 nil nil])
#@83 Sets Viper minor mode variables to put Viper's state STATE in effect.

(fn STATE)
(defalias 'viper-set-mode-vars-for #[257 "\306\211\306\211\306\211\306\211 !\306\211\"#\306\211$%\306\211&'\306\211()\306*\307\211+,\310 \311\312\313\314\315!\316\"\317$\216\320\321\322 \")\262?-\307\211./\211\323=\203\301\307\310 \311\312\313\314\315!\324\"\317$\216\320\321\322 \")\262\307\310 \311\312\313\314\315!\325\"\317$\216\320\321\322 \")\262?\307\211 !0\206\254\310 \311\312\313\314\315!\326\"\317$\216\320\321\322 \")\262?\"\307#\306\211+,\306\211-.\306/\211\327>\2037\307\211\330=$\310 \311\312\313\314\315!\331\"\317$\216\320\321\322 \")\262\307%\310 \311\312\313\314\315!\332\"\317$\216\320\321\322 \")\262?&\307\211'(1\206\"\310 \311\312\313\314\315!\333\"\317$\216\320\321\322 \")\262?)\307*\306\211+,\306\211-.\306/\334 \203T\211\335\267\202Q2\202R3\202R4\202R\3065\310 \311\312\313\314\315!\336\"\317$\216\320\321\322 \")\262\205o\337 \207" [viper-vi-minibuffer-minor-mode viper-insert-minibuffer-minor-mode viper-vi-intercept-minor-mode viper-insert-intercept-minor-mode viper-vi-local-user-minor-mode viper-vi-kbd-minor-mode nil t match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name vi-state [set-match-data evaporate] [set-match-data evaporate] [set-match-data evaporate] (insert-state replace-state) replace-state [set-match-data evaporate] [set-match-data evaporate] [set-match-data evaporate] viper-has-face-support-p #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (emacs-state 322 vi-state 327 insert-state 332 replace-state 332)) [set-match-data evaporate] viper-set-minibuffer-overlay viper-vi-global-user-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-kbd-minor-mode viper-insert-global-user-minor-mode viper-insert-state-modifier-minor-mode viper-insert-diehard-minor-mode viper-insert-basic-minor-mode viper-emacs-intercept-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-want-emacs-keys-in-vi viper-want-emacs-keys-in-insert viper-minibuffer-emacs-face viper-minibuffer-vi-face viper-minibuffer-insert-face viper-minibuffer-current-face] 9 (#$ . 14335)])
#@41 Change Viper state to Vi.

(fn &rest _)
(defalias 'viper-change-state-to-vi #[128 "\203 \306 \307\310\311\312\313!\314\"\315$\216\316\317\320 \")\262\204 \321 \207	\203(\301\322!\210\323\n!\2043\324ee\"\210\325 \210\203Dhz\326=\203D\327 \210\f\203Qi
V\203Q\f \210)\330>\203f\212\331 \210\332\333!)\203f\334 \210\335 \210\336 \210*\337=\203z\340\341!\210\202~\340\342!\210\343\344!\210\3451\213\346\347!0\207\350!\207" [viper-first-time overwrite-mode viper-replace-overlay abbrev-mode auto-fill-function fill-column match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name viper-mode -1 overlayp viper-set-replace-overlay viper-hide-replace-overlay 119 expand-abbrev (viper-autoindent viper-open-line viper-Open-line viper-replace-state-exit-cmd) beginning-of-line looking-at "^[ 	]*$" indent-to-left-margin viper-add-newline-at-eob-if-necessary viper-adjust-undo emacs-state viper-restore-cursor-color after-emacs-mode after-insert-mode viper-change-state vi-state (error) run-hooks viper-vi-state-hook viper-message-conditions last-command viper-current-state] 8 (#$ . 16838) nil])
#@31 Change Viper state to Insert.
(defalias 'viper-change-state-to-insert #[0 "\302\303!\210\304!\204\305ee\"\210\306 \210\307\301!\203	\202-\310\301\311 \"\211\203*\211A\202+	\262\312 ;\204>\313 \230\204>\314\315!\210\316!\266\3171L\320\321!0\207\322!\207" [viper-replace-overlay viper-insert-state-cursor-color viper-change-state insert-state overlayp viper-set-replace-overlay viper-hide-replace-overlay local-variable-p assoc frame-parameters viper-get-saved-cursor-color-in-insert-mode viper-get-cursor-color viper-save-cursor-color before-insert-mode viper-change-cursor-color (error) run-hooks viper-insert-state-hook viper-message-conditions] 3 (#$ . 18023) nil])
(defalias 'viper-downgrade-to-insert #[0 "\3021\303\304!0\202\305!\262\210\306\307\211\207" [viper-current-state viper-replace-minor-mode (error) run-hooks viper-insert-state-hook viper-message-conditions insert-state nil] 3])
(put 'viper-downgrade-to-insert 'byte-optimizer 'byte-compile-inline-expand)
#@28 

(fn &optional NON-R-CMD)
(defalias 'viper-change-state-to-replace #[256 "\300\301!\210\3021\303\304\305\"0\202\306!\262\210\211\203\307 \207\310 \207" [viper-change-state replace-state (error) run-hooks viper-insert-state-hook viper-replace-state-hook viper-message-conditions viper-start-replace viper-start-R-mode] 4 (#$ . 19025)])
#@44 Change Viper state to Emacs.

(fn &rest _)
(defalias 'viper-change-state-to-emacs #[128 "\302!\204\303ee\"\210\304 \210\305\301!\203	\202)\306\301\307 \"\211\203&\211A\202'	\262\211\203B\310 ;\204>\311 \230\204>\312\313!\210\314!\210\210\315\316!\210\3171P\320\321!0\207\322!\207" [viper-replace-overlay viper-emacs-state-cursor-color overlayp viper-set-replace-overlay viper-hide-replace-overlay local-variable-p assoc frame-parameters viper-get-saved-cursor-color-in-emacs-mode viper-get-cursor-color viper-save-cursor-color before-emacs-mode viper-change-cursor-color viper-change-state emacs-state (error) run-hooks viper-emacs-state-hook viper-message-conditions] 4 (#$ . 19375) nil])
#@220 Escape to Emacs state from Vi state for one Emacs command.
ARG is used as the prefix value for the executed command.  If
EVENTS is a list of events, which become the beginning of the command.

(fn ARG &optional EVENTS)
(defalias 'viper-escape-to-emacs #[513 "\300\301 \302\"\203\f\303\304!\210\305\306#\207" [viper= viper-last-command-char 92 message "Switched to EMACS state for the next command..." viper-escape-to-state emacs-state] 6 (#$ . 20088) "P"])
#@265 Escape from Emacs state to Vi state for one Vi 1-character command.
If the Vi command that the user types has a prefix argument, e.g., `d2w', then
Vi's prefix argument will be used.  Otherwise, the prefix argument passed to
`viper-escape-to-vi' is used.

(fn ARG)
(defalias 'viper-escape-to-vi #[257 "\300\301!\210\302\303\304#\207" [message "Switched to VI state for the next command..." viper-escape-to-state nil vi-state] 5 (#$ . 20555) "P"])
#@25 

(fn ARG EVENTS STATE)
(defalias 'viper-escape-to-state #[771 "\306\211\307!\210\310 \210\203\311!\210\3121k\3131d\306\211\211\314\216\315\316\306!\211\262!\262\317!\2039\315!\262\202+)\307!\210\211\211\211GS\234)\320!\205^\206X\321!)+00\202o0\210\322 \202o\210\323\324!\266\307!\207" [viper-emacs-kbd-minor-mode viper-insert-kbd-minor-mode viper-vi-kbd-minor-mode viper-current-state this-command seq nil viper-set-mode-vars-for viper-normalize-minor-mode-map-alist viper-set-unread-command-events (error) (quit) #[0 "\300\207" [nil] 1] key-binding read-key-sequence vectorp commandp command-execute ding beep 1 last-command-event prefix-arg] 8 (#$ . 21008)])
(defalias 'viper-special-read-and-insert-char #[0 "\306\307!\210\310 \210\203\311\312!\210	\203 \312\313\303!\205\n\211)\210\3141\330\315\211\211\211\203\200\316\317!\203\200\315\320 \262\211\321=\203I\322\262\211\323>\203S\320 \262\324!\210\317\315!\210\211\203l\325\230\203l\211c\210\202pc\210\211\206z\211GSH\262)\202\315\313\303!\203\255\203\255\326\315!\327H\262\211\321=\203\232\322\262\211\330>\203\247\326\315!\327H\262\211c\210\202\315\326\315!\327H\262\211\321=\203\275\322\262\211\331>\203\312\326\315!\327H\262\211c\210\211\211+\266\2040\202\334\210\202\335\210\311\315!\210\315\313\303!\205\354\n\211)\210\306!\207" [viper-special-input-method viper-automatic-iso-accents arg iso-accents-mode viper-emacs-kbd-minor-mode viper-insert-kbd-minor-mode viper-set-mode-vars-for emacs-state viper-normalize-minor-mode-map-alist viper-set-input-method t boundp (error) nil fboundp quail-input-method read-char-exclusive 13 10 (22 17) viper-set-unread-command-events "" read-key-sequence 0 (22 17) (22 17) viper-vi-kbd-minor-mode unread-command-events quail-current-str last-command-event viper-current-state] 6])
#@74 Execute FORM in Vi state, regardless of the current Vi state.

(fn FORM)
(defalias 'viper-exec-form-in-vi #[257 "p\302\303\304!\210\3051\302\306!\211\262)0\202\210\307\310\302\"\210p\232\204,rq\210\303	!\210)\303	!\210\207" [viper-vi-kbd-minor-mode viper-current-state nil viper-set-mode-vars-for vi-state (error) eval signal quit] 6 (#$ . 22894)])
#@156 Execute FORM in Emacs, temporarily disabling Viper's minor modes.
Similar to `viper-escape-to-emacs', but accepts forms rather than keystrokes.

(fn FORM)
(defalias 'viper-exec-form-in-emacs #[257 "p\301\302\303!\210\304!\262p\232\204rq\210\302!\210)\302!\210\207" [viper-current-state nil viper-set-mode-vars-for emacs-state eval] 5 (#$ . 23260)])
#@12 

(fn ARG)
(defalias 'viper-exec-key-in-emacs #[257 "\301\"\207" [last-command-event viper-escape-to-emacs] 4 (#$ . 23623) "P"])
#@411 Familiarize Viper with a minor mode defined in LOAD-FILE.
Minor modes that have their own keymaps may overshadow Viper keymaps.
This function is designed to make Viper aware of the packages that define
such minor modes.
Usage:
    (viper-harness-minor-mode load-file)

LOAD-FILE is the name of the file where the specific minor mode is defined.
Suffixes such as .el or .elc should be stripped.

(fn LOAD-FILE)
(defalias 'viper-harness-minor-mode #[257 "\300\301\"\210\302\303!\205\304\305!?\205\300\306\"\207" [eval-after-load #[0 "\300 \207" [viper-normalize-minor-mode-map-alist] 1] fboundp add-to-ordered-list boundp emulation-mode-map-alists #[0 "\301\300\"\207" [minor-mode-map-alist set-default] 3]] 4 (#$ . 23761) "sEnter name of the load file: "])
#@518 Emulate ESC key in Emacs.
Prevents multiple escape keystrokes if viper-no-multiple-ESC is true.
If `viper-no-multiple-ESC' is `twice' double ESC would ding in vi-state.
Other ESC sequences are emulated via the current Emacs's major mode
keymap.  This is more convenient on TTYs, since this won't block
function keys such as up, down, etc.  ESC will also will also work as
a Meta key in this case.  When `viper-no-multiple-ESC' is nil, ESC works
as a Meta key and any number of multiple escapes are allowed.

(fn ARG)
(defalias 'viper-ESC #[257 "\303\204	\304=\203\305 \262\306\307D\"\202@\310=\203>	\304=\203>\305 \262\211\311\n!U\2035\312 \202@\306\307D\"\202@\312 \207" [viper-no-multiple-ESC viper-current-state viper-ESC-key nil vi-state viper-read-char-exclusive viper-escape-to-emacs 27 twice string-to-char ding] 6 (#$ . 24531) "P"])
#@36 Simulate Emacs Meta key.

(fn ARG)
(defalias 'viper-alternate-Meta-key #[257 "\300\301!\210\302\303!\210\304\305\"\207" [sit-for 1 message "ESC-" viper-escape-to-emacs (27)] 4 (#$ . 25396) "P"])
#@37 Action bound to `viper-toggle-key'.
(defalias 'viper-toggle-key-action #[0 "\302W\203	\303\232\203\304 \203\305 \207\306 \207\307 \207" [viper-expert-level viper-toggle-key 2 "" viper-window-display-p iconify-or-deiconify-frame suspend-emacs viper-change-state-to-emacs] 2 (#$ . 25598) nil])
#@60 Function that implements ESC key in Viper emulation of Vi.
(defalias 'viper-intercept-ESC-key #[0 "\301\211\211=\203\302\267\202\303\202\304\202\305\202\306\262\307!\207" [viper-current-state viper-intercept-ESC-key #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (vi-state 13 insert-state 17 replace-state 21)) viper-ESC viper-exit-insert-state viper-replace-state-exit-cmd viper-change-state-to-vi call-interactively] 3 (#$ . 25904) nil])
#@12 

(fn ARG)
(defalias 'viper-p-val #[257 "\211\204\300\207\211:\203\211@\203\211@\301\232\203\300\207\211@\207\207" [1 (nil)] 3 (#$ . 26401)])
(put 'viper-p-val 'byte-optimizer 'byte-compile-inline-expand)
#@12 

(fn ARG)
(defalias 'viper-P-val #[257 "\211:\203\211@\207\207" [] 2 (#$ . 26620)])
(put 'viper-P-val 'byte-optimizer 'byte-compile-inline-expand)
#@12 

(fn ARG)
(defalias 'viper-getcom #[257 "\211\204\300\207\211:\203\211A\207\300\207" [nil] 2 (#$ . 26776)])
(put 'viper-getcom 'byte-optimizer 'byte-compile-inline-expand)
#@12 

(fn ARG)
(defalias 'viper-getCom #[257 "\211\211\204\300\262\202\211:\203\211A\262\202\300\262\301\302\"\203%\302\202<\301\303\"\2030\304\202<\301\305\"\203;\306\202<\211\207" [nil viper= 99 100 68 121 89] 5 (#$ . 26959)])
#@23 

(fn EVENT-CHAR COM)
(defalias 'viper-prefix-arg-value #[514 "\304\305\211\306!\2030\307Y\2030\310X\2030\250\203 \202!\311\312_\307Z\\\262\313 \262\202\203:	B\314=\203K\315	!\210\313 \262\202:\204a\n\316=\204\226\306!\203\226\317!\203\226\320\267\202|\321\262\202|\322\262\202|\323\262\202|\324\262\206\201\325\326\327DD!\262\211	!\210\305\211\202\231\330!)\207" [viper-intermediate-command prefix-arg viper-current-state last-command-event viper-digit-argument nil characterp 48 57 0 10 read-event 85 viper-describe-arg vi-state viper-vi-command-p #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (return 103 delete 109 backspace 115 space 121)) 13 127 8 32 viper-exec-form-in-vi key-binding char-to-string viper-set-unread-command-events] 9 (#$ . 27210)])
#@23 

(fn CHAR VALUE COM)
(defalias 'viper-prefix-arg-com #[771 "\305\306\211\203\214\307\310\311\312\313\314\315\316\317\320\321\322\257\f\"\203\214\2037\307\323\"\203,\324	!\210B\262\306\262\202\307\325\"\203L\262\326 \262\306\262\202\327\317\"\203a\330\326 \\\262\326 \262\202\327\322\"\203\202\326 \331!\203v\211\202z\324	!\210\326 \262\210\202\262\326 \262\202:\204\337B\262\327\332\"\203\251\333!\210\326 \262\202\226\334!\204\322\335!\204\322\336!\204\322\327\313\"\204\322\327\337\"\204\322\324	!\210\340\341\342DD!\262\202s\307@\343\"\203	@AB\327\320\"\203\376\344!\210\202\345!\210\306\266\202s\204\346\202\262\306\347\267\202a\350\351B!\210\202s\350\352B!\210\202s\353 \210\202s\350\354B!\210\202s\350\314B!\210\202s\350\315B!\210\202s\350\313B!\210\202s\350\316B!\210\202s@\337\232\203o\355\356!\210\202s\324	!\210\211\205\214\3571\204\211!0\202\214\360\361\362!\"\262\207" [viper-buffer-search-char viper-ViperBell viper-use-register prefix-arg last-command-event t nil viper-memq-char 99 100 121 33 60 62 61 35 114 82 34 (35 34) user-error (33 61) read-char viper= 128 viper-valid-register 85 viper-describe-arg viper-movement-command-p viper-digit-command-p viper-regsuffix-command-p 103 viper-exec-form-in-vi key-binding char-to-string (114 82) viper-region viper-Region 1 #s(hash-table size 8 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ((99 . 99) 284 (100 . 100) 293 (100 . 121) 302 (121 . 121) 308 (60 . 60) 317 (62 . 62) 326 (33 . 33) 335 (61 . 61) 344)) viper-line 67 68 viper-yank-defun 89 viper-goto-line 0 (error) error "%s" error-message-string] 20 (#$ . 28064)])
#@12 

(fn ARG)
(defalias 'viper-describe-arg #[257 "\300\211\211:\203\f\211@\262\262\211\204\300\262\202(\211:\203%\211A\262\202(\300\262\262\204?\211\2048\301\302!\202O\301\303\"\202O\211\204J\301\304\"\202O\301\305#\207" [nil message "Value is nil, and command is nil" "Value is nil, and command is `%c'" "Value is `%d', and command is nil" "Value is `%d', and command is `%c'"] 7 (#$ . 29809)])
#@56 Begin numeric argument for the next command.

(fn ARG)
(defalias 'viper-digit-argument #[257 "\300\301 :\205\nA\"\207" [viper-prefix-arg-value viper-last-command-char] 4 (#$ . 30234) "P"])
#@51 Accept a motion command as an argument.

(fn ARG)
(defalias 'viper-command-argument #[257 "\303\3041J\305\306 \204\307\202':\203@\202'\250\203$\202'\310	!\204/\307\202E:\2039A\202E\250\203B\307\202E\310	!#0\202Q\210\307\311\312\307\"\210\313 )\207" [viper-intermediate-command viper-InvalidCommandArgument viper-use-register viper-command-argument (quit) viper-prefix-arg-com viper-last-command-char nil error signal quit deactivate-mark] 6 (#$ . 30432) "P"])
#@22 

(fn REG START END)
(defalias 'viper-append-to-register #[771 "\300\301!;\203\301!\202\302{P\"\207" [set-register get-register ""] 8 (#$ . 30925)])
(put 'viper-append-to-register 'byte-optimizer 'byte-compile-inline-expand)
#@16 

(fn BEG END)
(defalias 'viper-save-last-insertion #[514 "\3031
{\2110\202\210\304\211\210{	G\305W\204#\306	\233\240\210\n?\2069\307\n!\2069\306\310\n!\233\240\210\311\n!\207" [viper-last-insertion viper-d-com viper-command-ring (error) nil 5 4 ring-empty-p viper-current-ring-item viper-cleanup-ring] 5 (#$ . 31165)])
#@75 Inserts the text saved by the previous viper-save-last-insertion command.
(defalias 'viper-yank-last-insertion #[0 "\3011c0\207\210\302\207" [viper-last-insertion (error) nil] 1 (#$ . 31506)])
(put 'viper-yank-last-insertion 'byte-optimizer 'byte-compile-inline-expand)
#@18 

(fn M-COM COM)
(defalias 'viper-exec-change #[514 "\302!\203\f\303!\204`p\223\210l\203`U\204!dU\203'\304c\210\305u\210`U\2030\306 \210\307!\210\310=\203A\311\312\313!`\"\210`\312\313!W\203L\314 \210h\315=\203U\316 \210	\317=\203b\320\312\313!`\"\207\321\312\313!`\"\207" [viper-com-point viper-intermediate-command markerp marker-position " " -1 viper-forward-char-carefully push-mark viper-next-line-at-bol viper-enlarge-region mark t exchange-point-and-mark 10 viper-backward-char-carefully viper-repeat viper-change-subr viper-change] 5 (#$ . 31785)])
#@18 

(fn M-COM COM)
(defalias 'viper-exec-Change #[514 "\212\305!\210\306\307\310!`\"\210	\203S\311	\312\"\203#\313	\307\310!`\314$\210\202Q\311	\315\"\203J	\227\307\310!`\316\317!;\203?\317!\202@\320{P\"\266\202Q\314\321\n	\"\210\314\307\310!`|\210)\322\323!\210\324=\203o\3251l\fc0\207\210\314\207\326 \207" [viper-com-point viper-use-register viper-InvalidRegister viper-intermediate-command viper-last-insertion set-mark viper-enlarge-region mark t viper-valid-register (letter digit) copy-to-register nil (Letter) set-register get-register "" error open-line 1 viper-repeat (error) viper-change-state-to-insert] 10 (#$ . 32368)])
#@18 

(fn M-COM COM)
(defalias 'viper-exec-delete #[514 "\306!\203\f\307!\204`p\223\210\310	\203U\311	\312\"\203'\313	`\310$\210\202S\311	\314\"\203L	\227`\315\316!;\203A\316!\202B\317{P\"\266\202S\310\320\n	\"\210\310\321=\205\\\322\323`Z!\262\211\fV\203\210\324 \325\326\327\330\331!\332\"\333$\216\334\335\336 \")\262\204\210\337\340\"\210\322`\"\210\321\"\205\237l\205\237n?\205\237\341u\207" [viper-com-point viper-use-register viper-InvalidRegister last-command viper-change-notification-threshold this-command markerp marker-position nil viper-valid-register (letter digit) copy-to-register (Letter) set-register get-register "" error d-command kill-region abs match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name message "Deleted %d characters" -1 viper-ex-style-motion] 11 (#$ . 33025)])
#@18 

(fn M-COM COM)
(defalias 'viper-exec-Delete #[514 "\212\306!\210\307\310\311!`\"\210\312	\203T\313	\314\"\203$\315	\310\311!`\312$\210\202R\313	\316\"\203K	\227\310\311!`\317\320!;\203@\320!\202A\321{P\"\266\202R\312\322\n	\"\210\312\323=\205[\324\325`\"\262\211\fV\203\206\326 \327\330\331\332\333!\334\"\335$\216\336\337\340 \")\262\204\206\341\342\"\210\324\310\311!`\"\210\343=\203\225\323\210\344 )\207" [viper-com-point viper-use-register viper-InvalidRegister last-command viper-change-notification-threshold this-command set-mark viper-enlarge-region mark t nil viper-valid-register (letter digit) copy-to-register (Letter) set-register get-register "" error D-command kill-region count-lines match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name message "Deleted %d lines" viper-line back-to-indentation] 11 (#$ . 33942)])
#@18 

(fn M-COM COM)
(defalias 'viper-exec-yank #[514 "\305!\203\f\306!\204`p\223\210\307	\203U\310	\311\"\203'\312	`\307$\210\202S\310	\313\"\203L	\227`\314\315!;\203A\315!\202B\316{P\"\266\202S\307\317\n	\"\210\307\307\320`\"\210\321`Z!\262\211\fV\203\207\322 \323\324\325\326\327!\330\"\331$\216\332\333\334 \")\262\204\207\335\336\"\210b\207" [viper-com-point viper-use-register viper-InvalidRegister last-command viper-change-notification-threshold markerp marker-position nil viper-valid-register (letter digit) copy-to-register (Letter) set-register get-register "" error copy-region-as-kill abs match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name message "Saved %d characters"] 11 (#$ . 34889)])
#@18 

(fn M-COM COM)
(defalias 'viper-exec-Yank #[514 "\212\305!\210\306\307\310!`\"\210\311	\203T\312	\313\"\203$\314	\307\310!`\311$\210\202R\312	\315\"\203K	\227\307\310!`\316\317!;\203@\317!\202A\320{P\"\266\202R\311\321\n	\"\210\311\311\322\307\310!`\"\210\323\307\310!`\"\262\211\fV\203\211\324 \325\326\327\330\331!\332\"\333$\216\334\335\336 \")\262\204\211\337\340\"\210\210)\341 \210b\207" [viper-com-point viper-use-register viper-InvalidRegister last-command viper-change-notification-threshold set-mark viper-enlarge-region mark t nil viper-valid-register (letter digit) copy-to-register (Letter) set-register get-register "" error copy-region-as-kill count-lines match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name message "Saved %d lines" deactivate-mark] 11 (#$ . 35708)])
#@18 

(fn M-COM COM)
(defalias 'viper-exec-bang #[514 "\212\303!\210\304\305\306!`\"\210\307 \210\310\305\306!`\311\312\"\203'\313\314\315\301	@$\211\202(\n\306\211%)\207" [viper-com-point viper-shell-history viper-last-shell-com set-mark viper-enlarge-region mark t exchange-point-and-mark shell-command-on-region viper= 33 viper-read-string-with-history "!" nil] 10 (#$ . 36603)])
#@18 

(fn M-COM COM)
(defalias 'viper-exec-equals #[514 "\212\301!\210\302\303\304!`\"\210\303\304!`V\203\305 \210\306\303\304!`\307#)\207" [viper-com-point set-mark viper-enlarge-region mark t exchange-point-and-mark indent-region nil] 6 (#$ . 36993)])
#@18 

(fn M-COM COM)
(defalias 'viper-exec-shift #[514 "\212\302!\210\303\304\305!`\"\210\304\305!`V\203\306 \210\307\304\305!`\310\311\"\203'	\202)	[#\210)b\207" [viper-com-point viper-shift-width set-mark viper-enlarge-region mark t exchange-point-and-mark indent-rigidly viper= 62] 8 (#$ . 37252)])
#@18 

(fn M-COM COM)
(defalias 'viper-exec-dummy #[514 "\300\207" [nil] 3 (#$ . 37563)])
(put 'viper-exec-dummy 'byte-optimizer 'byte-compile-inline-expand)
#@18 

(fn M-COM COM)
(defalias 'viper-exec-buffer-search #[514 "\305`{!\306	B\307\310	\n\311#\207" [viper-com-point viper-s-string viper-s-forward viper-search-history viper-intermediate-command regexp-quote t viper-exec-buffer-search viper-search 1] 6 (#$ . 37722)])
(defvar viper-exec-array (make-vector 128 nil))
(byte-code "\301\302I\210\303\304I\210\305\306I\210\307\310I\210\311\312I\210\313\314I\210\315\316I\210\317\320I\210\321\322I\210\323\322I\210\324\325I\207" [viper-exec-array 99 viper-exec-change 67 viper-exec-Change 100 viper-exec-delete 68 viper-exec-Delete 121 viper-exec-yank 89 viper-exec-Yank 114 viper-exec-dummy 33 viper-exec-bang 60 viper-exec-shift 62 61 viper-exec-equals] 3)
#@22 

(fn M-COM VAL COM)
(defalias 'viper-execute-com #[771 "\303V\203\304\303Z!\210\202&	H\211\204 \305\306\n#\210\202%\211\"\210\210\307!\2056\310\311\211\257!\207" [viper-use-register viper-exec-array viper-InvalidViCommand 128 viper-special-prefix-com error "%c: %s" viper-dotable-command-p viper-set-destructive-command nil] 11 (#$ . 38444)])
#@393 Re-execute last destructive command.
Use the info in viper-d-com, which has the form
(com val ch reg inserted-text command-keys),
where `com' is the command to be re-executed, `val' is the
argument to `com', `ch' is a flag for repeat, and `reg' is optional;
if it exists, it is the name of the register for `com'.
If the prefix argument ARG is non-nil, it is used instead of `val'.

(fn ARG)
(defalias 'viper-repeat #[257 "`\306	\307=\203\310 \210\202x\n@\211:\203\211@\262\311\n8\312\n8\204*\nA@\262\2042\313\314!\210\211\315\n8\203B\315\n8\315\n8B!\210`W\203Y\203Yb\210\202k`W\203k\203kn\204k\316u\210l\203vn\204v\316u\210\266\317 \210	\320=\203\206\321\n\322\"\210\323 )\207" [viper-intermediate-command last-command viper-d-com viper-use-register viper-last-insertion viper-d-char viper-repeat viper-undo viper-undo-more 2 3 error "No previous command to repeat" 4 -1 viper-adjust-undo viper-display-current-destructive-command viper-push-onto-ring viper-command-ring deactivate-mark viper-keep-point-on-repeat viper-ex-style-editing] 9 (#$ . 38814) "P"])
#@387 Repeat a destructive command from history.
Doesn't change viper-command-ring in any way, so `.' will work as before
executing this command.
This command is supposed to be bound to a two-character Vi macro where
the second character is a digit 0 to 9.  The digit indicates which
history command to execute. `<char>0' is equivalent to `.', `<char>1'
invokes the command before that, etc.
(defalias 'viper-repeat-from-history #[0 "\304	\203\305\306	\307\234!!\202\310\211\n\211\247\203%\310X\203%\211\311X\204/\310\262\310\262\312\313!\210\310W\203A\314\315\"\211S\262\202/\316\317!\210V\205W\314\307\"\210\211T\262\202E*\207" [viper-intermediate-command viper-this-kbd-macro viper-d-com viper-command-ring repeating-display-destructive-command string-to-number symbol-name 1 0 9 message "`viper-repeat-from-history' must be invoked as a Vi macro bound to `<key><digit>'" viper-special-ring-rotate1 -1 viper-repeat nil] 5 (#$ . 39918) nil])
#@13 

(fn CHAR)
(defalias 'viper-special-prefix-com #[257 "\303\304\"\203\305`^`]\"\207\303\306\"\203 \307`^`]\"\207\303\310\"\203/\311\312\"\210\313 \207\303\314\"\203>\311\312\"\210\315 \207\303\316\"\203J	`\"\207\317\320\n#\207" [viper-com-point viper-spell-function viper-InvalidViCommand viper= 99 downcase-region 67 upcase-region 103 push-mark t viper-global-execute 113 viper-quote-region 115 error "#%c: %s"] 5 (#$ . 40886)])
(defvar viper-undo-functions nil)
#@23 

(fn BEG END LENGTH)
(defalias 'viper-undo-sentinel #[771 "\300\301$\207" [run-hook-with-args viper-undo-functions] 8 (#$ . 41375)])
(add-hook 'after-change-functions 'viper-undo-sentinel)
#@20 

(fn BEG END LEN)
(defalias 'viper-after-change-undo-hook #[771 "\303\300!\203\203\206\211\207\304\305\306\307#\207" [undo-in-progress undo-beg-posn undo-end-posn boundp remove-hook viper-undo-functions viper-after-change-undo-hook local] 7 (#$ . 41574)])
#@23 Undo previous change.
(defalias 'viper-undo #[0 "\304\305!\210\306 \307\211\310\311\312\307\313$\210\314 \210\315\316!\210	\203e\203e	b\210\317\320!\210\n\203`\321!\203`\322\306 \323\"\210\324\307\317\325\245\"\266b\210\324\307\317\325\245\"\266\321	!\203Z\211b\210\202e	b\210\202e\322\323\"\210l\203pn\204p\326u\210*\210\327\211\207" [undo-end-posn undo-beg-posn viper-keep-point-on-undo this-command message "undo!" point-marker nil add-hook viper-undo-functions viper-after-change-undo-hook local undo-start undo-more 2 sit-for 0 pos-visible-in-window-p push-mark t 300 1000.0 -1 viper-undo] 6 (#$ . 41849) nil])
(defalias 'viper-undo-more #[0 "\301\302!\210\3031\304\305!0\202\210\306 \210\301\307!\210l\203\"n\204\"\310u\210\311\211\207" [this-command message "undo more!" (error) undo-more 1 beep "No further undo information in this buffer" -1 viper-undo] 2])
#@20 nil
(buffer local)
(defvar viper--undo-change-group-handle nil (#$ . 42751))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local viper--undo-change-group-handle put permanent-local t] 4)
(defalias 'viper-adjust-undo #[0 "\205	\301\302!\207" [viper--undo-change-group-handle undo-amalgamate-change-group nil] 3])
(defalias 'viper-set-complex-command-for-undo #[0 "<\205	?\205\302 \211\207" [buffer-undo-list viper--undo-change-group-handle prepare-change-group] 2])
(defalias 'viper-display-current-destructive-command #[0 "\3028\3038\304\305\306\307\310!\311\312\313!\312\314!\315%#\207" [viper-d-com this-command 4 5 30 viper-display-current-destructive-command message " `.' runs  `%s'%s" viper-array-to-string viper-abbreviate-string format-message "  inserting  `" "'" "    ......."] 12])
#@13 

(fn LIST)
(defalias 'viper-set-destructive-command #[257 "\303=\204 \211\304	\233\305\306\n!\203\n\202\307 !\240\210\310	\311\"\210\312\211\207" [viper-intermediate-command viper-d-com viper-this-command-keys viper-repeat 5 viper-array-to-string arrayp this-command-keys viper-push-onto-ring viper-command-ring nil] 5 (#$ . 43591)])
#@139 Find previous destructive command in the history of destructive commands.
With prefix argument, find next destructive command.

(fn NEXT)
(defalias 'viper-prev-destructive-command #[257 "\305\211	\306=\203\307\202\310\n!\203\311\312\"\202!\311\313\"\262\211\203)\211\306 )\207" [viper-intermediate-command last-command viper-command-ring viper-temp-command-ring viper-d-com nil viper-display-current-destructive-command repeating-display-destructive-command ring-copy viper-special-ring-rotate1 1 -1] 5 (#$ . 43941) "P"])
#@71 Find next destructive command in the history of destructive commands.
(defalias 'viper-next-destructive-command #[0 "\300\301!\207" [viper-prev-destructive-command next] 2 (#$ . 44485) nil])
#@329 Cycle through insertion ring in the direction of older insertions.
Undoes previous insertion and inserts new.
With prefix argument, cycles in the direction of newer elements.
In minibuffer, this command executes whatever the invocation key is bound
to in the global map, instead of cycling through the insertion ring.

(fn ARG)
(defalias 'viper-insert-prev-from-insertion-ring #[257 "\306	\307=\203#\310\n\311=\203\312\313!\210\202'\203'\314G!\210\202'\315\f!\307\306B\316
\203:\313\202;\317\"\306\205Ec)\207" [viper-intermediate-command last-command viper-current-state viper-last-inserted-string-from-insertion-ring viper-insertion-ring viper-temp-insertion-ring nil viper-insert-from-insertion-ring repeating-insertion-from-ring replace-state undo 1 backward-delete-char ring-copy viper-special-ring-rotate1 -1 this-command buffer-undo-list] 4 (#$ . 44683) "P"])
#@109 Cycle through insertion ring in the direction of older insertions.
Undo previous insertion and inserts new.
(defalias 'viper-insert-next-from-insertion-ring #[0 "\300\301!\207" [viper-insert-prev-from-insertion-ring next] 2 (#$ . 45581) nil])
(defalias 'viper-add-newline-at-eob-if-necessary #[0 "\212\302\210\214~\210m\205Dn?\205D\205D\303 \205D\304 \305\306\307\310\311!\312\"\313$\216\314\315\316 \")\262?\205D	?\205D\3171B\320c0\202D\210\302*\207" [require-final-newline buffer-read-only nil buffer-modified-p match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name (error) "\n"] 7])
(defalias 'viper-yank-defun #[0 "\300 \210\301`\302\303!\"\207" [mark-defun copy-region-as-kill mark t] 4])
#@16 

(fn BEG END)
(defalias 'viper-enlarge-region #[514 "\204\211\262\211\204\262W\203b\210\300!\210\202%\211b\210\300!\210\301 \210\302 \210m\2033n\2046\303y\210m\204=\301 \210V\205E\302 \207" [set-mark beginning-of-line exchange-point-and-mark 1] 4 (#$ . 46371)])
(defalias 'viper-quote-region #[0 "\302\303\304\305\306\307\310\311	!\"\203\312\202L\307\313\311	!\"\203 \314\202L\307\315\311	!\"\203-\316\202L\307\317\311	!\"\203:\320\202L	\321\267\202H\314\202L\316\202L\305\262$\262\211\204U\322`\323\302!\"\210`\323\302!V\203g\324 \210c\210\325 \210\326y\210`\323\302!W\205\210n\205\210c\210\325 \210\326y\210\202p\207" [viper-quote-string major-mode t viper-read-string-with-history "Quote string: " nil viper-quote-region-history string-match "tex.*-mode" symbol-name "%%" "java.*-mode" "//" "perl.*-mode" "#" "lisp.*-mode" ";;" #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (c-mode 64 cc-mode 64 c++-mode 64 sh-mode 68 shell-mode 68)) viper-enlarge-region mark exchange-point-and-mark beginning-of-line 1] 10])
#@16 

(fn BEG END)
(defalias 'viper-same-line #[514 "\301\302\301\203\203V\203\262\262\211\262\205I\205IdV\2040dV\2034\301\202I\303\304!U\203?\305\262\306\"\\\305X)\207" [selective-display nil 0 viper-line-pos start 1 count-lines] 9 (#$ . 47478)])
#@15 

(fn STRING)
(defalias 'viper-end-with-a-newline-p #[257 "\211\301\230\206\211\211\211GS\234)\302U\207" [seq "" 10] 3 (#$ . 47762)])
#@12 

(fn MSG)
(defalias 'viper-tmp-insert-at-eob #[257 "d\211b\210c\210\300\301!\210\211b\210`d|\207" [sit-for 2] 4 (#$ . 47905)])
(defalias 'viper-set-minibuffer-style #[0 "\300\301\302\"\210\300\303\304\"\207" [add-hook minibuffer-setup-hook viper-minibuffer-setup-sentinel post-command-hook viper-minibuffer-post-command-hook] 3])
(put 'viper-set-minibuffer-style 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'viper-minibuffer-setup-sentinel #[0 "\203\304\202	\305\306\301!\210\306\302!\210\306\303!\210\307\211\307\211 \207" [viper-vi-style-in-minibuffer viper-d-com viper-last-insertion viper-command-ring viper-change-state-to-insert viper-change-state-to-emacs make-local-variable nil] 4])
(defalias 'viper-minibuffer-standard-hook #[0 ";\203	\304!\210	;\205-\n\204\204\305\306!\210\307\310!\203(\310 d|\210\202+\311 \210	c\207" [viper--init-message viper-initial unread-command-events executing-kbd-macro viper-tmp-insert-at-eob sit-for 840 fboundp minibuffer-prompt-end erase-buffer] 2])
(defalias 'viper-minibuffer-real-start #[0 "\300\301!\203	\301 \207e\207" [fboundp minibuffer-prompt-end] 2])
(put 'viper-minibuffer-real-start 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'viper-minibuffer-post-command-hook #[0 "\300 \205#`\301\302!\203\302 \202eW\205#\301\302!\203!\302 \202\"eb\207" [active-minibuffer-window fboundp minibuffer-prompt-end] 3])
#@28 Exit minibuffer Viper way.
(defalias 'viper-exit-minibuffer #[0 "\300\301\302\303 !!\262\304\305!\210\211\203\306!\202\307 \207" [nil local-key-binding char-to-string viper-last-command-char run-hooks viper-minibuffer-exit-hook command-execute exit-minibuffer] 4 (#$ . 49317) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable viper-smart-suffix-list funcall function #[0 "\300\207" [("" "tex" "c" "cc" "C" "java" "el" "html" "htm" "xml" "pl" "flr" "P" "p" "h" "H")] 1] "List of suffixes that Viper tries to append to filenames ending with a `.'.\nThis is useful when the current directory contains files with the same\nprefix and many different suffixes.  Usually, only one of the suffixes\nrepresents an editable file.  However, file completion will stop at the `.'\nThe smart suffix feature lets you hit RET in such a case, and Viper will\nselect the appropriate suffix.\n\nSuffixes are tried in the order given and the first suffix for which a\ncorresponding file exists is selected.  If no file exists for any of the\nsuffixes, the user is asked to confirm.\n\nTo turn this feature off, set this variable to nil." :type (repeat string) :group viper-misc] 8)
(defalias 'viper-file-add-suffix #[0 "\301G\302\303\304!\203\304 \202ed\"\305\211\211\211db\210\205\205\306\307\"\205\205\204RW\203R8\262T\262\310\311\312\313!#!\203%\314\262\211c\210\202%?\205\205\315\316!\210\317\216\320>?\205\204\321\322\305!\211\262!\262\323\267\202}c\210\202]\202]\324!\210\202])\207" [viper-smart-suffix-list 0 buffer-substring-no-properties fboundp minibuffer-prompt-end nil string-match "\\.\\'" file-exists-p format "%s%s" substitute-in-file-name t viper-tmp-insert-at-eob " [Please complete file name]" #[0 "\300\207" [nil] 1] (exit-minibuffer viper-exit-minibuffer) key-binding read-key-sequence #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (self-insert-command 116 exit-minibuffer 122 viper-exit-minibuffer 122)) command-execute] 12])
#@148 Delete junk at the end of the first line of the minibuffer input.
Remove this function from `viper-minibuffer-exit-hook', if this causes
problems.
(defalias 'viper-minibuffer-trim-tail #[0 "\301 \302\303\304\305\306!\307\"\310$\216\311\312\313 \")\262\2050\314\315\316!\203&\316 \202'eb\210\317\210`d|)\207" [inhibit-field-text-motion match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name t fboundp minibuffer-prompt-end nil] 7 (#$ . 51382)])
#@73 

(fn PROMPT &optional INITIAL HISTORY-VAR DEFAULT KEYMAP INIT-MESSAGE)
(defalias 'viper-read-string-with-history #[1537 "\306\300!\205	\307<\203@\310=\203C\202B\262\311\211\312\206.\262\n\2066\311\262\n\203H\313\314\n\"\202I\311\262\312\315\f
R\n\312%\262\312\316\317 !\262\311\262\320!@\230\204	\320\f!BL\210\320\n!@\320!A@\230\204\230\320\n!@\311\230\203\241	\320!AL\210\311\230\203\270\321\230\204\270
\322>\204\270\311\202\310\311\230\203\307\206\310\311\202\310+\207" [minibuffer-setup-hook viper--init-message viper-initial minibuffer-local-map viper-incomplete-ex-cmd last-command boundp viper-minibuffer-standard-hook lambda "" nil format "(default %s) " read-from-minibuffer viper-array-to-string this-command-keys eval "!" (viper-ex viper-command-argument t)] 18 (#$ . 51916)])
(defalias 'viper-repeat-insert-command #[0 "@A@\3018\205*\302V\205*S\303\304\211\211\257\305\304!\210\304\211\211\257\211\207" [viper-d-com 2 1 114 nil viper-repeat] 9])
#@32 Insert before point.

(fn ARG)
(defalias 'viper-insert #[257 "\302 \210\211\211\204\303\262\202)\211:\203)\211@\203\211@\304\232\203%\303\262\202)\211@\262\305\306\307\310\211\211\257!\210\311=\203\\\211\211\312V\205W\3131K	c0\202O\210\202P\210\211S\262\202;\262\202^\314 \207" [viper-intermediate-command viper-last-insertion viper-set-complex-command-for-undo 1 (nil) viper-set-destructive-command viper-insert 114 nil viper-repeat 0 (error) viper-change-state-to-insert] 9 (#$ . 52980) "P"])
#@31 Append after point.

(fn ARG)
(defalias 'viper-append #[257 "\302 \210\211\211\204\303\262\202)\211:\203)\211@\203\211@\304\232\203%\303\262\202)\211@\262\305\306\307\310\211\211\257!\210l\204;\310u\210\311=\203c\211\211\312V\205^\3131R	c0\202V\210\202W\210\211S\262\202B\262\202e\314 \207" [viper-intermediate-command viper-last-insertion viper-set-complex-command-for-undo 1 (nil) viper-set-destructive-command viper-append 114 nil viper-repeat 0 (error) viper-change-state-to-insert] 9 (#$ . 53504) "P"])
#@34 Append at end of line.

(fn ARG)
(defalias 'viper-Append #[257 "\302 \210\211\211\204\303\262\202)\211:\203)\211@\203\211@\304\232\203%\303\262\202)\211@\262\305\306\307\310\211\211\257!\210\310\210\311=\203_\211\211\312V\205Z\3131N	c0\202R\210\202S\210\211S\262\202>\262\202a\314 \207" [viper-intermediate-command viper-last-insertion viper-set-complex-command-for-undo 1 (nil) viper-set-destructive-command viper-Append 114 nil viper-repeat 0 (error) viper-change-state-to-insert] 9 (#$ . 54042) "P"])
#@42 Insert before first non-white.

(fn ARG)
(defalias 'viper-Insert #[257 "\302 \210\211\211\204\303\262\202)\211:\203)\211@\203\211@\304\232\203%\303\262\202)\211@\262\305\306\307\310\211\211\257!\210\311 \210\312=\203_\211\211\313V\205Z\3141N	c0\202R\210\202S\210\211S\262\202>\262\202a\315 \207" [viper-intermediate-command viper-last-insertion viper-set-complex-command-for-undo 1 (nil) viper-set-destructive-command viper-Insert 114 nil back-to-indentation viper-repeat 0 (error) viper-change-state-to-insert] 9 (#$ . 54576) "P"])
#@28 Open line below.

(fn ARG)
(defalias 'viper-open-line #[257 "\302 \210\211\211\204\303\262\202)\211:\203)\211@\203\211@\304\232\203%\303\262\202)\211@\262\305\306\307\310\211\211\257!\210\311 \312=\203i\211\313V\205d\310\210\314\303!\210\315!\210\3161X	c0\202\\\210\202]\210\211S\262\202=\262\202v\310\210\314\303!\210\315!\210\317 \262\207" [viper-intermediate-command viper-last-insertion viper-set-complex-command-for-undo 1 (nil) viper-set-destructive-command viper-open-line 114 nil current-indentation viper-repeat 0 newline viper-indent-line (error) viper-change-state-to-insert] 9 (#$ . 55138) "P"])
#@28 Open line above.

(fn ARG)
(defalias 'viper-Open-line #[257 "\302 \210\211\211\204\303\262\202)\211:\203)\211@\203\211@\304\232\203%\303\262\202)\211@\262\305\306\307\310\211\211\257!\210\311 \312=\203i\211\313V\205d\314 \210\315\303!\210\316!\210\3171X	c0\202\\\210\202]\210\211S\262\202=\262\202v\314 \210\315\303!\210\316!\210\320 \262\207" [viper-intermediate-command viper-last-insertion viper-set-complex-command-for-undo 1 (nil) viper-set-destructive-command viper-Open-line 114 nil current-indentation viper-repeat 0 beginning-of-line open-line viper-indent-line (error) viper-change-state-to-insert] 9 (#$ . 55781) "P"])
#@31 Open line at point.

(fn ARG)
(defalias 'viper-open-line-at-point #[257 "\302 \210\211\211\204\303\262\202)\211:\203)\211@\203\211@\304\232\203%\303\262\202)\211@\262\305\306\307\310\211\211\257!\210\311=\203`\211\211\312V\205[\313\303!\210\3141O	c0\202S\210\202T\210\211S\262\202;\262\202f\313\303!\210\315 \207" [viper-intermediate-command viper-last-insertion viper-set-complex-command-for-undo 1 (nil) viper-set-destructive-command viper-open-line-at-point 114 nil viper-repeat 0 open-line (error) viper-change-state-to-insert] 9 (#$ . 56444) "P"])
#@34 Substitute characters.

(fn ARG)
(defalias 'viper-substitute #[257 "\211\211\204\301\262\202&\211:\203&\211@\203\211@\302\232\203\"\301\262\202&\211@\262\303\304\305\"\210\211u\210\306=\203>\307\310\305!`\"\210\202E\311\310\305!`\"\210\312\313\314\304\211\211\257!\207" [viper-intermediate-command 1 (nil) push-mark nil t viper-repeat viper-change-subr mark viper-change viper-set-destructive-command viper-substitute 114] 9 (#$ . 57026) "P"])
#@29 Substitute lines.

(fn ARG)
(defalias 'viper-substitute-line #[257 "\300 \210\301\302B!\207" [viper-set-complex-command-for-undo viper-line 67] 4 (#$ . 57492) "p"])
(defalias 'viper-start-replace #[0 "\305\211\306\307\310\311\305\312$\210\307\313\314\305\312$\210\307\315\316\305#\210\307\317\320\305#\210\321\322\323!\"\210\307\324\325\305\312$\210\307\326\327\305\312$\210\330\324\331\312#\210\f\205B\304\332!\207" [viper-began-as-replace viper-sitting-in-replace viper-replace-chars-to-delete viper-replace-overlay overwrite-mode t 0 add-hook viper-after-change-functions viper-replace-mode-spy-after local viper-before-change-functions viper-replace-mode-spy-before after-change-functions viper-after-change-sentinel before-change-functions viper-before-change-sentinel viper-move-marker-locally viper-last-posn-in-replace-region overlay-start viper-post-command-hooks viper-replace-state-post-command-sentinel viper-pre-command-hooks viper-replace-state-pre-command-sentinel remove-hook viper-R-state-post-command-sentinel -1] 6])
#@16 

(fn BEG END)
(defalias 'viper-replace-mode-spy-before #[514 "\301\"\211\207" [viper-replace-region-chars-deleted viper-chars-in-region] 5 (#$ . 58540)])
#@23 

(fn BEG END LENGTH)
(defalias 'viper-replace-mode-spy-after #[771 "\306>\203
\307\310\305`\"\207\311\n!^\212\211b\210i)\212b\210i)Z\307\307V\203)\262\307	\312\"\f\313>\203;\202<\307]Z\\\310\305\311\n!V\203R\311\n!\202T\314
!\206]\315\n!]\"\207" [viper-intermediate-command viper-replace-chars-to-delete viper-replace-overlay viper-replace-region-chars-deleted this-command viper-last-posn-in-replace-region (dabbrev-expand hippie-expand repeating-insertion-from-ring) 0 viper-move-marker-locally overlay-end viper-chars-in-region (self-insert-command quoted-insert viper-insert-tab) marker-position overlay-start] 11 (#$ . 58704)])
(defalias 'viper-finish-change #[0 "\306\307\310\311#\210\306\312\313\311#\210\306\314\315\311#\210\306\316\317\311#\210\320\321!\210\322\212	\203J\n\323	!\324	!^Y\2057]Y\266\203\203J`\324	!W\203J\n\324	!|\210)\325=\203f\3261\\\327\330!0\202a\331!\262\210\332\322\333\302\322\"\210\334 \210\335 \210\336
!\207" [viper-sitting-in-replace viper-replace-overlay viper-last-posn-in-replace-region viper-current-state viper-replace-minor-mode viper-last-replace-region remove-hook viper-after-change-functions viper-replace-mode-spy-after local viper-before-change-functions viper-replace-mode-spy-before viper-post-command-hooks viper-replace-state-post-command-sentinel viper-pre-command-hooks viper-replace-state-pre-command-sentinel viper-restore-cursor-color after-replace-mode nil overlay-start overlay-end replace-state (error) run-hooks viper-insert-state-hook viper-message-conditions insert-state viper-move-marker-locally viper-hide-replace-overlay viper-refresh-mode-line viper-put-string-on-kill-ring] 6])
#@15 

(fn STRING)
(defalias 'viper-put-string-on-kill-ring #[257 "\211B\211G	V\203	S\233\303\241\210\211\207" [kill-ring kill-ring-max kill-ring-yank-pointer nil] 4 (#$ . 60402)])
(defalias 'viper-finish-R-mode #[0 "\302\303\304\305#\210\302\306\307\305#\210\3101\311\312!0\202\313!\262\210\314\315\211\207" [viper-current-state viper-replace-minor-mode remove-hook viper-post-command-hooks viper-R-state-post-command-sentinel local viper-pre-command-hooks viper-replace-state-pre-command-sentinel (error) run-hooks viper-insert-state-hook viper-message-conditions insert-state nil] 4])
(defalias 'viper-start-R-mode #[0 "\300\301!\210\302\303\304\305\306$\210\302\307\310\305\306$\210\311\303\312\306#\207" [overwrite-mode 1 add-hook viper-post-command-hooks viper-R-state-post-command-sentinel t local viper-pre-command-hooks viper-replace-state-pre-command-sentinel remove-hook viper-replace-state-post-command-sentinel] 5])
#@112 Binding for keys that cause Replace state to switch to Vi or to Insert.
These keys are ESC, RET, and LineFeed.
(defalias 'viper-replace-state-exit-cmd #[0 "\203\n\303 \210\202
\304 \210\305	\306=\203\307\262\202%\310\n!\210\311\312\305!!\262\31310\314!0\2025\315!\262\266\316 \207" [overwrite-mode this-command last-input-event viper-finish-R-mode viper-finish-change nil viper-intercept-ESC-key viper-exit-insert-state viper-set-unread-command-events key-binding read-key-sequence (error) command-execute viper-message-conditions viper-hide-replace-overlay] 4 (#$ . 61348) nil])
#@41 Carriage return in Viper replace state.
(defalias 'viper-replace-state-carriage-return #[0 "`\304!W\204`\305!V\2031\306\211\307\n!\210\310\311\306!!\262\3121*\313!0\202/\314!\262)\207\2048\315 \207\316`\305!\"\203D\315 \207`\317\320!|\210\212\306\210m\203V\321\322!\210)\323y\210\324 \207" [viper-replace-overlay viper-replace-minor-mode last-input-event viper-allow-multiline-replace-regions overlay-start overlay-end nil viper-set-unread-command-events key-binding read-key-sequence (error) command-execute viper-message-conditions viper-replace-state-exit-cmd viper-same-line viper-line-pos end error "Last line in buffer" 1 back-to-indentation] 5 (#$ . 61948) nil])
#@33 Begin overwrite mode.

(fn ARG)
(defalias 'viper-overwrite #[257 "\211\211\204\303\262\202&\211:\203&\211@\203\211@\304\232\203\"\303\262\202&\211@\262\305\306\307\310\305\211\211\257!\210\311=\203h	G\262\312\313d`\303#^!\210\211\314V\205c\3151W	c0\202[\210\202\\\210\211S\262\202G\262\202v\307\316 \210\317`\320\321!\"\210\322 \207" [viper-intermediate-command viper-last-insertion last-command 1 (nil) nil viper-set-destructive-command viper-overwrite 114 viper-repeat delete-char - 0 (error) viper-set-complex-command-for-undo viper-set-replace-overlay viper-line-pos end viper-change-state-to-replace] 10 (#$ . 62643) "P"])
#@12 

(fn ARG)
(defalias 'viper-line #[257 "\211@A\300\301`\"\210m\204\302S!\210\303 \210\304\305#\266m\205+n\205+o?\205+\306y\207" [viper-move-marker-locally viper-com-point viper-next-line-carefully viper-add-newline-at-eob-if-necessary viper-execute-com viper-line -1] 7 (#$ . 63304)])
#@43 Yank ARG lines (in Vi's sense).

(fn ARG)
(defalias 'viper-yank-line #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\302\303B!\207" [1 (nil) viper-line 89] 5 (#$ . 63605) "P"])
#@40 Execute command on a region.

(fn ARG)
(defalias 'viper-region #[257 "\211\211:\203\n\211@\262\211\204\300\262\202$\211:\203!\211A\262\202$\300\262\301\302`\"\210\303 \210\304\305#\207" [nil viper-move-marker-locally viper-com-point exchange-point-and-mark viper-execute-com viper-region] 7 (#$ . 63845) "P"])
#@40 Execute command on a Region.

(fn ARG)
(defalias 'viper-Region #[257 "\211\211:\203\n\211@\262\300!\301\302`\"\210\303 \210\304\305#\207" [viper-getCom viper-move-marker-locally viper-com-point exchange-point-and-mark viper-execute-com viper-Region] 7 (#$ . 64174) "P"])
#@66 Replace the following ARG chars by the character read.

(fn ARG)
(defalias 'viper-replace-char #[257 "l\203\fn\203\f\302\303!\210\211\211\204\304\262\2022\211:\2032\211@\203(\211@\305\232\203.\304\262\2022\211@\262\211\204=\306\262\202L\211:\203I\211A\262\202L\306\262\307\"\210l\203\\n\204\\\304u\210\310\311\250\203g\202h\312\"\313\314\315\306	\306\257!\207" [viper-this-command-keys viper-d-char error "No character to replace here" 1 (nil) nil viper-replace-char-subr format "%sr" "" viper-set-destructive-command viper-replace-char 114] 10 (#$ . 64456) "P"])
#@16 

(fn COM ARG)
(defalias 'viper-replace-char-subr #[514 "\303\304\305 \210	\306=\204\307 \210\310\311\303\"\210\203\n\202 \312\313!\262\203)\211c\210\211\314V\2035\2027[S\211\314V\203M\310\311\303\"\210c\210\211S\262\2028\210\315 \210\206V\311[u)\207" [inhibit-quit viper-intermediate-command viper-d-char t nil viper-set-complex-command-for-undo viper-repeat viper-special-read-and-insert-char delete-char 1 viper-char-at-pos backward 0 viper-adjust-undo] 8 (#$ . 65057)])
#@115 Move point right ARG characters (left if ARG negative).
On reaching end of line, stop and signal error.

(fn ARG)
(defalias 'viper-forward-char #[257 "\211\211\204\302\262\202&\211:\203&\211@\203\211@\303\232\203\"\302\262\202&\211@\262\211\2041\304\262\202@\211:\203=\211A\262\202@\304\262\211\203I\305\306`\"\210\203vl\203\\n\203\\\307	!\210\202_u\210\211\203i\310\311#\210l\205\202\312u\210\307	!\202\202u\210\211\205\202\310\311#\207" [viper-ex-style-motion viper-ViperBell 1 (nil) nil viper-move-marker-locally viper-com-point user-error viper-execute-com viper-forward-char -1] 7 (#$ . 65561) "P"])
#@121 Move point left ARG characters (right if ARG negative).
On reaching beginning of line, stop and signal error.

(fn ARG)
(defalias 'viper-backward-char #[257 "\211\211\204\302\262\202&\211:\203&\211@\203\211@\303\232\203\"\302\262\202&\211@\262\211\2041\304\262\202@\211:\203=\211A\262\202@\304\262\211\203I\305\306`\"\210\203ln\203X\307	!\210\202`\206]\302[u\210\211\205}\310\311#\202}\206q\302[u\210\211\205}\310\311#\207" [viper-ex-style-motion viper-ViperBell 1 (nil) nil viper-move-marker-locally viper-com-point user-error viper-execute-com viper-backward-char] 7 (#$ . 66208) "P"])
#@22 

(fn &optional ARG)
(defalias 'viper-forward-char-carefully #[256 "\211\206\300\262`\3011u0\202\210\202\210`W\203%\302`\"[\202)\302`\"\207" [1 (error) viper-chars-in-region] 5 (#$ . 66837)])
#@22 

(fn &optional ARG)
(defalias 'viper-backward-char-carefully #[256 "\211\206\300\262`\3011\206\300[u0\202\210\202\210`V\203)\302`\"\202.\302`\"[\207" [1 (error) viper-chars-in-region] 5 (#$ . 67050)])
#@12 

(fn ARG)
(defalias 'viper-next-line-carefully #[257 "\3011\f\302\303!)0\207\210\302\207" [line-move-visual (error) nil next-line] 3 (#$ . 67275)])
#@16 

(fn FORWARD)
(defalias 'viper-skip-separators #[257 "\211\203`\304\305=\203\211\203	\306w\210\202.\n\306w\210\202.\307\310\206%\311\205,\312\313!$\210\210\314\311!\205\324\306u\210\304\305=\203O\211\203I	\306w\202_\n\306w\202_\307\310\206W\311\205^\312\313!$\207m\203q\212\315 \210\316 )\203q\315 \210\304\305=\203\212\211\203\203	\306x\210\202\233\n\306x\210\202\233\307\317\206\222\311\205\231\312\320!$\210\210\315 \210\314\311!\203\315\304\305=\203\274\211\203\266	\306x\202\314\n\306x\202\314\307\317\206\304\311\205\313\312\320!$\207\316 \206\324\306u\207" [viper-syntax-preference viper-strict-SEP-chars-sans-newline viper-strict-SEP-chars viper-SEP-char-class within-line strict-vi nil viper-skip-syntax forward "\n" viper-line-pos end looking-at viper-backward-char-carefully viper-looking-at-separator backward start] 8 (#$ . 67433)])
#@12 

(fn VAL)
(defalias 'viper-forward-word-kernel #[257 "\211\300V\205>\301 \203\302\303!\210\304\305!\210\2027\306 \203\"\304\305!\210\2027\307\306 \206+\301!\262\2047\310 \210\304\305!\210\211S\262\202\207" [0 viper-looking-at-alpha viper-skip-alpha-forward "_" viper-skip-separators t viper-looking-at-separator nil viper-skip-nonalphasep-forward] 4 (#$ . 68334)])
#@18 

(fn TWICE LIM)
(defalias 'viper-separator-skipback-special #[514 "\301\302!`\303\304\"\2041`W\2031\305=\203\303\306\"\202#\303z\307\"\2031\310 \210\301\302!\262\202`W\203C\311=\203C\312u\210\202F\211b\210\301\302!\262\203|\303\313\"\204|`W\203|\305=\203i\303\314\"\202n\303z\315\"\203|\310 \210\301\302!\262\202O`U\205\204\316 \207" [viper-syntax-preference viper-char-at-pos backward viper-memq-char (nil n) strict-vi (32 9) (32 45) viper-backward-char-carefully 10 -1 (nil n) (32 9) (32 45) viper-forward-char-carefully] 7 (#$ . 68719)])
#@25 Forward word.

(fn ARG)
(defalias 'viper-forward-word #[257 "\211\211\204\301\262\202&\211:\203&\211@\203\211@\302\232\203\"\301\262\202&\211@\262\211\2041\303\262\202@\211:\203=\211A\262\202@\303\262\211\203I\304\300`\"\210\305!\210\211\205\306\307\"\203`\310\311\"\210\202z\306\312\"\203o\310\303\"\210\202z\313!\203z\310\303\"\210\314\315#\207" [viper-com-point 1 (nil) nil viper-move-marker-locally viper-forward-word-kernel viper-char-equal 99 viper-separator-skipback-special twice 121 viper-dotable-command-p viper-execute-com viper-forward-word] 7 (#$ . 69303) "P"])
#@55 Forward word delimited by white characters.

(fn ARG)
(defalias 'viper-forward-Word #[257 "\211\211\204\301\262\202&\211:\203&\211@\203\211@\302\232\203\"\301\262\202&\211@\262\211\2041\303\262\202@\211:\203=\211A\262\202@\303\262\211\203I\304\300`\"\210\211\305V\203_\306\307!\210\310\311!\210\211S\262\202J\210\211\205\222\312\313\"\203s\314\315\"\210\202\215\312\316\"\203\202\314\303\"\210\202\215\317!\203\215\314\303\"\210\320\321#\207" [viper-com-point 1 (nil) nil viper-move-marker-locally 0 viper-skip-nonseparators forward viper-skip-separators t viper-char-equal 99 viper-separator-skipback-special twice 121 viper-dotable-command-p viper-execute-com viper-forward-Word] 7 (#$ . 69920) "P"])
(defalias 'viper-end-of-word-kernel #[0 "\304 \203\305u\210\306 \2038\305\307=\203&\211\203	\305w\210\2027\n\305w\210\2027\310\311\206.\312\2055\313\314!$\210\210\315 \203D\316\317!\210\202U\305\306 \206M\315!\262\204U\320 \210\321 \207" [viper-syntax-preference viper-strict-SEP-chars-sans-newline viper-strict-SEP-chars viper-SEP-char-class viper-end-of-word-p nil viper-looking-at-separator strict-vi viper-skip-syntax forward "\n" viper-line-pos end viper-looking-at-alpha viper-skip-alpha-forward "_" viper-skip-nonalphasep-forward viper-backward-char-carefully] 7])
(defalias 'viper-end-of-word-p #[0 "m\2061\212\300 \203\301u\210\300 ?\2020\301\302 \206\300!\262?\2050\301u\210\301\302 \206.\300!\262)\207" [viper-looking-at-alpha nil viper-looking-at-separator] 3])
#@64 Move point to end of current word.

(fn ARG &optional CAREFUL)
(defalias 'viper-end-of-word #[513 "\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\211\2041\302\262\202@\211:\203=\211A\262\202@\302\262\211\203I\303\304`\"\210\211\305V\203Z\306 \210\211S\262\202J\210\211\205g\302u\210\307\310#\207" [1 (nil) nil viper-move-marker-locally viper-com-point 0 viper-end-of-word-kernel viper-execute-com viper-end-of-word] 8 (#$ . 71473) "P"])
#@64 Forward to end of word delimited by white character.

(fn ARG)
(defalias 'viper-end-of-Word #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\211\2041\302\262\202@\211:\203=\211A\262\202@\302\262\211\203I\303\304`\"\210\211\305V\203a\306 \210\307\310!\210\311u\210\211S\262\202J\210\211\205n\302u\210\312\313#\207" [1 (nil) nil viper-move-marker-locally viper-com-point 0 viper-end-of-word-kernel viper-skip-nonseparators forward -1 viper-execute-com viper-end-of-Word] 7 (#$ . 71979) "P"])
#@12 

(fn VAL)
(defalias 'viper-backward-word-kernel #[257 "\211\300V\205f\301 \210\302 \203\303\304!\210\202_\305 \203N\306u\210\307\306!\210\301 \210\302 \2030\303\304!\210\202_\306\305 \2069\302!\262\204D\310 \210\202_o\204_\306u\210\202_\306\305 \206W\302!\262\204_\310 \210\211S\262\202\207" [0 viper-backward-char-carefully viper-looking-at-alpha viper-skip-alpha-backward "_" viper-looking-at-separator nil viper-skip-separators viper-skip-nonalphasep-backward] 4 (#$ . 72546)])
#@26 Backward word.

(fn ARG)
(defalias 'viper-backward-word #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\211\2041\302\262\202@\211:\203=\211A\262\202@\302\262\211\203c\302\212\303u\210\304\305!)\211\262\203V\303u\210\306\307`\"\210\211\203b\302u\210\210\310!\210\211\205p\311\312#\207" [1 (nil) nil -1 looking-at "\n" viper-move-marker-locally viper-com-point viper-backward-word-kernel viper-execute-com viper-backward-word] 7 (#$ . 73055) "P"])
#@55 Backward word delimited by white character.

(fn ARG)
(defalias 'viper-backward-Word #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\211\2041\302\262\202@\211:\203=\211A\262\202@\302\262\211\203c\302\212\303u\210\304\305!)\211\262\203V\303u\210\306\307`\"\210\211\203b\302u\210\210\211\310V\203y\311\302!\210\312\313!\210\211S\262\202d\210\211\205\203\314\315#\207" [1 (nil) nil -1 looking-at "\n" viper-move-marker-locally viper-com-point 0 viper-skip-separators viper-skip-nonseparators backward viper-execute-com viper-backward-Word] 7 (#$ . 73579) "P"])
#@36 Go to beginning of line.

(fn ARG)
(defalias 'viper-beginning-of-line #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\211\2041\302\262\202@\211:\203=\211A\262\202@\302\262\211\203I\303\304`\"\210\305!\210\211\205V\306\307#\207" [1 (nil) nil viper-move-marker-locally viper-com-point beginning-of-line viper-execute-com viper-beginning-of-line] 7 (#$ . 74218) "P"])
#@59 Beginning of line at first non-white character.

(fn ARG)
(defalias 'viper-bol-and-skip-white #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\211\2041\302\262\202@\211:\203=\211A\262\202@\302\262\211\203I\303\304`\"\210\305S!\210\211\205W\306\307#\207" [1 (nil) nil viper-move-marker-locally viper-com-point forward-to-indentation viper-execute-com viper-bol-and-skip-white] 7 (#$ . 74658) "P"])
#@30 Go to end of line.

(fn ARG)
(defalias 'viper-goto-eol #[257 "\211\211\204\302\262\202&\211:\203&\211@\203\211@\303\232\203\"\302\262\202&\211@\262\211\2041\304\262\202@\211:\203=\211A\262\202@\304\262\211\203I\305\306`\"\210\210\211\203V\307\310#\210\205ll\205ln?\205l	\311=?\205l\312u\207" [viper-ex-style-motion viper-current-state 1 (nil) nil viper-move-marker-locally viper-com-point viper-execute-com viper-goto-eol insert-state -1] 7 (#$ . 75129) "P"])
#@31 Go to ARG's column.

(fn ARG)
(defalias 'viper-goto-col #[257 "\211\211\204\301\262\202&\211:\203&\211@\203\211@\302\232\203\"\301\262\202&\211@\262\211\2041\303\262\202@\211:\203=\211A\262\202@\303\262\303\304\305\306!\305\307!\"\262\203T\310\311`\"\210\312 \210\211^Su\210iSV\203j\313u\210\202]\203t\314\315#\210\212\303\210iV\205\201\316!)\207" [viper-ViperBell 1 (nil) nil viper-chars-in-region viper-line-pos start end viper-move-marker-locally viper-com-point beginning-of-line -1 viper-execute-com viper-goto-col user-error] 8 (#$ . 75625) "P"])
#@28 Go to next line.

(fn ARG)
(defalias 'viper-next-line #[257 "\211\211\204\303\262\202&\211:\203&\211@\203\211@\304\232\203\"\303\262\202&\211@\262\305!\211\2032\306\307`\"\210\310\311!\210)	\203Hl\203Hn\204H\312u\210\311\211\205S\313\314#\207" [line-move-visual viper-ex-style-motion this-command 1 (nil) viper-getCom viper-move-marker-locally viper-com-point nil next-line -1 viper-execute-com viper-next-line] 7 (#$ . 76218) "P"])
#@121 Next line at beginning of line.
If point is on a widget or a button, simulate clicking on that widget/button.

(fn ARG)
(defalias 'viper-next-line-at-bol #[257 "\300`\301\"\300`\302\"\300`\303\"\206\206\211\211\2037\2119\203$\211\304N\202.\211:\2037\304!\304N\2037\305`!\202\237\306\307!\203N\306\310!\203N\307`!\203N\310 \202\237\212\311\210m\203Z\312\313!\210)\211\204f\314\262\202\201\211:\203\201\211@\203w\211@\315\232\203}\314\262\202\201\211@\262\316!\211\203\216\317\320`\"\210y\210\321 \210\211\205\235\322\323#\266\202\207" [get-char-property field button widget-doc widget-type widget-button-press fboundp button-at push-button nil error "Last line in buffer" 1 (nil) viper-getCom viper-move-marker-locally viper-com-point back-to-indentation viper-execute-com viper-next-line-at-bol] 11 (#$ . 76680) "P"])
#@32 Go to previous line.

(fn ARG)
(defalias 'viper-previous-line #[257 "\211\211\204\303\262\202&\211:\203&\211@\203\211@\304\232\203\"\303\262\202&\211@\262\305!\211\2032\306\307`\"\210\310\311!\210)	\203Hl\203Hn\204H\312u\210\311\211\205S\313\314#\207" [line-move-visual viper-ex-style-motion this-command 1 (nil) viper-getCom viper-move-marker-locally viper-com-point nil previous-line -1 viper-execute-com viper-previous-line] 7 (#$ . 77540) "P"])
#@47 Previous line at beginning of line.

(fn ARG)
(defalias 'viper-previous-line-at-bol #[257 "\212\300 \210o\203\f\301\302!\210)\211\211\204\303\262\2023\211:\2033\211@\203)\211@\304\232\203/\303\262\2023\211@\262\305!\211\203?\306\307`\"\210[y\210\310 \210\211\205O\311\312#\207" [beginning-of-line error "First line in buffer" 1 (nil) viper-getCom viper-move-marker-locally viper-com-point back-to-indentation viper-execute-com viper-previous-line] 7 (#$ . 78017) "P"])
#@34 Change to end of line.

(fn ARG)
(defalias 'viper-change-to-eol #[257 "\300\301B!\207" [viper-goto-eol 99] 4 (#$ . 78509) "P"])
#@24 Delete line.

(fn ARG)
(defalias 'viper-kill-line #[257 "\300\301B!\207" [viper-goto-eol 100] 4 (#$ . 78644) "P"])
#@23 Erase line.

(fn ARG)
(defalias 'viper-erase-line #[257 "\300\301B!\207" [viper-beginning-of-line 100] 4 (#$ . 78766) "P"])
#@63 Go to ARG's line.  Without ARG go to end of buffer.

(fn ARG)
(defalias 'viper-goto-line #[257 "\211\211:\203\n\211@\262\300!\301\302`\"\210\303 \210\304\305\306\"\210\204$db\210\202+eb\210Sy\210m\203:n\203:o\204:\307y\210\310 \210\211\203G\311\312#\210m\203Vn\203Vo\204V\307y\210\310 \207" [viper-getCom viper-move-marker-locally viper-com-point deactivate-mark push-mark nil t -1 back-to-indentation viper-execute-com viper-goto-line] 7 (#$ . 78897) "P"])
#@32 

(fn ARG CHAR FORWARD OFFSET)
(defalias 'viper-find-char #[1028 "\305!\204\n\306!\210\203\202[	\307=\203 \310\n8\202$\311\312 !\313\211\211\212\214\314V\203F`\262\203=\315\316!\210\202@\313\210`\262\202Z`\262\203T\317\316!\210\202W\320 \210`\262\314W\203t\211Z\203k\321\202l\316W\203tn\204\216\314V\203\250\211Z\203\205\322\202\206\321W\203\250l\203\250\323\324\314V\203\234\325\202\235\326\203\245\327\202\246\330$\210}\210\314V\203\271eTb\210\202\274db\210\313\331\332	!\313\314$)\203\322`\262\202\331\323\333\n#\210*b\210\314V\203\361\203\353\321\202\354\316[u\202\373\203\371\316\202\372\314u\207" [viper-ViperBell viper-intermediate-command viper-d-com viper-allow-multiline-replace-regions case-fold-search char-or-string-p user-error viper-repeat 5 viper-array-to-string this-command-keys nil 0 viper-forward-paragraph 1 viper-backward-paragraph beginning-of-line 2 3 error "Command `%s':  At %s of %s" "end" "beginning" "paragraph" "line" search-forward char-to-string "Command `%s':  `%c' not found"] 14 (#$ . 79377)])
#@226 Find char on the line.
If called interactively read the char to find from the terminal, and if
called from viper-repeat, the char last used is used.  This behavior is
controlled by the sign of prefix numeric value.

(fn ARG)
(defalias 'viper-find-char-forward #[257 "\211\211\204\306\262\202&\211:\203&\211@\203\211@\307\232\203\"\306\262\202&\211@\262\211\2041\310\262\202@\211:\203=\211A\262\202@\310\262\3118\312V\203S\313 \314\310\202k\211;\203c\211\211\211GS\234)\202d
\211[\262\203t\315\316`\"\210\317\211\204\201\306\262\202\234\211:\203\234\211@\203\222\211@\307\232\203\230\306\262\202\234\211@\262\312V\203\245	\202\246
\314\310$\210[\262\205\274	\310u\210\320\321#\207" [viper-d-com viper-f-char viper-f-forward viper-f-offset seq viper-F-char 1 (nil) nil 5 0 read-char t viper-move-marker-locally viper-com-point viper-find-char viper-execute-com viper-find-char-forward] 10 (#$ . 80487) "P"])
#@46 Go up to char ARG forward on line.

(fn ARG)
(defalias 'viper-goto-char-forward #[257 "\211\211\204\306\262\202&\211:\203&\211@\203\211@\307\232\203\"\306\262\202&\211@\262\211\2041\310\262\202@\211:\203=\211A\262\202@\310\262\3118\312V\203S\313 \314\211\202k\211;\203c\211\211\211GS\234)\202d
\211[\262\203t\315\316`\"\210\317\211\204\201\306\262\202\234\211:\203\234\211@\203\222\211@\307\232\203\230\306\262\202\234\211@\262\312V\203\245	\202\246
\314\211$\210[\262\205\274	\310u\210\320\321#\207" [viper-d-com viper-f-char viper-f-forward viper-f-offset seq viper-F-char 1 (nil) nil 5 0 read-char t viper-move-marker-locally viper-com-point viper-find-char viper-execute-com viper-goto-char-forward] 10 (#$ . 81454) "P"])
#@43 Find char ARG on line backward.

(fn ARG)
(defalias 'viper-find-char-backward #[257 "\211\211\204\306\262\202&\211:\203&\211@\203\211@\307\232\203\"\306\262\202&\211@\262\211\2041\310\262\202@\211:\203=\211A\262\202@\310\262\3118\312V\203S\313 \310\211\202k\211;\203c\211\211\211GS\234)\202d
\211[\262\203t\314\315`\"\210\316\211\204\201\306\262\202\234\211:\203\234\211@\203\222\211@\307\232\203\230\306\262\202\234\211@\262\312V\203\245	\202\246
\310\211$\210[\262\205\271	\317\320#\207" [viper-d-com viper-f-char viper-f-forward viper-f-offset seq viper-F-char 1 (nil) nil 5 0 read-char viper-move-marker-locally viper-com-point viper-find-char viper-execute-com viper-find-char-backward] 10 (#$ . 82241) "P"])
#@47 Go up to char ARG backward on line.

(fn ARG)
(defalias 'viper-goto-char-backward #[257 "\211\211\204\306\262\202&\211:\203&\211@\203\211@\307\232\203\"\306\262\202&\211@\262\211\2041\310\262\202@\211:\203=\211A\262\202@\310\262\3118\312V\203S\313 \310\314\202k\211;\203c\211\211\211GS\234)\202d
\211[\262\203t\315\316`\"\210\317\211\204\201\306\262\202\234\211:\203\234\211@\203\222\211@\307\232\203\230\306\262\202\234\211@\262\312V\203\245	\202\246
\310\314$\210[\262\205\271	\320\321#\207" [viper-d-com viper-f-char viper-f-forward viper-f-offset seq viper-F-char 1 (nil) nil 5 0 read-char t viper-move-marker-locally viper-com-point viper-find-char viper-execute-com viper-goto-char-backward] 10 (#$ . 83016) "P"])
#@41 Repeat previous find command.

(fn ARG)
(defalias 'viper-repeat-find #[257 "\211\211\204\303\262\202&\211:\203&\211@\203\211@\304\232\203\"\303\262\202&\211@\262\211\2041\305\262\202@\211:\203=\211A\262\202@\305\262\306 \210\211\203L\307\310`\"\210\311	\n$\210\211\205c	\203^\305u\210\312\313#\207" [viper-f-char viper-f-forward viper-f-offset 1 (nil) nil deactivate-mark viper-move-marker-locally viper-com-point viper-find-char viper-execute-com viper-repeat-find] 8 (#$ . 83797) "P"])
#@67 Repeat previous find command in the opposite direction.

(fn ARG)
(defalias 'viper-repeat-find-opposite #[257 "\211\211\204\303\262\202&\211:\203&\211@\203\211@\304\232\203\"\303\262\202&\211@\262\211\2041\305\262\202@\211:\203=\211A\262\202@\305\262\306 \210\211\203L\307\310`\"\210\311	?\n$\210\211\205d	\203_\305u\210\312\313#\207" [viper-f-char viper-f-forward viper-f-offset 1 (nil) nil deactivate-mark viper-move-marker-locally viper-com-point viper-find-char viper-execute-com viper-repeat-find-opposite] 8 (#$ . 84317) "P"])
#@35 Go to home window line.

(fn ARG)
(defalias 'viper-window-top #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\302!\211\2032\303\304`\"\210\305\306\307\"\210\310S!\210m\203Kn\203Ko\204K\311y\210\312 \210\211\203X\313\314#\210m\203gn\203go\204g\311y\210\312 \207" [1 (nil) viper-getCom viper-move-marker-locally viper-com-point push-mark nil t move-to-window-line -1 back-to-indentation viper-execute-com viper-window-top] 7 (#$ . 84882) "P"])
#@37 Go to middle window line.

(fn ARG)
(defalias 'viper-window-middle #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\302!\211\2032\303\304`\"\210\305\306\307\"\210\310\311 S\312\245S\\!\210m\203Qn\203Qo\204Q\313y\210\314 \210\211\203^\315\316#\210m\203mn\203mo\204m\313y\210\314 \207" [1 (nil) viper-getCom viper-move-marker-locally viper-com-point push-mark nil t move-to-window-line window-height 2 -1 back-to-indentation viper-execute-com viper-window-middle] 7 (#$ . 85398) "P"])
#@35 Go to last window line.

(fn ARG)
(defalias 'viper-window-bottom #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\302!\211\2032\303\304`\"\210\305\306\307\"\210\310[!\210m\203Kn\203Ko\204K\311y\210\312 \210\211\203X\313\314#\210m\203gn\203go\204g\311y\210\312 \207" [1 (nil) viper-getCom viper-move-marker-locally viper-com-point push-mark nil t move-to-window-line -1 back-to-indentation viper-execute-com viper-window-bottom] 7 (#$ . 85954) "P"])
#@46 Put current line on the home line.

(fn ARG)
(defalias 'viper-line-to-top #[257 "\300S!\207" [recenter] 3 (#$ . 86476) "p"])
#@48 Put current line on the middle line.

(fn ARG)
(defalias 'viper-line-to-middle #[257 "\300S\301 S\302\245\\!\207" [recenter window-height 2] 5 (#$ . 86608) "p"])
#@46 Put current line on the last line.

(fn ARG)
(defalias 'viper-line-to-bottom #[257 "\300\301 TZ!\207" [recenter window-height] 4 (#$ . 86777) "p"])
(defalias 'viper-adjust-window #[0 "\301 S`\302\211\211\211\212\303\304!\210\305`\"X\262\303\306!\210\305`\"X\262)\2030S\262\307\262\202;\203;T\262\306\262\205I\310\311\245]_!\207" [viper-search-scroll-threshold window-height nil move-to-window-line 0 count-lines -1 1 recenter 7] 10])
#@43 Go to the matching parenthesis.

(fn ARG)
(defalias 'viper-paren-match #[257 "\211\211\204\303\262\202\211:\203\211A\262\202\303\262\303\250\203O\304V\204/\305W\2035\306\307!\202\352d\310V\203Cd\311\245_\202Hd_\311\245b\210\312 \202\352\303\211l\203\\n\204\\\313u\210\314\315!\204e`\262\316 \262\317 \262\320\315\321#\203{\313u\210\202\207\322\315\321#\204\207\306\323!\210\266\314\324!\203\255\203\230\325\326`\"\210\327\305!\210\203\250\330\331\303#\202\352\313u\202\352\211\203\305\205\352\325\326\"\210\305u\210\330\331\303#\202\352\314\332!\203\347\303u\210\203\327\325\326`\"\210\333\305!\210\205\352\330\331\303#\202\352\334\n!)\207" [viper-parse-sexp-ignore-comments parse-sexp-ignore-comments viper-ViperBell nil 99 1 error "Prefix must be between 1 and 99" 80000 100 back-to-indentation -1 looking-at "[][(){}]" point-at-bol point-at-eol re-search-forward t re-search-backward "No matching character on line" "[([{]" viper-move-marker-locally viper-com-point forward-sexp viper-execute-com viper-paren-match "[])}]" backward-sexp user-error] 10 (#$ . 87241) "P"])
(defalias 'viper-toggle-parse-sexp-ignore-comments #[0 "?\301\302\303\203\304\202\305\"!\207" [viper-parse-sexp-ignore-comments princ format-message "From now on, `%%' will %signore parentheses inside comment fields" "" "NOT "] 4 nil nil])
#@29 Forward sentence.

(fn ARG)
(defalias 'viper-forward-sentence #[257 "	=\204\302\303\304\"\210\211\211\204\305\262\2021\211:\2031\211@\203'\211@\306\232\203-\305\262\2021\211@\262\211\204<\303\262\202K\211:\203H\211A\262\202K\303\262\211\203T\307\310`\"\210\311!\210\211\205a\312\313\303#\207" [last-command this-command push-mark nil t 1 (nil) viper-move-marker-locally viper-com-point forward-sentence viper-execute-com viper-forward-sentence] 7 (#$ . 88627) "P"])
#@30 Backward sentence.

(fn ARG)
(defalias 'viper-backward-sentence #[257 "	=\204\302\303\304\"\210\211\211\204\305\262\2021\211:\2031\211@\203'\211@\306\232\203-\305\262\2021\211@\262\211\204<\303\262\202K\211:\203H\211A\262\202K\303\262\211\203T\307\310`\"\210\311!\210\211\205a\312\313\303#\207" [last-command this-command push-mark nil t 1 (nil) viper-move-marker-locally viper-com-point backward-sentence viper-execute-com viper-backward-sentence] 7 (#$ . 89124) "P"])
#@30 Forward paragraph.

(fn ARG)
(defalias 'viper-forward-paragraph #[257 "	=\204\302\303\304\"\210\211\211\204\305\262\2021\211:\2031\211@\203'\211@\306\232\203-\305\262\2021\211@\262\211\204<\303\262\202K\211:\203H\211A\262\202K\303\262\211\203T\307\310`\"\210\311!\210\211\205d\312u\210\313\314\303#\207" [last-command this-command push-mark nil t 1 (nil) viper-move-marker-locally viper-com-point forward-paragraph -1 viper-execute-com viper-forward-paragraph] 7 (#$ . 89625) "P"])
#@31 Backward paragraph.

(fn ARG)
(defalias 'viper-backward-paragraph #[257 "	=\204\302\303\304\"\210\211\211\204\305\262\2021\211:\2031\211@\203'\211@\306\232\203-\305\262\2021\211@\262\211\204<\303\262\202K\211:\203H\211A\262\202K\303\262\211\203T\307\310`\"\210\311!\210\211\205g\305u\210\312\313\303#\210\314u\207" [last-command this-command push-mark nil t 1 (nil) viper-move-marker-locally viper-com-point backward-paragraph viper-execute-com viper-backward-paragraph -1] 7 (#$ . 90138) "P"])
#@12 

(fn ARG)
(defalias 'viper-prev-heading #[257 "\211\211\204\301\262\202&\211:\203&\211@\203\211@\302\232\203\"\301\262\202&\211@\262\303!\211\2032\304\305`\"\210\306\307\310$\210\311\224b\210\211\205F\312\313\307#\207" [viper-heading-start 1 (nil) viper-getCom viper-move-marker-locally viper-com-point re-search-backward nil t 0 viper-execute-com viper-prev-heading] 8 (#$ . 90664) "P"])
#@12 

(fn ARG)
(defalias 'viper-heading-end #[257 "\211\211\204\301\262\202&\211:\203&\211@\203\211@\302\232\203\"\301\262\202&\211@\262\303!\211\2032\304\305`\"\210\306\307\310$\210\311\224b\210\211\205F\312\300\307#\207" [viper-heading-end 1 (nil) viper-getCom viper-move-marker-locally viper-com-point re-search-forward nil t 0 viper-execute-com] 8 (#$ . 91077) "P"])
#@12 

(fn ARG)
(defalias 'viper-next-heading #[257 "\211\211\204\301\262\202&\211:\203&\211@\203\211@\302\232\203\"\301\262\202&\211@\262\303!\211\2032\304\305`\"\210\306\210\307\306\310$\210\311\224b\210\211\205I\312\313\306#\207" [viper-heading-start 1 (nil) viper-getCom viper-move-marker-locally viper-com-point nil re-search-forward t 0 viper-execute-com viper-next-heading] 8 (#$ . 91467) "P"])
#@34 Scroll to next screen.

(fn ARG)
(defalias 'viper-scroll-screen #[257 "\3001,\211\301V\203\211\301V\205*\302 \210\211S\262\202\n\301V\205*\303 \210\211T\262\2020\207\210\304\305!\210\211\301V\203>\306\307!\210db\207\306\310!\210eb\207" [(error) 0 scroll-up scroll-down beep 1 message "End of buffer" "Beginning of buffer"] 3 (#$ . 91888) "p"])
#@38 Scroll to previous screen.

(fn ARG)
(defalias 'viper-scroll-screen-back #[257 "\300[!\207" [viper-scroll-screen] 3 (#$ . 92250) "p"])
#@34 Pull down half screen.

(fn ARG)
(defalias 'viper-scroll-down #[257 "\3001\211\204\301\302 \303\245!\202\301!0\207\210\304\305!\210\306\307!\210eb\207" [(error) scroll-down window-height 2 beep 1 message "Beginning of buffer"] 4 (#$ . 92392) "P"])
#@31 Scroll up one line.

(fn ARG)
(defalias 'viper-scroll-down-one #[257 "\300!\207" [scroll-down] 3 (#$ . 92653) "p"])
#@32 Pull up half screen.

(fn ARG)
(defalias 'viper-scroll-up #[257 "\3001\211\204\301\302 \303\245!\202\301!0\207\210\304\305!\210\306\307!\210db\207" [(error) scroll-up window-height 2 beep 1 message "End of buffer"] 4 (#$ . 92776) "P"])
#@33 Scroll down one line.

(fn ARG)
(defalias 'viper-scroll-up-one #[257 "\300!\207" [scroll-up] 3 (#$ . 93025) "p"])
#@38 Insert `isearch' last search string.
(defalias 'viper-insert-isearch-string #[0 "\205c\207" [isearch-string] 1 (#$ . 93146) nil])
#@15 

(fn PROMPT)
(defalias 'viper-if-string #[257 "\305>\203	\306 \307\n!\310\311\312#\210\211\262\313\314\303@%\211\315\230?\205'\211\211\207" [viper-intermediate-command viper-this-command-keys minibuffer-local-map viper-search-history viper-s-string (viper-command-argument viper-digit-argument viper-repeat) this-command-keys copy-keymap define-key [(control 115)] viper-insert-isearch-string viper-read-string-with-history nil ""] 8 (#$ . 93286)])
#@646 Toggle the value of viper-case-fold-search/viper-re-search.
Without prefix argument, will ask which search style to toggle.  With prefix
arg 1, toggles viper-case-fold-search; with arg 2 toggles viper-re-search.

Although this function is bound to \[viper-toggle-search-style], the most
convenient way to use it is to bind `//' to the macro
`1 M-x viper-toggle-search-style' and `///' to
`2 M-x viper-toggle-search-style'.  In this way, hitting `//' quickly will
toggle case-fold-search and hitting `/' three times with toggle regexp
search.  Macros are more convenient in this case because they don't affect
the Emacs binding of `/'.

(fn ARG)
(defalias 'viper-toggle-search-style #[257 "\302\303=\204%\2048\304\305\306\203\307\202\310\203\310\202 \307#!\2038?\211\2032\311\262\202r\312\262\202r\313=\204\\\204o\304\305\306	\203M\314\202N\315	\203V\315\202W\314#!\203o	?\211\203i\316\262\202r\317\262\202r\320\262\321\322\"\207" [viper-case-fold-search viper-re-search nil 1 y-or-n-p format-message "Search style: `%s'.  Want `%s'? " "case-insensitive" "case-sensitive" "Search becomes case-insensitive" "Search becomes case-sensitive" 2 "regexp-search" "vanilla-search" "Search becomes regexp-style" "Search becomes vanilla-style" "Search style remains unchanged" princ t] 8 (#$ . 93753) "P"])
#@323 Set the macros for toggling the search style in Viper's vi-state.
The macro that toggles case sensitivity is bound to `//', and the one that
toggles regexp search is bound to `///'.
With a prefix argument, this function unsets the macros.
If MODE is set, set the macros only in that major mode.

(fn UNSET &optional MODE)
(defalias 'viper-set-searchstyle-toggling-macros #[513 "\211\203
\2119\203
\211\202\301\206=\2040\302\303\304\305$\210\302\306\304\307$\210\310\311!\205=\312\313!\202=\314\303\304\"\210\315\316!\210\314\306\304\"\207" [noninteractive t viper-record-kbd-macro "//" vi-state [1 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return] "///" [2 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return] called-interactively-p interactive message "// and /// now toggle case-sensitivity and regexp search" viper-unrecord-kbd-macro sit-for 2] 8 (#$ . 95094) "P"])
#@209 Set `%%%' to be a macro that toggles whether comment fields should be parsed for matching parentheses.
This is used in conjunction with the `%' command.

With a prefix argument, unsets the macro.

(fn UNSET)
(defalias 'viper-set-parsing-style-toggling-macro #[257 "\206\211\204\301\302\303\304\305$\210\306\307!\205\310\311!\207\312\302\303\"\207" [noninteractive viper-record-kbd-macro "%%%" vi-state [(meta x) v i p e r - t o g g l e - p a r s e - s e x p - i g n o r e - c o m m e n t s return] t called-interactively-p interactive message "%%%%%% now toggles whether comments should be parsed for matching parentheses" viper-unrecord-kbd-macro] 6 (#$ . 96013) "P"])
#@538 Set the macros for toggling the search style in Viper's emacs-state.
The macro that toggles case sensitivity is bound to `//', and the one that
toggles regexp search is bound to `///'.
With a prefix argument, this function unsets the macros.
If the optional prefix argument is non-nil and specifies a valid major mode,
this sets the macros only in the macros in that major mode.  Otherwise,
the macros are set in the current major mode.
(When unsetting the macros, the second argument has no effect.)

(fn UNSET &optional ARG-MAJORMODE)
(defalias 'viper-set-emacs-state-searchstyle-macros #[513 "\2065\204(\302\303\304\305\206	$\210\302\306\304\307\206	$\210\310\311!\2055\312\313!\207\314\303\304\"\210\315\316!\210\314\306\304\"\207" [noninteractive major-mode viper-record-kbd-macro "//" emacs-state [1 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return] "///" [2 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return] called-interactively-p interactive message "// and /// now toggle case-sensitivity and regexp search." viper-unrecord-kbd-macro sit-for 2] 7 (#$ . 96697) "P"])
#@133 Search a string forward.
ARG is used to find the ARG's occurrence of the string.
Null string will repeat previous search.

(fn ARG)
(defalias 'viper-search-forward #[257 "\211\211:\203\n\211@\262\211\204\304\262\202$\211:\203!\211A\262\202$\304\262\304\305\306\307!\210\211\232\203?\310!\203?\311!\204B\312 \313\305#\210\205X\314\315\316\305!\"\210\317\320#)\207" [viper-s-string debug-on-error viper-s-forward viper-local-search-start-marker nil t viper-if-string "/" markerp marker-buffer point-marker viper-search viper-move-marker-locally viper-com-point mark viper-execute-com viper-search-next] 8 (#$ . 97824) "P"])
#@134 Search a string backward.
ARG is used to find the ARG's occurrence of the string.
Null string will repeat previous search.

(fn ARG)
(defalias 'viper-search-backward #[257 "\211\211:\203\n\211@\262\211\204\304\262\202$\211:\203!\211A\262\202$\304\262\304\211\305\306!\210\211\232\203?\307!\203?\310!\204B\311 \312\304#\210\205X\313\314\315\316!\"\210\317\320#)\207" [viper-s-string debug-on-error viper-s-forward viper-local-search-start-marker nil viper-if-string "?" markerp marker-buffer point-marker viper-search viper-move-marker-locally viper-com-point mark t viper-execute-com viper-search-next] 9 (#$ . 98480) "P"])
#@76 

(fn STRING FORWARD ARG &optional NO-OFFSET INIT-POINT FAIL-IF-NOT-FOUND)
(defalias 'viper-search #[1539 "\306\232?\205a\211\204\307\262\202-\211:\203-\211@\203#\211@\310\232\203)\307\262\202-\211@\262\211\2048\311\262\202G\211:\203D\211A\262\202G\311\262?\206O`\312 \210	\203\336\3131\226\203d\314 \210\n\203y\315\311\211$\210\316!\210\202\207\317\311\211$\210\320!\210\211`\232?\205\222\321\322\"0\202\332\210\204\311\203\311\323\324!\210eb\210\325\307B\322\326&\210\f\204\303
\327>\204\303\330\331!\210\323\306!\202\332\211b\210\332\333\f\n\203\330\334\202\331\335#\210\202O\3361\n\n\203\362\316\311\211$\210\202\373\320\311\211$\210\211`\232?\205\321\322\"0\202N\210\204=\203=\323\337!\210db\210\325\307B\322\326&\210\f\2047
\340>\2047\330\331!\210\323\306!\202N\211b\210\332\333\f\n\203L\334\202M\335#\210\341 \210\f\206^
\342>\206^\343 )\266\205\207" [viper-case-fold-search case-fold-search viper-re-search viper-search-wrap-around executing-kbd-macro viper-intermediate-command "" 1 (nil) nil deactivate-mark (search-failed) viper-forward-char-carefully re-search-forward re-search-backward search-forward search-backward push-mark t message "Search wrapped around BOTTOM of buffer" viper-search fail (viper-repeat viper-digit-argument viper-command-argument) sit-for 2 error "`%s': %s not found" "Pattern" "String" (search-failed) "Search wrapped around TOP of buffer" (viper-repeat viper-digit-argument viper-command-argument) viper-adjust-window (viper-repeat viper-digit-argument viper-command-argument) viper-flash-search-pattern] 18 (#$ . 99137)])
#@35 Repeat previous search.

(fn ARG)
(defalias 'viper-search-next #[257 "\211\211\204\304\262\202&\211:\203&\211@\203\211@\305\232\203\"\304\262\202&\211@\262\211\2041\306\262\202@\211:\203=\211A\262\202@\306\262\306	\203L	\307\230\203P\310\n!\210\311	#\210\211\205f\312\313\314\315!\"\210\316\317#)\207" [debug-on-error viper-s-string viper-NoPrevSearch viper-s-forward 1 (nil) nil "" error viper-search viper-move-marker-locally viper-com-point mark t viper-execute-com viper-search-next] 7 (#$ . 100809) "P"])
#@60 Repeat previous search in the reverse direction.

(fn ARG)
(defalias 'viper-search-Next #[257 "\211\211\204\304\262\202&\211:\203&\211@\203\211@\305\232\203\"\304\262\202&\211@\262\211\2041\306\262\202@\211:\203=\211A\262\202@\306\262\306	\204J\307\n!\210\310	?#\210\211\205a\311\312\313\314!\"\210\315\316#)\207" [debug-on-error viper-s-string viper-NoPrevSearch viper-s-forward 1 (nil) nil error viper-search viper-move-marker-locally viper-com-point mark t viper-execute-com viper-search-Next] 7 (#$ . 101352) "P"])
#@20 

(fn &optional C)
(defalias 'viper-buffer-search-enable #[256 "\211\203	\211\202\204\304\305	\306!\203\307!\202!\310\311\"\312#\210\n\313I\210B\211\207" [viper-buffer-search-char viper-vi-basic-map viper-exec-array viper-prefix-commands 103 define-key characterp char-to-string error "viper-buffer-search-char: wrong value type, %S" viper-command-argument viper-exec-buffer-search] 6 (#$ . 101903)])
#@42 Do incremental search forward.

(fn ARG)
(defalias 'viper-isearch-forward #[257 "\211<\203	\211@\262\300\301D!\207" [viper-exec-form-in-emacs isearch-forward] 4 (#$ . 102328) "P"])
#@43 Do incremental search backward.

(fn ARG)
(defalias 'viper-isearch-backward #[257 "\211<\203	\211@\262\300\301D!\207" [viper-exec-form-in-emacs isearch-backward] 4 (#$ . 102518) "P"])
#@41 Switch to buffer in the current window.
(defalias 'viper-switch-to-buffer #[0 "\301p!\302\303\"\262\304!\207" [viper-read-buffer-function other-buffer nil "Switch to buffer in this window: " switch-to-buffer] 5 (#$ . 102711) nil])
#@37 Switch to buffer in another window.
(defalias 'viper-switch-to-buffer-other-window #[0 "\301p!\302\303\"\262\304!\207" [viper-read-buffer-function other-buffer nil "Switch to buffer in another window: " switch-to-buffer-other-window] 5 (#$ . 102952) nil])
#@16 Kill a buffer.
(defalias 'viper-kill-buffer #[0 "\301\211\302\303\304p!\"!\262\211\204p\202\305!\262\204\"\306\307\"\210\310!\2031\311\312\313\"!\2037\314!\202:\306\315!\207" [viper-read-buffer-function nil format "Kill buffer (%s): " buffer-name get-buffer error "`%s': No such buffer" buffer-modified-p y-or-n-p format-message "Buffer `%s' is modified, are you sure you want to kill it? " kill-buffer "Buffer not killed"] 7 (#$ . 103218) nil])
#@85 Yank TEXT silently.  This works correctly with Emacs's yank-pop command.

(fn TEXT)
(defalias 'viper-yank #[257 "\211c\210\301\211\207" [this-command yank] 3 (#$ . 103687)])
(put 'viper-yank 'byte-optimizer 'byte-compile-inline-expand)
#@44 Put back after point/below line.

(fn ARG)
(defalias 'viper-put-back #[257 "\211\211\204\306\262\202&\211:\203&\211@\203\211@\307\232\203\"\306\262\202&\211@\262\203N\310\311\"\203:\312\313Z\314\"\202Q\310!\203G\315\227!\202Q\316	\"\202Q\312\317!\320\211\211\204l\203h\320\316\n\"\266\202l\321!\210\320\322!\203\212\320\210m\203\201\323c\210\202\204\306y\210\324 \210\202\221l\204\221\325 \210\326 `p\223\210\327\330\320\320\211\257!\210`\262\211\317V\203\275\211c\210\331\211\266\211S\262\202\247\210\332`Z!\262\332\333`\"!\262
V\204\331\211
V\203\370\334 \335\317\336\337\340!\341\"\342$\216\343\344\345 \")\262\204\370\346\347#\210\266\350`\351 \"\203`\351 U\204\352 \210\202\353 \210n\203\354 \210\355 \207" [viper-use-register viper-InvalidRegister viper-EmptyRegister viper-ViperBell this-command viper-change-notification-threshold 1 (nil) viper-valid-register (digit) current-kill 49 do-not-rotate get-register error 0 nil user-error viper-end-with-a-newline-p "\n" beginning-of-line viper-forward-char-carefully mark-marker viper-set-destructive-command viper-put-back yank abs count-lines match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name message "Inserted %d character(s), %d line(s)" viper-same-line mark viper-backward-char-carefully exchange-point-and-mark back-to-indentation deactivate-mark] 13 (#$ . 103930) "P"])
#@41 Put back at point/above line.

(fn ARG)
(defalias 'viper-Put-back #[257 "\211\211\204\306\262\202&\211:\203&\211@\203\211@\307\232\203\"\306\262\202&\211@\262\203N\310\311\"\203:\312\313Z\314\"\202Q\310!\203G\315\227!\202Q\316	\"\202Q\312\317!\320\211\211\204l\203h\320\316\n\"\266\202l\321!\210\320\322!\203w\323 \210\324\325\320\320\211\257!\210\326 `p\223\210`\262\211\317V\203\243\211c\210\327\211\266\211S\262\202\215\210\330`Z!\262\330\331`\"!\262
V\204\277\211
V\203\336\332 \333\317\334\335\336!\337\"\340$\216\341\342\343 \")\262\204\336\344\345#\210\266\346`\347 \"\203\365`\347 U\204\377\350 \210\202\377\351 \210n\203\377\352 \210\353 \207" [viper-use-register viper-InvalidRegister viper-EmptyRegister viper-ViperBell this-command viper-change-notification-threshold 1 (nil) viper-valid-register (digit) current-kill 49 do-not-rotate get-register error 0 nil user-error viper-end-with-a-newline-p beginning-of-line viper-set-destructive-command viper-Put-back mark-marker yank abs count-lines match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\*Minibuf-" buffer-name message "Inserted %d character(s), %d line(s)" viper-same-line mark viper-backward-char-carefully exchange-point-and-mark back-to-indentation deactivate-mark] 13 (#$ . 105421) "P"])
#@16 

(fn BEG END)
(defalias 'viper-copy-region-as-kill #[514 "\3001\n\301\"0\207\210\301\211\"\207" [(error) copy-region-as-kill] 5 (#$ . 106810)])
#@34 Delete next character.

(fn ARG)
(defalias 'viper-delete-char #[257 "\211\211\204\305\262\202&\211:\203&\211@\203\211@\306\232\203\"\305\262\202&\211@\262\307\310\311\307\211\211\211\257!\210\203I\312`\313\314!\"V\203I\312`\313\314!\"\262	\203_l\203_n\203\\\315\n!\210\202_\316\262\212\317!\210`\262)\203\250\320\321\"\203\221\227`\322\323!;\203\206\323!\202\207\324{P\"\266\202\246\320!\203\241\325`\307$\210\202\246\326\f\"\210\307\327\330\"\210	\205\274l\205\274n?\205\274\331u\207" [viper-ex-style-editing viper-ex-style-motion viper-ViperBell viper-use-register viper-InvalidRegister 1 (nil) nil viper-set-destructive-command viper-delete-char viper-chars-in-region viper-line-pos end user-error 0 viper-forward-char-carefully viper-valid-register ((Letter)) set-register get-register "" copy-to-register error delete-char t -1] 11 (#$ . 106965) "P"])
#@85 Delete previous character.  On reaching beginning of line, stop and beep.

(fn ARG)
(defalias 'viper-delete-backward-char #[257 "\211\211\204\303\262\202&\211:\203&\211@\203\211@\304\232\203\"\303\262\202&\211@\262\305\306\307\305\211\211\211\257!\210\203I\310\311\312!`\"V\203I\310\311\312!`\"\262\212\313!\210`\262)	\203\222\314	\315\"\203{	\227`\316\317!;\203p\317!\202q\320{P\"\266\202\220\314	!\203\213\321	`\305$\210\202\220\322\n	\"\210\305n\203\235\203\235\323 \210\324[\325\"\207" [viper-ex-style-editing viper-use-register viper-InvalidRegister 1 (nil) nil viper-set-destructive-command viper-delete-backward-char viper-chars-in-region viper-line-pos start viper-backward-char-carefully viper-valid-register (Letter) set-register get-register "" copy-to-register error ding delete-char t] 11 (#$ . 107879) "P"])
#@47 Delete 1 char backwards while in insert mode.
(defalias 'viper-del-backward-char-in-insert #[0 "\203\fn\203\f\301\302!\207\303\304\305\"\207" [viper-ex-style-editing beep 1 delete-char -1 nil] 3 (#$ . 108747) nil])
#@298 Delete one character in replace mode.
If `viper-delete-backwards-in-replace' is t, then DEL key actually deletes
characters.  If it is nil, then the cursor just moves backwards, similarly
to Vi.  The variable `viper-ex-style-editing', if t, doesn't let the
cursor move past the beginning of line.
(defalias 'viper-del-backward-char-in-replace #[0 "\203\"n\204
\302\303\304\"\207	\203\305\306!\207o\203\305\306!\207\302\303\304\"\207	\2031n\203.\305\306!\207\303u\207\303u\207" [viper-delete-backwards-in-replace viper-ex-style-editing delete-char -1 nil beep 1] 3 (#$ . 108972) nil])
#@54 Delete 1 char forward if in insert or replace state.
(defalias 'viper-del-forward-char-in-insert #[0 "\300\301\302\"\207" [delete-char 1 nil] 3 (#$ . 109571) nil])
#@78 Join this line to next, if ARG is nil.  Otherwise, join ARG lines.

(fn ARG)
(defalias 'viper-join-lines #[257 "\211\211:\203\n\211@\262\300\301\302\211\211\211\257!\210\211\204\303\202\211S\211\304V\205L\302\210m\204E\303y\210``S|\210\305 \210\306\307!\204E\307c\204E\310u\210\211S\262\202\262\207" [viper-set-destructive-command viper-join-lines nil 1 0 fixup-whitespace looking-at " " -1] 9 (#$ . 109741) "*P"])
#@16 

(fn BEG END)
(defalias 'viper-change #[514 "\306!\203\307!\262\306!\203\307!\262\204\211\262\310 \210\203-\311\312$\210\312\313\"\210\312\314\n!dU\203@\315\316!\210\314\n!\317\n!{\3201\233\f\204[\321\314\n!\317\n!\"\203\213\317\n!b\210\322\323!\210\324\314\n!`\"\210\325\326!\210\327
\"\210\314\n!`\330\n#\266\314\n!b\210\331\332!\202\231\333\314\n!\317\n!\"\210\334 \210\335 0\207\314\n!b\210\334 \210\336!\207" [viper-use-register last-command viper-replace-overlay viper-last-replace-region viper-allow-multiline-replace-regions viper-replace-region-start-delimiter markerp marker-position viper-set-complex-command-for-undo copy-to-register nil viper-set-replace-overlay overlay-start error "End of buffer" overlay-end (error) viper-same-line insert-before-markers "@" untabify delete-char -1 viper-set-replace-overlay-glyphs move-overlay viper-change-state-to-replace t kill-region viper-hide-replace-overlay viper-change-state-to-insert viper-message-conditions viper-replace-region-end-delimiter] 8 (#$ . 110179)])
#@16 

(fn BEG END)
(defalias 'viper-change-subr #[514 "\204\211\262\203\303\304$\210\304\305\"\210\306\3071#\nc0\207\210\304\207" [viper-use-register this-command viper-last-insertion copy-to-register nil kill-region viper-change (error)] 7 (#$ . 111244)])
#@34 Toggle character case.

(fn ARG)
(defalias 'viper-toggle-case #[257 "\211\211\204\300\262\202&\211:\203&\211@\203\211@\301\232\203\"\300\262\202&\211@\262\302\303\304\302\211\211\211\257!\210\305V\205dg\262\306\300\302\"\210\211\226=\203P\307\227\300\"\210\202V\307\226\300\"\210l\203]\310u\210S\262\2022\207" [1 (nil) nil viper-set-destructive-command viper-toggle-case 0 delete-char insert-char -1] 10 (#$ . 111518) "P"])
#@153 Query replace.
If a null string is supplied as the string to be replaced,
the query replace mode will toggle between string replace
and regexp replace.
(defalias 'viper-query-replace #[0 "\302\303\203\n\304\202\305\302\301	@$\262\211\306\230\203*?\307\310\203%\311\202&\312\"\202K\203>\313\303\314\315\"\302\301	@$\"\202K\316\303\314\317\"\302\301	@$\"\207" [viper-re-query-replace viper-replace1-history nil viper-read-string-with-history "Query replace regexp: " "Query replace: " "" message "Query replace mode changed to %s" "regexp replace" "string replace" query-replace-regexp format-message "Query replace regexp `%s' with: " query-replace "Query replace `%s' with: "] 8 (#$ . 111974) nil])
#@27 Mark beginning of buffer.
(defalias 'viper-mark-beginning-of-buffer #[0 "\300 \210eb\210\301 \210\302\303!\207" [push-mark exchange-point-and-mark message "Mark set at the beginning of buffer"] 2 (#$ . 112698) nil])
#@21 Mark end of buffer.
(defalias 'viper-mark-end-of-buffer #[0 "\300 \210db\210\301 \210\302\303!\207" [push-mark exchange-point-and-mark message "Mark set at the end of buffer"] 2 (#$ . 112920) nil])
#@30 Set mark at point of buffer.
(defalias 'viper-mark-point #[0 "\303 \304X\203\211\305X\203\306\304ZT!\202p\307\310\"\203#\311 \202p\307\312\"\203/\313 \202p\307\314\"\203F\315\316 \"\317\320!\210`\211\202p\307\321\"\203R\322 \202p\307\323\"\203a\324	\325\211#\202p\307\326\"\203m\327 \202p\330\n!\207" [mark-ring viper-saved-mark viper-ViperBell read-char 97 122 point-to-register viper= 60 viper-mark-beginning-of-buffer 62 viper-mark-end-of-buffer 46 delete mark-marker set-mark-command nil 44 viper-cycle-through-mark-ring 94 push-mark t 68 mark-defun user-error] 5 (#$ . 113124) nil])
#@107 Visit previous locations on the mark ring.
One can use \=`\=` and \='\=' to temporarily jump 1 step back.
(defalias 'viper-cycle-through-mark-ring #[0 "`\303=\204\304\305 	\"\306\307!\203\310\306\307!\307\"\210\311 \210\312\313!\210\304\305 	\"\310\307\"\210\314 \210\303\211\207" [last-command mark-ring this-command viper-cycle-through-mark-ring delete mark-marker mark t push-mark pop-mark set-mark-command 1 deactivate-mark] 4 (#$ . 113747)])
#@23 Go to mark.

(fn ARG)
(defalias 'viper-goto-mark #[257 "\300 \211\204
\301\262\202\211:\203\211A\262\202\301\262\302\301#\207" [read-char nil viper-goto-mark-subr] 7 (#$ . 114209) "P"])
#@69 Go to mark and skip to first non-white character on line.

(fn ARG)
(defalias 'viper-goto-mark-and-skip-white #[257 "\300 \301!\302\303#\207" [read-char viper-getCom viper-goto-mark-subr t] 7 (#$ . 114414) "P"])
#@28 

(fn CHAR COM SKIP-WHITE)
(defalias 'viper-goto-mark-subr #[771 "m\203o\203\306\307!\210\202\310u\210\311\312\"\203\314p\313ZT\314!\211:\203d\211@\315=\203d\316A@!\204@\317\320\321A@\"!\203d\212\322A@!\210\3238dX\203ce\3238X\203c\324\3238!\262\325\"\210)\203m\326\303`\"\210\327!\204y\306\"\210\330`	\"\203\216`\nU\203\216\331	\332\"\210\202\223\331\333\332\"\210\334!\210\335 \203\243\336 \210`\205\313p\232\203\276\337\203\266\340\202\267\341\333#\202\313\342!\210b\210\343 \210\344\f!\207\211\204\345\346\"\203\203\340\326\303`\"\210\330`	\"\203\360`\nU\203\360	b\210\347\332!\204\372\306\350!\210`\347\332!U\203\351 \210\352 \210\335 \353\205^\337\341\333#\207\211\203Z\345\354\"\203Z\203+\326\303`\"\210\330`	\"\203;`\nU\203;	b\210`\347\332!U\203F\351 \210\352 \210`\336 \210`\205^\337\340\333#\207\306
\"\207" [viper-EmptyTextmarker viper-last-jump viper-last-jump-ignore viper-com-point viper-ViperBell viper-InvalidTextmarker error "Empty buffer" -1 viper-valid-register (letter) 97 get-register file-query find-buffer-visiting y-or-n-p format "Visit file %s again? " find-file 2 copy-marker set-register viper-move-marker-locally viper-valid-marker viper-same-line push-mark t nil viper-register-to-point point-marker back-to-indentation viper-execute-com viper-goto-mark-and-skip-white viper-goto-mark switch-to-buffer viper-change-state-to-vi user-error viper= 96 mark "Mark is not set in this buffer" pop-mark exchange-point-and-mark 0 39] 10 (#$ . 114635)])
(defalias 'viper-insert-tab #[0 "\300 \207" [insert-tab] 1 nil nil])
(defalias 'viper-exchange-point-and-mark #[0 "\300 \210\301 \207" [exchange-point-and-mark back-to-indentation] 1 nil nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias viper-looking-back looking-back nil make-obsolete "24.4"] 4)
#@32 Indent forward -- `C-t' in Vi.
(defalias 'viper-forward-indent #[0 "\302i	\\j\207" [viper-cted viper-shift-width t] 2 (#$ . 116516) nil])
#@23 Backtab, `C-d' in Vi.
(defalias 'viper-backward-indent #[0 "\205M`i\303\304h\305>\203 h\306=\203\304\307\310!\210`\262\303\262\311 \262\312\313\314#\203/\303u\210`|\210\211\203<\nZj\210n\204H\315\313`S\"\205K\303\211\266\204\207" [viper-cted viper-preserve-indent viper-shift-width nil t (48 94) 94 delete-char -1 point-at-bol re-search-backward "[^ 	]" 1 looking-back] 8 (#$ . 116661) nil])
#@12 

(fn COL)
(defalias 'viper-indent-line #[257 "\205\304\n\203\305>\204\306 \207\211j\207" [viper-auto-indent viper-cted viper-electric-mode major-mode t (fundamental-mode text-mode paragraph-indent-text-mode) indent-according-to-mode] 3 (#$ . 117076)])
#@29 Auto Indentation, Vi-style.
(defalias 'viper-autoindent #[0 "\304 \203	\305 \210	\203\306\202\211\307>\203\310 \210\311c\210\312\n!\207" [abbrev-mode viper-preserve-indent viper-current-indent last-command current-indentation expand-abbrev nil (viper-autoindent viper-open-line viper-Open-line viper-replace-state-exit-cmd) indent-to-left-margin "\n" viper-indent-line] 3 (#$ . 117344) nil])
#@71 Function called by ], the ket.  View registers and call ]].

(fn ARG)
(defalias 'viper-ket-function #[257 "\306 \307\310\"\203\311\227!\202h\307\312\"\203V\313\314Z\315\"r\316\317!q\210p\320 \210\321\211\322\211\322\323 \210\324\325!\210+\211\326\327\330\"!\210\326!\331!\210)\266\202\262\202h\332\333\"\203c\334!\202h\335\"\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only read-char viper-valid-register (letter Letter) view-register (digit) current-kill 49 do-not-rotate get-buffer-create " *viper-info*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ format "Register %c contains the string:\n" internal-temp-output-buffer-show viper= 93 viper-next-heading error standard-output viper-InvalidRegister] 10 (#$ . 117753) "P"])
#@74 Function called by [, the brac.  View textmarkers and call [[.

(fn ARG)
(defalias 'viper-brac-function #[257 "\306 \307\310\"\203\311!\202\364\307\312\"\203\313!\202\364\314\315\"\203\357\316\317ZT!\320!\2046\321\"\2029\322!\323!\324\211\211	r\325\326!q\210p\327 \210\324\211\330\211\330-\331 \210\332\333!\210+\211.\203\334\203\334rq\210\334e\n\"T\262b\210\335 \210\336\337\324\330#\203\215\340 \262b\210\341y\210\342\337\324\330#\203\242\324\210`\262{\262\343\344\345\346	Z#\f\345	\f\nZ\"$\262)\347\350\351\f\352\f!\n$!\210\347\343\353\f#!\202\343\347\350\f\"!\354!\210)\266\202\266\207\202\364\321/\"\207" [viper-EmptyTextmarker default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks read-char viper= 91 viper-prev-heading 93 viper-heading-end viper-valid-register (letter) get-register 97 markerp error marker-buffer marker-position nil get-buffer-create " *viper-info*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook count-lines beginning-of-line re-search-backward "[^ 	]" point-at-bol 1 re-search-forward format "%s<%c>%s" substring 0 princ format-message "Textmarker `%c' is in buffer `%s' at line %d.\n" buffer-name "Here is some text around %c:\n\n %s" internal-temp-output-buffer-show inhibit-read-only standard-output viper-InvalidTextmarker] 20 (#$ . 118625) "P"])
#@33 Delete previous word.

(fn ARG)
(defalias 'viper-delete-backward-word #[257 "\212\300\301\302\"\210\211\206\303[v\210`\304\302!|\210\305 )\207" [push-mark nil t 1 mark pop-mark] 4 (#$ . 120051) "p"])
#@33 

(fn SYMBOL &optional STORAGE)
(defalias 'viper-standard-value #[513 "\301\302N@!\206\301\303N@!\206\304\206\"A@\207" [viper-saved-user-settings eval customized-value saved-value assoc] 5 (#$ . 120259)])
#@443 Sets the expert level for a Viper user.
Can be called interactively to change (temporarily or permanently) the
current expert level.

The optional argument DONT-CHANGE-UNLESS, if not nil, says that
the level should not be changed, unless its current value is
meaningless (i.e., not one of 1,2,3,4,5).

User level determines the setting of Viper variables that are most
sensitive for VI-style look-and-feel.

(fn &optional DONT-CHANGE-UNLESS)
(defalias 'viper-set-expert-level #[256 "\306!\204\307\310 \311\307\312\313\314!\315\"\316$\216\317 \210\320!\210)\210\321\211\321\322\323=\203S\324
\325 \2038\326\2029\327\"\210\321\211\321\211$%\322\211 \322!\202\326\323V\203\237\330W\203\237\325 \203h\321\202i\331\321\211 \316V!\332=\203\326\333\303\334\303!\"\210\333\302\334\302!\"\210\334\302!\334\303!\334\335!\334\336!\202\326\333\303\334\303!\"\210\333\302\334\302!\"\210\334\304!\334\301!\334\336!\334\302!\334\303!\334\335!\334\337!\334\340! \334\341!!\342&!\210	\204\353\307V\205\355\330V\205\355\343 \207" [viper-expert-level viper-always viper-ex-style-motion viper-ex-style-editing viper-want-ctl-h-help viper-toggle-key natnump 0 current-window-configuration make-byte-code "\301\300!\207" vconcat vector [set-window-configuration] 2 delete-other-windows viper-ask-level t nil 1 global-set-key viper-window-display-p viper-iconify suspend-emacs 5 twice 4 set-default viper-standard-value viper-re-search viper-no-multiple-ESC viper-electric-mode viper-want-emacs-keys-in-vi viper-want-emacs-keys-in-insert viper-set-mode-vars-for viper-set-hooks viper-vi-style-in-minibuffer viper-search-wrap-around viper-current-state] 9 (#$ . 120482) nil])
#@27 

(fn DONT-CHANGE-UNLESS)
(defalias 'viper-ask-level #[257 "\303\304\211\305 \306\307\310\311\312!\313\"\314$\216\315!\210	V\204%\316W\204%\204N\317 \210\2037\320\321!\210\322\316!\210\202:\323\262\323\262\323\262\324\325!c\210\326 \327Z\211\202\203g\330\331\"c\210\332\333!\203g\334\300\330\335\"\n#\210\336 \210\320\337!)\262\207" [viper-expert-level viper-max-expert-level viper-custom-file-name " *viper-ask-level*" nil current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 switch-to-buffer 1 erase-buffer message "Invalid user level" beep t substitute-command-keys "\nPlease specify your level of familiarity with the venomous VI PERil\n(and the VI Plan for Emacs Rescue).\nYou can change it at any time by typing `\\[viper-set-expert-level]'\n\n 1 -- BEGINNER: Almost all Emacs features are suppressed.\n       Feels almost like straight Vi.  File name completion and\n       command history in the minibuffer are thrown in as a bonus.\n       To use Emacs productively, you must reach level 3 or higher.\n 2 -- MASTER: C-c now has its standard Emacs meaning in Vi command state,\n       so most Emacs commands can be used when Viper is in Vi state.\n       Good progress---you are well on the way to level 3!\n 3 -- GRAND MASTER: Like 2, but most Emacs commands are available also\n       in Viper's insert state.\n 4 -- GURU: Like 3, but user settings are respected for viper-no-multiple-ESC,\n       viper-ex-style-motion, viper-ex-style-editing, and\n       viper-re-search variables.  Adjust these settings to your taste.\n 5 -- WIZARD: Like 4, but user settings are also respected for viper-always,\n       viper-electric-mode, viper-want-ctl-h-help, viper-want-emacs-keys-in-vi,\n       and viper-want-emacs-keys-in-insert.  Adjust these to your taste.\n\nPlease, specify your level now: " viper-read-char-exclusive 48 format "\n\n\n\n\n		You have selected user level %d" y-or-n-p "Do you wish to make this change permanent? " viper-save-setting "Saving user level %d ..." bury-buffer ""] 12 (#$ . 122205)])
(defalias 'viper-nil #[0 "\300\301!\207" [beep 1] 2 nil nil])
#@112 Like `jump-to-register', but switches to another buffer in another window.

(fn CHAR &optional ENFORCE-BUFFER)
(defalias 'viper-register-to-point #[513 "\301!\302\303!\203\303!\203\304!\202b\305!\203!\306!\202b\307!\203H\203=p\310!\232\204=\311\312P\313\\S\"\210\314\310!!\210\211b\202b\211:\203[\211@\315=\203[\316A!\202b\311\313\\S\"\207" [viper-EmptyTextmarker get-register fboundp frame-configuration-p set-frame-configuration window-configuration-p set-window-configuration viper-valid-marker marker-buffer error " in this buffer" 97 pop-to-buffer file find-file] 7 (#$ . 124370) "cViper register to point: "])
#@32 Save then kill current buffer.
(defalias 'viper-save-kill-buffer #[0 "\301W\203	\302 \207\303 \203\304 \210\305p!\207" [viper-expert-level 2 save-buffers-kill-emacs buffer-modified-p save-buffer kill-buffer] 2 (#$ . 125020) nil])
#@29 Submit bug report on Viper.
(defalias 'viper-submit-report #[0 "\306\307 \203\310 \202\f\311\312\313!\205\313\314 !\315 \203!\316!\202\"\311\315 \203-\316	!\202.\311\315 \2039\316\n!\202:\311\317\211\211\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\304\303\301\302\300\2570\262\373\262\374 \262@r\375\376!q\210p\377 \210@\317\211AB\306\211C\306DE\201G \210\201H\201I!\210+\211F\201J\376!\210\201K \210\201L\201M!\210\201N\201O!\204\341\201P!\210\201Q\201R!\210\201S!\210)\266\201T\201U!\210\201P!\210\201V\201W\201X \317\201K&.\207" [viper-minibuffer-emacs-face viper-minibuffer-vi-face viper-minibuffer-insert-face viper-frame-parameters viper-color-display-p reporter-prompt-for-summary-p t viper-window-display-p x-display-color-p non-x fboundp frame-parameters selected-frame viper-has-face-support-p facep nil viper-vi-minibuffer-minor-mode viper-insert-minibuffer-minor-mode viper-vi-intercept-minor-mode viper-vi-local-user-minor-mode viper-vi-kbd-minor-mode viper-vi-global-user-minor-mode viper-vi-state-modifier-minor-mode viper-vi-diehard-minor-mode viper-vi-basic-minor-mode viper-replace-minor-mode viper-insert-intercept-minor-mode viper-insert-local-user-minor-mode viper-insert-kbd-minor-mode viper-insert-global-user-minor-mode viper-insert-state-modifier-minor-mode viper-insert-diehard-minor-mode viper-insert-basic-minor-mode viper-emacs-intercept-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-automatic-iso-accents viper-special-input-method viper-want-emacs-keys-in-insert viper-want-emacs-keys-in-vi viper-keep-point-on-undo viper-no-multiple-ESC viper-electric-mode viper-ESC-key viper-want-ctl-h-help viper-ex-style-editing viper-delete-backwards-in-replace viper-vi-style-in-minibuffer viper-vi-state-hook viper-insert-state-hook viper-replace-state-hook viper-emacs-state-hook ex-cycle-other-window ex-cycle-through-non-files viper-expert-level major-mode window-system "\nCongratulations! You may have unearthed a bug in Viper!\nPlease mail a concise, accurate summary of the problem to the address above.\n\n-------------------------------------------------------------------" current-window-configuration get-buffer-create " *viper-info*" kill-all-local-variables default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only standard-output erase-buffer run-hooks temp-buffer-setup-hook switch-to-buffer delete-other-windows princ "\nPLEASE FOLLOW THESE PROCEDURES\n------------------------------\n\nBefore reporting a bug, please verify that it is related to Viper, and is\nnot caused by other packages you are using.\n\nDon't report compilation warnings, unless you are certain that there is a\nproblem.  These warnings are normal and unavoidable.\n\nPlease note that users should not modify variables and keymaps other than\nthose advertised in the manual.  Such `customization' is likely to crash\nViper, as it would any other improperly customized Emacs package.\n\nIf you are reporting an error message received while executing one of the\nViper commands, type:\n\n    M-x set-variable <Return> debug-on-error <Return> t <Return>\n\nThen reproduce the error.  The above command will cause Emacs to produce a\nback trace of the execution that leads to the error.  Please include this\ntrace in your bug report.\n\nIf you believe that one of Viper's commands goes into an infinite loop\n(e.g., Emacs freezes), type:\n\n    M-x set-variable <Return> debug-on-quit <Return> t <Return>\n\nThen reproduce the problem.  Wait for a few seconds, then type C-g to abort\nthe current command.  Include the resulting back trace in the bug report.\n\nMail anyway (y or n)? " y-or-n-p "Mail anyway? " set-window-configuration error "Bug report aborted" internal-temp-output-buffer-show require reporter reporter-submit-bug-report "kifer@cs.stonybrook.edu, bug-gnu-emacs@gnu.org" viper-version] 58 (#$ . 125260) nil])

Zerion Mini Shell 1.0