[BusyBox] [PATCH] New comm applet
Rob Landley
rob at landley.net
Sun Apr 3 01:06:17 UTC 2005
On Saturday 02 April 2005 07:50 pm, Rainer Weikusat wrote:
> Rob Landley <rob at landley.net> writes:
>
> [...]
>
> > And yes, less is cool. I'd personally prefer one that didn't mess
> > with $TERM or curses and just belted out ANSI sequences (a >20 year
> > old standard everything out there understands)...
>
> This assumption is wrong. The last time I was forced to use a genuine
> text terminal that did not support ANSI escape sequences was about two
> years ago. Emacs supplies a 'dumb' terminal in shell mode. Different
> terminal emulators have different bugs in there control code.
For our purposes, the assumption is correct.
The busybox commands top, vi, ls, reset, clear, and the cmdedit portion of the
shell have all output ANSI sequences for a while now, and nobody's complained
except you just now. Grep for it.
The linux _kernel_ supported Ansi escape sequences before the 1.0 release 10
years ago. The fact that Emacs has explicitly chosen not to support them is
Emacs' problem. Nothing in busybox currently uses curses, and adding it
would be bad. We will never support every broken terminal type out there,
but xterm, kterm, gnome's terminal thing... All of 'em support ANSI.
Busybox has never tried for 100% coverage of every weird GNU idiosyncrasy. I
consider Emacs' failure to support a 20 year old standard a GNU idiosyncrasy.
(I know that thing pretends to be an operating system. It's not.)
I also think that adding a requirement for curses or terminfo or some such to
build busybox would be a horrible idea from a complexity standpoint as well
as size. ANSI escape sequences are small. The days of supporting teletypes
and VDT's from 30 different manufacturers are over and done.
There is no NEED for terminfo anymore, it's just outputting different
emulations that are then intrerpreted by software. Software consumes what
software is generating, why on earth does it need 8 gazillion different
intermediate formats? The simplest common denominator is ANSI escape
sequences, which are basically an extension of VT100 mode.
If Unix can't handle an ANSI standard that's based on the historical behavior
of DEC hardware, and if a Unix variant designed for PC hardware can't handle
something that Byte magazine ran an article about called "Toward Standardized
Video Terminals" in April 1984, then something is wrong.
http://www.inwap.com/pdp10/ansicode.txt
Rob
P.S. Have you ever hit the cursor control keys when the terminal wasn't
listening and had it print [A and such? Wanna guess why it's doing that?
More information about the busybox
mailing list