[Mew-dist 07401] [Mew-1.93] text-mode-map in mew-draft-mode

Kennichi Yamamoto yamamoto at example.com
1999年 2月 11日 (木) 08:58:07 JST


やまもと@コナミと申します。

Mew の Draft mode にて、text-mode 用に .emacs に記述したキー割り当てが
効きません。

in my .emacs
    (setq text-mode-hook
      '(lambda ()
         (define-key text-mode-map "\C-i" 'indent-relative)))

text-mode-hook は 関数 mew-draft-mode 内で run-hooks によって呼ばれて
いるのですが、mew-draft.el 内での mew-draft-body-map の生成が

    (setq mew-draft-body-map (nconc (make-sparse-keymap) text-mode-map))
ではなく
    (setq mew-draft-body-map (make-sparse-keymap))

となっているため、とわかりました。
cf. mail-mode-map in sendmail.el では前者の形をとっています。


解決方法として、
    (define-key text-mode-map "\C-i" 'indent-relative)
としている所を
    (local-set-key "\C-i" 'indent-relative)
にすれば、希望の動作をしますが、少し納得が行きません。

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

私としては、mew-draft.el にて
    (setq mew-draft-body-map (nconc (make-sparse-keymap) text-mode-map))
の形で生成を行って頂きたいのですが、みなさんはいかがお考えでしょうか。


Mew Version 1.93
Emacs Version 19.34.1
です。

================            KONAMI Co.,Ltd.           ================
     「そこからがおもしろいんだよ」     山本 賢一 yamamoto at example.com
================      Ken'ichi Yamamoto driving CEFIRO      ================



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