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

Zurück zum Archiv-Index

Hiroyuki Komatsu komat****@taiya*****
2004年 1月 15日 (木) 04:53:31 JST


小松です。

At Wed, 14 Jan 2004 19:34:50 +0900 (JST),
Hidetaka Iwai wrote:
> > これは、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を作成したの
> で、添付します。

どうもありがとうございます。
inactivate-current-input-method-function 変数の設定は、prime-mode から
実行される prime-mode-on でやってしまおうかと思います。

また、添付していただいたコードにはミニバッファまわりの記述がありましたが、
これは leim を使用するために必要なものでしょうか。ミニバッファへの
考慮はすでにしているはずなので、特に必要ないかなと考えています。
# よく分かってなくてすみません。

prime.el 内の prime-mode-on を以下のように書き換えました。
これだけで大丈夫なのではと思います。

prime.el:61
(defun prime-mode-on (&optional forcep)
  (if (or forcep (not prime-mode))
      (progn
;; ここ
	(setq inactivate-current-input-method-function 'prime-mode)
;;
	(or (markerp prime-marker) (setq prime-marker (make-marker)))
	(prime-server-open)
	(setq prime-mode t)
	(prime-toggle-mode-line)
	(prime-reset-before-input)
	(prime-fund-mode-on)
	(and prime-style-kutouten-autochange-p
	     (prime-style-kutouten-set-automatically))
	)))


> ; init-prime.el/emacsen-startupに初期化回りのコードを放りこむよりは
> ; prime-leim.elを別途作ってその中に入れたほうが幸せ度があがりそう?

話がずれますが、etc/init-prime.el を debian/emacsen-startup として
使用することは可能でしょうか? configure の --with-prime-el-initdir と
--with-prime-el-initfile でインストール先とファイル名の制御は可能です。

これではお行儀が悪いようでしたら、現状通りということで。

--
                                                            小松弘幸
                                                -----------------------
                                                   http://taiyaki.org/


> 
> --
>  Hidetaka Iwai
>  tyuyu****@sings*****
> [2 prime-leim.diff <text/plain; iso-2022-jp (7bit)>]
> 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.
> [3  <text/plain; iso-2022-jp (7bit)>]
> _______________________________________________
> Prime-dev mailing list
> Prime****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/prime-dev




Prime-dev メーリングリストの案内
Zurück zum Archiv-Index