changeset 36791:308577404dc3

DEL Gets Help: Complete rewrite to deal with automatic discrimination on window terminals.
author Richard M. Stallman <rms@gnu.org>
date Wed, 14 Mar 2001 01:30:20 +0000
parents d91ec7a1c11e
children f4f0878e1455
files man/trouble.texi
diffstat 1 files changed, 52 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/man/trouble.texi	Wed Mar 14 01:25:42 2001 +0000
+++ b/man/trouble.texi	Wed Mar 14 01:30:20 2001 +0000
@@ -137,11 +137,59 @@
 
 @node DEL Gets Help
 @subsection If @key{DEL} Fails to Delete
+@cindex @key{DEL} vs @key{BACKSPACE}
+@cindex @key{BACKSPACE} vs @key{DEL}
 
-  If you find that @key{DEL} enters Help like @kbd{Control-h} instead of
-deleting a character, your terminal is sending the wrong code for
-@key{DEL}.  You can work around this problem by changing the keyboard
-translation table (@pxref{Keyboard Translations}).
+  Every keyboard has a large key, a little ways above the @key{RET}
+or @key{ENTER} key, which you normally use outside Emacs to erase
+the last character that you typed.  We call this key @key{DEL}.
+
+  When Emacs starts up using a window system, it determines
+automatically which key should be @key{DEL}.  In some unusual cases
+Emacs gets the wrong information from the system.  If the @key{DEL}
+key deletes forwards instead of backwards, that is probably what
+happened---Emacs ought to be treating the @key{DELETE} key as
+@key{DEL}, but it isn't.
+
+  With a window system, if the @key{DEL} key says @key{BACKSPACE} and
+there is a @key{DELETE} key elsewhere, but the @key{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 @key{BACKSPACE} key as @key{DEL}, but it isn't.
+
+  On a text-only terminal, if you find the @key{DEL} key prompts for a
+Help command like @kbd{Control-h}, instead of deleting a character, it
+means that key is actually sending the @key{BS} character.  Emacs
+ought to be treating @key{BS} as @key{DEL}, but it isn't.
+
+  In all of those cases, the immediate remedy is the same: use the
+command @kbd{M-x normal-erase-is-backspace-mode}.  That should make
+the proper @key{DEL} key work.  On a text-only terminal, if you do
+want to ask for help, use @key{F1} or @kbd{C-?}.
+
+@findex normal-erase-is-backspace-mode
+  To fix the problem automatically for every Emacs session, you can
+put one of the following lines into your @file{.emacs} file
+(@pxref{Init File}).  For the first case above, where @key{DEL}
+deletes forwards instead of backwards, use this line:
+
+@lisp
+(normal-erase-is-backspace-mode 0)
+@end lisp
+
+@noindent
+For the other two cases, use this line:
+
+@lisp
+(normal-erase-is-backspace-mode 1)
+@end lisp
+
+@vindex normal-erase-is-backspace
+  Another way to fix the problem for every Emacs session is to
+customize the variable @code{normal-erase-is-backspace}: the value
+@code{t} specifies the mode where @key{BS} or @key{BACKSPACE} is
+@key{DEL}, and @code{nil} specifies the other mode.  @xref{Easy
+Customization}.
 
 @node Stuck Recursive
 @subsection Recursive Editing Levels