[mew-dist 25533] Re: mew draft header key binding

horton-p at example.com horton-p at example.com
2004年 10月 21日 (木) 21:21:12 JST


horton-p> 素人の質問で恐縮ですが、投げてみます...
horton-p> 
horton-p> 背景:僕が使っている日本語入力システムはuse-local-mapで
horton-p> 日本語かな入力用のkey bindingへの切替を行なっています。
horton-p> 
horton-p> mewの"+draft" bufferでは bodyの方では大丈夫ですが、Subject:行
horton-p> などheaderの部分ではuse-local-mapを実行してもkey bindingは
horton-p> 変わらないようです。少なくとも"a"とか"b"のような、普通
horton-p> "self-insert-command"にバインドされているようなキーは変わりません。
horton-p> 
horton-p> そこで質問ですが、Subject:行でkey bindingを変える方法はあるのでしょう
horton-p> か?use-global-mapで変えられることは確認しましたが、それをするのはちょっ
horton-p> と乱暴かと思います。

自己フォロです。

別な乱暴なやり方で、この問題を「解決」しました。

mew-syntax.elで

(defsubst mew-draft-header-keymap ()
  (save-excursion
    (if (overlayp (mew-tinfo-get-header-keymap))
	(move-overlay
	 (mew-tinfo-get-header-keymap) (point-min) (1+ (mew-header-end)))
      (mew-tinfo-set-header-keymap
       (mew-overlay-make (point-min) (1+ (mew-header-end))))
      (overlay-put
       (mew-tinfo-get-header-keymap) mew-local-map 
--	mew-draft-header-map)))) ;; original
++     (if (bound-and-true-p mew-leave-header-keymap-alone) ;; "patch"
++	   (current-local-map)                              ;; "patch"
++	 mew-draft-header-map)))))                          ;; "patch"


これですと、mew-leave-header-keymap-aloneを
バインドすると"mew-draft-header-map"の便利なキーは勿論使えません。

自分の使い方では以上の乱暴なパッチでいいですが、より良い方法があれば
教えていただけると助かります。




Mew-dist メーリングリストの案内