;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:15:30 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/international/kkc.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`kkc.el' was compiled for Emacs 23 or later"))

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


(require 'ja-dic-utl)
#@97 String denoting KKC input method.
This string is shown at mode line when users are in KKC mode.
(defvar kkc-input-method-title "æ¼¢" (#$ . 573))
#@66 Name of a file which contains user's initial setup code for KKC.
(defvar kkc-init-file-name (convert-standard-filename "~/.kkcrc") (#$ . 724))
(byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\304\"\210\306B\307\310!\207" [current-load-list kkc-init-file-flag default-boundp set-default nil kkc-lookup-cache kkc-lookup-cache-tag (lambda (#1=#:defconst-tmp-var) (defconst kkc-lookup-cache-tag #1#)) kkc-lookup-cache-2] 3)
#@77 Save initial setup code for KKC to a file specified by `kkc-init-file-name'
(defalias 'kkc-save-init-file #[nil "\205\305=?\205\306\307\310\311\312\"\307\f#*\207" [kkc-init-file-flag print-length coding-system-for-write kkc-lookup-cache kkc-init-file-name t iso-2022-7bit nil write-region format "(setq kkc-lookup-cache '%S)\n"] 4 (#$ . 1186)])
(byte-code "\301B\302\301!\204\303\301\304\"\210\301\207" [current-load-list kkc-show-conversion-list-index-chars default-boundp set-default "1234567890"] 3)
#@54 Show key bindings available while converting by KKC.
(defalias 'kkc-help #[nil "\300\220\301\302\303!!\221\207" ["*Help*" princ substitute-command-keys "\\{kkc-keymap}"] 4 (#$ . 1708) nil])
#@40 Keymap for KKC (Kana Kanji Converter).
(defvar kkc-keymap (byte-code "\304 G\305	\nW\203\306\307	H!\310#\210	T\211\202	\306\311\312#\210\306\313\314#\210\306\315\316#\210\306\317\312#\210\306\320\321#\210\306\322\323#\210\306\324\325#\210\306\326\327#\210\306\330\331#\210\306\332\333#\210\306\334\333#\210\306\335\336#\210\306\337\340#\210\306\341\342#\210\306\343\344#\210\306\345\346#\210\306\347\316#\210\306\350\333#\210\306\351\314#\210\306\352\353#\210+\207" [kkc-show-conversion-list-index-chars i len map make-sparse-keymap 0 define-key char-to-string kkc-select-from-list " " kkc-next "
" kkc-terminate "" kkc-first-char-only "" "" kkc-prev "	" kkc-shorter "" kkc-longer "I" kkc-shorter-conversion "O" kkc-longer-phrase "" kkc-cancel "" "" kkc-next-phrase "K" kkc-katakana "H" kkc-hiragana "l" kkc-show-conversion-list-or-next-group "L" kkc-show-conversion-list-or-prev-group [67108896] [delete] [return] "" kkc-help] 6) (#$ . 1904))
(byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\304\"\210\306B\302\306!\204-\303\306\304\"\210\307B\302\307!\204<\303\307\304\"\210\304\207" [current-load-list kkc-original-kana default-boundp set-default nil kkc-current-key kkc-current-conversions kkc-current-conversions-width] 3)
#@263 Count of successive `kkc-next' or `kkc-prev' to show conversion list.
When you type SPC or C-p successively this count while using the input
method `japanese', the conversion candidates are shown in the echo
area while indicating the current selection by `<N>'.
(custom-declare-variable 'kkc-show-conversion-list-count '4 '(#$ . 3218) :group 'mule :type 'integer)
(byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\304\"\210\306B\302\306!\204-\303\306\304\"\210\307B\302\307!\204<\303\307\304\"\210\310B\302\310!\204K\303\310\304\"\210\311B\302\311!\204Z\303\311\304\"\210\312B\302\312!\204i\303\312\304\"\210\304\207" [current-load-list kkc-next-count default-boundp set-default nil kkc-prev-count kkc-overlay-head kkc-overlay-tail kkc-length-head kkc-length-converted kkc-cursor-type] 3)
(defalias 'kkc-lookup-key #[(len &optional postfix prefer-noun) "\204\306\307\310\311\312\"\210\313\n!\203\307\314\315\217\210	\211\205&<\205&A<)\2031	@\f=\2046\fC\301\316
	\317\306%\211@:\203V\307@\211\202\231\320
$\211\203\206\307\321B\203\202\322
	$\210\301\306\202\231\321U\205\231\321\307\317\307B\211)\207" [kkc-init-file-flag kkc-lookup-cache kkc-init-file-name obj kkc-lookup-cache-tag kkc-current-key t nil add-hook kill-emacs-hook kkc-save-init-file file-readable-p (load-file kkc-init-file-name) ((kkc-error kkc-init-file-name)) lookup-nested-alist 0 skkdic-lookup-key 1 set-nested-alist len entry kkc-length-converted kkc-current-conversions-width kkc-current-conversions postfix prefer-noun] 7])
(put 'kkc-error 'error-conditions '(kkc-error error))
(defalias 'kkc-error #[(&rest args) "\301\302\303\304\"\"\207" [args signal kkc-error apply format] 5])
(byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list kkc-converting default-boundp set-default nil] 3)
#@325 Functions to run after a conversion is selected in `japanese' input method.
With this input method, a user can select a proper conversion from
candidate list.  Each time he changes the selection, functions in this
list are called with two arguments; starting and ending buffer
positions that contains the current selection.
(defvar kkc-after-update-conversion-functions nil (#$ . 5130))
#@375 Convert Kana string in the current region to Kanji-Kana mixed string.
Users can select a desirable conversion interactively.
When called from a program, expects two arguments,
positions FROM and TO (integers or markers) specifying the target region.
When it returns, the point is at the tail of the selected conversion,
and the return value is the length of the conversion.
(defalias 'kkc-region #[(from to) "	{b\210\306!\203\307	#\210\202$\310	\311\211\312%\313\314\315#\210\306\f!\2033\307\f	\211#\210\202A\310	\211\311\211\312%\313\f\314\316#\210\n\317
!)\211'G(\320)\321\216*\311\322 \312+,-.\323(\311+#\204u(S(\311+\202`	b\210\324\325!\210\326/\3200/1Y\203\2252G\327Y\203\225\330 \210\331 \210\3123\332\311!\2103\203\341\333,!\21045\3116\334\311!7\33547\"8\3368!\203\314\337\340\341\217\210\202\335\342\343 \342
\311\")9\"9\344 \210,\202\237\331 \210\345\f!b\210\346!Z-\207" [from to kkc-original-kana kkc-overlay-head kkc-overlay-tail string overlayp move-overlay make-overlay nil t overlay-put face highlight underline vconcat 0 ((byte-code "\302!\210\302	!\207" [kkc-overlay-head kkc-overlay-tail delete-overlay] 2)) buffer-modified-p kkc-lookup-key kkc-update-conversion all 1 3 kkc-show-conversion-list-or-next-group force-mode-line-update message set-buffer-modified-p read-key-sequence lookup-key commandp err (byte-code "\303=\203	T\304\202 \305=\203\nT\304\202 \304\211\306!\207" [cmd kkc-next-count kkc-prev-count kkc-next 0 kkc-prev call-interactively] 3) ((kkc-error (byte-code "\301\302A\"\210\303 \207" [err message "%s" beep] 3))) append this-single-command-raw-keys kkc-terminate overlay-end overlay-start kkc-current-key kkc-length-head kkc-length-converted kkc-input-method-title first modified-p input-method-function current-input-method-title kkc-next-count kkc-prev-count kkc-show-conversion-list-count kkc-current-conversions kkc-converting kkc-keymap overriding-terminal-local-map help-char keyseq cmd unread-input-method-events] 7 (#$ . 5524) "r"])
#@54 Exit from KKC mode by fixing the current conversion.
(defalias 'kkc-terminate #[nil "\303!b\210\304	``#\210\305\211\207" [kkc-overlay-tail kkc-overlay-head kkc-converting overlay-end move-overlay nil] 4 (#$ . 7584) nil])
#@50 Exit from KKC mode by canceling any conversions.
(defalias 'kkc-cancel #[nil "\304!b\210\304!\305	!|\210\nc\210\306\211\207" [kkc-overlay-head kkc-overlay-tail kkc-original-kana kkc-converting overlay-start overlay-end nil] 3 (#$ . 7813) nil])
#@54 Select only the first character currently converted.
(defalias 'kkc-first-char-only #[nil "\302!b\210\303u\210`\304	!|\210\305 \207" [kkc-overlay-head kkc-overlay-tail overlay-start 1 overlay-end kkc-terminate] 3 (#$ . 8066) nil])
#@42 Select the next candidate of conversion.
(defalias 'kkc-next #[nil "@T\211\306W\203\f\307	GY\203\306	\240\210	\307V\203(\310\n\f$\210\303\2045\f
Y\2038\311 \210\312 )\207" [kkc-current-conversions idx kkc-current-key kkc-lookup-cache kkc-length-converted kkc-init-file-flag 0 1 set-nested-alist kkc-show-conversion-list-update kkc-update-conversion kkc-current-conversions-width kkc-next-count kkc-show-conversion-list-count] 6 (#$ . 8304) nil])
#@46 Select the previous candidate of conversion.
(defalias 'kkc-prev #[nil "@S\211\306W\203GS	\240\210	\307V\203!\310\n\f$\210\303\204.\f
Y\2031\311 \210\312 )\207" [kkc-current-conversions idx kkc-current-key kkc-lookup-cache kkc-length-converted kkc-init-file-flag 0 1 set-nested-alist kkc-show-conversion-list-update kkc-update-conversion kkc-current-conversions-width kkc-prev-count kkc-show-conversion-list-count] 6 (#$ . 8775) nil])
#@66 Select one candidate from the list currently shown in echo area.
(defalias 'kkc-select-from-list #[nil "\306	\203>\nG	\307H\310H	\307H\307HZ\307\211\fV\203\f
W\203=\nH\fU\2036
\211\202 T\211\202 +\203U
	\307H\307H\\\240\210\311 \210\312 \202^\fB\313 )\207" [idx kkc-current-conversions-width kkc-show-conversion-list-index-chars i maxlen len nil 0 1 kkc-show-conversion-list-update kkc-update-conversion kkc-terminate last-input-event kkc-current-conversions unread-input-method-events] 5 (#$ . 9233) nil])
#@22 Convert to Katakana.
(defalias 'kkc-katakana #[nil "\301\240\210\302\303!\207" [kkc-current-conversions -1 kkc-update-conversion all] 2 (#$ . 9776) nil])
#@22 Convert to hiragana.
(defalias 'kkc-hiragana #[nil "\301\240\210\302 \207" [kkc-current-conversions 0 kkc-update-conversion] 2 (#$ . 9937) nil])
#@47 Make the Kana string to be converted shorter.
(defalias 'kkc-shorter #[nil "\303X\203\n\304\305!\210S	V\203$\306\307\n!\204#\nS\202)\310\311!\207" [kkc-length-head kkc-length-converted len 1 kkc-error "Can't be shorter" 0 kkc-lookup-key kkc-update-conversion all] 2 (#$ . 10089) nil])
#@46 Make the Kana string to be converted longer.
(defalias 'kkc-longer #[nil "	GY\203\302\303!\210T\304\305\"\210\306\307!\207" [kkc-length-head kkc-current-key kkc-error "Can't be longer" kkc-lookup-key postfix kkc-update-conversion all] 3 (#$ . 10393) nil])
#@47 Make the Kana string to be converted shorter.
(defalias 'kkc-shorter-conversion #[nil "\302X\203\n\303\304!\210S\305\306	!\204	S\202)\307\310!\207" [kkc-length-converted len 1 kkc-error "Can't be shorter" 0 kkc-lookup-key kkc-update-conversion all] 2 (#$ . 10661) nil])
#@74 Make the current phrase (BUNSETSU) longer without looking up dictionary.
(defalias 'kkc-longer-phrase #[nil "	GY\203\302\303!\210T\304\305!\207" [kkc-length-head kkc-current-key kkc-error "Can't be longer" kkc-update-conversion all] 2 (#$ . 10947) nil])
#@77 Fix the currently converted string and try to convert the remaining string.
(defalias 'kkc-next-phrase #[nil "	GY\203\n\306 \207	GZ\307\n!b\210`\307!W\203,\310\311!\203,\312\225b\210S\202\312U\2035\306 \207\313\312\"	GZ\312\314\fW\203k\f	\f\\HI\210\315\fH!P\fT\211\202I\312\316\317
W#\204\207\320V\203\207S\202q`\307!\321\n#\210\321\211#\210*\322\323!,\207" [kkc-length-head kkc-current-key kkc-overlay-head kkc-overlay-tail i len kkc-terminate overlay-end looking-at "\\CH" 0 make-vector "" char-to-string kkc-lookup-key nil 1 move-overlay kkc-update-conversion all idx newkey kkc-original-kana kkc-length-converted tail pos] 6 (#$ . 11212) nil])
(defalias 'kkc-setup-current-conversions-width #[nil "AG\305\306\n\307\"\211\310\311\n\312\307#I\210\205-\f	\313@!\314\\I\210A	T\202+\207" [kkc-current-conversions idx len convs kkc-current-conversions-width 1 make-vector nil 0 vector -2 string-width 4] 7])
#@200 Show list of available conversions in echo area with index numbers.
If the list is already shown, show the next group of conversions,
and change the current conversion to the first one in the group.
(defalias 'kkc-show-conversion-list-or-next-group #[nil "G\303W\203\304\305!\210	\203.	\306H\307H\211	GW\203#\n\240\210\202'\307\240\210\310 \210\311 )\207\312 \210\310 \207" [kkc-current-conversions kkc-current-conversions-width next-idx 3 kkc-error "No alternative" 0 1 kkc-show-conversion-list-update kkc-update-conversion kkc-setup-current-conversions-width] 3 (#$ . 12202) nil])
#@203 Show list of available conversions in echo area with index numbers.
If the list is already shown, show the previous group of conversions,
and change the current conversion to the last one in the group.
(defalias 'kkc-show-conversion-list-or-prev-group #[nil "G\303W\203\304\305!\210	\2030	\306H\306H\211\307V\203#\nS\240\210\202)	GS\240\210\310 \210\311 )\207\312 \210\310 \207" [kkc-current-conversions kkc-current-conversions-width this-idx 3 kkc-error "No alternative" 0 1 kkc-show-conversion-list-update kkc-update-conversion kkc-setup-current-conversions-width] 3 (#$ . 12801) nil])
(defalias 'kkc-show-conversion-list-update #[nil "\204\306 \210	@\307H\211\307H\310H\311H\n\fW\203)\310\312\2024\n
Y\2034
\312\204+	G\313\314 !\307\fG\312 !\"#$ \nX\203\227!\" H\\#X\203\200 \fZW\203\200!\" H\\!\202\212 \" H! T A\202T\307\fI\210 $W\203\323!\" H\\#X\203\323 \fZW\203\323!\" H\\! T A\202\234\310 \211I\210\f	\233\315\316\307H\317@\320\f##\fT A 
W\203#\315\321 \fZH\317@\320 #$ T A\202\371\311I\210.\n\307V\203p\322G%&\323\307G\324$\210\325&\320#\n=\204]\326&\320%$&\202C\327&\326&\320%$\330\331%\210*\312'\332\333\".\207" [kkc-current-conversions-width kkc-current-conversions current-idx first-slot this-idx next-idx kkc-setup-current-conversions-width 0 1 2 nil window-width minibuffer-window format " %c %s" propertize kkc-conversion-index "%s  %c %s" 3 remove-text-properties (face nil) get-text-property next-single-property-change put-text-property face highlight message "%s" msg kkc-show-conversion-list-index-chars l max-items idx width width-table max-width len limit pos message-log-max] 9])
(defalias 'kkc-update-conversion #[(&optional all) "\306!b\210	@\307U\203$\307\211W\203 \f\nHc\210\nT\211\202)\202K	@\310U\203E\307\211W\203A\311\f\nH!c\210\nT\211\202.)\202K	@	8c\210`\306
!|\210\203\256\fG\306
!\312!|\210\nW\203\210	@\310U\203|\311\f\nH!c\210\202\201\f\nHc\210\nT\211\202e`\nW\203\236\f\nHc\210\nT\211\202\214\313\306!#\210`\312
!|\210+\314\216\315\316\306!\312!#)\207" [kkc-overlay-head kkc-current-conversions i kkc-length-converted kkc-current-key kkc-overlay-tail overlay-start 0 -1 japanese-katakana overlay-end move-overlay ((byte-code "\301!b\207" [kkc-overlay-tail overlay-end] 2)) run-hook-with-args kkc-after-update-conversion-functions all len kkc-length-head pos] 6])
(provide 'kkc)
