ncurses 6.0 - patch 20160611
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 12 Jun 2016 00:45:07 +0000 (00:45 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 12 Jun 2016 00:45:07 +0000 (00:45 +0000)
+ revise fix for Debian #805618 (report by Vlado Potisk, cf: 20151128).
+ modify test/ncurses.c a/A screens to make exiting on an escape
  character depend on the start of keypad and timeout modes, to allow
  better testing of function-keys.
+ modify rs1 for xterm-16color, xterm-88color and xterm-256color to
  reset palette using "oc" string as in linux -TD
+ use ANSI reply for u8 in xterm-new, to reflect vt220-style responses
  that could be returned -TD
+ added a few capabilities fixed in recent vte -TD

31 files changed:
NEWS
VERSION
dist.mk
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/curs_getch.3x.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
man/curs_getch.3x
misc/terminfo.src
ncurses/base/lib_getch.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
progs/tic.c
test/blue.c
test/ncurses.c
test/test_sgr.c

diff --git a/NEWS b/NEWS
index c124cf16d08e5b6365a4b6060c96a3e95e3e305d..6e2284f0681a888b397ceae7d1896b20c7b4bf00 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.2614 2016/06/04 23:20:36 tom Exp $
+-- $Id: NEWS,v 1.2618 2016/06/11 21:55:21 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,17 @@ 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.
 
+20160611
+       + revise fix for Debian #805618 (report by Vlado Potisk, cf: 20151128).
+       + modify test/ncurses.c a/A screens to make exiting on an escape
+         character depend on the start of keypad and timeout modes, to allow
+         better testing of function-keys.
+       + modify rs1 for xterm-16color, xterm-88color and xterm-256color to
+         reset palette using "oc" string as in linux -TD
+       + use ANSI reply for u8 in xterm-new, to reflect vt220-style responses
+         that could be returned -TD
+       + added a few capabilities fixed in recent vte -TD
+
 20160604
        + correct logic for -f option in test/demo_terminfo.c
        + add test/list_keys.c
diff --git a/VERSION b/VERSION
index 1fd6fe3569960ba3553b180a7488a89343523689..4cdbc989fe85031e314d109eb2a12f741f3396ec 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:9  6.0     20160604
+5:0:9  6.0     20160611
diff --git a/dist.mk b/dist.mk
index 11ca076d3fb7ea6720e8c5d32fe5df778ac23f5d..c070040e24e1322d8066fbe96c83aa638994f3a8 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.1109 2016/06/04 11:00:51 tom Exp $
+# $Id: dist.mk,v 1.1110 2016/06/11 12:32:48 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 = 6
 NCURSES_MINOR = 0
-NCURSES_PATCH = 20160604
+NCURSES_PATCH = 20160611
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 899e1a49e2a308cfb209501bb7b3e013ec33e72f..4b474c25c0d5e732cd7174e18d8eb1f24bac8108 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 03e497014793cdba7ef86ed62cb1f5cdb46eceed..4774016569ba41ec2ffea348f23b7e56f98ef5da 100644 (file)
@@ -67,7 +67,7 @@
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 
index 90d336f955c5605711e4228d2e548af1e6ddf719..c72a2944ed30fc1fd322dceec2f0f0b4060d9d34 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getch.3x,v 1.45 2016/05/15 01:05:18 tom Exp @
+  * @Id: curs_getch.3x,v 1.47 2016/06/11 22:56:33 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        experience a delay between the time a user presses the es-
        cape key and the escape is returned to the program.
 
+       In <STRONG>ncurses</STRONG>, the timer normally expires after the value  in
+       <STRONG>ESCDELAY</STRONG>  (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).  If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>,
+       the timer does not expire; it  is  an  infinite  (or  very
+       large) value.  Because function keys usually begin with an
+       escape character, the terminal may appear to hang  in  no-
+       timeout  mode  after pressing the escape key until another
+       key is pressed.
+
 
 </PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
        The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to
             KEY_SR          Scroll 1 line backward (reverse)
             KEY_NPAGE       Next page
             KEY_PPAGE       Previous page
+
             KEY_STAB        Set tab
             KEY_CTAB        Clear tab
             KEY_CATAB       Clear all tabs
             KEY_RESET       Reset or hard reset
             KEY_PRINT       Print or copy
             KEY_LL          Home down or bottom (lower left)
-
             KEY_A1          Upper left of keypad
             KEY_A3          Upper right of keypad
             KEY_B2          Center of keypad
             KEY_SREDO       Shifted redo key
             KEY_SREPLACE    Shifted replace key
             KEY_SRIGHT      Shifted right arrow
+
             KEY_SRSUME      Shifted resume key
             KEY_SSAVE       Shifted save key
             KEY_SSUSPEND    Shifted suspend key
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,   <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,   <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,   <STRONG>re-</STRONG>
-       <STRONG><A HREF="resizeterm.3x.html">sizeterm(3x)</A></STRONG>.
+       <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,      <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,      <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
 
        Comparable  functions in the wide-character (ncursesw) li-
        brary are described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
index c91ec933e3ed786cfc5aa660caf821762bfb30b2..baecf91e99048b3df1be099eb6e80ab1e27fdc87 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
        detailed descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 
index 979bfddc86f2074782a9e5f6bfe5b6089cf277b9..cf34637dccb547b2f5a61d9c4bb02fc6c4dee53f 100644 (file)
 
        http://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 6a246c54cd1990043d54db83c780452afac2b278..1e64c4e7c02e431681f636a6e711f8405e688755 100644 (file)
@@ -88,7 +88,7 @@
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 0efe28e7fb5d5725d190d1f5fa5105220f09c058..1f78eb9d6c4c1bc005e14d0a0bb4473c9f45f3b3 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
        detailed descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 
index b0d5a18876e8821923c7e2bebd9ea5da41a7ca55..c2373647265cb382892e85a51374654256d79d5a 100644 (file)
@@ -60,7 +60,7 @@
        sonable optimization.  This implementation is "new curses"
        (ncurses) and is the approved replacement for 4.4BSD clas-
        sic  curses,  which has been discontinued.  This describes
-       <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
        The <STRONG>ncurses</STRONG> library emulates the curses library of  System
        V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
index 1d8542c60cbb7d6f6ed29eab079d44550e63a8c9..250c413f8296de7fc06bac6cb0c39de3d5c6e29a 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index d9d7804ec980298d3c51a928cf3b361ee121c060..27db64bb0739bb4c3389507a7ac4ab268974dbc6 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 
index e3fc4b8bf42aee8e3091b00f649b5a275b1efcff..d0ceccfb7b09dfb65f6cbbe61b70d791a61d0c12 100644 (file)
@@ -75,7 +75,7 @@
        nals by giving a set of capabilities which they  have,  by
        specifying how to perform screen operations, and by speci-
        fying padding requirements and  initialization  sequences.
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
        Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
        fields (embedded commas may be escaped with a backslash or
index 9c84e1bc770647c6ca8197df68d5de502a2842f9..2cce15c7ebf09c2046d4eb606e25ef481a7c5245 100644 (file)
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,    <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index ecfcf7d3679a4c05fe50e2a452275c5b1c9e69f0..d2442acdf6886dc385c0aeba0258c40361c6f387 100644 (file)
        <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,   <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,    <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 
index 5fb2df5a5bd17d9ca9cc2dff63664fddf1bf24e2..6809ec975022b935b9b9681bde4d39dca3271cf7 100644 (file)
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>,    <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>,   <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>,   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
        <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 
index e1ab663f225526d9ca761c490ab644b723c3c235..9970e0a96775b4d159c0a068ca6795952f9b5e29 100644 (file)
        <STRONG>csh(1)</STRONG>,   <STRONG>sh(1)</STRONG>,   <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,
        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160521).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160611).
 
 
 
index 642205a8c5f72082a9838c7a437371b265c065e8..1196b3d61285592c4430b3f558f1e6b287d994d7 100644 (file)
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getch.3x,v 1.45 2016/05/15 01:05:18 tom Exp $
+.\" $Id: curs_getch.3x,v 1.47 2016/06/11 22:56:33 tom Exp $
 .TH curs_getch 3X ""
 .na
 .hy 0
@@ -118,6 +118,13 @@ time, the character is passed through;
 otherwise, the function key value is returned.
 For this reason, many terminals experience a delay between the time
 a user presses the escape key and the escape is returned to the program.
+.PP
+In \fBncurses\fP, the timer normally expires after the value in \fBESCDELAY\fP (see \fBcurs_variables\fP(3X)).
+If \fBnotimeout\fP is \fBTRUE\fP, the timer does not expire;
+it is an infinite (or very large) value.
+Because function keys usually begin with an escape character,
+the terminal may appear to hang in notimeout mode after pressing the escape key
+until another key is pressed.
 .SS Ungetting characters
 .PP
 The \fBungetch\fR routine places \fIch\fR back onto the input queue to be
@@ -391,6 +398,7 @@ any code using it be conditionalized on the \fBNCURSES_VERSION\fR feature macro.
 \fBcurs_mouse\fR(3X),
 \fBcurs_move\fR(3X),
 \fBcurs_refresh\fR(3X),
+\fBcurs_variables\fR(3X),
 \fBresizeterm\fR(3X).
 .PP
 Comparable functions in the wide-character (ncursesw) library are
index 48085426b72c975a55410ba7eb465e3bdc88974d..63e7f51289128714ff8dace39d5284a5dbcca672 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.563 $
-#      $Date: 2016/05/15 00:30:28 $
+#      $Revision: 1.565 $
+#      $Date: 2016/06/11 18:59:38 $
 #
 # 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
@@ -4019,8 +4019,8 @@ xterm-xfree86|xterm terminal emulator (XFree86),
 xterm-new|modern xterm terminal emulator,
        npc,
        indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM,
-       rin=\E[%p1%dT, use=xterm+pcfkeys, use=xterm+tmux,
-       use=xterm-basic,
+       rin=\E[%p1%dT, use=ansi+enq, use=xterm+pcfkeys,
+       use=xterm+tmux, use=xterm-basic,
 
 # This fragment is for people who cannot agree on what the backspace key
 # should send.
@@ -4230,7 +4230,8 @@ xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
 xterm-16color|xterm with 16 colors like aixterm,
        ccc,
        initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
-       use=ibm+16color, use=xterm-new,
+       oc=\E]104\007, rs1=\Ec\E]104\007, use=ibm+16color,
+       use=xterm-new,
 
 # 256-colors is a compile-time feature of XFree86 xterm beginning with
 # patch #111 (1999/7/10) -TD
@@ -4273,9 +4274,10 @@ xterm+88color|xterm 88-color feature,
 
 # These variants of XFree86 3.9.16 xterm are built as a configure option.
 xterm-256color|xterm with 256 colors,
-       use=xterm+256color, use=xterm-new,
+       rs1=\Ec\E]104\007, use=xterm+256color, use=xterm-new,
 xterm-88color|xterm with 88 colors,
-       use=xterm+88color, use=xterm-256color,
+       rs1=\Ec\E]104\007, use=xterm+88color,
+       use=xterm-256color,
 
 # This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
 # asked for some of xterm's advanced features to be added to its terminfo
@@ -4878,9 +4880,13 @@ gnome+pcfkeys|VTE's variation on xterm+pcfkeys,
 gnome|GNOME Terminal,
        use=vte-2012,
 
-# relevant changes were made in January 2014
+# relevant changes were made in January 2014, and later.
 vte-2014|VTE 0.35.1,
-       use=xterm+pcfkeys, use=vte-2012,
+       ncv@,
+       cbt=\E[Z, el1=\E[1K, flash=\E[?5h$<100/>\E[?5l,
+       ich=\E[%p1%d@, indn=\E[%p1%dS, kent=\EOM, rin=\E[%p1%dT,
+       rmso=\E[27m, rmul=\E[24m, use=xterm+pcfkeys,
+       use=vte-2012,
 
 vte|VTE aka GNOME Terminal,
        use=vte-2014,
@@ -23836,4 +23842,13 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #      + modify linux2.6 entry to improve line-drawing -TD
 #      + make linux3.0 entry the default linux entry (Debian #823658) -TD
 #
+# 2016-05-29
+#      + modify rs1 for xterm-16color, xterm-88color and xterm-256color to
+#        reset palette using "oc" string as in linux -TD
+#
+# 2016-06-11
+#      + use ANSI reply for u8 in xterm-new, to reflect vt220-style responses
+#        that could be returned -TD
+#      + added a few capabilities fixed in recent vte -TD
+#
 ######## SHANTIH!  SHANTIH!  SHANTIH!
index 5cd52ba89171b1a1e6b5e2222afc021801c9bf3e..1495670556b219369e4d9776da769a2baafc27b9 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_getch.c,v 1.134 2016/01/23 21:32:00 tom Exp $")
+MODULE_ID("$Id: lib_getch.c,v 1.135 2016/06/11 21:52:23 tom Exp $")
 
 #include <fifo_defs.h>
 
@@ -360,7 +360,7 @@ fifo_clear(SCREEN *sp)
     tail = peek = 0;
 }
 
-static int kgetch(SCREEN *EVENTLIST_2nd(_nc_eventlist * evl));
+static int kgetch(SCREEN *, bool EVENTLIST_2nd(_nc_eventlist *));
 
 static void
 recur_wrefresh(WINDOW *win)
@@ -497,8 +497,6 @@ _nc_wgetch(WINDOW *win,
            TR(TRACE_IEVENT, ("timed delay in wgetch()"));
            if (sp->_cbreak > 1)
                delay = (sp->_cbreak - 1) * 100;
-           else if (win->_notimeout)
-               delay = 0;
            else
                delay = win->_delay;
 
@@ -539,7 +537,7 @@ _nc_wgetch(WINDOW *win,
        int runcount = 0;
 
        do {
-           ch = kgetch(sp EVENTLIST_2nd(evl));
+           ch = kgetch(sp, win->_notimeout EVENTLIST_2nd(evl));
            if (ch == KEY_MOUSE) {
                ++runcount;
                if (sp->_mouse_inline(sp))
@@ -651,7 +649,7 @@ wgetch_events(WINDOW *win, _nc_eventlist * evl)
     int code;
     int value;
 
-    T((T_CALLED("wgetch_events(%p,%p)"), (void *) win, (void *)evl));
+    T((T_CALLED("wgetch_events(%p,%p)"), (void *) win, (void *) evl));
     code = _nc_wgetch(win,
                      &value,
                      _nc_use_meta(win)
@@ -694,11 +692,11 @@ wgetch(WINDOW *win)
 */
 
 static int
-kgetch(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl))
+kgetch(SCREEN *sp, bool forever EVENTLIST_2nd(_nc_eventlist * evl))
 {
     TRIES *ptr;
     int ch = 0;
-    int timeleft = GetEscdelay(sp);
+    int timeleft = forever ? 9999999 : GetEscdelay(sp);
 
     TR(TRACE_IEVENT, ("kgetch() called"));
 
index 751751987fac6e78c459d0db65167197b0f70f8c..003a1872b1863fb807ae91d233716a0f9ab34ad6 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20160604) unstable; urgency=low
+ncurses6 (6.0+20160611) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 04 Jun 2016 07:00:51 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 11 Jun 2016 08:32:48 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 751751987fac6e78c459d0db65167197b0f70f8c..003a1872b1863fb807ae91d233716a0f9ab34ad6 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20160604) unstable; urgency=low
+ncurses6 (6.0+20160611) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 04 Jun 2016 07:00:51 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 11 Jun 2016 08:32:48 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 520789fdeb5ededc06d4122409fc55fcae3b001a..6eff57a05df311ad9188f1c2b023ab11a8f8039e 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20160604) unstable; urgency=low
+ncurses6 (6.0+20160611) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 04 Jun 2016 07:00:51 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 11 Jun 2016 08:32:48 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index fd16f725c5aa7a7386ac2f10ed732e7de3c661b5..9bb7ded476ddbcb0cc04b739edf738cc198b6294 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.161 2016/06/04 11:00:51 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.162 2016/06/11 12:32:48 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "0"\r
 !define VERSION_YYYY  "2016"\r
-!define VERSION_MMDD  "0604"\r
+!define VERSION_MMDD  "0611"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 82a2280398928f5e1c16e52ea08084f9d8bb257b..7e654bbedb4096ea513e9e3eab8e7fe3b966435c 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.0
-Release: 20160604
+Release: 20160611
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 296e81f1a5b2b3000d42b2e9a02255b6024c71ab..8e7bcb2404152b014158b553c66b00d58938e292 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.0
-Release: 20160604
+Release: 20160611
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 134788994159e79bc62279d896ed6774e23ce4b0..9f446f5c76233c1cd3b4ab49781e8828eeec30dc 100644 (file)
@@ -48,7 +48,7 @@
 #include <parametrized.h>
 #include <transform.h>
 
-MODULE_ID("$Id: tic.c,v 1.221 2016/01/02 20:04:37 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.222 2016/06/11 23:20:55 tom Exp $")
 
 #define STDIN_NAME "<stdin>"
 
@@ -2274,7 +2274,7 @@ check_conflict(TERMTYPE *tp)
 static void
 check_exit_attribute(const char *name, char *test, char *trimmed, char *untrimmed)
 {
-    if (VALID_STRING(test)) {
+    if (VALID_STRING(test) && (trimmed != 0)) {
        if (similar_sgr(-1, trimmed, test) ||
            similar_sgr(-1, untrimmed, test)) {
            _nc_warning("%s matches exit_attribute_mode", name);
index 1d168e37085400846be966b88b6a9313b24a8c17..5402c4f9ef1b35c419e39fbd5e114574ffc9786e 100644 (file)
@@ -36,7 +36,7 @@
  *****************************************************************************/
 
 /*
- * $Id: blue.c,v 1.44 2016/04/16 23:20:09 tom Exp $
+ * $Id: blue.c,v 1.45 2016/06/12 00:17:37 tom Exp $
  */
 
 #include <test.priv.h>
@@ -209,7 +209,7 @@ printcard(int value)
        addch(ranks[isuit][0] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
        addch(ranks[isuit][1] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
 
-       attr_on(color, NULL);
+       attron(color);
 #if USE_WIDEC_SUPPORT
        {
            wchar_t values[2];
@@ -220,7 +220,7 @@ printcard(int value)
 #else
        addch((chtype) suits[which]);
 #endif
-       attr_off(color, NULL);
+       attroff(color);
     }
     (void) addch(' ');
 }
index 664311ccfb07da3805daff3b6df4ec8686df714e..5764dd75c2451d15da18f53507d7077e393995f8 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.437 2016/05/07 23:56:59 tom Exp $
+$Id: ncurses.c,v 1.438 2016/06/11 21:05:48 tom Exp $
 
 ***************************************************************************/
 
@@ -200,9 +200,9 @@ Repaint(void)
 }
 
 static bool
-isQuit(int c)
+isQuit(int c, bool escape)
 {
-    return ((c) == QUIT || (c) == ESCAPE);
+    return ((c) == QUIT || (escape && ((c) == ESCAPE)));
 }
 #define case_QUIT      QUIT: case ESCAPE
 
@@ -652,6 +652,8 @@ blocking_getch(GetchFlags flags, int delay)
     return ((delay < 0) && flags['t']);
 }
 
+#define ExitOnEscape() (flags[UChar('k')] && flags[UChar('t')])
+
 static void
 wgetch_help(WINDOW *win, GetchFlags flags)
 {
@@ -678,13 +680,16 @@ wgetch_help(WINDOW *win, GetchFlags flags)
     printw("Type any key to see its %s value.  Also:\n",
           flags['k'] ? "keypad" : "literal");
     for (n = 0; n < SIZEOF(help); ++n) {
+       const char *msg = help[n];
        int row = 1 + (int) (n % chk);
        int col = (n >= chk) ? COLS / 2 : 0;
-       int flg = ((strstr(help[n], "toggle") != 0)
-                  && (flags[UChar(*help[n])] != FALSE));
+       int flg = ((strstr(msg, "toggle") != 0)
+                  && (flags[UChar(*msg)] != FALSE));
+       if (*msg == '^' && ExitOnEscape())
+           msg = "^[,^q -- quit";
        if (flg)
            (void) standout();
-       MvPrintw(row, col, "%s", help[n]);
+       MvPrintw(row, col, "%s", msg);
        if (col == 0)
            clrtoeol();
        if (flg)
@@ -842,7 +847,7 @@ wgetch_test(unsigned level, WINDOW *win, int delay)
        if (c == ERR && blocking_getch(flags, delay)) {
            wprintw(win, "ERR");
            wgetch_wrap(win, first_y);
-       } else if (isQuit(c)) {
+       } else if (isQuit(c, ExitOnEscape())) {
            break;
        } else if (c == 'e') {
            flags[UChar('e')] = !flags[UChar('e')];
@@ -1098,7 +1103,7 @@ wget_wch_test(unsigned level, WINDOW *win, int delay)
        if (code == ERR && blocking_getch(flags, delay)) {
            wprintw(win, "ERR");
            wgetch_wrap(win, first_y);
-       } else if (isQuit((int) c)) {
+       } else if (isQuit((int) c, ExitOnEscape())) {
            break;
        } else if (c == 'e') {
            flags[UChar('e')] = !flags[UChar('e')];
@@ -2962,7 +2967,7 @@ color_edit(void)
        MvPrintw(LINES - 1, 0, "Number: %d", value);
        clrtoeol();
     } while
-       (!isQuit(this_c));
+       (!isQuit(this_c, TRUE));
 
     erase();
 
@@ -3222,7 +3227,7 @@ slk_test(void)
            beep();
            break;
        }
-    } while (!isQuit(c = Getchar()));
+    } while (!isQuit(c = Getchar(), TRUE));
 
   done:
     slk_clear();
@@ -3376,7 +3381,7 @@ wide_slk_test(void)
            beep();
            break;
        }
-    } while (!isQuit(c = Getchar()));
+    } while (!isQuit(c = Getchar(), TRUE));
 
   done:
     slk_clear();
@@ -3716,7 +3721,7 @@ acs_display(void)
                     my_list[at_code].name);
        }
        refresh();
-    } while (!isQuit(c = Getchar()));
+    } while (!isQuit(c = Getchar(), TRUE));
 
     Pause();
     erase();
@@ -4251,7 +4256,7 @@ wide_acs_display(void)
                     my_list[at_code].name);
        }
        refresh();
-    } while (!isQuit(c = Getchar()));
+    } while (!isQuit(c = Getchar(), TRUE));
 
     Pause();
     erase();
@@ -4865,7 +4870,7 @@ acs_and_scroll(void)
        usescr = frame_win(current);
        wrefresh(usescr);
     } while
-       (!isQuit(c = wGetchar(usescr))
+       (!isQuit(c = wGetchar(usescr), TRUE)
         && (c != ERR));
 
   breakout:
@@ -6757,7 +6762,7 @@ overlap_test(void)
     memset(flavor, 0, sizeof(flavor));
     state = overlap_help(0, flavor);
 
-    while (!isQuit(ch = Getchar()))
+    while (!isQuit(ch = Getchar(), TRUE))
        switch (ch) {
        case 'a':               /* refresh window A first, then B */
            overlap_test_0(win1, win2);
index b113e63fdf4c281f1a7730bc46dc72262367c8b4..aa7a649ba778415b1beedadb3dd401b866f102cf 100644 (file)
@@ -29,7 +29,7 @@
 /*
  * Author: Thomas E. Dickey
  *
- * $Id: test_sgr.c,v 1.6 2016/02/13 22:08:16 tom Exp $
+ * $Id: test_sgr.c,v 1.7 2016/06/11 23:15:03 tom Exp $
  *
  * A simple demo of the sgr/sgr0 terminal capabilities.
  */
@@ -203,7 +203,7 @@ brute_force(const char *name)
     } else if (!VALID_STRING(my_sgr0)) {
        fprintf(stderr, "no \"sgr0\" capability found\n");
     } else {
-       char *values[MAXSGR];
+       char *values[MAXSGR + MAXPAR];
        unsigned j;
        unsigned ignore = 0;
        unsigned reason = 0;