;ELC   
;;; compiled by kwzh@nutrimat.gnu.ai.mit.edu on Thu Jun 15 16:34:18 1995
;;; from file /gd/gnu/emacs/19.0/lisp/viper-util.el
;;; emacs version 19.28.94.2.
;;; 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.28.90")))
    (error "`viper-util.el' was compiled for Emacs 19.29 or later"))


(byte-code "!\f\"B?B" [require ring string-match "\\(Lucid\\|XEmacs\\)" emacs-version vip-xemacs-p current-load-list 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])
(put (quote vip-window-display-p) (quote byte-optimizer) (quote byte-compile-inline-expand))
(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\fFE" [let count while (> count 0) body (setq count (1- count))] 6 (#$ . 1294)]))
(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 \fX9 >* \fX* \fX9 >9 \fX9 \fX" [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 KMKMKMKMKMKMKMKM\\ `  !{ m q  !>{ KM   !+   !>+KMKM+KMKMKMKMKMKMKMKM   !    !> KM !+ !>+KMKM" [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-emacs-p window-system device-type selected-device (tty stream) vip-iconify iconify-frame 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] 2)
(defalias 'vip-color-display-p #[nil "   !=" [vip-emacs-p x-display-color-p device-class selected-device color] 2])
(byte-code "#\f   != M" [put vip-color-display-p 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-change-cursor-color #[(new-color) " 	\f  !R  	  !>?R *  0  !=R ;R !R  ?R  BC\"" [vip-emacs-p window-system device-type selected-device (tty stream) x-display-color-p device-class color new-color vip-color-defined-p vip-get-cursor-color modify-frame-parameters selected-frame cursor-color] 4])
(defalias 'vip-save-cursor-color #[nil " 	\f  !T  	  !>?T *  0  !=T  ;S !S \n?S \f#)" [vip-emacs-p window-system device-type selected-device (tty stream) x-display-color-p device-class color vip-get-cursor-color 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-get-cursor-color #[nil " \"A" [assoc cursor-color frame-parameters] 3])
(put (quote vip-get-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Ud 	\fU	>_ 		\f\"O 	\fUd 	\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) "`Ě y9 ƚ 9 ǚ0 !!\\\\b9 ʚ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])
(defalias 'vip-ring-rotate1 #[(ring dir) "	!6 	!V6 	\fV 	@	!\"1 \fW/ 	@	!\"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@ZZ!\"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\fW7 THIT I\n\"]\nSUM 		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\fU4 	I	\n\"k 	A\nT	\nT\"Yd \nVd 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!\fqeb#P ѕS\n!є|єb\n#c)a dbnZ 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!!qeb\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#	#* 	.  !U ; 	?  !>?U 	#!	#" [vip-overlay-p vip-search-overlay vip-move-overlay 0 vip-make-overlay vip-overlay-put priority vip-search-overlay-priority vip-emacs-p window-system device-type selected-device (tty stream) face vip-search-face sit-for 2 nil] 4])
(defalias 'vip-set-replace-overlay #[(beg end) "	! \f\"3 \fp#	 	!ʓ#	 	!ʓ#	#= A  !^ N R  !>^ 	#h l  ! y }  !>     !=  ; ! ? 	#)!" [vip-overlay-p vip-replace-overlay vip-move-replace-overlay beg end vip-make-overlay vip-overlay-put vip-start make-marker vip-overlay-start nil vip-end vip-overlay-end priority vip-replace-overlay-priority vip-emacs-p window-system device-type selected-device (tty stream) face vip-replace-overlay-face x-display-color-p device-class color vip-get-cursor-color vip-color-defined-p vip-replace-overlay-cursor-color vip-cursor-color vip-change-cursor-color] 6])
(defalias 'vip-hide-replace-overlay #[nil "\"\f\"!   !6 ' +  !>?6 \f#" [vip-set-replace-overlay-glyphs nil vip-change-cursor-color vip-overlay-get vip-replace-overlay vip-cursor-color vip-emacs-p window-system device-type selected-device (tty stream) vip-overlay-put face] 4])
(put (quote vip-hide-replace-overlay) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-set-replace-overlay-glyphs #[(before-glyph after-glyph) " 	\f  !$  	  !>$ N - ǂ. 7 ɂ8 \f\f##*" [vip-emacs-p window-system device-type selected-device (tty stream) 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-replace-start #[nil "	\"" [vip-overlay-get vip-replace-overlay vip-start] 3])
(put (quote vip-replace-start) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-replace-end #[nil "	\"" [vip-overlay-get vip-replace-overlay vip-end] 3])
(put (quote vip-replace-end) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-move-replace-overlay #[(beg end) "	\n#	\"	!Ǔ	\"	!Ǔ" [vip-move-overlay vip-replace-overlay beg end vip-overlay-get vip-start vip-overlay-start nil vip-end vip-overlay-end] 4])
(put (quote vip-move-replace-overlay) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'vip-set-minibuffer-overlay #[nil "  \n   !6 \n !  !>?6 \n#\f#" [vip-check-minibuffer-overlay vip-move-minibuffer-overlay vip-emacs-p window-system device-type selected-device (tty stream) vip-overlay-put vip-minibuffer-overlay face vip-minibuffer-current-face priority vip-minibuffer-overlay-priority] 4])
(defalias 'vip-check-minibuffer-overlay #[nil "	!?  Tp#" [vip-overlay-p vip-minibuffer-overlay vip-make-overlay 1 buffer-size] 4])
(defalias 'vip-move-minibuffer-overlay #[(&optional overl beg end) "    T#" [vip-is-in-minibuffer vip-check-minibuffer-overlay vip-move-overlay vip-minibuffer-overlay 1 buffer-size] 4])
(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-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-set-mark-if-necessary #[nil " \n\"!" [delete vip-mark-marker mark-ring set-mark-command nil] 3])
(put (quote vip-set-mark-if-necessary) (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-deactivate-mark #[nil "  \n !" [vip-xemacs-p zmacs-deactivate-region transient-mark-mode nil mark-active run-hooks deactivate-mark-hook] 2])
(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-read-event-convert-to-char #[nil "\n    	! 	)" [nil event vip-emacs-p read-event next-command-event event-to-character] 2])
(defalias 'vip-event-key #[(event) "\n ! \"!? !( !x !8 !!Px \"x Y XY XY x u Wu Xu Zx ! 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" 65 90 127 255 (meta) 128 event-basic-type control \? intern char-to-string append] 5])
(defalias 'vip-key-to-emacs-key #[(key) "  96 !GU1 !  < GS#GS)\n!GU\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 &optional representation) "\n; \n= \n!, \n\"	!$ 	#= 	!!= \n!: \n#= \n!)" [nil temp event-seq vip-event-vector-p mapcar vip-event-key vip-char-symbol-sequence-p mapconcat symbol-name "" prin1-to-string vconcat] 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])
#@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 (#$ . 16892)])
(provide (quote viper-util))
