From: Thomas E. Dickey Date: Sun, 3 Jun 2012 00:52:00 +0000 (+0000) Subject: ncurses 5.9 - patch 20120602 X-Git-Tag: v6.0~152 X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff_plain;h=e0881a7f395769f2ec89b8fa8c21c4292c1de7b5 ncurses 5.9 - patch 20120602 + add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD + add kdch1, etc., to qvt108 -TD + add dl1/il1 to some entries based on dl/il values -TD + add dl to simpleterm -TD + add consistency-checks in tic for insert-line vs delete-line controls, and insert/delete-char keys + correct no-leaks logic in infocmp when doing comparisons, fixing duplicate free of entries given via the command-line, and freeing entries loaded from the last-but-one of files specified on the command-line. + add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord, analysis by Martin Husemann). + add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by Onno van der Linden). --- diff --git a/NEWS b/NEWS index f7acd3f4..f24019c7 100644 --- a/NEWS +++ b/NEWS @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.1907 2012/05/26 21:15:19 tom Exp $ +-- $Id: NEWS,v 1.1909 2012/06/02 20:21:26 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,22 @@ See the AUTHORS file for the corresponding full names. Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20120602 + + add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD + + add kdch1, etc., to qvt108 -TD + + add dl1/il1 to some entries based on dl/il values -TD + + add dl to simpleterm -TD + + add consistency-checks in tic for insert-line vs delete-line + controls, and insert/delete-char keys + + correct no-leaks logic in infocmp when doing comparisons, fixing + duplicate free of entries given via the command-line, and freeing + entries loaded from the last-but-one of files specified on the + command-line. + + add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord, + analysis by Martin Husemann). + + add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by + Onno van der Linden). + 20120526 + extend -c and -n options of infocmp to allow comparing more than two entries. diff --git a/dist.mk b/dist.mk index dbb87a6f..9c8fd15b 100644 --- a/dist.mk +++ b/dist.mk @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.874 2012/05/26 16:49:35 tom Exp $ +# $Id: dist.mk,v 1.875 2012/06/02 11:48:07 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -37,7 +37,7 @@ SHELL = /bin/sh # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 5 NCURSES_MINOR = 9 -NCURSES_PATCH = 20120526 +NCURSES_PATCH = 20120602 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/misc/terminfo.src b/misc/terminfo.src index 3059b0f5..82aa0637 100644 --- a/misc/terminfo.src +++ b/misc/terminfo.src @@ -6,8 +6,8 @@ # Report bugs and new terminal descriptions to # bug-ncurses@gnu.org # -# $Revision: 1.455 $ -# $Date: 2012/05/12 23:31:44 $ +# $Revision: 1.460 $ +# $Date: 2012/06/02 20:15:40 $ # # The original header is preserved below for reference. It is noted that there # is a "newer" version which differs in some cosmetic details (but actually @@ -464,9 +464,10 @@ ibcs2|Intel Binary Compatibility Standard prescriptions, cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A, dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX, - hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, - indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, rmam=\E[?7l, sc=\E7, - smam=\E[?7h, tbc=\E[g, vpa=\E[%i%p1%dd, + hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, + il=\E[%p1%dL, indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, + rmam=\E[?7l, sc=\E7, smam=\E[?7h, tbc=\E[g, + vpa=\E[%i%p1%dd, #### ANSI/ECMA-48 terminals and terminal emulators # @@ -1909,7 +1910,8 @@ ofcons|DNARD OpenFirmware console, wsvt25|NetBSD wscons in 25 line DEC VT220 mode, bce, msgr, colors#8, cols#80, it#8, lines#25, ncv#2, pairs#64, - is2=\E[r\E[25;1H, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, + civis=\E[?25l, cnorm=\E[?25h, is2=\E[r\E[25;1H, + kdch1=\E[3~, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[7~, op=\E[m, rs1=\Ec, @@ -2498,6 +2500,13 @@ vt220-old|vt200-old|DEC VT220 in vt100 emulation mode, # 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 +# +# Here's a picture of the VT220 editing keypad: +# +--------+--------+--------+ +# | Find | Insert | Remove | +# +--------+--------+--------+ +# | Select | Prev | Next | +# +--------+--------+--------+ vt220|vt200|dec vt220, OTbs, am, mir, msgr, xenl, xon, cols#80, it#8, lines#24, vt#3, @@ -2512,15 +2521,16 @@ vt220|vt200|dec vt220, ich=\E[%p1%d@, if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L, ind=\ED, is2=\E[?7h\E[>\E[?1h\E F\E[?4l, kbs=^H, 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, nel=\EE, rc=\E8, rev=\E[7m, - ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, - rmso=\E[27m, rmul=\E[24m, rs1=\E[?3l, sc=\E7, + kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, 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, + nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B$<4>, + rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, + rs1=\E[?3l, sc=\E7, sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+pp, @@ -2543,16 +2553,16 @@ vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode, il=\233%p1%dL, il1=\233L, ind=\ED, is2=\233?7h\233>\233?1h\E F\233?4l, kbs=^H, kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A, - kf1=\EOP, kf10=\23321~, kf11=\23323~, kf12=\23324~, - kf13=\23325~, kf14=\23326~, kf17=\23331~, kf18=\23332~, - kf19=\23333~, kf2=\EOQ, kf20=\23334~, kf3=\EOR, kf4=\EOS, - kf6=\23317~, kf7=\23318~, kf8=\23319~, kf9=\23320~, - kfnd=\2331~, khlp=\23328~, khome=\233H, kich1=\2332~, - knp=\2336~, kpp=\2335~, krdo=\23329~, kslt=\2334~, lf1=pf1, - lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, - nel=\EE, rc=\E8, rev=\2337m, ri=\EM, rmacs=\E(B, - rmam=\233?7l, rmir=\2334l, rmso=\23327m, rmul=\23324m, - rs1=\233?3l, sc=\E7, + kdch1=\2333~, kf1=\EOP, kf10=\23321~, kf11=\23323~, + kf12=\23324~, kf13=\23325~, kf14=\23326~, kf17=\23331~, + kf18=\23332~, kf19=\23333~, kf2=\EOQ, kf20=\23334~, + kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~, kf8=\23319~, + kf9=\23320~, kfnd=\2331~, khlp=\23328~, khome=\233H, + kich1=\2332~, knp=\2336~, kpp=\2335~, krdo=\23329~, + kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i, + mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, rev=\2337m, ri=\EM, + rmacs=\E(B, rmam=\233?7l, rmir=\2334l, rmso=\23327m, + rmul=\23324m, rs1=\233?3l, sc=\E7, sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smir=\2334h, smso=\2337m, smul=\2334m, tbc=\2333g, @@ -4132,7 +4142,7 @@ konsole-base|KDE console window, ncv@, bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h, ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l, - hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1@, + hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1=\E[3~, kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, kfnd@, khome=\E[1~, kslt@, rin=\E[%p1%dT, rmam=\E[?7l, @@ -4142,11 +4152,10 @@ konsole-base|KDE console window, sgr0=\E[0m\017, smam=\E[?7h, vpa=\E[%i%p1%dd, use=ecma+color, use=xterm-r6, konsole-linux|KDE console window with linux keyboard, - kdch1=\E[3~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, - kf2=\E[[B, kf20@, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - use=konsole-base, + kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13@, + kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E[[B, kf20@, + kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, + kf8=\E[19~, kf9=\E[20~, use=konsole-base, konsole-solaris|KDE console window with Solaris keyboard, kbs=^H, kend=\E[4~, khome=\E[1~, use=konsole-vt100, # KDE's "XFree86 3.x.x" keyboard is based on reading the xterm terminfo rather @@ -4780,13 +4789,13 @@ simpleterm|st| simpleterm, cnorm=\E[?12l\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=^J, indn=\E[%p1%dS, kbs=\177, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, - kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, + dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, + home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, + il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, kbs=\177, + kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, + kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, + kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, knp=\E[6~, kpp=\E[5~, op=\E[37;40m, rc=\E8, rev=\E[7m, rmacs=\E(B, rmso=\E[m, rmul=\E[m, sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, @@ -7364,6 +7373,9 @@ qvt101|qvt108|qume qvt 101 and QVT 108, # What seems to be going on here is that this entry was designed so that # the normal highlight is bold and standout is dim plus something else # (reverse-video maybe? But then, are there two sequences?) +# +# Added kdch1, kil1, kdl1 based on screenshot -TD: +# http://www.vintagecomputer.net/qume/qvt-108/qume_qvt-108_keyboard.jpg qvt101+|qvt101p|qume qvt 101 PLUS product, am, bw, hs, ul, cols#80, lines#24, xmc#0, @@ -7372,11 +7384,11 @@ qvt101+|qvt101p|qume qvt 101 PLUS product, dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\EY, el=\ET, flash=\Eb$<200>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1, ich1=\EQ, il1=\EE, ind=^J, invis@, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdl1=\ER, ked=\EY, kel=\ET, - kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, - khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@, rmso=\E(, - smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr, + kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, + kel=\ET, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r, + kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, + kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@, + rmso=\E(, smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr, qvt102|qume qvt 102, cnorm=\E., use=qvt101, # (qvt103: added / based on init string -- esr) @@ -14501,6 +14513,8 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 Device, sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, +# "Megapel" refers to the display adapter, which was used with the IBM RT +# aka IBM 6150. ibm5081|hft|IBM Megapel Color display, acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B, s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154, @@ -16744,9 +16758,10 @@ tek4205|tektronix 4205, clear=\E[2J\E[H, cr=^M, 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%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch1=\E[1P, dim=\E[=1;<6m, dl1=\E[1M, ech=\E%p1%dX, - ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L, ind=\ED, + dch1=\E[1P, dim=\E[=1;<6m, dl=\E[%p1%dM, dl1=\E[1M, + ech=\E%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, + home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L, + ind=\ED, initc=\E%%!0\ETF4%?%p1%{0}%=%t0%e%p1%{1}%=%t4%e%p1%{2}%=%t3%e%p1%{3}%=%t5%e%p1%{4}%=%t2%e%p1%{5}%=%t6%e%p1%{6}%=%t7%e1%;%?%p2%{125}%<%t0%e%p2%{250}%<%tA2%e%p2%{375}%<%tA?%e%p2%{500}%<%tC8%e%p2%{625}%<%tD4%e%p2%{750}%<%tE1%e%p2%{875}%<%tE\:%eF4%;%?%p3%{125}%<%t0%e%p3%{250}%<%tA2%e%p3%{375}%<%tA?%e%p3%{500}%<%tC8%e%p3%{625}%<%tD4%e%p3%{750}%<%tE1%e%p3%{875}%<%tE\:%eF4%;%?%p4%{125}%<%t0%e%p4%{250}%<%tA2%e%p4%{375}%<%tA?%e%p4%{500}%<%tC8%e%p4%{625}%<%tD4%e%p4%{750}%<%tE1%e%p4%{875}%<%tE\:%eF4%;\E%%!1, invis=\E[=6;<5, is1=\E%!0\ETM1\E%!1\E[m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOA, @@ -18680,12 +18695,12 @@ bq300-8|Bull vt320 full 8 bits 80 columns, csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=\2331D, cud=\233%p1%dB, cud1=\2331B, cuf=\233%p1%dC, cuf1=\2331C, cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\2331A, - dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, + dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M, dsl=\2331$}\2332$~\n\2330$}, ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K, enacs=\E(B\E)0, flash=\233?5h$<50>\233?5l, fsl=\2330$}, home=\233H, - ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, ind=\ED, - is1=\E[63;2"p\E[2h, + ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, il1=\233L, + ind=\ED, is1=\E[63;2"p\E[2h, is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, is3=\2330$}\233?25h\2332l\233H\233J, ka1=\217w, ka3=\217y, kb2=\217u, kbs=^H, kc1=\217q, kc3=\217s, @@ -19308,14 +19323,14 @@ z29a|z29a-kc-bc|h29a-kc-bc|heath/zenith 29 in ansi mode, cud=\E[%p1%dB, cud1=^J, 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[1P, dim=\E[2m, dl=\E[%p1%dM, - dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l, home=\E[H, - ht=^I, hts=\EH, if=/usr/share/tabset/vt100, il=\E[%p1%dL, - ind=\ED, kbs=^H, kclr=\E[J, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, ked=\E[J, kf0=\E[~, kf1=\EOS, - kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ, - kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help, mc0=\E#7, - nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM, rmcup=\E[?7h, - rmso=\E[m, rmul=\E[m, + dl1=\E[M, dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l, + home=\E[H, ht=^I, hts=\EH, if=/usr/share/tabset/vt100, + il=\E[%p1%dL, il1=\E[L, ind=\ED, kbs=^H, kclr=\E[J, + kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, ked=\E[J, + kf0=\E[~, kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, + kf6=\EOP, kf7=\EOQ, kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help, + mc0=\E#7, nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM, + rmcup=\E[?7h, rmso=\E[m, rmul=\E[m, rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>4h\E[>1;2;3;5;6;7;8;9l\E[m\E[11m, sc=\E[s, sgr0=\E[m, smcup=\E[?7l, smso=\E[7;2m, smul=\E[4m, tbc=\E[3g, tsl=\E[s\E[>5;1h\E[25;%i%dH\E[1K, @@ -22862,4 +22877,14 @@ v3220|LANPAR Vision II model 3220/3221/3222, # * rewrite vt520 entry based on vt420 -TD # * corrected 'op' for bterm (report by Samuel Thibault) -TD # +# 2012-06-02 +# * add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord, +# analysis by Martin Husemann). +# * add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by +# Onno van der Linden). +# * add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD +# * add kdch1, etc., to qvt108 -TD +# * add dl1/il1 to some entries based on dl/il values -TD +# * add dl to simpleterm -TD +# ######## SHANTIH! SHANTIH! SHANTIH! diff --git a/progs/infocmp.c b/progs/infocmp.c index d57fa857..ba336e00 100644 --- a/progs/infocmp.c +++ b/progs/infocmp.c @@ -42,7 +42,7 @@ #include -MODULE_ID("$Id: infocmp.c,v 1.118 2012/05/26 21:11:32 tom Exp $") +MODULE_ID("$Id: infocmp.c,v 1.119 2012/06/02 15:55:33 tom Exp $") #define L_CURL "{" #define R_CURL "}" @@ -87,16 +87,34 @@ static int compare; static bool ignorepads; /* ignore pad prefixes when diffing */ #if NO_LEAKS + +typedef struct { + ENTRY *head; + ENTRY *tail; +} ENTERED; + +static ENTERED *entered; + #undef ExitProgram static void ExitProgram(int code) GCC_NORETURN; /* prototype is to get gcc to accept the noreturn attribute */ static void ExitProgram(int code) { - while (termcount-- > 0) - _nc_free_termtype(&entries[termcount].tterm); + int n; + + for (n = 0; n < termcount; ++n) { + ENTRY *new_head = _nc_head; + ENTRY *new_tail = _nc_tail; + _nc_head = entered[n].head; + _nc_tail = entered[n].tail; + _nc_free_entries(entered[n].head); + _nc_head = new_head; + _nc_tail = new_tail; + } _nc_leaks_dump_entry(); free(entries); + free(entered); _nc_free_tic(code); } #endif @@ -959,6 +977,10 @@ file_comparison(int argc, char *argv[]) if (freopen(argv[n], "r", stdin) == 0) _nc_err_abort("Can't open %s", argv[n]); +#if NO_LEAKS + entered[n].head = _nc_head; + entered[n].tail = _nc_tail; +#endif _nc_head = _nc_tail = 0; /* parse entries out of the source file */ @@ -1654,6 +1676,9 @@ main(int argc, char *argv[]) tfile = typeMalloc(path, maxterms); tname = typeCalloc(char *, maxterms); entries = typeCalloc(ENTRY, maxterms); +#if NO_LEAKS + entered = typeCalloc(ENTERED, maxterms); +#endif if (tfile == 0 || tname == 0 diff --git a/progs/tic.c b/progs/tic.c index d96555e9..ed77db9e 100644 --- a/progs/tic.c +++ b/progs/tic.c @@ -46,7 +46,7 @@ #include #include -MODULE_ID("$Id: tic.c,v 1.176 2012/04/29 00:23:38 tom Exp $") +MODULE_ID("$Id: tic.c,v 1.177 2012/06/02 17:19:31 tom Exp $") #define STDIN_NAME "" @@ -1212,6 +1212,11 @@ check_cursor(TERMTYPE *tp) int count; char *list[4]; + /* it is rare to have an insert-line feature without a matching delete */ + ANDMISSING(parm_insert_line, insert_line); + ANDMISSING(parm_delete_line, delete_line); + ANDMISSING(parm_insert_line, parm_delete_line); + /* if we have a parameterized form, then the non-parameterized is easy */ ANDMISSING(parm_down_cursor, cursor_down); ANDMISSING(parm_up_cursor, cursor_up); @@ -1385,6 +1390,12 @@ check_keypad(TERMTYPE *tp) if (*show != '\0') _nc_warning("vt100 keypad map incomplete:%s", show); } + + /* + * These warnings are useful for consistency checks - it is possible that + * there are real terminals with mismatches in these + */ + ANDMISSING(key_ic, key_dc); } static void