[Mew-dist 07440] Re: [Mew-1.93] text-mode-map in mew-draft-mode

Shun-ichi GOTO gotoh at example.com
1999年 2月 15日 (月) 13:24:43 JST


後藤@太陽計測です

>>>>> at Sun, 14 Feb 1999 14:22:04 +0900, kazz <kazu at example.com> said,

kazz> text-mode-map をベースにするのには同意しますが、nconc と copy-keymap 
kazz> のどちらが適切でしょうか? 意見のあるひとはいませんか?

draft-modeをtext-modeベースにするのは賛成です。
#実際、わたしもそうやってつかってます。

nconcであるべきかcopy-keymapであるべきかについては、ちょっと判断しかね
ますが、nconcするのは意味としては set-keymap-parent するということです
よね。どちらを使うかは、ベース(text-mode)の設定変更に追従するかといっ
た、継承の考え方を適用するか否かということでしょうから、なんとなく
nconcの方が適しているような気がしています。
それにこうしておくと、parentを変更するのも容易ですし。

ところで set-keymap-parentってemacs19.28にはないみたいですね。
emacs19.28のlisp-interction-modeなどではnconcをつかってるようです。


ちなみに元のメールの

>>>>> at Thu, 11 Feb 1999 08:58:07 +0900
>>>>> yamamoto <yamamoto at example.com> said,メールの
yamamoto> # ちなみに、.emacs に
yamamoto> #     (setq mew-draft-body-map (nconc (make-sparse-keymap) text-mode-map))
yamamoto> # の 1 行を書いただけでは、すでに mew-draft-body-map が用意されていると
yamamoto> # 判断され、draft-mode 本来の割り当てが行われませんので、続けて
yamamoto> #     (define-key mew-draft-body-map "\C-c\t"   'mew-draft-insert-signature)
yamamoto> #             <snip about 17 lines>
yamamoto> #     (define-key mew-draft-body-map "\C-x\C-s" 'mew-save-buffer)
yamamoto> # とずらずら書く必要があるようです。

という件はmew-draft.elでの (if mew-draft-body-map () ... )の部分が
効いてしまっているので、
(eval-after-load "mew-draft" 
		 '(set-keymap-parent mew-draft-body-map
				     text-mode-map))

あるいは
(eval-after-load "mew-draft" 
		 '(setq mew-draft-body-map
			(nconc mew-draft-body-map
			       text-mode-map)))

などとすれば望みどおりになることと思います。


わたしは mew-use-overlay-keymap が t の設定で上記設定を使い、
text-modeのキーを使っています。
mew-use-overlay-keymap が nilの場合でもちょっとだけ試してみましたが
うまくいってるようです。

P.S.
mew-use-overlay-keymap が nilのテストの際に思ったのですが
mew-draft.el の line 240の
    (define-key mew-draft-body-map "\t"       'tab-to-tab-stop)
は不要ではないでしょうか?
意図的に定義する理由があったんでしたっけ?

#key-switch等の為に、とか。

Emacs20のtext-modeの場合は indent-relativeになって欲しいので
これがじゃまっけになりです。:-(

--- Regards,
 Shun-ichi Goto  <gotoh at example.com>
   R&D Group, TAIYO Corp., Tokyo, JAPAN




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