Pet peeve time: Many newer terminals have features that didn't exist back
when Mark Horton first (or even the second or third time) wrote termcap.
When it was young, it seems to have experienced growth and change (witness
the obsolete functions that still exist). However, over what appears to be
the last 5 years or so the capability repertoire has been frozen.
Doug Gwynn has told me in the past that new entries to the "official"
termcap repertory are not being made in order to keep termcap compatible
with terminfo. With all due respect, there is another possibility allowed
by that argument: change terminfo too. The whole idea of termcap was to
provide a common interface to all the terminals available; it is easy to
see how termcaps could be constructed to cover these newer terminal
features, but it seems to never get done. Nuts, I don't care if anyone
uses the conventions that I established (for my own programs) to use line-
drawing character sets; I just wish that there were some common place
where they were accepted (rejected) and thereafter appeared in termcaps
where they are applicable. Then I wouldn't feel guilty about using Gs/Ge
in a program without adding 30 lines of comments to explain it all.
While I'm at it, wouldn't it be nice if termcap....
...looked for an entry in ~.termcap before running off to
...set BUFSIZ to 2048 rather than 1024?
...edited out redundancies from the termcap entries (to make them
smaller, barring the 2048 BUFSIZ mentioned above)?
...had a way of saying, essentially, that rs is the same string as
is (for example)? This could certainly be done by convention,
by saying in some authoritative way that rs defaults to is if
is is not given, but tset (for one) doesn't use that rule, and
therefore it isn't followed. I guess that I want a software way
in termcap to enforce defaults.
And now that I've finished knocking everything, I'll say that I'm posting
to mod.sources a program which I knocked together to provide termcap
capabilities to shell programs. It, for example, would clear the screen
given the command "tc cd", turn on an auxilliary printer given "tc po",
and place the cursor in the middle of the screen given "tc cm 11 39".
More on all of the above later.