ncurses 5.9 - patch 20110820
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 21 Aug 2011 00:33:59 +0000 (00:33 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 21 Aug 2011 00:33:59 +0000 (00:33 +0000)
+ add a check to ensure that termcap files which might have "^?" do
  not use the terminfo interpretation as "\177".
+ minor cleanup of X-terminal emulator section of terminfo.src -TD
+ add terminator entry -TD
+ add simpleterm entry -TD
+ improve wattr_get macros by ensuring that if the window pointer is
  null, then the attribute and color values returned will be zero
  (cf: 20110528).

NEWS
README
dist.mk
include/curses.h.in
misc/terminfo.src
ncurses/tinfo/comp_scan.c
test/ncurses.c

diff --git a/NEWS b/NEWS
index 5c78ff465e2b3aa8e6f86155d5665c0acacf299c..16626475b070c3f9ae1cfcca9da684ad51c0f9e2 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.1768 2011/08/14 00:26:46 tom Exp $
+-- $Id: NEWS,v 1.1771 2011/08/20 21:36:44 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,16 @@ 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.
 
+20110820
+       + add a check to ensure that termcap files which might have "^?" do
+         not use the terminfo interpretation as "\177".
+       + minor cleanup of X-terminal emulator section of terminfo.src -TD
+       + add terminator entry -TD
+       + add simpleterm entry -TD
+       + improve wattr_get macros by ensuring that if the window pointer is
+         null, then the attribute and color values returned will be zero
+         (cf: 20110528).
+
 20110813
        + add substitution for $RPATH_LIST to misc/ncurses-config.in
        + improve performance of tic with hashed-database by caching the
diff --git a/README b/README
index 56bc38586f48cb167d49a3efd62c5a9f03db9f7c..56d4813e8641bbe04e04fd91471ffe17b81539b9 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 -------------------------------------------------------------------------------
--- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc.               --
+-- Copyright (c) 1998-2006,2011 Free Software Foundation, Inc.               --
 --                                                                           --
 -- Permission is hereby granted, free of charge, to any person obtaining a   --
 -- copy of this software and associated documentation files (the             --
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: README,v 1.23 2006/04/22 22:19:37 tom Exp $
+-- $Id: README,v 1.24 2011/08/20 16:47:16 tom Exp $
 -------------------------------------------------------------------------------
                README file for the ncurses package
 
@@ -153,8 +153,10 @@ Thomas Dickey (maintainer for 1.9.9g through 4.1, resuming with FSF's 5.0):
        configuration scripts, porting, mods to adhere to XSI Curses in the
        areas of background color, terminal modes.  Also memory leak testing,
        the wresize, default colors and key definition extensions and numerous
-       bug fixes (more than half of those enumerated in NEWS beginning with
-       the internal release 1.8.9).
+       bug fixes -- more than half of those enumerated in NEWS beginning with
+       the internal release 1.8.9, see
+
+               http://invisible-island.net/personal/changelogs.html
 
 Florian La Roche (official maintainer for FSF's ncurses 4.2)
        Beginning with release 4.2, ncurses is distributed under an MIT-style
diff --git a/dist.mk b/dist.mk
index adb9a324e1258d0e764328b6c9f2a607462395ed..0ffe7758ae06b3a9ee8af49c856ac65d798d1b6d 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.830 2011/08/12 19:25:31 tom Exp $
+# $Id: dist.mk,v 1.831 2011/08/20 15:29:02 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 = 20110813
+NCURSES_PATCH = 20110820
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index e67c3f251e42565b0691515fe2db2a1dc60ccedd..c49422b188092c65c87f8c695df6fac80f93cc8d 100644 (file)
@@ -32,7 +32,7 @@
  *     and: Thomas E. Dickey                        1996-on                 *
  ****************************************************************************/
 
-/* $Id: curses.h.in,v 1.224 2011/06/06 08:44:06 tom Exp $ */
+/* $Id: curses.h.in,v 1.225 2011/08/20 16:09:38 tom Exp $ */
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
@@ -1269,20 +1269,16 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);   /*
                                             (win)->_color = (p)) \
                                          : OK), \
                                         OK)
-#define wattr_get(win,a,p,opts)                (((win) \
-                                         ? ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
-                                            (void)((p) != (void *)0 && (*(p) = (short)(win)->_color)),OK) \
-                                         : OK), \
+#define wattr_get(win,a,p,opts)                ((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
+                                        (void)(((p) != (void *)0) ? (*(p) = (win) ? (short)(win)->_color : 0) : OK), \
                                         OK)
 #else
 #define wattr_set(win,a,p,opts)                (((win) \
                                          ? ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p))) \
                                          : OK), \
                                         OK)
-#define wattr_get(win,a,p,opts)                (((win) \
-                                         ? ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
-                                            (void)((p) != (void *)0 && (*(p) = (short)PAIR_NUMBER((win)->_attrs))),OK) \
-                                         : OK), \
+#define wattr_get(win,a,p,opts)                ((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
+                                        (void)(((p) != (void *)0) ? (*(p) = (win) ? (short)PAIR_NUMBER((win)->_attrs) : 0) : OK), \
                                         OK)
 #endif
 #endif /* NCURSES_OPAQUE */
index e8bb05b2fea4d07b82a7106ea403e10305326430..c12f63574ba6d0e16f39fe69d94d81fab40f9986 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.395 $
-#      $Date: 2011/08/06 19:48:29 $
+#      $Revision: 1.399 $
+#      $Date: 2011/08/20 20:52:51 $
 #
 # 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
@@ -690,9 +690,7 @@ nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi
        use=ansi.sysk,
 
 #### ANSI console types
-#
 
-#############################################################################
 #
 # Atari ST terminals.
 # From Guido Flohr <gufl0000@stud.uni-sb.de>.
@@ -3107,7 +3105,8 @@ tt|tkterm|Don Libes' tk text widget terminal emulator,
        kf9=\EOX, rmkx=\E[?1l\E>, rmso=\E[m, smkx=\E[?1h\E,
        smso=\E[7m,
 
-#### X terminal emulators
+######## X TERMINAL EMULATORS
+#### XTERM
 #
 # You can add the following line to your .Xdefaults to change the terminal type
 # set by the xterms you start up to my-xterm:
@@ -3694,6 +3693,15 @@ xterm+sl-twm|access X title line (pacify twm-descended window managers),
 # xterm with bold instead of underline
 xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold,
        smso=\E[7m, smul=\E[1m, use=xterm-old,
+
+# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
+       ich@, ich1@, use=xterm,
+# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
+xterm1|xterm terminal emulator ignoring the alternate screen buffer,
+       rmcup@, smcup@, use=xterm,
+
+#### KTERM
 # (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr)
 # (kterm should not invoke DEC Graphics as the alternate character set
 #  -- Kenji Rikitake)
@@ -3711,12 +3719,49 @@ kterm|kterm kanji terminal emulator (X window system),
        tsl=\E[?E\E[?%i%p1%dT, use=xterm-r6, use=ecma+color,
 kterm-color|kterm-co|kterm with ANSI colors,
        ncv@, use=kterm, use=ecma+color,
-# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
-xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
-       ich@, ich1@, use=xterm,
-# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
-xterm1|xterm terminal emulator ignoring the alternate screen buffer,
-       rmcup@, smcup@, use=xterm,
+
+#### Other XTERM
+# These (xtermc and xtermm) are distributed with Solaris.  They refer to a
+# variant of xterm which is apparently no longer supported, but are interesting
+# because they illustrate SVr4 curses mouse controls - T.Dickey
+xtermm|xterm terminal emulator (monocrome),
+       OTbs, am, km, mir, msgr, xenl,
+       btns#3, cols#80, it#8, lines#24,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+       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[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+       el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY,
+       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+       il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD,
+       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy,
+       kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU,
+       kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_,
+       knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM,
+       rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m,
+       rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
+       smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys,
+
+xtermc|xterm terminal emulator (color),
+       colors#8, ncv#7, pairs#64,
+       op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+       use=xtermm,
+
+# From: David J. MacKenzie <djm@va.pubnix.com> 20 Apr 1995
+# Here's a termcap entry I've been using for xterm_color, which comes
+# with BSD/OS 2.0, and the X11R6 contrib tape too I think.  Besides the
+# color stuff, I also have a status line defined as the window manager
+# title bar. [I have translated it to terminfo -- ESR]
+xterm-pcolor|xterm with color used for highlights and status line,
+       bold=\E[1m\E[43m, rev=\E[7m\E[34m, smso=\E[7m\E[31m,
+       smul=\E[4m\E[42m, use=xterm+sl, use=xterm-r6,
 
 # This describes the capabilities of color_xterm, an xterm variant from
 # before ECMA-64 color support was folded into the main-line xterm release.
@@ -3764,6 +3809,32 @@ xterm-color|nxterm|generic color xterm,
        ncv@,
        op=\E[m, use=xterm-r6, use=klone+color,
 
+# This entry describes an xterm with Sun-style function keys enabled
+# via the X resource setting "xterm*sunFunctionKeys:true"
+# To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
+# The <kf13>...<kf20> keys are L3-L10.  We don't set <kf16=\E[197z>
+# because we want it to be seen as <kcpy>.
+# The <kf31>...<kf45> keys are R1-R15.  We treat some of these in accordance
+# with their Sun keyboard labels instead.
+# From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
+xterm-sun|xterm with sunFunctionKeys true,
+       kb2=\E[218z, kcpy=\E[197z, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z,
+       kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z,
+       kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z,
+       kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z,
+       kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z,
+       kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z,
+       kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z,
+       kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z,
+       kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z,
+       kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z,
+       kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z,
+       use=xterm-basic,
+xterms-sun|small (80x24) xterm with sunFunctionKeys true,
+       cols#80, lines#24, use=xterm-sun,
+
+#### GNOME (VTE)
 # this describes the alpha-version of Gnome terminal shipped with Redhat 6.0
 gnome-rh62|Gnome terminal,
        bce,
@@ -3902,6 +3973,7 @@ gnome-256color|GNOME Terminal with xterm 256-colors,
 xfce|Xfce Terminal,
        use=vte,
 
+#### Other GNOME
 # Multi-Gnome-Terminal 1.6.2
 #
 # This does not use VTE, and does have different behavior (compare xfce and
@@ -3909,6 +3981,7 @@ xfce|Xfce Terminal,
 mgt|Multi GNOME Terminal,
        indn=\E[%p1%dS, rin=\E[%p1%dT, use=xterm-xf86-v333,
 
+#### KDE
 # This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
 # or not is debatable).
 kvt|KDE terminal,
@@ -4007,6 +4080,7 @@ konsole|KDE console window,
 konsole-256color|KDE console window with xterm 256-colors,
        initc@, use=xterm+256color, use=konsole,
 
+#### MLTERM
 # This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
 #
 # It is nominally a vt102 emulator, with features borrowed from rxvt and
@@ -4072,6 +4146,7 @@ mlterm+pcfkeys|fragment for PC-style fkeys,
 mlterm-256color|mlterm 3.0 with xterm 256-colors,
        use=xterm+256color, use=rxvt,
 
+#### RXVT
 # From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
 # Updated: Oezguer Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
 # Notes:
@@ -4243,6 +4318,7 @@ rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygw
 rxvt-16color|xterm with 16 colors like aixterm,
        ncv#32, use=ibm+16color, use=rxvt,
 
+#### MRXVT
 # mrxvt 0.5.4
 #
 # mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which
@@ -4260,6 +4336,7 @@ mrxvt|multitabbed rxvt,
 mrxvt-256color|multitabbed rxvt with 256 colors,
        use=xterm+256color, use=mrxvt,
 
+#### ETERM
 # From: Michael Jennings <mej@valinux.com>
 #
 # Eterm 0.9.3
@@ -4305,11 +4382,13 @@ Eterm-256color|Eterm with xterm 256-colors,
 Eterm-88color|Eterm with 88 colors,
        use=xterm+88color, use=Eterm,
 
+#### ATERM
 # Based on rxvt 2.4.8, it has a few differences in key bindings
 aterm|AfterStep terminal,
        XT,
        kbs=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=rxvt,
 
+#### XITERM
 # xiterm  0.5-5.2
 # This is not based on xterm's source...
 # vttest shows several problems with keyboard, cursor-movements.
@@ -4318,48 +4397,8 @@ xiterm|internationalized terminal emulator for X,
        km@,
        kbs=\177, kdch1=\E[3~, use=klone+color, use=xterm-r6,
 
-# These (xtermc and xtermm) are distributed with Solaris.  They refer to a
-# variant of xterm which is apparently no longer supported, but are interesting
-# because they illustrate SVr4 curses mouse controls - T.Dickey
-xtermm|xterm terminal emulator (monocrome),
-       OTbs, am, km, mir, msgr, xenl,
-       btns#3, cols#80, it#8, lines#24,
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
-       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
-       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[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
-       el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY,
-       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
-       il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD,
-       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy,
-       kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU,
-       kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_,
-       knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM,
-       rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m,
-       rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
-       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
-       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
-       sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
-       smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys,
-
-xtermc|xterm terminal emulator (color),
-       colors#8, ncv#7, pairs#64,
-       op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
-       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
-       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
-       use=xtermm,
-
-# From: David J. MacKenzie <djm@va.pubnix.com> 20 Apr 1995
-# Here's a termcap entry I've been using for xterm_color, which comes
-# with BSD/OS 2.0, and the X11R6 contrib tape too I think.  Besides the
-# color stuff, I also have a status line defined as the window manager
-# title bar. [I have translated it to terminfo -- ESR]
-xterm-pcolor|xterm with color used for highlights and status line,
-       bold=\E[1m\E[43m, rev=\E[7m\E[34m, smso=\E[7m\E[31m,
-       smul=\E[4m\E[42m, use=xterm+sl, use=xterm-r6,
 
+#### HPTERM
 # HP ships this (HPUX 9 and 10), except for the pb#9600 which was merged in
 # from BSD termcap.  (hpterm:  added empty <acsc>, we have no idea what ACS
 # chars look like --esr)
@@ -4392,31 +4431,7 @@ hpterm-color|HP X11 terminal emulator with color,
        initp=\E&v%p2%da%p3%db%p4%dc%p5%dx%p6%dy%p7%dz%p1%dI,
        op=\E&v0S, scp=\E&v%p1%dS, use=hpterm,
 
-# This entry describes an xterm with Sun-style function keys enabled
-# via the X resource setting "xterm*sunFunctionKeys:true"
-# To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
-# The <kf13>...<kf20> keys are L3-L10.  We don't set <kf16=\E[197z>
-# because we want it to be seen as <kcpy>.
-# The <kf31>...<kf45> keys are R1-R15.  We treat some of these in accordance
-# with their Sun keyboard labels instead.
-# From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
-xterm-sun|xterm with sunFunctionKeys true,
-       kb2=\E[218z, kcpy=\E[197z, kcub1=\EOD, kcud1=\EOB,
-       kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z,
-       kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z,
-       kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z,
-       kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z,
-       kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z,
-       kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z,
-       kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z,
-       kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z,
-       kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z,
-       kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z,
-       kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z,
-       use=xterm-basic,
-xterms-sun|small (80x24) xterm with sunFunctionKeys true,
-       cols#80, lines#24, use=xterm-sun,
-
+#### EMU
 # This is for the extensible terminal emulator on the X11R6 contrib tape.
 # It corresponds to emu's internal emulation:
 #      emu -term emu
@@ -4478,6 +4493,8 @@ emu-220|Emu-220 (vt200-7bit mode),
        sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
        sgr0=\E[m, smacs=^N, smcup=\E[?1l\E=, smkx=\E=,
        smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g,
+
+#### MVTERM
 # A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI,
 # print interface, ANSI X3.64 colour escape sequences, etc.  Newsgroup postings
 # indicate that it emulates more than one terminal, but incompletely.
@@ -4512,7 +4529,7 @@ mvterm|vv100|SwitchTerm aka mvTERM,
        smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
        tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys,
 
-### MTERM
+#### MTERM
 #
 # This application is available by email from <mouse@Rodents.Montreal.QC.CA>.
 #
@@ -4633,6 +4650,123 @@ mgr-linux|Mgr window with Linux keyboard,
        kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
        khome=\E[1~, knp=\E[6~, kpp=\E[5~, use=mgr,
 
+#### SIMPLETERM
+# st.suckless.org
+# st-0.1.1
+#
+# Note:  the original terminfo description uses leading blank to persuade
+# ncurses to use "st" as its name.  Proper fix for that is to use "st" as an
+# alias.
+#
+# Reading the code shows it should work for aixterm 16-colors
+# - added st-16color
+#
+# Using tack:
+# - set eo (erase-overstrike)
+# - set xenl
+# - tbc doesn't work
+# - hts works
+# - cbt doesn't work
+# - shifted cursor-keys send sequences like rxvt
+# - sgr referred to unimplemented "invis" mode.
+# Fixes: add eo and xenl per tack, remove nonworking cbt, hts and tbc, invis
+simpleterm|st| simpleterm,
+       am, eo, mir, msgr, ul, xenl,
+       colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
+       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
+       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~,
+       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,
+       sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+       sgr0=\E[0m, smacs=\E(0, smso=\E[7m, smul=\E[4m,
+st-16color|simpleterm with 16-colors,
+       use=ibm+16color, use=simpleterm,
+# 256 colors "works", but when running xterm's test-scripts, some garbage is
+# shown in the titlebar.
+st-256color|simpleterm with 256 colors,
+       ccc@,
+       initc@, use=simpleterm, use=xterm+256color,
+
+### TERMINATOR
+# http://software.jessies.org/terminator/
+# Tested using their Debian package org.jessies.terminator 6.104.3256 on 64-bit
+# Debian/current -TD (2011/8/20)
+#
+# There are some packaging problems:
+# a) using Java, the program starts off using 50Mb, and climbs from there,
+#    up to 114Mb after testing (no scrollback).
+# b) it insists on reinstalling its terminal description in $HOME/.terminfo
+#    (two copies, just in case the host happens to be Mac OS X).
+#    I deleted this after testing with tack.
+#
+# Issues/features found with tack:
+# a) tbc does not work (implying that hts also is broken).
+#    Comparing with the tabs utility shows a problem with the last tabstop on
+#    a line.
+# b) has xterm-style shifted function-key strings
+#    meta also is used, but control is ignored.
+# c) has xterm-style modifiers for cursor keys (shift, control, shift+control, meta)
+# d) some combinations of shift/control send xterm-style sequences for
+#    insert/delete/home/end.
+# e) numeric keypad sends only numbers (compare with vttest).
+# f) meta mode (km) is not implemented.
+#
+# Issues found with ncurses test-program:
+# a) bce is inconsistently implemented
+# b) widths of Unicode values above 256 do not always agree with wcwidth.
+#
+# Checked with vttest, found low degree of compatibility there.
+#
+# Checked with xterm's scripts, found that the 256-color palette is fixed.
+#
+# Fixes:
+# a) add sgr string
+# b) corrected sgr0 to reset alternate character set
+# c) modified smacs/rmacs to use SCS rather than SI/SO
+# d) removed bce
+# e) removed km
+terminator|Terminator no line wrap,
+       eo, mir, msgr, xenl, xon,
+       colors#256, cols#80, it#8, lines#24, lm#0, pairs#32767,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
+       cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+       cub=\E[%p1%dD, 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, dch=\E[%p1%dP, dch1=\E[P,
+       dl=\E[%p1%dM, dl1=\E[M, dsl=\E]2;\007, ed=\E[J, el=\E[K,
+       el1=\E[1K, enacs=\E(B\E)0, flash=^G, fsl=^G, home=\E[H,
+       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
+       ind=^J, is1=\E[?47l\E=\E[?1l,
+       is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
+       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~, kf13=\E[25~, kf14=\E[26~,
+       kf15=\E[28~, kf16=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+       op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B,
+       rmcup=\E[?47l\E8, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+       rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+       rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>,
+       s0ds=\E(B, s1ds=\E(0, sc=\E7, setab=\E[48;5;%p1%dm,
+       setaf=\E[38;5;%p1%dm,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%;m%?%p9%t\E(0%e\E(B%;,
+       sgr0=\E[m\E(B, smacs=\E(0, smcup=\E7\E[?47h, smir=\E[4h,
+       smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]2;%p1,
+       vpa=\E[%i%p1%dd,
+
 ######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS
 #
 
@@ -5440,7 +5574,7 @@ dtterm|CDE desktop terminal,
 #### Non-Unix Consoles
 #
 
-### EMX termcap.dat compatibility modes
+#### EMX termcap.dat compatibility modes
 #
 # Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the
 # no_color_video to inform the application that standout(1), underline(2)
@@ -13793,7 +13927,7 @@ superbeeic|super bee with insert char,
 sb2|sb3|fixed superbee,
        xsb@, use=superbee,
 
-####  Beehive Medical Electronics
+#### Beehive Medical Electronics
 #
 # Steve Seymour <srseymour@mindspring.com> writes (Wed, 03 Feb 1999):
 # Regarding your question though; Beehive terminals weren't made by Harris.
@@ -22431,4 +22565,9 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 # 2011-08-06
 #      * corrected k9 in dg460-ansi, add other features based on manuals -TD
 #
+# 2011-08-20
+#      * minor cleanup of X-terminal emulator section -TD
+#      * add terminator entry -TD
+#      * add simpleterm entry -TD
+#
 ######## SHANTIH!  SHANTIH!  SHANTIH!
index 5c67ffc872277c3a74f8a308c4c15f849b60f22e..ef604026a151c8173d2c1cd99b59273822df447a 100644 (file)
@@ -50,7 +50,7 @@
 #include <ctype.h>
 #include <tic.h>
 
-MODULE_ID("$Id: comp_scan.c,v 1.92 2011/07/30 21:36:33 tom Exp $")
+MODULE_ID("$Id: comp_scan.c,v 1.93 2011/08/20 21:19:40 tom Exp $")
 
 /*
  * Maximum length of string capability we'll accept before raising an error.
@@ -750,7 +750,7 @@ _nc_trans_string(char *ptr, char *last)
            if (!(is7bits(c) && isprint(c))) {
                _nc_warning("Illegal ^ character - '%s'", unctrl(UChar(c)));
            }
-           if (c == '?') {
+           if (c == '?' && (_nc_syntax != SYN_TERMCAP)) {
                *(ptr++) = '\177';
                if (_nc_tracing)
                    _nc_warning("Allow ^? as synonym for \\177");
index df2d064c393c488fbda6a3371b3ee01761929cf4..ea5f5f867dc4079ca421e154f989f1fa42f1f570 100644 (file)
@@ -40,7 +40,7 @@ AUTHOR
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
            Thomas E. Dickey (beginning revision 1.27 in 1996).
 
-$Id: ncurses.c,v 1.368 2011/05/21 18:50:56 tom Exp $
+$Id: ncurses.c,v 1.369 2011/08/20 15:49:08 tom Exp $
 
 ***************************************************************************/
 
@@ -1675,8 +1675,8 @@ wide_show_attr(int row, int skip, bool arrow, chtype attr, short pair, const cha
            add_wch(&ch);
        }
     } else {
-       attr_t old_attr;
-       short old_pair;
+       attr_t old_attr = 0;
+       short old_pair = 0;
 
        (void) attr_get(&old_attr, &old_pair, 0);
        (void) attr_set(attr, pair, 0);