[Mew-dist 04861] Re: b33
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
1998年 5月 26日 (火) 21:07:10 JST
From: Mito <mit at example.com>
Subject: [Mew-dist 04828] Re: b33
Date: Mon, 25 May 1998 15:24:55 +0900
> --- mew-minibuf.el 1998/05/25 05:16:12 1.1
> +++ mew-minibuf.el 1998/05/25 06:20:31
> @@ -22,7 +22,9 @@
> (setq mew-input-map (make-sparse-keymap))
> (define-key mew-input-map " " 'mew-input-complete)
> (define-key mew-input-map "\t" 'mew-input-complete)
> -;; (define-key mew-input-map "\177" 'mew-complete-backscroll) ;; xxx
> + (define-key mew-input-map
> + (char-to-string (aref keyboard-translate-table ?\177))
> + 'mew-complete-backscroll)
> (define-key mew-input-map "\r" 'exit-minibuffer)
> (define-key mew-input-map "\n" 'exit-minibuffer)
> (define-key mew-input-map "\C-g" 'abort-recursive-edit)
これではダメなようです。
(1) term/bobcat.el を読み込んでいないと keyboard-translate-table が
nil なので aref が文句をいう。(byte-comiple でも怒られる。)
(2) XEmacs では keyboard-translate-table がハッシュである。ケース分け
しても結局は (1) と同じ。
(3) よーく仕様を考えてみると
C-h は補完ウインドウのバックスクロールにしたい
DEL delete にしたい
そして、bobcat を読み込んでいる人は、これをひっくり返したいです。
そこで、
(define-key mew-input-map "\177" 'backward-delete-char)
(define-key mew-input-map "\C-h" 'mew-complete-backscroll)
としてみると、
(3.1) bobcat を読み込んでいないと OK。
(3.2) 読み込んでいるとどちらも delete のような動きをする。
どうも minibuffer の key lookup は他のモードとは違うようなので、諦めま
した。
<<宿題>>
bobcat.el を読み込んでいないとき、minibuffer では
C-h help
DEL delete
である。では、bobcat を読み込むと
C-h delete
DEL delete
となり、ひっくり返せないのはなぜか?
どうも、DEL への key binding はハードコーディングのような気がします。
--かず
Mew-dist メーリングリストの案内