On Fri, Aug 01, 2025 at 06:29:43PM -0500, Parzival Wolfram wrote:
> Are terminfo definitions still being added for/from ancient Unix flavors?
> I'm running Solaris 7 i86pc (i486-pc-solaris2.7) and the "AT386" terminfo
> file, defining the textmode shell on the physical machine, is not present as
> of ncurses-6.5 (along with several other files.) Would these be appropriate
> to add to ncurses, either directly from Solaris or remade based on the
> infocmp output? infocmp and toe do seem to parse them, both on the Solaris
> box and on a modern Linux machine.

hmm - I hadn't exactly overlooked that, so much as thinking it was out of
scope.  Here's what I think you're talking about, from a 1996 file from SCO:

--------------------------------------------------------------------------------
# Intel AT/386 for color card with monochrome display
#
AT386-M|at386-m|386AT-M|386at-m|at/386 console,
        am, bw, eo, xon, xt,
        cols#80, lines#25,
        acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H,
        cr=\r, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB,
        cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
        cup=\E[%i%p1%02d;%p2%02dH, cuu=\E[%p1%dA, cuu1=\E[A,
        dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[1M,
        ed=\E[J, el=\E[K, flash=^G, home=\E[H, ht=\t, 
        ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L,
        ind=\E[S, indn=\E[%P1%dS, invis=\E[9m, is2=\E[0;10;38m,
        kbs=\b, kcbt=^], kclr=\E[2J, kcub1=\E[D, kcud1=\E[B,
        kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kend=\E[Y,
        kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, 
        kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, 
        kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@, knp=\E[U, 
        kpp=\E[V, krmir=\E0, rev=\E[7m, rin=\E[S, 
        rmacs=\E[10m, rmso=\E[m, rmul=\E[m,
        
sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p9%t;12%;%?%p7%t;9%;m,
        sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m,
#
# AT&T 386 color console 
#
AT386|at386|386AT|386at|at/386 console,
        colors#8, ncv#3, pairs#64,
        is2=\E[0;10;39m,
        op=\E[0m, 
        setb=\E[%?%p1%{0}%=%t40m
                %e%p1%{1}%=%t44m
                %e%p1%{2}%=%t42m
                %e%p1%{3}%=%t46m
                %e%p1%{4}%=%t41m
                %e%p1%{5}%=%t45m
                %e%p1%{6}%=%t43m
                %e%p1%{7}%=%t47m%;,
        setf=\E[%?%p1%{0}%=%t30m
                %e%p1%{1}%=%t34m
                %e%p1%{2}%=%t32m
                %e%p1%{3}%=%t36m
                %e%p1%{4}%=%t31m
                %e%p1%{5}%=%t35m
                %e%p1%{6}%=%t33m
                %e%p1%{6}%=%t33m
                %e%p1%{7}%=%t37m%;,
        use=at386-m,
--------------------------------------------------------------------------------

Mostly I'm interested in things that can be validated.

https://invisible-island.net/ncurses/ncurses.faq.html#dbupdate

It's possible that you have found an overlooked terminal description
which is
        (a) supported by a (working) terminal emulator and
        (b) you can find a manual to cross-check the behavior

But I see some problems to investigate, e.g., indn/rin are using "%P1" for
one ("%p1" is expected), and omitting the parameter in the other.  A later
file from Solaris fixes the "%P1" typo, but still doesn't provide a plausible
value for rin.

I'd actually expect rin to be as in ecma+index, but might be persuaded
otherwise, given a detailed manual:

# ECMA-48 does not include the VT100 indexing and scroll-margins.  It has its
# own variation.
ecma+index|ECMA-48 scroll up/down,
        indn=\E[%p1%dS, rin=\E[%p1%dT,

...bitsavers doesn't appear to have any useful AT&T terminal manuals.
Testing the machine's an option (though getting tack to run on Solaris 7
might be challenging).

--------------------------------------------------------------------------------
tic6: sorting by terminfo name order
tic6: width = 60, tversion = 0, outform = 0
"/tmp/at386.ti", line 3, terminal 'AT386-M': indn uses 0 parameters, expected 1
"/tmp/at386.ti", line 3, terminal 'AT386-M': rin uses 0 parameters, expected 1
"/tmp/at386.ti", line 3, terminal 'AT386-M': checking sgr(none) "\e[10m\e[0m"
        compare to "\e[0;10m"
        unmatched "10m"
"/tmp/at386.ti", line 3, terminal 'AT386-M': exit_attribute_mode differs from 
sgr(0)
        exit_attribute_mode="\e[0;10m"
        sgr(0)="\e[10m\e[0m"
"/tmp/at386.ti", line 3, terminal 'AT386-M': exit_standout_mode matches 
exit_attribute_mode
"/tmp/at386.ti", line 3, terminal 'AT386-M': exit_underline_mode matches 
exit_attribute_mode
"/tmp/at386.ti", line 27, terminal 'AT386': indn uses 0 parameters, expected 1
"/tmp/at386.ti", line 27, terminal 'AT386': rin uses 0 parameters, expected 1
"/tmp/at386.ti", line 27, terminal 'AT386': checking sgr(none) "\e[10m\e[0m"
        compare to "\e[0;10m"
        unmatched "10m"
"/tmp/at386.ti", line 27, terminal 'AT386': exit_attribute_mode differs from 
sgr(0)
        exit_attribute_mode="\e[0;10m"
        sgr(0)="\e[10m\e[0m"
"/tmp/at386.ti", line 27, terminal 'AT386': exit_standout_mode matches 
exit_attribute_mode
"/tmp/at386.ti", line 27, terminal 'AT386': exit_underline_mode matches 
exit_attribute_mode

-- 
Thomas E. Dickey <[email protected]>
https://invisible-island.net

Attachment: signature.asc
Description: PGP signature

Reply via email to