]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 5.9 - patch 20120602
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 3 Jun 2012 00:52:00 +0000 (00:52 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 3 Jun 2012 00:52:00 +0000 (00:52 +0000)
+ 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).

NEWS
dist.mk
misc/terminfo.src
progs/infocmp.c
progs/tic.c

diff --git a/NEWS b/NEWS
index f7acd3f4602fa0e7775fe4ad88c4b50898245cae..f24019c788942830721a5ff0999c2f9aa0f21496 100644 (file)
--- 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 dbb87a6fa9009c577027602d2f62db03a28322ff..9c8fd15be27d60366a1428bbf333ae2d288fd5c0 100644 (file)
--- 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)
index 3059b0f52a51df5f8757a057d631afb0e9603860..82aa0637c3964c82eaeab3e3b72ce8292693bb82 100644 (file)
@@ -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 <rev> 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 <rmam>/<smam> 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!
index d57fa857f9879998dd5f49025ee7b97a00c7b04d..ba336e002e2feabe62b7449fc2aa570336e0a691 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <dump_entry.h>
 
-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
index d96555e9bee6a11dc34018b438d2ced1245e210a..ed77db9eb7721dc7392f0d11fbd89bbe986aee5e 100644 (file)
@@ -46,7 +46,7 @@
 #include <hashed_db.h>
 #include <transform.h>
 
-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 "<stdin>"
 
@@ -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