Re: Freebsd 14+ -- tcsh incompatible with terminfo

From: Steffen Nurpmeso <steffen_at_sdaoden.eu>
Date: Sat, 04 Nov 2023 01:28:52 UTC
Hello Thomas Dickey.

Thomas Dickey wrote in
 <ZURIBng8NTG4bfHR@prl-debianold-64.jexium-island.net>:
 |On Thu, Nov 02, 2023 at 06:58:55PM +0100, Steffen Nurpmeso wrote:
 |> I do understand that a bit.  Other than that plain termcap was so
 |> small and i would assume essentially unchanged for decades, that
 |> i do not.  Termcap entries, yes.  I could imagine vt220, xterm,
 |> screen-256color, and take one of st-256color, whatever KDE and
 |> GNOME terminal, and rxvt-unicode.  Makes seven.  Likely
 |> automatically extractable via "infocmp -C" of Dickey's terminfo.
 |> 
 |> Let's just try that:
 |> 
 |>   $ rm .TCAP;\
 |>     for f in vt220 xterm screen-256color st-256color \
 |>         rxvt-256color gnome-256color konsole-256color; do \
 |>       infocmp -C $f >> .TCAP;\
 |>     done;\
 |>     ls -l .TCAP
 |>   -rw-r----- 1 steffen steffen 7145 Nov  2 18:40 .TCAP
 |
 |There's more data in termcap than that (which some people would like \
 |to use).

You know the entire thread is moot as i think bapt@ has thrown
away the BSD termcap years ago, if i recall correctly (i think
i spoke up by then).
I only answered because of the "great it is gone" thing.

 |And there's additional data for terminfo -- again, some want it.
 |
 |man infocmp:
 |
 |       For best results when converting to termcap format, you should \
 |       use both
 |       -C  and  -r.   Normally a termcap description is limited to \
 |       1023 bytes.

And i do not know whether BSD termcap can work with larger ones.

 |       infocmp trims away less essential parts to make it  fit.   If \
 |        you  are
 |       converting to one of the (rare) termcap implementations which \
 |       accept an
 |       unlimited size of termcap, you may want to add the -T option. \

Yes.  I heard about the limit.

 |        More of‐
 |       ten  however, you must help the termcap implementation, and \
 |       trim excess
 |       whitespace (use the -0 option for that).
 |
 |(-T is appropriate here - ymmv)
 |
 |With -C alone, I get
 |-rw------- 1 tom users 7315 Nov  2 21:02 .TCAP
 |
 |With -CrT,
 |-rw------- 1 tom users 14390 Nov  2 21:02 .TCAP
 |
 |For terminfo, no options
 |-rw------- 1 tom users 16027 Nov  2 21:03 .TCAP
 |
 |For terminfo with -x
 |-rw------- 1 tom users 19533 Nov  2 21:03 .TCAP

One would have to add that OpenGL-accelerated terminal (allacritty
or so) at least, too.

I am not speaking against your ncurses and the work and effort you
put there, you know, i spent about 30% of my live in front of
a st/tmux combination, and i would think tmux uses more and more
of the optimizations, and improvements of yours.  For example
i saw fly by an OpenBSD commit where tmux started using tparm_s or
what its name was.  They imported some ncurses snapshot only for
it (in the end), if i got that right.  The function is not on my
box -- and i do not "track" ncurses no more because i will likely
never reach a point where i need it as such.

I was speaking pro BSD termcap.  I do not know whether even the
omnipresent readline library would need anything more than the
absolute basics.  I know my mailer can, .. it can even without
termcap, .. at least a little bit, and very expensive.  (I have
not tried that out for years so.)

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)