[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:11202] keyboard-translate on .*Emacs (was: 私はここで行き詰まっています)



>>>>> plamo の No. 11176
>>>>> Message-Id: <20010910.104626.1063969079.z1980163@zenrin.co.jp> で、
>>>>> "田原" == Shun-ichi TAHARA (田原 俊一) <jado@flowernet.gr.jp>さま曰く...

田原> delete-key-deletes-forward って変数があるのは、XEmacsだけなんでしたっ
田原> け? これを t にして、DEL と BS の挙動を変えるというパターンもあります
田原> ので、

;; delete-key-deletes-forward っていうのは GNU Emacs 20.7 には無
;; いようです。

XEmacs と GNU Emacs とはこの辺が微妙に違うようですね。

両方とも MS-Windows 上ですが,標準の fundamental mode では...

GNU Emacs 20.7 (Meadow) + window-system => non-nil の場合

Keytop  Code    Function
BS      [DEL]   delete-backward-char
DEL     C-d     delete-char

(read-key-sequence "") して, BS key を押してみると, "^?"
となります。

XEmacs 21.1 "20 Minutes to Nikko" XEmacs Lucid (patch 2)

Keytop  Code    Function
BS      [BS]    delete-backward-char
DEL     [DEL]   backward-or-forward-delete-char

(read-key-sequence "") して, BS key を押してみると, 
[#<keypress-event backspace>] となります。

> (keyboard-translate ?\C-h ?\C-?)

こうしてしまうと, XEmacs の場合, 
`backward-or-forward-delete-char' が呼ばれてしまって,
delete-key-deletes-forward の値によって C-h の動作が変わってしま
うのですね。

となると, XEmacs の場合は,

(keyboard-translate ?\C-h 'backspace)

とするのがよいように思います。

GNU Emacs で c-mode だと...

DEL runs the command c-electric-backspace
   which is an interactive compiled Lisp function in `cc-cmds'.
(c-electric-backspace ARG)

などとなっているので,こういうのも C-h に,ということになると,
一々書いているとたいへん(というか各モードでの C-? の内容を全部知
らなければならない)なので,いっそのこと下のレベルで入れ替えてし
まおうと。

-- 
鈴木圭一 / keiichi@nanap.org
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4  4089 7AAF 2B03 ECBD 614B

Follow-Ups
[plamo:11210] Re: keyboard-translate on .*Emacs, Shun-ichi TAHARA (田原 俊一)
References
[plamo:11109] Re: 私はここで行き詰まっています, Ken Takashima
[plamo:11111] Re: 私はここで行き詰まっています, Shun-ichi TAHARA (田原 俊一)
[plamo:11174] Re: 私はここで行き詰まっています, Keiichi Suzuki
[plamo:11176] Re: 私はここで行き詰まっています, Shun-ichi TAHARA (田原 俊一)

[検索ページ] [メール一覧]
Plamo ML 公開システム