Terminfo()--Ideas needed. System V
Mark Horton
mark at cbosgd.UUCP
Sun May 18 15:54:13 AEST 1986
In article <2774 at pegasus.UUCP> hansen at pegasus.UUCP (Tony L. Hansen) writes:
>... More to the point, when will Berkeley support terminfo? ...
The real question here is, when will AT&T let Berkeley use terminfo
and the rest of System V. There are apparently some amazing legal
discussions going on. Berkeley has been interested in terminfo since
1982, but they just haven't been able to include it without either
requiring a System V license or getting sued. There turned out to be
a lot of problems with requiring their users to get a System V license.
In article <1553 at ecsvax.UUCP> bet at ecsvax.UUCP (Bennett E. Todd III) writes:
>While I won't dispute the claim that terminfo is more expressive, I
>still find it to be a HUGE step backwards in design:
Everyone is entitled to their opinion, of course, but I think Mr. Todd is
primarily annoyed because he has managed to get a binary-only system. I
can understand his frustration at trying to use a UNIX without sources,
and not just with terminfo. If he had source, he could look in
/usr/src/lib/libcurses/terminfo for the sources.
As to the problems with the 5620 description, it turns out that the
version of curses/terminfo in System V Release 2 was frozen in April
1983, and I think the 5620 was just coming out at the time. There
may be differences between the version of 5620 ROMs you have and the
terminfo that happened to come with your system. It's easy enough
to fix, with or without source, in release 3 using infocmp (an amazing
program, which slices, dices, diffs binaries, uncompiles, and translates
between termcap and terminfo.)
To set the record straight, the public domain terminfo curses that
Pavel Curtis wrote was written entirely by him. I was not involved
in it at Berkeley or at Bell Labs. I did, however, write the System
V release 2 version. (The release 3 version had input from me, but
several others did most of the work, making major enhancements.)
By the way, the person who rewrote libtermcap to have one for the
public domain wasted their effort - the original implementation, from
Berkeley, has always been public domain.
The complaint that tic doesn't find syntax errors in terminfo descriptions
is amusing, especially when it appears to be used as the basis for an
argument that termcap is better than terminfo. Either syntax would
permit an error checking implementation, although I don't know if you'd
want the syntax checked every time vi started up :-) The SVr2 tic
was just a modified version of the termcap file reading code, which
also doesn't notice syntax errors. The SVr3 tic is completely redone
(it's based on Pavel Curtis's tic) and is fairly fussy about syntax
errors. It's also more complete, uses the existing binary database,
and is much faster.
I think when comparing termcap to terminfo, the real differences are:
(1) terminfo has more capabilities, although most of these can be ported
back to termcap without too much trouble.
(2) terminfo can do some things termcap can't, e.g. tparm is fundamentally
more powerful than tgoto.
(3) terminfo does more at compile time, so it's better for a production
environment.
(4) termcap is more like an interpreter, so it's a bit more convenient for
a development environment.
(5) it's easier to dynamically construct a termcap description and put it
in the environment than a terminfo. This happens to matter for one
telnet-like program at MIT that emulates the subset of a standard
terminal whose functiona match the hardware you have. It would also
matter for a window manager (where the window size can vary) if it
weren't for features designed to let you override the lines/columns
capabilities.
Mark Horton
More information about the Comp.unix
mailing list