[prime-dev: 89] Re: prime-el and leim

Back to archive index

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.


Prime-dev メーリングリストの案内
Back to archive index