;ELC   
;;; compiled by kwzh@nutrimat.gnu.ai.mit.edu on Sun Jul 21 15:29:53 1996
;;; from file /gd/gnu/emacs/19.0/lisp/viper-util.el
;;; emacs version 19.31.94.1.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`viper-util.el' was compiled for Emacs 19.29 or later"))


(byte-code "ÀÁ!ˆÂBÄBÅBÆBÇBÈBÉBÊBËBÌBÍBÎBÏBÐBÑBÒBÓBÔÕ\"×B?ØBÀ‡" [require ring vip-overriding-map current-load-list pm-color-alist zmacs-region-stays vip-search-face vip-minibuffer-current-face vip-minibuffer-insert-face vip-minibuffer-vi-face vip-minibuffer-emacs-face vip-replace-overlay-face vip-minibuffer-overlay vip-replace-overlay vip-search-overlay vip-replace-overlay-cursor-color vip-intermediate-command vip-use-replace-region-delimiters vip-fast-keyseq-timeout vip-related-files-and-buffers-ring string-match "\\(Lucid\\|XEmacs\\)" emacs-version vip-xemacs-p vip-emacs-p] 3)
(defalias 'vip-device-type #[nil "ƒ 	‡ÂÃ !‡" [vip-emacs-p window-system device-type selected-device] 2])
(put (quote vip-device-type) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-window-display-p #[nil "ƒ 	‚\f ÂÃ !… ƒ 	‚ ÂÃ !Ä>?‡" [vip-emacs-p window-system device-type selected-device (tty stream)] 2])
#@74 Tells if Emacs is running under an MS-style OS: ms-dos, windows-nt, W95.
(defvar vip-ms-style-os-p (memq system-type (quote (ms-dos windows-nt windows-95))) (#$ . 1456))
#@38 Tells if Emacs is running under VMS.
(defvar vip-vms-os-p (memq system-type (quote (vax-vms axp-vms))) (#$ . 1632))
#@182 If t, Viper will think that it is running on a display that supports faces.
This is provided as a temporary relief for users of face-capable displays
that Viper doesn't know about.
(defvar vip-force-faces nil (#$ . 1755))
(defalias 'vip-has-face-support-p #[nil "À †/ 	†/ \nƒ \nƒ ‚ ÄÅ !Æ>‡…/ \nƒ) ‚- ÄÅ !È>‡" [vip-window-display-p vip-force-faces vip-emacs-p window-system device-type selected-device (pc) vip-xemacs-p (tty pc)] 2])
(defalias 'vip-deflocalvar '(macro . #[(var default-value &optional documentation) "ÀÁ\nÄÅ\"FÇÈ\nDDE‡" [progn defvar var default-value format "%s\n(buffer local)" documentation make-variable-buffer-local quote] 7]))
#@49 (vip-loop COUNT BODY) Execute BODY COUNT times.
(defalias 'vip-loop '(macro . #[(count body) "ÀÁ	DCÂÃ\fÅFE‡" [let count while (> count 0) body (setq count (1- count))] 6 (#$ . 2420)]))
(defalias 'vip-buffer-live-p '(macro . #[(buf) "À	Â	DÃÂ	DDF‡" [and buf get-buffer buffer-name] 6]))
(defalias 'vip-kbd-buf-alist '(macro . #[(macro-elt) "ÀÁ\nE‡" [nth 1 macro-elt] 3]))
(defalias 'vip-kbd-buf-pair '(macro . #[(macro-elt) "ÀÁÂDE‡" [assoc (buffer-name) vip-kbd-buf-alist macro-elt] 4]))
(defalias 'vip-kbd-buf-definition '(macro . #[(macro-elt) "ÀÁ\nDD‡" [cdr vip-kbd-buf-pair macro-elt] 3]))
(defalias 'vip-kbd-mode-alist '(macro . #[(macro-elt) "ÀÁ\nE‡" [nth 2 macro-elt] 3]))
(defalias 'vip-kbd-mode-pair '(macro . #[(macro-elt) "ÀÁÂDE‡" [assoc major-mode vip-kbd-mode-alist macro-elt] 4]))
(defalias 'vip-kbd-mode-definition '(macro . #[(macro-elt) "ÀÁ\nDD‡" [cdr vip-kbd-mode-pair macro-elt] 3]))
(defalias 'vip-kbd-global-pair '(macro . #[(macro-elt) "ÀÁ\nE‡" [nth 3 macro-elt] 3]))
(defalias 'vip-kbd-global-definition '(macro . #[(macro-elt) "ÀÁ\nDD‡" [cdr vip-kbd-global-pair macro-elt] 3]))
(defalias 'vip-seq-last-elt #[(seq) "‰GSœ‡" [seq] 2])
(put (quote vip-seq-last-elt) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-valid-register #[(reg &optional type) "„ ÁÂ>ƒ Ã\fXƒ \fÅX†9 Æ>ƒ* Ç\fXƒ* \fÈX†9 É>…9 Ê\fX…9 \fËX‡" [type (letter Letter digit) letter 97 reg 122 digit 49 57 Letter 65 90] 2])
(defalias 'vip-valid-marker #[(marker) "À	!…\" Â	!…\" Â	!Ã	!Šqˆ\fdX…! e\fX+‡" [markerp marker marker-buffer marker-position pos buf] 3])
(byte-code "ÀÁ!„ ÂÁBÀÄ!„ ÅÄBÀÆ!„! ÇÆBƒn ÉÊKMˆËÌKMˆÍÎKMˆÏÐKMˆÑÒKMˆÓÔKMˆÕÖKMˆ×ØKMˆÙ ƒ\\ ÚÛKMˆÜ ƒ¯ ÝÞKMˆßàKMˆ‚¯ ÉáKMˆËâKMˆÍãKMˆÏäKMˆÑåKMˆÓæKMˆÕçKMˆ×èKMˆÙ ƒ  ÚéKMˆÜ ƒ¯ ÝêKMˆßëKMˆìƒ¹ í‚º îKM‡" [boundp vip-minibuffer-overlay-priority 300 current-load-list vip-replace-overlay-priority 400 vip-search-overlay-priority 500 vip-xemacs-p vip-read-event next-command-event vip-make-overlay make-extent vip-overlay-start extent-start-position vip-overlay-end extent-end-position vip-overlay-put set-extent-property vip-overlay-p extentp vip-overlay-get extent-property vip-move-overlay set-extent-endpoints vip-window-display-p vip-iconify iconify-frame vip-has-face-support-p vip-get-face get-face vip-color-defined-p valid-color-name-p read-event make-overlay overlay-start overlay-end overlay-put overlayp overlay-get move-overlay iconify-or-deiconify-frame internal-get-face x-color-defined-p vip-characterp characterp integerp] 2)
(defalias 'vip-color-display-p #[nil "ƒ Á ‡ÂÃ !Ä=‡" [vip-emacs-p x-display-color-p device-class selected-device color] 2])
(put (quote vip-color-display-p) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-get-cursor-color #[nil "ƒ ÁÂÃ \"A‡ÄÅÆ Â\"!‡" [vip-emacs-p assoc cursor-color frame-parameters color-instance-name frame-property selected-frame] 4])
(byte-code "ÀÁÂÃ#ˆ\fƒ ‚ ÆÇ !È=ƒ ÉÊMˆÀ‡" [put vip-get-cursor-color byte-optimizer byte-compile-inline-expand vip-emacs-p window-system device-type selected-device pm vip-color-defined-p #[(color) "À	\n\"‡" [assoc color pm-color-alist] 3]] 4)
(defalias 'vip-italicize-face #[(face) "ƒ Á\n!‡Á\nÃÄ#‡" [vip-xemacs-p make-face-italic face nil noerror] 4])
(put (quote vip-italicize-face) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-can-use-colors #[(&rest colors) "ƒ	 Á ‚ ÂÃ !Ä=… ÅÆÇ\">?‡" [vip-emacs-p x-display-color-p device-class selected-device color nil mapcar vip-color-defined-p colors] 4])
(put (quote vip-can-use-colors) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-hide-face #[(face) "À … 	… ÂÃ\f\"‡" [vip-has-face-support-p vip-emacs-p add-to-list facemenu-unlisted-faces face] 3])
(defalias 'vip-change-cursor-color #[(new-color) "À …H 	ƒ Â ‚ ÃÄ !Å=…H ;…H Ç!…H 	ƒ3 ÈÉÊ \"A‚: ËÌÍ É\"!˜?…H ÎÍ ÉBC\"‡" [vip-window-display-p vip-emacs-p x-display-color-p device-class selected-device color new-color vip-color-defined-p assoc cursor-color frame-parameters color-instance-name frame-property selected-frame modify-frame-parameters] 5])
(defalias 'vip-save-cursor-color #[nil "À …F 	ƒ Â ‚ ÃÄ !Å=…F 	ƒ$ ÆÇÈ \"A‚+ ÉÊË Ç\"!‰;…E Ì!…E ˜?…E ÎÐ#)‡" [vip-window-display-p vip-emacs-p x-display-color-p device-class selected-device color assoc cursor-color frame-parameters color-instance-name frame-property selected-frame vip-color-defined-p vip-replace-overlay-cursor-color vip-overlay-put vip-replace-overlay vip-cursor-color] 5])
(put (quote vip-save-cursor-color) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-restore-cursor-color #[nil "ÀÁ\nÃ\"!‡" [vip-change-cursor-color vip-overlay-get vip-replace-overlay vip-cursor-color] 4])
(put (quote vip-restore-cursor-color) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-check-version #[(op major minor &optional type-of-emacs) "ÀÁ!ƒe ÀÂ!ƒe Ä=ƒ ‚\" Æ=ƒ! ‚\" È…v 	Ê=ƒ8 \nU…d 	\fU‡	Í>ƒ_ 		\f\"„O 	\fU…d 	\fUƒ] 	\n\"‡È‡ÎÏ	\"‡	Ð>ƒn Ñ‡	Ò>…v È‡" [boundp emacs-major-version emacs-minor-version type-of-emacs xemacs vip-xemacs-p emacs vip-emacs-p t op = minor major (> >= < <=) error "%S: Invalid op in vip-check-version" (= > >=) nil (< <=)] 3])
(defalias 'vip-get-visible-buffer-window #[(wind) "ƒ	 Á\nÃ\"‡Á\nÄ\"‡" [vip-xemacs-p get-buffer-window wind t visible] 3])
(defalias 'vip-line-pos #[(pos) "`ÀÄšƒ Åyˆ‚9 Æšƒ Àˆ‚9 Çšƒ0 ÈÄ!ÈÆ!\\É\\bˆ‚9 Êšƒ9 Ë ˆ`\nbˆ	*‡" [nil result cur-pos pos start 0 end mid vip-line-pos 2 indent back-to-indentation] 3])
(defalias 'vip-move-marker-locally #[(var pos &optional buffer) "ÀÁ\n!!„ \nÃ LˆÁ\n!\f“‡" [markerp eval var make-marker pos buffer] 3])
(defalias 'vip-message-conditions #[(conditions) "@A	„ ÃÄ\n\"ˆ‚ ÃÅ\nÆÇ	È##ˆÉÊ!*‡" [conditions msg case message "%s" "%s: %s" mapconcat prin1-to-string " " beep 1] 7])
(defalias 'vip-list-to-alist #[(lst) "À\nƒ \n@C	B\nA‰„ 	)‡" [nil alist lst] 3])
(defalias 'vip-alist-to-list #[(alst) "À\nƒ \n@@	B\nA‰„ 	)‡" [nil lst alst] 3])
(defalias 'vip-filter-alist #[(regexp alst) "À	\n@ƒ Ä\n@@\"ƒ \n@B\nA‰‚ *‡" [nil alst inalst outalst string-match regexp] 4 nil "s x"])
(defalias 'vip-filter-list #[(regexp lst) "À	\n@ƒ Ä\n@\"ƒ \n@B\nA‰‚ *‡" [nil lst inlst outlst string-match regexp] 4 nil "s x"])
(defalias 'vip-append-filter-alist #[(lis1 lis2) "Á‰ƒ\" Ä@@\"‰ƒ Æ\n\"‚ A‰„ ¤*‡" [lis1 nil elt temp assoc lis2 delq] 4])
#@292 Glob the file spec and visit all files matching the spec.
This function is designed to work under Unix. It may also work under VMS.

Users who prefer other types of shells should write their own version of this
function and set the variable `ex-nontrivial-find-file-function'
appropriately.
(defalias 'vip-ex-nontrivial-find-file-unix #[(filespec) "ƒ 	‚ \nÃ>ƒ Ä‚ Å† Çƒ& ÉÊ\"‚+ ÉÌ\"ÇŠÑ!‰qˆÔ ˆƒV ÕÇÖÇ×&‚a ÕÇÖÇ×&ebˆÙVƒ’ ŠÚÇwˆÛÜ!ƒ| ÝÞ!ˆßà;ƒ‰ ‚Š á`âã!{#ˆ)ebˆäå!)æç\",‡" [ex-unix-type-shell shell-file-name system-type (vax-vms axp-vms) "*dcl*" "sh" ex-unix-type-shell-options nil vip-ms-style-os-p format "\"ls -1 %s\"" filespec "ls -1 %s" file-list command gshell-options gshell get-buffer-create vip-ex-tmp-buf-name tmp-buf erase-buffer call-process t "-c" status 0 " 	\nj" looking-at "ls:" vip-forward-Word 1 error "%s: %s" "shell" vip-line-pos end vip-get-filenames-from-buffer one-per-line mapcar find-file] 8 (#$ . 8896)])
#@453 Glob the file spec and visit all files matching the spec.
This function is designed to work under MS type systems, such as NT, W95, and
DOS. It may also work under OS/2.

The users of Unix-type shells should be able to use
`vip-ex-nontrivial-find-file-unix', making it into the value of the variable 
`ex-nontrivial-find-file-function'. If this doesn't work, the user may have
to write a custom function, similar to `vip-ex-nontrivial-find-file-unix'.
(defalias 'vip-ex-nontrivial-find-file-ms #[(filespec) "ŠÀ	!‰qˆÃ ˆ\fcˆebˆÅÆÇÈ !\")‡" [get-buffer-create vip-ex-tmp-buf-name tmp-buf erase-buffer filespec mapcar find-file vip-glob-ms-windows-files vip-get-filenames-from-buffer] 4 (#$ . 9879)])
(defalias 'vip-get-filenames-from-buffer #[(&optional one-per-line) "ƒ Á‚	 ÂÃ‰‰‰Ãwˆm„` ÈÉ!ƒ* ÊËÌÃÍ#‚C ÈÎ!ƒ: ÏËÐÃÍ#‚C ËÑÒQÃÍ#ƒL Ó”Ó•{\fƒS ÔuˆÂÃwˆB‚ ,‡" [one-per-line "	\n" " 	\n" nil delim fname result skip-chars looking-at "\"" 34 re-search-forward "[^\"]+" t "'" 39 "[^']+" "[^" "]+" 0 1] 5])
(defalias 'vip-wildcard-to-regexp #[(wcard) "ŠÀ	!‰qˆÃ ˆ\fcˆebˆm„Z ÅÆwˆ`fÇ=ƒ) ÈcˆÉuˆ‚ `fÊ=ƒ9 ËcˆÉuˆ‚ `fÌ=ƒI ËcˆÉuˆ‚ `fÍ=ƒ ÎÉ!ˆÈcˆ‚ Ï )‡" [get-buffer-create vip-ex-tmp-buf-name tmp-buf erase-buffer wcard "^*?.\\\\" nil 42 "." 1 46 "\\" 92 63 delete-char buffer-string] 2])
(defalias 'vip-glob-ms-windows-files #[(list) "ÁÂ‰ƒ( ÆÇ@!† ÈÁÉÊË@!!ÌQ#BA‰„\n ÍÎÏ\"!+‡" [list t nil tmp2 case-fold-search tmp directory-files file-name-directory "" "^" vip-wildcard-to-regexp file-name-nondirectory "$" reverse apply append] 8])
(defalias 'vip-ring-rotate1 #[(ring dir) "À	!…6 Â	!ÃV…6 	\fÃVƒ Å	@Â	!\"‚1 \fÃWƒ/ Æ	@Â	!\"‚1 	@ ˆÇ	!‡" [ring-p ring ring-length 0 dir ring-plus1 ring-minus1 vip-current-ring-item] 5])
(defalias 'vip-special-ring-rotate1 #[(ring dir) "Á>ƒ Â\f\"‡ÂÅ\"‡" [vip-intermediate-command (repeating-display-destructive-command repeating-insertion-from-ring) vip-ring-rotate1 ring dir 0] 3])
(defalias 'vip-current-ring-item #[(ring &optional n) "† ÁÂ!…# Ä!ÁV…# AAÅ@ZÆZÄ!\"H‡" [n 0 ring-p ring ring-length mod 1] 5])
(defalias 'vip-push-onto-ring #[(item ring-var) "ÀÁ\n!!„ \nÃÁÄÅÆ\n\"!!!Lˆ?†J ;ƒ( È˜†J ÉÁ\n!!š†J \nÊ=ƒC ËÌÍÎ !\"†J ÏÁ\n!\"‡" [ring-p eval ring-var make-ring intern format "%S-size" item "" vip-current-ring-item vip-command-ring string-match "\\([0-9]*\\|^[ 	]*$\\|escape\\)" vip-array-to-string this-command-keys vip-ring-insert] 7])
(defalias 'vip-cleanup-ring #[(ring) "À	!ÂW† Ã	!?† Ã	!Ã	Ä\"š… Å	!‡" [ring-length ring 2 vip-current-ring-item 1 vip-ring-pop] 4])
(defalias 'vip-ring-pop #[(ring) "À	!	AA‰G	@ÆÇ\n\"]H	T\fWƒ7 THIˆT‰‚ ÊIˆÆÇ\n\"]‰\nSUƒM Æ	 ˆ	AÆ\nS] ˆ	.‡" [ring-length ring ln vec veclen hd 0 ring-minus1 idx top-elt nil] 5])
(defalias 'vip-ring-insert #[(ring item) "À	!	AA‰G	@‰ÆUƒ \n‚ \n\n\fUƒ4 	Iˆ	Ê\n\" ˆ‚k 	A\nT ˆ	Ê\nT\" ˆYƒd \nÆVƒd SHIˆS‰‚E 	Iˆ	.‡" [ring-length ring ln vec veclen hd 0 vecpos-after-hd idx item ring-plus1] 5])
(defalias 'vip-abbreviate-string #[(string max-len pre-string post-string abbrev-sign) "À\n;… \nÃ\f\nG^O‰„ Å‚3 \nG\fVƒ+ ÆÇ		\n%‚3 ÆË	\n$)‡" [nil truncated-str string 0 max-len "" format "%s%s%s%s" pre-string abbrev-sign post-string "%s%s%s"] 7])
(defalias 'vip-over-whitespace-line #[nil "ŠÀyˆÁÂ!)‡" [0 looking-at "^[ 	]*$"] 2])
(put (quote vip-over-whitespace-line) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-save-setting #[(var message custom-file &optional erase-msg) "À	!Ã	!… Ä	!ÆÇ\n\"ÉÊ!!\fÍ!ˆŠ\fqˆebˆÎÏÐ#ƒP Ñ•SÓ\n!ˆÑ”|ˆÑ”bˆÆÔ\n#cˆ)‚a dbˆn„Z ÕcˆÆÖ\n#cˆ× ˆ)Ø\f!ˆ…v ÚÛ!ˆÍÜ!,‡" [symbol-name var var-name boundp eval var-val format "^[^;]*%s[ 	\n]*[a-zA-Z---_']*[ 	\n)]" regexp find-file-noselect substitute-in-file-name custom-file buf message re-search-forward nil t 0 reg-end search-backward "%s  '%S" "\n" "(setq %s '%S)\n" save-buffer kill-buffer erase-msg sit-for 2 ""] 4])
(defalias 'vip-save-string-in-file #[(string custom-file &optional pattern) "ÀÁ\n!!Šqˆebˆ\fƒ Å\f!ˆdbˆƒ! cˆÇ ˆ)È!)‡" [find-file-noselect substitute-in-file-name custom-file buf pattern delete-matching-lines string save-buffer kill-buffer] 3])
(defalias 'vip-flash-search-pattern #[nil "À	!ƒ Â	Ã”Ã•#ˆ‚ ÄÃ”Ã•p#Å	Æ#ˆÈ …5 Å	É\n#ˆËÌ!ˆÅ	ÉÍ#‡" [vip-overlay-p vip-search-overlay vip-move-overlay 0 vip-make-overlay vip-overlay-put priority vip-search-overlay-priority vip-has-face-support-p face vip-search-face sit-for 2 nil] 4])
(defalias 'vip-move-replace-overlay #[(beg end) "À	\n#‡" [vip-move-overlay vip-replace-overlay beg end] 4])
(put (quote vip-move-replace-overlay) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-set-replace-overlay #[(beg end) "À	!ƒ \nÄ	\n#ˆ*‚0 Å\np#Æ	ƒ% È‚& ÉÊ#ˆÆ	Ë\f#ˆÍ ƒ< Æ	Î#ˆÐ ƒˆ ƒK Ñ ‚Q ÒÓ !Ô=ƒˆ ƒb ÕÖ× \"A‚i ØÙÚ Ö\"!‰;…† Û!…† ˜?…† Æ	Ý#)ˆÞ!‡" [vip-overlay-p vip-replace-overlay beg end vip-move-overlay vip-make-overlay vip-overlay-put vip-emacs-p evaporate detachable nil priority vip-replace-overlay-priority vip-has-face-support-p face vip-replace-overlay-face vip-window-display-p x-display-color-p device-class selected-device color assoc cursor-color frame-parameters color-instance-name frame-property selected-frame vip-color-defined-p vip-replace-overlay-cursor-color vip-cursor-color vip-change-cursor-color] 5])
(defalias 'vip-set-replace-overlay-glyphs #[(before-glyph after-glyph) "À ƒ	 	…1 \nƒ Ã‚ Ä\nƒ Å‚ ÆÉ\n#ˆÉ\n\f#*‡" [vip-has-face-support-p vip-use-replace-region-delimiters vip-xemacs-p begin-glyph before-string end-glyph after-string after-name before-name vip-overlay-put vip-replace-overlay before-glyph after-glyph] 4])
(put (quote vip-set-replace-overlay-glyphs) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-hide-replace-overlay #[nil "À‰Ã ƒ \fƒ4 ƒ Æ‚ Çƒ È‚ É\nÌ\n#ˆÌ\n	#*ˆ*ÎÏÐ\"!ˆÃ …H ÌÑÀ#‡" [nil after-glyph before-glyph vip-has-face-support-p vip-use-replace-region-delimiters vip-xemacs-p begin-glyph before-string end-glyph after-string after-name before-name vip-overlay-put vip-replace-overlay vip-change-cursor-color vip-overlay-get vip-cursor-color face] 4])
(put (quote vip-hide-replace-overlay) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-replace-start #[nil "À	!‡" [vip-overlay-start vip-replace-overlay] 2])
(put (quote vip-replace-start) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-replace-end #[nil "À	!‡" [vip-overlay-end vip-replace-overlay] 2])
(put (quote vip-replace-end) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-set-minibuffer-overlay #[nil "À ˆÁ …4 ÂÄ#ˆÂÆ#ˆÂƒ  É‚! ÊË#ˆ\f…4 ÂÍË#ˆÂÎË#‡" [vip-check-minibuffer-overlay vip-has-face-support-p vip-overlay-put vip-minibuffer-overlay face vip-minibuffer-current-face priority vip-minibuffer-overlay-priority vip-emacs-p evaporate detachable nil vip-xemacs-p start-open end-open] 4])
(defalias 'vip-check-minibuffer-overlay #[nil "À	!† \nƒ ÃÄÅ Tp#‚ ÃÄÅ TpÆÇ%‰‡" [vip-overlay-p vip-minibuffer-overlay vip-xemacs-p vip-make-overlay 1 buffer-size nil rear-advance] 6])
(defalias 'vip-is-in-minibuffer #[nil "ÀÁÂ \"‡" [string-match "*Minibuf-" buffer-name] 3])
(put (quote vip-is-in-minibuffer) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-abbreviate-file-name #[(file) "ƒ Á\n!‡Á\nÃ\"‡" [vip-emacs-p abbreviate-file-name file t] 3])
(defalias 'vip-sit-for-short #[(val &optional nodisp) "ƒ Á\nÃ¥\f\"‡ÁÅ\n\f#‡" [vip-xemacs-p sit-for val 1000.0 nodisp 0] 4])
(put (quote vip-sit-for-short) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-ESC-event-p #[(event) "ÀÁ\n!\f*‡" [(27 (control \[) escape) vip-event-key event key ESC-keys] 3])
(put (quote vip-ESC-event-p) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-mark-marker #[nil "ƒ ÁÂ!‡Á ‡" [vip-xemacs-p mark-marker t] 2])
(put (quote vip-mark-marker) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-set-mark-if-necessary #[nil "À	ƒ ÂÃ!‚ Â \f\"ÅÆ!‡" [delete vip-xemacs-p mark-marker t mark-ring set-mark-command nil] 3])
(put (quote vip-set-mark-if-necessary) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-deactivate-mark #[nil "ƒ Á ‡\n… ÃÅÆ!‡" [vip-xemacs-p zmacs-deactivate-region transient-mark-mode nil mark-active run-hooks deactivate-mark-hook] 2])
(defalias 'vip-leave-region-active #[nil "… Á‰‡" [vip-xemacs-p t zmacs-region-stays] 2])
(put (quote vip-leave-region-active) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-events-to-keys #[(events) "ƒ Á\n!‡\n‡" [vip-xemacs-p events-to-keys events] 2])
(put (quote vip-events-to-keys) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-eval-after-load #[(file form) "ƒ	 Á\n\"‡Ä\n\"„ \nCBÄ\n\"A„* C¤)‡" [vip-emacs-p eval-after-load file form assoc after-load-alist elt] 3])
(defalias 'vip-add-hook #[(hook function &optional append) "À	!„\n 	ÂLˆ	J‰<ƒ @Ä=ƒ C?…5 	ƒ1 ÆC\"‚4 BL)‡" [boundp hook nil old lambda function append] 5])
(defalias 'vip-remove-hook #[(hook function) "À	!?† 	J?† \n??…1 	J‰:ƒ% Ä\nÅ!\"‚- \nšƒ- Æ	L)‡" [boundp hook function hook-value delete copy-sequence nil] 5])
(defalias 'vip-read-event-convert-to-char #[nil "À\nƒ Ã ‚ Ä Å	!† 	)‡" [nil event vip-emacs-p read-event next-command-event event-to-character] 2])
(defalias 'vip-read-key #[nil "ÁÂÆ!ˆÇÂ!ÈœÆ	!ˆ+‡" [vip-overriding-map t nil key inhibit-quit overriding-local-map use-global-map read-key-sequence 0 global-map] 3])
(defalias 'vip-event-key #[(event) "ƒ\n Á!„ ÂÃ\"ˆÄ!Åƒ? É!ƒ( Ê!‚z Ë!ƒ8 ÌÍÎ!!P‚z ÂÏ\"‚z Ð!ƒZ ÑXƒZ ÒXƒZ Å‰‚z Ð!ƒw ÓWƒw ÔXƒw ÕÖZ‰‚z ×!Ð!ƒ˜ ÓUƒ ØÙD‚– ÚÛ!!ƒ§ ÜC\"‚© *‡" [event eventp error "vip-event-key: Wrong type argument, eventp, %S" event-modifiers nil basis mod vip-xemacs-p key-press-event-p event-key button-event-p "mouse-" prin1-to-string event-button "vip-event-key: Unknown event, %S" vip-characterp 65 90 127 255 (meta) 128 event-basic-type control \? intern char-to-string append] 4])
(defalias 'vip-key-to-emacs-key #[(key) "À‰‰‰‰‰ƒ ‚‚ 9ƒ6 É!‰GÊUƒ1 Ë!‚‚ ‚‚ <…‚ ÌÍGS#‰‰GSœ)É\n!‰GÊUÏÐ\f\"ƒu ÑÒÓÔÕ#Ö	R!@‰‚‚ ×ÓÔÖ#Ö	Q!‰.‡" [nil base-key-name base-key mod-char-list modifiers char-p key-name vip-xemacs-p key symbol-name 1 string-to-char subseq 0 seq mapcar #[(elt) "À	!ÂÃO–‡" [symbol-name elt 0 1] 3] read-from-string "?\\" mapconcat identity "-\\" "-" intern] 7])
(defalias 'vip-array-to-string #[(event-seq) "À‰;ƒ ‚k Ä!ƒA ÅÆ\"Ç\n!ƒ& ÈÉ\nÊ#‚k ËÅÌ\n\"‰!ƒ9 ÈÍ	Ê#‚k ÎÏ\n!!‚k Ç!ƒO ÈÉÊ#‚k Ð!ƒh ËÅÌ\"‰!ƒh ÈÍ\nÊ#‚k Î!*‡" [nil temp2 temp event-seq vip-event-vector-p mapcar vip-event-key vip-char-symbol-sequence-p mapconcat symbol-name "" vip-char-array-p vip-key-to-character char-to-string prin1-to-string vconcat vectorp] 4])
(defalias 'vip-key-press-events-to-chars #[(events) "À	ƒ	 Â‚\n Ã\fÅ#‡" [mapconcat vip-emacs-p char-to-string #[(elt) "ÀÁ\n!!‡" [char-to-string event-to-character elt] 3] events ""] 4])
(defalias 'vip-fast-keysequence-p #[nil "Á\fƒ ÅÆ¥\n\"‚ ÅÇ\n#*?‡" [vip-fast-keyseq-timeout t nodisp val vip-xemacs-p sit-for 1000.0 0] 4])
(put (quote vip-fast-keysequence-p) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-read-char-exclusive #[nil "ÀÁ„ ÀÄÅˆ‚ *‡" [nil 1 echo-keystrokes char (byte-code "À À‡" [read-char char] 1) ((error (vip-read-event)))] 3])
(defalias 'vip-key-to-character #[(key) "Á=ƒ Â‡Ã=ƒ Ä‡Å=ƒ Æ‡9ƒ, Ç!GÈUƒ, ÉÇ!!‡<ƒV @Ê=ƒV ÇA@!ƒV ÇA@!GÈUƒV ËÌÍÇA@!\"!‡‡" [key space 32 delete 127 backspace 8 symbol-name 1 string-to-char control read format "?\\C-%s"] 5])
#@163 Set up the current buffer as a master buffer.
Arguments become related buffers. This function should normally be used in
the `Local variables' section of a file.
(defalias 'vip-setup-master-buffer #[(&rest other-files-or-buffers) "À	GT!ÃÄ	\"ˆÅ\nÆ \"‡" [make-ring other-files-or-buffers vip-related-files-and-buffers-ring mapcar #[(elt) "À	\n\"‡" [vip-ring-insert vip-related-files-and-buffers-ring elt] 3] vip-ring-insert buffer-name] 3 (#$ . 21701)])
#@523 *Syntax type characterizing Viper's alphanumeric symbols.
`emacs' means only word constituents are considered to be alphanumeric.
Word constituents are symbols specified as word constituents by the current
syntax table.
`extended' means word and symbol constituents.
`reformed-vi' means Vi-ish behavior: word constituents and the symbol `_'.
However, word constituents are determined according to Emacs syntax tables,
which may be different from Vi in some major modes.
`strict-vi' means Viper words are exactly as in Vi.
(defvar vip-syntax-preference (quote strict-vi) (#$ . -22161))
#@189 String of syntax classes characterizing Viper's alphanumeric symbols.
In addition, the symbol `_' may be considered alphanumeric if
`vip-syntax-preference'is `reformed-vi'.
(buffer local)
(defvar vip-ALPHA-char-class "w" (#$ . 22753))
(make-variable-buffer-local (quote vip-ALPHA-char-class))
#@92 Regexp matching the set of alphanumeric characters acceptable to strict
Vi.
(buffer local)
(defvar vip-strict-ALPHA-chars "a-zA-Z0-9_" (#$ . 23052))
(make-variable-buffer-local (quote vip-strict-ALPHA-chars))
#@92 Regexp matching the set of alphanumeric characters acceptable to strict
Vi.
(buffer local)
(defvar vip-strict-SEP-chars " 	\n" (#$ . 23267))
(make-variable-buffer-local (quote vip-strict-SEP-chars))
#@109 String of syntax classes for Vi separators.
Usually contains ` ', linefeed, TAB or formfeed.
(buffer local)
(defvar vip-SEP-char-class " -" (#$ . 23473))
(make-variable-buffer-local (quote vip-SEP-char-class))
#@185 Set the syntactic class of Viper alphanumeric symbols according to
the variable `vip-ALPHA-char-class'. Should be called in order for changes to
`vip-ALPHA-char-class' to take effect.
(defalias 'vip-update-alphanumeric-class #[nil "ÀÁ\nÃ=ƒ\f Ä‚ \nÅ=ƒ Æ‚ Ä\"‡" [set-default vip-ALPHA-char-class vip-syntax-preference emacs "w" extended "w_"] 4 (#$ . 23690) nil])
(defalias 'vip-looking-at-alpha #[(&optional addl-chars) ";„ Á\nÃ=ƒ ÄP`f‰…> \nÆ=ƒ) ÇÈ	ÊR!‚> ËÌ!Í\">†> zËÌ!Í\">)‡" [addl-chars "" vip-syntax-preference reformed-vi "_" char strict-vi looking-at "[" vip-strict-ALPHA-chars "]" append vconcat nil vip-ALPHA-char-class] 6])
(defalias 'vip-looking-at-separator #[nil "`f‰… Á=† zÂÃ\f!Å\">)‡" [char 10 append vconcat vip-SEP-char-class nil] 5])
(put (quote vip-looking-at-separator) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-looking-at-alphasep #[(&optional addl-chars) "`f‰… Á=† zÂÃ\f!Å\">)† Æ!‡" [char 10 append vconcat vip-SEP-char-class nil vip-looking-at-alpha addl-chars] 5])
(put (quote vip-looking-at-alphasep) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-skip-alpha-forward #[(&optional addl-chars) ";„ ÁÂÃ\fÅ=ƒ Á‚ \fÅ=ƒ\" P‚# #‡" [addl-chars "" vip-skip-syntax forward vip-syntax-preference strict-vi vip-ALPHA-char-class vip-strict-ALPHA-chars] 5])
(put (quote vip-skip-alpha-forward) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-skip-alpha-backward #[(&optional addl-chars) ";„ ÁÂÃ\fÅ=ƒ Á‚ \fÅ=ƒ\" P‚# #‡" [addl-chars "" vip-skip-syntax backward vip-syntax-preference strict-vi vip-ALPHA-char-class vip-strict-ALPHA-chars] 5])
(put (quote vip-skip-alpha-backward) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-skip-all-separators-forward #[(&optional within-line) "ÀÁ\n† Ä… ÅÆ!$‡" [vip-skip-syntax forward vip-SEP-char-class within-line "\n" vip-line-pos end] 6])
(put (quote vip-skip-all-separators-forward) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-skip-all-separators-backward #[(&optional within-line) "ÀÁ\n† Ä… ÅÆ!$‡" [vip-skip-syntax backward vip-SEP-char-class within-line "\n" vip-line-pos start] 6])
(put (quote vip-skip-all-separators-backward) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-skip-nonseparators #[(direction) "ÀÁÂ\"!‰ÅPÇÈ=ƒ É‚ Ê!\")‡" [intern format "skip-syntax-%S" direction func "^" vip-SEP-char-class vip-line-pos forward end start] 6])
(defalias 'vip-skip-nonalphasep-forward #[nil "Á=ƒ Â\fQÅw‡ÆÂQÉÊ!\"‡" [vip-syntax-preference strict-vi "^" vip-strict-SEP-chars vip-strict-ALPHA-chars nil skip-syntax-forward vip-ALPHA-char-class vip-SEP-char-class vip-line-pos end] 4])
(put (quote vip-skip-nonalphasep-forward) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-skip-nonalphasep-backward #[nil "Á=ƒ Â\fQÅx‡ÆÂQÉÊ!\"‡" [vip-syntax-preference strict-vi "^" vip-strict-SEP-chars vip-strict-ALPHA-chars nil skip-syntax-backward vip-ALPHA-char-class vip-SEP-char-class vip-line-pos start] 4])
(put (quote vip-skip-nonalphasep-backward) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-skip-syntax #[(direction syntax addl-chars &optional limit) "ÀÁÂÃÄ\"!ÂÃÆ\"!	\n;„ Ì;„( Ì	ÀU„N m„N \"\"\\	\n	\\\n‚( \n,‡" [0 1 intern format "skip-chars-%S" direction "skip-syntax-%S" skip-syntax-func skip-chars-func local total addl-chars "" syntax limit] 7])
(provide (quote viper-util))
