Rick Campbell wrote:
From: Glynn Clements <glynn(a)sensei.co.uk>
Date: Thu, 7 Jan 1999 15:23:16 +0000 (GMT)
`Old timers' tend to have a quasi-religious belief that \010 is
Backspace and \177 is Delete. Newcomers generally just want stuff
to work right.
Yeah, old timers hate it when things work right :-)
Seriously though, I have it working right. A new cleaner
implementation of all of this sounds like a great idea . . . unless
you're talking about changing the default behavior, i. e. breaking
stuff for folks that already have things working right.
`Breaking stuff for folks that already have things working right'
isn't the worst thing that can be done. It certainly shouldn't be done
gratuitously, but I don't believe that this is the case here.
The problem, as I see it, was that the key which generates 'backspace
under X would generate 'delete if you run XEmacs from a terminal where
the same key generates \177.
Personally I don't care whether people think that having the Backspace
key generate \177 is heresy; it is a very common situation and should
be dealt with, ideally out of the box.
There's no sure way of knowing which code is generated by the
Backspace key, so we have to guess. And AFAICT, using the tty's erase
character seems to be a better guess than either \010 or \177. If the
Backspace key doesn't generate the tty's erase character, then it
isn't only XEmacs which won't work right.
For me personally, I don't need anything other than Control-D to
delete forward and even with all the fuckage that RMS introduced with
making C-h the help character, the problem was never one of having the
key on the top right accidentally deleting *forwards*.
It was for me, but ...
Not in emacs.
Not unless you were already customizing to try to make something other
than Control-d delete forward.
Which I was. And I suspect that a great many other people also want to
use something other than C-d to delete forwards.
With the old version of character_to_event(), if your Backspace key
generated \177, then you were stuffed. Backspace generated 'delete,
and Delete generated 'delete. This doesn't exactly assist
customisation of two keys which are not only very significant, but
also the subject of extremely strong user preferences.
By changing the default, you're introducing a completely new
problem
for your existing user base.
Note that there are two distinct issues here: one is the mapping
between {\177,\010,\e[3~} and {'delete,'backspace,(control ?h)}, and
the other is the setting of delete-key-deletes-forward.
Personally, I'm not concerned about the default setting of
delete-key-deletes-forward; RedHat and the like can provide a
customised site-start.el or ~/.emacs if their users don't like our
choice.
What I am concerned with is that the core provides a sane platform
upon which the rest of XEmacs can be built. This means that next-event
returns 'backspace when the user presses the Backspace key and 'delete
when the user presses the Delete key, regardless of whether XEmacs is
running on X, MS-Windows, the Linux console, an xterm or anything
else.
--
Glynn Clements <glynn(a)sensei.co.uk>