Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Apr 1995 13:20:07 -0700
From:      uhclem%nemesis@fw.ast.com
To:        freebsd-bugs
Subject:   bin/313: BACKSPACE key not producing 0x08 breaks many things FDIV007
Message-ID:  <199504092020.NAA01273@freefall.cdrom.com>
In-Reply-To: Your message of Sun, 9 Apr 95 12:41 CDT <m0ry0zd-0004vtC@nemesis.lonestar.org>

next in thread | previous in thread | raw e-mail | index | archive | help

>Number:         313
>Category:       bin
>Synopsis:       BACKSPACE key not producing 0x08 breaks many things FDIV007
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs (FreeBSD bugs mailing list)
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Apr  9 13:20:05 1995
>Originator:     Frank Durda IV
>Organization:
>Release:        FreeBSD 2.0.0-SNAP950322 i386
>Environment:

Appeared in SNAP-032295

>Description:

[FDIV007]

The character generated by the BACKSPACE key was changed in this SNAP
despite a lengthy discussion that I thought said it would not be changed.
Anyway.

During installation, neither BACKSPACE nor DELETE produces an ERASE operation.

As soon as you touch a shell for the first time, the BACKSPACE is now
0x7f, not 0x08.

This makes connecting to other systems via telnet or cu a major hassle
since most other systems accept BACKSPACE as 0x08.  And if you pop into
the command layer of either, now the BACKSPACE key is backwards from what
was working on the session.

Locally, even if you   stty erase ^?, vi still only accepts the BACKSPACE
key as a ERASE operation in Insert mode.  The BACKSPACE key no longer
can be used for cursor motions, something that has worked for over a decade.

CTRL-BACKSPACE produces 0x08 which is accepted a cursor motion, but this is
a poor substitute, BUT CTRL-BACKSPACE isn't accepted in INSERT mode.

Other applications (like prompts in tin/trn) have the same dual-personality
problem that they did not have before.

I also can't get BACKSPACE to be accepted anywhere in X no matter what
I set stty to.

Oh and boot single user.  Even the stty "what you have set" message
has trouble dealing with BACKSPACE <> 0x08.  Instead of ^H, or ^?
you get a little stick-house symbol.


>How-To-Repeat:

For VI
Login
stty erase ^H
vi /.profile
Ainsert test<BACKSPACE><BACKSPACE>
note backspacing works
<ESCAPE><BACKSPACE><BACKSPACE> 
now backspacing doesn't work.  You now have to use CTRL-BACKSPACE to do
cursor motions.

For TELNET/CU, make connection, connect to SCO XENIX, SCO UNIX,
FreeBSD 1.1.5.1, SUNos, and probably others.  Try to get backspace
recognized by changing stty settings.  Now ~ in cu a command
or ^] and prompt in telnet.

For X try typing text and backspaces into anything.

For tin, try to subscribe to something and try to correct typing
errors.

Single user shell is easy -    kernel -s.  Select "sh".


>Fix:
	
Make the BACKSPACE key produce the 0x08 character like it was before.


This change just breaks too many applications and threatens our
ability to run binaries from other platforms.  On PCs, the BACKSPACE
key is supposed to be 0x08 and some programs have that notion hard-wired in.

OK, it's bad programming practice, but making SCO and other executables
malfunction on this user-obvious point when we are trying to get them
to work is not a good way to win converts.  If we are serious about
allowing other i386 executables run on FreeBSD, we should try not to
deviate from the established norms for that platform.


*END*

>Audit-Trail:
>Unformatted:





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199504092020.NAA01273>