ncurses 6.1 - patch 20180922
authorThomas E. Dickey <dickey@invisible-island.net>
Sat, 22 Sep 2018 23:44:43 +0000 (23:44 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sat, 22 Sep 2018 23:44:43 +0000 (23:44 +0000)
+ ignore interrupted system-call in test/ncurses's command-line, e.g.,
  if the terminal were resized.
+ add shift/control/alt logic for decoding xterm's 1006 mode (Redhat
  #1610681, cf: 20141011).
+ modify rpm test-packages to not use --disable-relink with Redhat,
  since Fedora 28's tools do not work with that feature.

12 files changed:
NEWS
VERSION
dist.mk
ncurses/base/lib_mouse.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec
test/ncurses.c

diff --git a/NEWS b/NEWS
index f3a01908654fa9dacb6eb7f39b1af5e8086b68f9..5368fecb376f8b649bbf945aef29d71398dd335d 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.3185 2018/09/08 23:29:00 tom Exp $
+-- $Id: NEWS,v 1.3190 2018/09/22 21:23:32 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,14 @@ 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.
 
+20180922
+       + ignore interrupted system-call in test/ncurses's command-line, e.g.,
+         if the terminal were resized.
+       + add shift/control/alt logic for decoding xterm's 1006 mode (Redhat
+         #1610681, cf: 20141011).
+       + modify rpm test-packages to not use --disable-relink with Redhat,
+         since Fedora 28's tools do not work with that feature.
+
 20180908
        + document --with-pcre2 configure option in INSTALL.
        + improve workaround for special case in PutAttrChar() where a cell is
diff --git a/VERSION b/VERSION
index 809a5c17b04ae3f3ccfc1f7d719f713996020108..be2fce2211c49855e2860d30c99ccf00e548a462 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.1     20180908
+5:0:10 6.1     20180922
diff --git a/dist.mk b/dist.mk
index c0884de6e40a4a062c6c68a3c76278ffa050112a..aa5fe3ea1f46e85829a790bad205dca459e9586e 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.1240 2018/09/08 14:15:19 tom Exp $
+# $Id: dist.mk,v 1.1242 2018/09/22 16:36:59 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 = 1
-NCURSES_PATCH = 20180908
+NCURSES_PATCH = 20180922
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 8a0e4c1f32320e7fd6eed52aa7785b847ca2b641..f703a24f40f35adff9cdedc38de9230a3190ac56 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2017,2018 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            *
@@ -84,7 +84,7 @@
 #define CUR SP_TERMTYPE
 #endif
 
-MODULE_ID("$Id: lib_mouse.c,v 1.176 2017/11/18 22:12:06 Vassili.Courzakis Exp $")
+MODULE_ID("$Id: lib_mouse.c,v 1.177 2018/09/22 19:54:21 tom Exp $")
 
 #include <tic.h>
 
@@ -956,6 +956,7 @@ decode_X10_bstate(SCREEN *sp, MEVENT * eventp, unsigned intro)
 {
     bool result;
 
+    _tracef("decode_X10_bstate %#x", intro);
     eventp->bstate = 0;
 
     if (!handle_wheel(sp, eventp, (int) intro, (intro & 96) == 96)) {
@@ -1276,6 +1277,15 @@ decode_xterm_SGR1006(SCREEN *sp, MEVENT * eventp)
            } else {
                eventp->bstate = REPORT_MOUSE_POSITION;
            }
+           if (b & 4) {
+               eventp->bstate |= BUTTON_SHIFT;
+           }
+           if (b & 8) {
+               eventp->bstate |= BUTTON_ALT;
+           }
+           if (b & 16) {
+               eventp->bstate |= BUTTON_CTRL;
+           }
        }
        result = (eventp->bstate & REPORT_MOUSE_POSITION) ? TRUE : FALSE;
        eventp->x = (data.params[1] ? (data.params[1] - 1) : 0);
index 48656bb6fdb98952d1947249c2a9c415417f7aa1..fa36f6c78798d07041a75518b94908ec8f915ef2 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20180908) unstable; urgency=low
+ncurses6 (6.1+20180922) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 08 Sep 2018 10:15:19 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 22 Sep 2018 12:36:59 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 48656bb6fdb98952d1947249c2a9c415417f7aa1..fa36f6c78798d07041a75518b94908ec8f915ef2 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20180908) unstable; urgency=low
+ncurses6 (6.1+20180922) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 08 Sep 2018 10:15:19 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 22 Sep 2018 12:36:59 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 39a866121b0ead7bde36f03843802ec2b3025c65..f85c5ef0476550faed5086dbc48a52c778e6c61f 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20180908) unstable; urgency=low
+ncurses6 (6.1+20180922) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 08 Sep 2018 10:15:19 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 22 Sep 2018 12:36:59 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 04b737a0f8642b63f4fb0336431e514943258bea..e1296a4c8c9fe5dee5617335ee98974ee2784e7c 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.287 2018/09/08 14:15:19 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.289 2018/09/22 16:36:59 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 "1"\r
 !define VERSION_YYYY  "2018"\r
-!define VERSION_MMDD  "0908"\r
+!define VERSION_MMDD  "0922"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index fd89e74ffcdc67a9209962e109eafa76d0e5dad3..a3ef00d497751bdeacf365fd93c68600b574c818 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.1
-Release: 20180908
+Release: 20180922
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index e60ee53b4b7ce53829ca34a3f0750886e0b9dde4..bd5d66527c4a767ef5117b67dd703bb80be2732e 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.1
-Release: 20180908
+Release: 20180922
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
@@ -44,10 +44,16 @@ This package is used for testing ABI %{MY_ABI}.
 %define _disable_ld_build_id 1
 %endif
 
+%if %{is_redhat}
+# workaround for toolset breakage in Fedora 28
+%define _test_relink --enable-relink
+%else
+%define _test_relink --disable-relink
+%endif
+
 %setup -q -n ncurses-%{version}-%{release}
 
 %build
-%define my_srcdir ..
 %define CFG_OPTS \\\
        --target %{_target_platform} \\\
        --prefix=%{_prefix} \\\
@@ -60,7 +66,7 @@ This package is used for testing ABI %{MY_ABI}.
        --disable-leaks \\\
        --disable-macros  \\\
        --disable-overwrite  \\\
-       --disable-relink  \\\
+       %{_test_relink}  \\\
        --disable-termcap \\\
        --enable-hard-tabs \\\
        --enable-opaque-curses \\\
@@ -97,6 +103,7 @@ This package is used for testing ABI %{MY_ABI}.
 CFLAGS="%{CC_NORMAL}" \
 RPATH_LIST=../lib:%{_libdir} \
 %configure %{CFG_OPTS}
+
 make
 
 %install
index 42471d81b5f5850d12bb6044c550b82869206c44..66cce44398e827f20735dc9cbbcfc9ee2193c5b5 100644 (file)
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.1
-Release: 20180908
+Release: 20180922
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
@@ -44,6 +44,13 @@ This package is used for testing ABI %{MY_ABI} with POSIX threads.
 %define _disable_ld_build_id 1
 %endif
 
+%if %{is_redhat}
+# workaround for toolset breakage in Fedora 28
+%define _test_relink --enable-relink
+%else
+%define _test_relink --disable-relink
+%endif
+
 %setup -q -n ncurses-%{version}-%{release}
 
 %build
@@ -60,7 +67,7 @@ This package is used for testing ABI %{MY_ABI} with POSIX threads.
        --disable-leaks \\\
        --disable-macros  \\\
        --disable-overwrite  \\\
-       --disable-relink  \\\
+       %{_test_relink}  \\\
        --disable-termcap \\\
        --enable-hard-tabs \\\
        --enable-opaque-curses \\\
index 9c7516896cf1b0e4fa476bec8e47620068e9ebb3..c9367296ace95f6ea3be339a00aa3f44ae2803fa 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.507 2018/06/23 21:35:06 tom Exp $
+$Id: ncurses.c,v 1.508 2018/09/22 21:21:43 tom Exp $
 
 ***************************************************************************/
 
@@ -7775,6 +7775,10 @@ main_menu(bool top)
            if (read(fileno(stdin), &ch, (size_t) 1) <= 0) {
                if (command == 0)
                    command = 'q';
+               if (errno == EINTR) {
+                   clearerr(stdin);
+                   continue;
+               }
                break;
            } else if (command == 0 && !isspace(UChar(ch))) {
                command = ch;