[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 メーリングリストの案内