GNU Info

Info Node: (emacs)DEL Does Not Delete

(emacs)DEL Does Not Delete


Next: Stuck Recursive Up: Lossage
Enter node , (file) or (file)node

If <DEL> Fails to Delete
------------------------

   Every keyboard has a large key, a little ways above the <RET> or
<ENTER> key, which you normally use outside Emacs to erase the last
character that you typed.  We call this key "the usual erasure key".
In Emacs, it is supposed to be equivalent to <DEL>, and when Emacs is
properly configured for your terminal, it translates that key into the
character <DEL>.

   When Emacs starts up using a window system, it determines
automatically which key should be <DEL>.  In some unusual cases Emacs
gets the wrong information from the system.  If the usual erasure key
deletes forwards instead of backwards, that is probably what
happened--Emacs ought to be treating the <DELETE> key as <DEL>, but it
isn't.

   With a window system, if the usual erasure key is labeled
<BACKSPACE> and there is a <DELETE> key elsewhere, but the <DELETE> key
deletes backward instead of forward, that too suggests Emacs got the
wrong information--but in the opposite sense.  It ought to be treating
the <BACKSPACE> key as <DEL>, and treating <DELETE> differently, but it
isn't.

   On a text-only terminal, if you find the usual erasure key prompts
for a Help command, like `Control-h', instead of deleting a character,
it means that key is actually sending the <BS> character.  Emacs ought
to be treating <BS> as <DEL>, but it isn't.

   In all of those cases, the immediate remedy is the same: use the
command `M-x normal-erase-is-backspace-mode'.  This toggles between the
two modes that Emacs supports for handling <DEL>, so if Emacs starts in
the wrong mode, it should switch to the right mode.  On a text-only
terminal, if you want to ask for help when <BS> is treated as <DEL>,
use <F1>; `C-?' may also work, if it sends character code 127.

   To fix the problem automatically for every Emacs session, you can
put one of the following lines into your `.emacs' file (Note: Init
File).  For the first case above, where <DELETE> deletes forwards
instead of backwards, use this line to make <DELETE> act as <DEL>
(resulting in behavior compatible with Emacs 20 and previous versions):

     (normal-erase-is-backspace-mode 0)

For the other two cases, where <BACKSPACE> ought to act as <DEL>, use
this line:

     (normal-erase-is-backspace-mode 1)

   Another way to fix the problem for every Emacs session is to
customize the variable `normal-erase-is-backspace': the value `t'
specifies the mode where <BS> or <BACKSPACE> is <DEL>, and `nil'
specifies the other mode.  Note: Easy Customization.

   With a window system, it can also happen that the usual erasure key
is labeled <BACKSPACE>, there is a <DELETE> key elsewhere, and both
keys delete forward.  This probably means that someone has redefined
your <BACKSPACE> key as a <DELETE> key.  With X, this is typically done
with a command to the `xmodmap' program when you start the server or
log in.  The most likely motive for this customization was to support
old versions of Emacs, so we recommend you simply remove it now.


automatically generated by info2www version 1.2.2.9