ncurses 5.9 - patch 20120512
authorThomas E. Dickey <dickey@invisible-island.net>
Sat, 12 May 2012 23:45:23 +0000 (23:45 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sat, 12 May 2012 23:45:23 +0000 (23:45 +0000)
+ corrected 'op' for bterm (report by Samuel Thibault) -TD
+ modify test/background.c to demonstrate a background character
  holding a colored ACS_HLINE.  The behavior differs from SVr4 due to
  the thick- and double-line extension (cf: 20091003).
+ modify handling of acs characters in PutAttrChar to avoid mapping an
  unmapped character to a space with A_ALTCHARSET set.
+ rewrite vt520 entry based on vt420 -TD

NEWS
dist.mk
misc/terminfo.src
ncurses/tty/tty_update.c
test/background.c

diff --git a/NEWS b/NEWS
index 1b82bed65cd1141e31e147c8b1051104d9f488ba..17574be784c216650f4b3b51fb107c6246004ec5 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.1901 2012/05/05 22:37:56 tom Exp $
+-- $Id: NEWS,v 1.1904 2012/05/12 23:39:01 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,15 @@ 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.
 
+20120512
+       + corrected 'op' for bterm (report by Samuel Thibault) -TD
+       + modify test/background.c to demonstrate a background character
+         holding a colored ACS_HLINE.  The behavior differs from SVr4 due to
+         the thick- and double-line extension (cf: 20091003).
+       + modify handling of acs characters in PutAttrChar to avoid mapping an
+         unmapped character to a space with A_ALTCHARSET set.
+       + rewrite vt520 entry based on vt420 -TD
+
 20120505
        + remove p6 (bold) from opus3n1+ for consistency -TD
        + remove acs stuff from env230 per clues in Ingres termcap -TD
diff --git a/dist.mk b/dist.mk
index f39cbf86094e9c4d6b4d7db600469056a44c82f1..eda3aad3f482ff4098196211be372f6675731939 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.872 2012/05/05 14:11:50 tom Exp $
+# $Id: dist.mk,v 1.873 2012/05/12 16:32:15 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 = 20120505
+NCURSES_PATCH = 20120512
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index dd36bef7694e1096380ec88795f278fec104a064..3059b0f52a51df5f8757a057d631afb0e9603860 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.451 $
-#      $Date: 2012/05/05 22:33:58 $
+#      $Revision: 1.455 $
+#      $Date: 2012/05/12 23:31:44 $
 #
 # 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
@@ -1049,7 +1049,7 @@ bterm|bogl virtual terminal,
        kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
        kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
        kmous=\E[M, knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J,
-       op=\E49;39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m,
+       op=\E[49m\E[39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m,
        rmul=\E[24m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        sgr0=\E[0m, smacs=^N, smso=\E[7m, smul=\E[4m,
 
@@ -2870,33 +2870,8 @@ vt510pcdos|DEC VT510 w/PC for DOS Merge,
 # terminal mode is being used.  If Set-Up has been disabled or
 # assigned to an unknown key, Set-Up may be entered by pressing
 # [F3] as the first key after power up, regardless of keyboard type.
-# (vt520: I added <rmam>/<smam> based on the init string, also <sc> -- esr)
-# added msgr -TD
 vt520|DEC VT520,
-       am, mir, msgr, xenl, xon,
-       cols#80, lines#24, vt#3,
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
-       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
-       clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
-       cub1=^H, cud1=\E[B, cuf1=\E[C,
-       cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
-       dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
-       if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED,
-       is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H,
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
-       kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR,
-       kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~,
-       kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
-       kslt=\E[4~,
-       pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\,
-       rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
-       ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l,
-       rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
-       rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, 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$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
-       smso=\E[7m, smul=\E[4m, use=ansi+tabs, use=ansi+enq,
-       use=dec+sl,
+       use=ansi+rca, use=vt420, use=ansi+tabs,
 
 vt525|DEC VT525,
        use=vt520,
@@ -22883,4 +22858,8 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #      * make sgr for d210 agree with other caps -TD
 #      * make sgr for d470c, d470c-7b agree with other caps -TD
 #
+# 2012-05-12
+#      * rewrite vt520 entry based on vt420 -TD
+#      * corrected 'op' for bterm (report by Samuel Thibault) -TD
+#
 ######## SHANTIH!  SHANTIH!  SHANTIH!
index c708ca6033a608805cc6f3a7dfc6aa88e2397a1a..77ae1bbff0b7f75eab28a5e73d23d16d73a19aec 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2011,2012 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            *
@@ -82,7 +82,7 @@
 
 #include <ctype.h>
 
-MODULE_ID("$Id: tty_update.c,v 1.267 2011/10/22 17:30:14 tom Exp $")
+MODULE_ID("$Id: tty_update.c,v 1.268 2012/05/12 21:02:00 tom Exp $")
 
 /*
  * This define controls the line-breakout optimization.  Every once in a
@@ -288,13 +288,12 @@ PutAttrChar(NCURSES_SP_DCLx CARG_CH_T ch)
            int j = CharOfD(ch);
            chtype temp = UChar(SP_PARM->_acs_map[j]);
 
-           if (!(SP_PARM->_screen_acs_map[j])) {
+           if (temp != 0) {
+               SetChar(my_ch, temp, AttrOf(attr));
+           } else {
+               my_ch = CHDEREF(ch);
                RemAttr(attr, A_ALTCHARSET);
-               if (temp == 0)
-                   temp = ' ';
            }
-           if (temp != 0)
-               SetChar(my_ch, temp, AttrOf(attr));
        }
        ch = CHREF(my_ch);
     }
index 24b63785a73d9805d721ebba8b0f5941bab121d7..c7e61113d9523b9c68b77db67da358da496b1965 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2003-2006,2011 Free Software Foundation, Inc.              *
+ * Copyright (c) 2003-2011,2012 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            *
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: background.c,v 1.9 2011/04/23 21:16:38 tom Exp $
+ * $Id: background.c,v 1.12 2012/05/12 20:58:40 tom Exp $
  */
 
 #define NEED_COLOR_CODE 1
@@ -40,9 +40,14 @@ static void
 test_background(void)
 {
     short f, b;
+    int row;
+    int chr;
 
-    pair_content(0, &f, &b);
-    printw("pair 0 contains (%d,%d)\n", f, b);
+    if (pair_content(0, &f, &b) == ERR) {
+       printw("pair 0 contains no data\n");
+    } else {
+       printw("pair 0 contains (%d,%d)\n", f, b);
+    }
     getch();
 
     printw("Initializing pair 1 to red/%s\n", color_name(default_bg));
@@ -57,7 +62,40 @@ test_background(void)
     printw("This line should be %s/blue\n", color_name(default_fg));
     getch();
 
-    printw("Resetting colors to pair 0\n");
+    printw("Initializing pair 3 to %s/cyan (ACS_HLINE)\n", color_name(default_fg));
+    init_pair(3, (short) default_fg, COLOR_CYAN);
+    printw("...and drawing a box which should be followed by lines\n");
+    bkgdset(ACS_HLINE | COLOR_PAIR(3));
+    /*
+     * Characters from vt100 line-drawing should be mapped to line-drawing,
+     * since A_ALTCHARSET is set in the background, and the character part
+     * of the background is replaced by the nonblank characters written.
+     *
+     * Characters not in the line-drawing range are usually sent as-is.
+     *
+     * With SVr4 curses it is possible to rely on this to mix uppercase text
+     * with the (lowercase) line-drawing characters.  ncurses uses some of
+     * the uppercase characters for encoding thick- and double-lines.
+     */
+    row = 7;
+    mvprintw(row++, 10, "l");
+    for (chr = 0; chr < 32; ++chr)
+       addch(' ');
+    printw("x\n");
+    chr = 32;
+    while (chr < 128) {
+       if ((chr % 32) == 0)
+           mvprintw(row++, 10, "x");
+       addch((chr == 127) ? ' ' : chr);
+       if ((++chr % 32) == 0)
+           printw("x\n");
+    }
+    mvprintw(row++, 10, "m");
+    for (chr = 0; chr < 32; ++chr)
+       addch(' ');
+    printw("j\n");
+    getch();
+
     bkgdset(' ' | COLOR_PAIR(0));
     printw("Default Colors\n");
     getch();
@@ -79,6 +117,10 @@ test_background(void)
     bkgd(' ' | COLOR_PAIR(2));
     getch();
 
+    printw("Setting screen to pair 3\n");
+    bkgd(' ' | COLOR_PAIR(3));
+    getch();
+
     printw("Setting screen to pair 0\n");
     bkgd(' ' | COLOR_PAIR(0));
     getch();
@@ -120,6 +162,8 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
 #endif
     int n;
 
+    setlocale(LC_ALL, "");
+
     while ((n = getopt(argc, argv, "ab:df:")) != -1) {
        switch (n) {
 #if HAVE_ASSUME_DEFAULT_COLORS