Hidetaka Iwai
tyuyu****@sings*****
2004年 1月 14日 (水) 19:34:50 JST
いわいです。 Hiroyuki Komatsu <komat****@taiya*****> wrote: Message-ID: <87vfn****@gyoku*****> > これは、init-prime.el 内の > > (global-set-key @PRIMEEL_KEYBINDING@ 'prime-mode) > > を > > (register-input-method "japanese-prime" "Japanese" > 'prime-mode "[PRIME]" > "PRIME: Japanese PRedictive IME") > > に変えればよい、ということですかね。Debian 以外の環境でもこちらの方が > よいようならば、こちらを標準にします。 手元で実験してみたのですが、どこかで inactivate-current-input-method-function を設定しないと駄目な気がしま す。とりあえず、ddskkのskk-leim.elからコードをぱちってdiffを作成したの で、添付します。 ; init-prime.el/emacsen-startupに初期化回りのコードを放りこむよりは ; prime-leim.elを別途作ってその中に入れたほうが幸せ度があがりそう? -- Hidetaka Iwai tyuyu****@sings***** -------------- next part -------------- diff -urN prime-el-1.2.1.orig/debian/emacsen-startup.in prime-el-1.2.1/debian/emacsen-startup.in --- prime-el-1.2.1.orig/debian/emacsen-startup.in 2004-01-14 19:21:40.000000000 +0900 +++ prime-el-1.2.1/debian/emacsen-startup.in 2004-01-14 19:24:34.000000000 +0900 @@ -21,9 +21,27 @@ (autoload 'prime-mode "prime" "Toggle PRIME mode. PRIME is a Japanese Predictive Input Method Editor." t) -(global-set-key "\C-\\" 'prime-mode) + +(defun prime-activate (&optional name) + (setq inactivate-current-input-method-function 'prime-inactivate) + (prime-mode) + (when (eq (selected-window) (minibuffer-window)) + (add-hook 'minibuffer-exit-hook + 'prime-leim-exit-from-minibuffer))) + +(defun prime-inactivate () + (prime-mode)) + +(defun prime-leim-exit-from-minibuffer () + (inactivate-input-method) + (when (<= (minibuffer-depth) 1) + (remove-hook 'minibuffer-exit-hook 'prime-leim-exit-from-minibuffer))) + +(register-input-method "japanese-prime" "Japanese" + 'prime-activate "" + "PRIME: Japanese PRedictive IME") ;;;; Text properties for Emacs. ; Local variables: ; mode: emacs-lisp -; End: \ ファイル末尾に改行がありません +; End: diff -urN prime-el-1.2.1.orig/etc/init-prime.el prime-el-1.2.1/etc/init-prime.el --- prime-el-1.2.1.orig/etc/init-prime.el 2004-01-14 19:21:40.000000000 +0900 +++ prime-el-1.2.1/etc/init-prime.el 2004-01-14 19:24:14.000000000 +0900 @@ -20,7 +20,25 @@ (autoload 'prime-mode "prime" "Toggle PRIME mode. PRIME is a Japanese Predictive Input Method Editor." t) -(global-set-key "\C-\\" 'prime-mode) + +(defun prime-activate (&optional name) + (setq inactivate-current-input-method-function 'prime-inactivate) + (prime-mode) + (when (eq (selected-window) (minibuffer-window)) + (add-hook 'minibuffer-exit-hook + 'prime-leim-exit-from-minibuffer))) + +(defun prime-inactivate () + (prime-mode)) + +(defun prime-leim-exit-from-minibuffer () + (inactivate-input-method) + (when (<= (minibuffer-depth) 1) + (remove-hook 'minibuffer-exit-hook 'prime-leim-exit-from-minibuffer))) + +(register-input-method "japanese-prime" "Japanese" + 'prime-activate "" + "PRIME: Japanese PRedictive IME") (provide 'init-prime) ;;;; Text properties for Emacs.