;ELC   
;;; Compiled by dan@wayne.mit.edu on Wed Apr 21 21:02:00 2004
;;; from file /usr/pkgsrc-current/inputmethod/skk/work.bondage/ddskk-12.2.0/skk-viper.el
;;; in Emacs version 21.3.1
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file contains multibyte non-ASCII characters
;;; and therefore cannot be loaded into Emacs 19.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "20")))
    (error "`skk-viper.el' was compiled for Emacs 20 or later"))

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


(require 'viper)
(defalias 'skk-viper-advice-select '(macro . #[(viper vip arg body) "\304\305\306	\nBBB\306	\nBBBF\207" [vip arg body viper if skk-viper-use-vip-prefix defadvice] 7]))
(byte-code "\203 \306\202	 \307	B\310\311 \312\216\313\f\314\"\204 \315\fP*\316\317!\203\241 \320\321\322\323\324$\210\325\321\324\"\210\2039 \326\202: \327\211\324;\211<\203` <@;\330\331\332\333;!!\334BB!\210<A\211<\204E +\335\335\324;\211=\203\210 =@;\330\331\332\333;!!\336BB!\210=A\211=\204m +\320\337\340\341\324$\210\325\337\324\"\210\320\342\343\341\324$\210\325\342\324\"\210\316\317!\203\263 \320\344\345\346\324$\210\325\344\324\"\210\320\347\350\341\324$\210\325\347\324\"\210\203\322 \320\351\352\323\324$\210\325\351\324\"\210\202\336 \320\353\354\323\324$\210\325\353\324\"\210\203\361 \320\355\356\323\324$\210\325\355\324\"\210\202\375 \320\357\360\323\324$\210\325\357\324\"\210\203\320\306\361\323\324$\210\325\306\324\"\210\202\320\307\362\323\324$\210\325\307\324\"\210\203/\320\363\364\346\324$\210\325\363\324\"\210\202;\320\365\366\346\324$\210\325\365\324\"\210\203N\320\367\370\341\324$\210\325\367\324\"\210\202Z\320\371\372\341\324$\210\325\371\324\"\210\324\207" [skk-viper-use-vip-prefix skk-kana-cleanup-command-list skk-use-viper save-match-data-internal sentence-end funcs vip-del-backward-char-in-insert viper-del-backward-char-in-insert t match-data ((set-match-data save-match-data-internal)) string-match "‘£‘©‘ͺ‘₯" "[‘£‘©‘ͺ‘₯]\\|" boundp viper-insert-state-cursor-color ad-add-advice skk-cursor-current-color (skk-viper-cursor-ad nil t (advice lambda nil "vi-state €Ξ€Θ€­€Ο‘’SKK ₯β‘Ό₯Ι€Λ€Κ€Γ€Ζ€€€Ζ€β₯Η₯£₯Υ₯©₯λ₯Θ₯«‘Ό₯½₯λ€ςΚΦ€Ή‘£" (cond ((not skk-use-color-cursor) ad-do-it) ((or (and (boundp 'viper-current-state) (eq viper-current-state 'vi-state)) (and (boundp 'vip-current-state) (eq vip-current-state 'vi-state))) (setq ad-return-value skk-cursor-default-color)) ((not skk-mode) (setq viper-insert-state-cursor-color skk-viper-saved-cursor-color) ad-do-it) (t ad-do-it (setq viper-insert-state-cursor-color ad-return-value))))) around nil ad-activate (vip-Append vip-Insert vip-insert vip-intercept-ESC-key vip-open-line) (viper-Append viper-Insert viper-hide-replace-overlay viper-insert viper-intercept-ESC-key viper-open-line) eval defadvice intern symbol-name ((after skk-viper-cursor-ad activate) "Set cursor color which represents skk mode." (when skk-use-color-cursor (skk-cursor-set))) (skk-abbrev-mode skk-jisx0208-latin-mode skk-latin-mode skk-toggle-kana) ((after skk-viper-cursor-ad activate) "viper-insert-state-cursor-color €ς SKK €ΞΖώΞΟ₯β‘Ό₯Ι€Ξ₯«‘Ό₯½₯λΏ§€ΘΉη€ο€»€λ‘£" (when skk-use-color-cursor (setq viper-insert-state-cursor-color (skk-cursor-current-color)))) skk-mode (skk-viper-cursor-ad nil t (advice lambda nil "viper-insert-state-cursor-color €ς SKK €ΞΖώΞΟ₯β‘Ό₯Ι€Ξ₯«‘Ό₯½₯λΏ§€ΘΉη€ο€»€λ‘£" (when skk-use-color-cursor (setq viper-insert-state-cursor-color (if skk-mode (skk-cursor-current-color) skk-viper-saved-cursor-color))))) after skk-kakutei (skk-viper-cursor-ad nil t (advice lambda nil (setq viper-insert-state-cursor-color skk-cursor-hiragana-color))) read-from-minibuffer (skk-viper-ad nil t (advice lambda nil "minibuffer-setup-hook €Λ update-buffer-local-frame-params €ς₯Υ₯Γ₯―€Ή€λ‘£\nviper-read-string-with-history €Ο minibuffer-setup-hook €ς΄ΨΏτ₯ν‘Ό₯«₯λ\n€Λ€·€Ζ€·€ή€¦€Ξ€Η‘’Ν½€α minibuffer-setup-hook €Λ€«€±€Ζ€ͺ€€€Ώ₯Υ₯Γ₯―€¬Μ΅Έϊ\n€Θ€Κ€λ‘£" (when skk-use-color-cursor (add-hook 'minibuffer-setup-hook 'update-buffer-local-frame-params 'append)))) before viper-read-string-with-history (skk-viper-ad nil t (advice lambda nil "Ό‘²σ₯ί₯Λ₯Π₯Γ₯Υ₯‘€ΛΖώ€Γ€Ώ€Θ€­€Λ SKK ₯β‘Ό₯Ι€Λ€Κ€ι€Κ€€€θ€¦€Λ€Ή€λ‘£" (remove-hook 'pre-command-hook 'skk-pre-command 'local) (skk-remove-minibuffer-setup-hook 'skk-j-mode-on 'skk-setup-minibuffer #'(lambda nil (add-hook 'pre-command-hook 'skk-pre-command nil 'local))))) vip-forward-word-kernel (skk-ad nil t (advice lambda nil "SKK ₯β‘Ό₯Ι€¬₯ͺ₯σ€Η‘’₯έ₯€₯σ₯Θ€ΞΔΎΈε€ΞΚΈ»ϊ€¬ JISX0208/JISX0213 €ΐ€Γ€Ώ€ι forward-word €Ή€λ‘£" (if (and skk-mode (or (skk-jisx0208-p (following-char)) (skk-jisx0213-p (following-char)))) (forward-word (ad-get-arg 0)) ad-do-it))) viper-forward-word-kernel (skk-ad nil t (advice lambda nil "SKK ₯β‘Ό₯Ι€¬₯ͺ₯σ€Η‘’₯έ₯€₯σ₯Θ€ΞΔΎΈε€ΞΚΈ»ϊ€¬ JISX0208/JISX0213 €ΐ€Γ€Ώ€ι forward-word €Ή€λ‘£" (if (and skk-mode (or (skk-jisx0208-p (following-char)) (skk-jisx0213-p (following-char)))) (forward-word (ad-get-arg 0)) ad-do-it))) vip-backward-word-kernel (skk-ad nil t (advice lambda nil "SKK ₯β‘Ό₯Ι€¬₯ͺ₯σ€Η‘’₯έ₯€₯σ₯Θ€ΞΔΎΑ°€ΞΚΈ»ϊ€¬ JISX0208/JISX0213 €ΐ€Γ€Ώ€ι backward-word €Ή€λ‘£" (if (and skk-mode (or (skk-jisx0208-p (preceding-char)) (skk-jisx0213-p (preceding-char)))) (backward-word (ad-get-arg 0)) ad-do-it))) viper-backward-word-kernel (skk-ad nil t (advice lambda nil "SKK ₯β‘Ό₯Ι€¬₯ͺ₯σ€Η‘’₯έ₯€₯σ₯Θ€ΞΔΎΑ°€ΞΚΈ»ϊ€¬ JISX0208/JISX0213 €ΐ€Γ€Ώ€ι backward-word €Ή€λ‘£" (if (and skk-mode (or (skk-jisx0208-p (preceding-char)) (skk-jisx0213-p (preceding-char)))) (backward-word (ad-get-arg 0)) ad-do-it))) (skk-ad nil t (advice lambda nil "’§₯β‘Ό₯Ι€Η skk-delete-implies-kakutei €¬ non-nil €ΐ€Γ€Ώ€ιΔΎΑ°€ΞΚΈ»ϊ€ςΎΓ€·€Ζ³ΞΔκ€Ή€λ‘£\n’§₯β‘Ό₯Ι€Η skk-delete-implies-kakutei €¬ nil €ΐ€Γ€Ώ€ιΑ°ΈυΚδ€ςΙ½Ό¨€Ή€λ‘£\n’¦₯β‘Ό₯Ι€ΐ€Γ€Ώ€ι³ΞΔκ€Ή€λ‘£\n³ΞΔκΖώΞΟ₯β‘Ό₯Ι€Η‘’€«€Κ₯Χ₯μ₯Υ₯£₯Γ₯―₯Ή€ΞΖώΞΟΓζ€Κ€ι€Π‘’€«€Κ₯Χ₯μ₯Υ₯£₯Γ₯―₯Ή€ςΎΓ€Ή‘£" (let ((count (or (prefix-numeric-value (ad-get-arg 0)) 1))) (cond ((eq skk-henkan-mode 'active) (if (and (not skk-delete-implies-kakutei) (= skk-henkan-end-point (point))) (skk-previous-candidate) (if overwrite-mode (progn (backward-char count) (delete-char count)) ad-do-it) (if (> (length skk-prefix) count) (setq skk-prefix (substring skk-prefix 0 (- (length skk-prefix) count))) (setq skk-prefix "")) (when (>= skk-henkan-end-point (point)) (skk-kakutei)))) ((and (eq skk-henkan-mode 'on) (>= skk-henkan-start-point (point))) (setq skk-henkan-count 0) (skk-kakutei)) ((and (eq skk-henkan-mode 'on) overwrite-mode) (backward-char count) (delete-char count)) (t (if (string= skk-prefix "") ad-do-it (skk-erase-prefix 'clean))))))) (skk-ad nil t (advice lambda nil "’§₯β‘Ό₯Ι€Η skk-delete-implies-kakutei €¬ non-nil €ΐ€Γ€Ώ€ιΔΎΑ°€ΞΚΈ»ϊ€ςΎΓ€·€Ζ³ΞΔκ€Ή€λ‘£\n’§₯β‘Ό₯Ι€Η skk-delete-implies-kakutei €¬ nil €ΐ€Γ€Ώ€ιΑ°ΈυΚδ€ςΙ½Ό¨€Ή€λ‘£\n’¦₯β‘Ό₯Ι€ΐ€Γ€Ώ€ι³ΞΔκ€Ή€λ‘£\n³ΞΔκΖώΞΟ₯β‘Ό₯Ι€Η‘’€«€Κ₯Χ₯μ₯Υ₯£₯Γ₯―₯Ή€ΞΖώΞΟΓζ€Κ€ι€Π‘’€«€Κ₯Χ₯μ₯Υ₯£₯Γ₯―₯Ή€ςΎΓ€Ή‘£" (let ((count (or (prefix-numeric-value (ad-get-arg 0)) 1))) (cond ((eq skk-henkan-mode 'active) (if (and (not skk-delete-implies-kakutei) (= skk-henkan-end-point (point))) (skk-previous-candidate) (if overwrite-mode (progn (backward-char count) (delete-char count)) ad-do-it) (if (> (length skk-prefix) count) (setq skk-prefix (substring skk-prefix 0 (- (length skk-prefix) count))) (setq skk-prefix "")) (when (>= skk-henkan-end-point (point)) (skk-kakutei)))) ((and (eq skk-henkan-mode 'on) (>= skk-henkan-start-point (point))) (setq skk-henkan-count 0) (skk-kakutei)) ((and (eq skk-henkan-mode 'on) overwrite-mode) (backward-char count) (delete-char count)) (t (if (string= skk-prefix "") ad-do-it (skk-erase-prefix 'clean))))))) vip-intercept-ESC-key (skk-add nil t (advice lambda nil "’¦₯β‘Ό₯Ι‘’’§₯β‘Ό₯Ι€ΐ€Γ€Ώ€ι³ΞΔκ€Ή€λ‘£" (when (and skk-mode skk-henkan-mode) (skk-kakutei)))) viper-intercept-ESC-key (skk-add nil t (advice lambda nil "’¦₯β‘Ό₯Ι‘’’§₯β‘Ό₯Ι€ΐ€Γ€Ώ€ι³ΞΔκ€Ή€λ‘£" (when (and skk-mode skk-henkan-mode) (skk-kakutei)))) vip-join-lines (skk-ad nil t (advice lambda nil "₯Ή₯Ϊ‘Ό₯Ή€ΞΞΎΒ¦€ΞΚΈ»ϊ₯»₯Γ₯Θ€¬ JISX0208/JISX0213 €ΐ€Γ€Ώ€ι₯Ή₯Ϊ‘Ό₯Ή€ςΌθ€κ½ό€―‘£" (save-match-data (let ((char-after (char-after (progn (skip-chars-forward " ") (point)))) (char-before (char-before (progn (skip-chars-backward " ") (point))))) (when (and (or (skk-jisx0208-p char-after) (skk-jisx0213-p char-after)) (or (skk-jisx0208-p char-before) (skk-jisx0213-p char-before))) (while (looking-at " ") (delete-char 1))))))) viper-join-lines (skk-ad nil t (advice lambda nil "₯Ή₯Ϊ‘Ό₯Ή€ΞΞΎΒ¦€ΞΚΈ»ϊ₯»₯Γ₯Θ€¬ JISX0208/JISX0213 €ΐ€Γ€Ώ€ι₯Ή₯Ϊ‘Ό₯Ή€ςΌθ€κ½ό€―‘£" (save-match-data (let ((char-after (char-after (progn (skip-chars-forward " ") (point)))) (char-before (char-before (progn (skip-chars-backward " ") (point))))) (when (and (or (skk-jisx0208-p char-after) (skk-jisx0213-p char-after)) (or (skk-jisx0208-p char-before) (skk-jisx0213-p char-before))) (while (looking-at " ") (delete-char 1))))))) func #:--dolist-temp--36101 #:--dolist-temp--36102] 7)
(defalias 'skk-viper-normalize-map #[nil "\306\302!	 \210\307\302\n\"\210\205L r\310 \311\211\203J \f@\312!\203C q\210\313\n\236\204@ \314\302\315B\316B\313B\317BF\"\210	 \210\fA\211\204 +\311)\207" [other-buffer skk-viper-normalize-map-function minor-mode-map-alist buf #1=#:--dolist-temp--36103 skk-latin-mode-map local-variable-if-set-p set-default buffer-list nil buffer-live-p skk-j-mode set-modified-alist skk-latin-mode skk-abbrev-mode skk-jisx0208-latin-mode skk-abbrev-mode-map skk-j-mode-map skk-jisx0208-latin-mode-map] 8])
(eval-after-load "viper-cmd" '(defun viper-toggle-case (arg) "Toggle character case.\nConvert hirakana to katakana and vice versa." (interactive "P") (let ((val (viper-p-val arg)) (c)) (viper-set-destructive-command (list 'viper-toggle-case val nil nil nil nil)) (while (> val 0) (setq c (following-char)) (delete-char 1 nil) (cond ((skk-ascii-char-p c) (if (eq c (upcase c)) (insert-char (downcase c) 1) (insert-char (upcase c) 1))) ((and (<= 53793 c) (>= 53875 c)) (insert (skk-hiragana-to-katakana (char-to-string c)))) ((and (<= 53921 c) (>= 54003 c)) (insert (skk-katakana-to-hiragana (char-to-string c)))) (t (insert-char c 1))) (when (eolp) (backward-char 1)) (setq val (1- val))))))
(defalias 'skk-viper-init-function #[nil "\301\300!\203 \302\303!\203 \304 \305 \210\306\307\310\"\207" [viper-insert-state-cursor-color boundp featurep skk-cursor skk-cursor-current-color skk-viper-normalize-map remove-hook skk-mode-hook skk-viper-init-function] 3])
(byte-code "\301\302\303\"\210\304\300!\210\304\305!\210\306\307\310!\300\311\312!\313\314\"\210\315\307\310!\"\210\316!\314\232\203. \2029 \317\312\320\314\321\320\211\211\322&)#\210\307\310!\207" [product add-hook skk-mode-hook skk-viper-init-function require skk-version put provide skk-viper product-find-by-name "Daredevil SKK" product-run-checkers (12 2 0) product-add-feature product-version vector nil "Sone" "12.2.0"] 12)
