On Mon, Feb 02, 2026 at 07:53:13PM +0200, Aaro Koskinen wrote:
> Hello,
> 
> I noticed ncurses is sending \E[> in the initialization string (e.g. when
> doing "TERM=vt220 reset"), and terminfo has this:
> 
>       is2=\E[?7h\E[>\E[?1l\E F\E[?4l
> 
> Shouldn't that be \E> instead (keypad mode)?

probably.  xterm lists \E> here:

ESC >     Normal Keypad (DECKPNM), VT100.

and "\E[>" would be "CSI >", which doesn't make sense (because ">" denotes
a private mode, and is not a valid final character for CSI).

"infocmp -i" could be improved, but does show the unmatched "\E[>":

is2: {DEC+AWM}[?7h\E[>{DEC-CKM}[?1l{S7C1T}{DEC-SCLM}[?4l
rs1: {DEC-COLM}[?3l

(I think that adding a marker for unmatched stuff would help).

Looking at the revision history, I see that in the oldest version
that I had for ESR from 1995:

vt220-8|dec vt220 8 bit terminal, 

perhaps referred to here:

# 9.4.2 (Thu Mar  9 01:45:44 EST 1995):
#       * Merged in DEC's official entries for its terminals.  The only old
#         entry I kept was Doug Gwyn's alternate vt100 (as vt100-avo).

...however, I have a copy of the SCO file (and it has that entry, with that
particular defect):

vt220-8|dec vt220 8 bit terminal,
        am, mc5i, mir, msgr, xenl, xon,
        cols#80, it#8, lines#24,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J,
        cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
        cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
        dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
        ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
        enacs=\E)0, flash=\E[?5h$<200>\E[?5l, home=\E[H,
        ht=\t, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
        ind=\ED, is2=\E[?7h\E[>\E[?1h\E\sF\E[?4l, kbs=\b,
                           ^^^^
        kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
        kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
        kf13=\E[25~, kf14=\E[26~, kf17=\E[31~, kf18=\E[32~,
        kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR,
        kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
        kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~,
        knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~,
        lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[i,
        mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m,
        ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l,
        rmso=\E[27m, rmul=\E[24m, rs1=\E[?3l, sc=\E7,
        sgr0=\E[0m, smacs=^N, smam=\E[?7h, smir=\E[4h,
        smso=\E[7m, smul=\E[4m, tbc=\E[3g,
        if=/usr/lib/tabset/vt100, khome=\E[H, 

I didn't notice that here:

# A much better description of the VT200/220; used to be vt220-8
# changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1
# designation to accommodate bug in pcvt -TD

...and carried it along for a while, with little change to is2:
        \E[?7h\E[>\E[?1l\E F\E[?4l
        \E[?7h\E[>\E[?1h\E F\E[?4l
                  ^^^^^^ (DECCKM to reset cursor keys to normal mode)

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

Attachment: signature.asc
Description: PGP signature

Reply via email to