Hello community,

here is the log from the commit of package ncurses for openSUSE:Factory checked 
in at 2015-12-13 09:34:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ncurses (Old)
 and      /work/SRC/openSUSE:Factory/.ncurses.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ncurses"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ncurses/ncurses.changes  2015-11-22 
10:57:40.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ncurses.new/ncurses.changes     2015-12-13 
09:34:23.000000000 +0100
@@ -1,0 +2,21 @@
+Mon Nov 30 09:14:08 UTC 2015 - wer...@suse.de
+
+- Add ncurses patch 20151128
+  + add missing assignment in lib_getch.c to make notimeout() work
+    (Debian #805618).
+  + add 't' toggle for notimeout() function in test/ncurses.c a/A screens
+  + add viewdata terminal description (Alexandre Montaron).
+  + fix a case in tic/infocmp for formatting capabilities where a
+    backslash at the end of a string was mishandled.
+  + fix some typos in curs_inopts.3x (Benno Schulenberg).
+
+-------------------------------------------------------------------
+Mon Nov 23 13:03:09 UTC 2015 - wer...@suse.de
+
+- Add ncurses patch 20151121
+  + fix some inconsistencies in the pccon* entries -TD
+  + add bold to pccon+sgr+acs and pccon-base (Tati Chevron).
+  + add keys f12-f124 to pccon+keys (Tati Chevron).
+  + add test/test_sgr.c program to exercise all combinations of sgr.
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ncurses-6.0-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches/ncurses-6.0-20151121.patch 
new/patches/ncurses-6.0-20151121.patch
--- old/patches/ncurses-6.0-20151121.patch      1970-01-01 01:00:00.000000000 
+0100
+++ new/patches/ncurses-6.0-20151121.patch      2015-11-23 14:02:33.000000000 
+0100
@@ -0,0 +1,720 @@
+# ncurses 6.0 - patch 20151121 - Thomas E. Dickey
+#
+# 
------------------------------------------------------------------------------
+#
+# Ncurses 6.0 is at
+#      ftp.gnu.org:/pub/gnu
+#
+# Patches for ncurses 6.0 can be found at
+#      ftp://invisible-island.net/ncurses/6.0
+#      http://invisible-mirror.net/archives/ncurses/6.0 
+#
+# 
------------------------------------------------------------------------------
+# ftp://invisible-island.net/ncurses/6.0/ncurses-6.0-20151121.patch.gz
+# patch by Thomas E. Dickey <dic...@invisible-island.net>
+# created  Sun Nov 22 02:17:21 UTC 2015
+# 
------------------------------------------------------------------------------
+# MANIFEST                             |    1 
+# NEWS                                 |    8 
+# VERSION                              |    2 
+# dist.mk                              |    4 
+# man/curs_bkgd.3x                     |    3 
+# misc/terminfo.src                    |   56 +++--
+# ncurses-6.0-20151121/test/test_sgr.c |  363 +++++++++++++++++++++++++++++++++
+# package/debian-mingw/changelog       |    4 
+# package/debian-mingw64/changelog     |    4 
+# package/debian/changelog             |    4 
+# package/mingw-ncurses.nsi            |    4 
+# package/mingw-ncurses.spec           |    2 
+# package/ncurses.spec                 |    2 
+# test/modules                         |    3 
+# test/programs                        |    3 
+# 15 files changed, 428 insertions(+), 35 deletions(-)
+# 
------------------------------------------------------------------------------
+Index: MANIFEST
+--- ncurses-6.0-20151107+/MANIFEST     2015-06-27 19:49:54.000000000 +0000
++++ ncurses-6.0-20151121/MANIFEST      2015-11-22 01:12:19.000000000 +0000
+@@ -1162,6 +1162,7 @@
+ ./test/test_inwstr.c
+ ./test/test_opaque.c
+ ./test/test_setupterm.c
++./test/test_sgr.c
+ ./test/test_vid_puts.c
+ ./test/test_vidputs.c
+ ./test/testaddch.c
+Index: NEWS
+Prereq:  1.2526 
+--- ncurses-6.0-20151107+/NEWS 2015-11-08 01:57:15.000000000 +0000
++++ ncurses-6.0-20151121/NEWS  2015-11-21 23:33:30.000000000 +0000
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written        
--
+ -- authorization.                                                            
--
+ 
-------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.2526 2015/11/08 01:57:15 tom Exp $
++-- $Id: NEWS,v 1.2530 2015/11/21 23:33:30 tom Exp $
+ 
-------------------------------------------------------------------------------
+ 
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -45,6 +45,12 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+ 
++20151121
++      + fix some inconsistencies in the pccon* entries -TD
++      + add bold to pccon+sgr+acs and pccon-base (Tati Chevron).
++      + add keys f12-f124 to pccon+keys (Tati Chevron).
++      + add test/test_sgr.c program to exercise all combinations of sgr.
++
+ 20151107
+       + modify tset's assignment to TERM in its output to reflect the name by
+         which the terminal description is found, rather than the primary
+Index: VERSION
+--- ncurses-6.0-20151107+/VERSION      2015-11-06 00:44:10.000000000 +0000
++++ ncurses-6.0-20151121/VERSION       2015-11-21 15:55:51.000000000 +0000
+@@ -1 +1 @@
+-5:0:9 6.0     20151107
++5:0:9 6.0     20151121
+Index: dist.mk
+Prereq:  1.1078 
+--- ncurses-6.0-20151107+/dist.mk      2015-11-06 00:44:10.000000000 +0000
++++ ncurses-6.0-20151121/dist.mk       2015-11-21 15:55:51.000000000 +0000
+@@ -25,7 +25,7 @@
+ # use or other dealings in this Software without prior written               #
+ # authorization.                                                             #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1078 2015/11/06 00:44:10 tom Exp $
++# $Id: dist.mk,v 1.1080 2015/11/21 15:55:51 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -37,7 +37,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 6
+ NCURSES_MINOR = 0
+-NCURSES_PATCH = 20151107
++NCURSES_PATCH = 20151121
+ 
+ # We don't append the patch to the version, since this only applies to 
releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: man/curs_bkgd.3x
+Prereq:  1.23 
+--- ncurses-6.0-20151107+/man/curs_bkgd.3x     2015-07-21 00:11:05.000000000 
+0000
++++ ncurses-6.0-20151121/man/curs_bkgd.3x      2015-11-21 01:53:42.000000000 
+0000
+@@ -26,7 +26,7 @@
+ .\" authorization.                                                           *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_bkgd.3x,v 1.23 2015/07/21 00:11:05 tom Exp $
++.\" $Id: curs_bkgd.3x,v 1.24 2015/11/21 01:53:42 tom Exp $
+ .de bP
+ .IP \(bu 4
+ ..
+@@ -76,7 +76,6 @@
+ .bP
+ Wherever the former background character
+ appears, it is changed to the new background character.
+-.RE
+ .SS getbkgd
+ .PP
+ The \fBgetbkgd\fR function returns the given window's current background
+Index: misc/terminfo.src
+--- ncurses-6.0-20151107+/misc/terminfo.src    2015-10-24 17:56:55.000000000 
+0000
++++ ncurses-6.0-20151121/misc/terminfo.src     2015-11-22 01:01:00.000000000 
+0000
+@@ -6,8 +6,8 @@
+ # Report bugs and new terminal descriptions to
+ #     bug-ncur...@gnu.org
+ #
+-#     $Revision: 1.554 $
+-#     $Date: 2015/10/24 16:00:04 $
++#     $Revision: 1.558 $
++#     $Date: 2015/11/22 01:01:00 $
+ #
+ # 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
+@@ -1277,7 +1277,7 @@
+ # + kLFT5/kRIT5 work, but not up/down with control-modifier
+ # + kLFT/kRIT work, but not up/down with shift-modifier
+ # + there are a few predefined bindings with Alt, but no clear pattern.
+-# + uses alt-key as UTF-8 "meta" something like xterm altSendsEscape 
++# + uses alt-key as UTF-8 "meta" something like xterm altSendsEscape
+ # Using ncurses test-program with xterm-new:
+ # + no italics
+ # Using xterm's scripts:
+@@ -2211,37 +2211,52 @@
+ # Added several capabilities to pccon+base, reading wsemul_vt100_subr.c -TD
+ # Changed kbs to DEL and removed keys that duplicate stty settings -TD
+ #
++# Notes from testing with vttest:
++#     fails wrapping test
++#     no 8-bit controls
++#     identifies as vt200 with selective erase, but does not implement DECSCA
++#     no vt52 mode
++#     also lacks these:
++#             ESC # 8   DEC Screen Alignment Test (DECALN).
++#             CSI ? 5 h Reverse Video (DECSCNM).
++#
+ pccon+keys|OpenBSD PC keyboard keys,
+       kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=\E[3~, kend=\E[8~, kent=^M, kf1=\E[11~, kf10=\E[21~,
+-      kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
++      kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
++      kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
++      kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf21=\E[35~,
++      kf22=\E[36~, kf23=\E[37~, kf24=\E[38~, kf3=\E[13~,
+       kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+       kf9=\E[20~, khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+       krfr=^R,
+ pccon+sgr+acs0|sgr and simple ASCII pseudographics for OpenBSD PC console,
+       acsc=+>\,<-\^.v0#`+a\:f\\h#i#j+k+l+m+n+o~p-q-r-s_t+u+v+w+x|y#z#{*|!}#~o,
+-      sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m,
++      sgr=\E[0%?%p1%p3%|%t;7%;%?%p6%t;1%;%?%p2%t;4%;m,
++      sgr0=\E[m,
+ pccon+sgr+acs|sgr and default ASCII pseudographics for OpenBSD PC console,
+       acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       enacs=\E)0$<5>, rmacs=\E(B$<5>,
+-      sgr=\E[0%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<5>,
++      sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+       sgr0=\E[m\E(B$<5>, smacs=\E(0$<5>,
++# underline renders as color
+ pccon+colors|ANSI colors for OpenBSD PC console,
+       bce,
+-      colors#8, pairs#64,
+-      op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++      colors#8, ncv#2, pairs#64,
++      op=\E[47;30m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+ pccon+base|base capabilities for OpenBSD PC console,
+       am, km, mc5i, msgr, npc, nxon, xenl, xon,
+       cols#80, it#8, lines#24,
+-      bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+-      cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+-      dch1=\E[P, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+-      el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
++      bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J,
++      cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
++      dch=\E[%p1%dP, dch1=\E[P, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J,
++      el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+       il1=\E[L, ind=\ED, nel=\EE, rev=\E[7m, ri=\EM, rmam=\E[?7l,
+-      rmso=\E[m, rs2=\Ec$<50>, smam=\E[?7h, smso=\E[7m,
+-      tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
++      rmso=\E[27m, rmul=\E[24m, rs2=\Ec$<50>, smam=\E[?7h,
++      smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR,
++      u7=\E[6n,
+ pccon0-m|OpenBSD PC console without colors & with simple ASCII pseudographics,
+-      use=pccon+base, use=pccon+sgr+acs0, use=pccon+keys,
++      use=pccon+sgr+acs0, use=pccon+base, use=pccon+keys,
+ pccon0|OpenBSD PC console with simple ASCII pseudographics,
+       use=pccon0-m, use=pccon+colors,
+ pccon-m|OpenBSD PC console without colors,
+@@ -9750,7 +9765,7 @@
+ # (800)-800-WYSE (option 5 gets you a human).  There's a Web page at the
+ # obvious address, <http://www.wyse.com>.  They keep terminfo entries at
+ # 
https://web.archive.org/web/19970712022641/http://www.wyse.co.uk/support/appnotes/idxappnt.htm
+-# 
++#
+ #
+ # Wyse bought out Link Technology, Inc. in 1990 and closed it down in 1995.
+ # They now own the Qume and Amdek brands, too.  So these are the people to
+@@ -23767,7 +23782,14 @@
+ #     + updated minitel entries to fix kel problem with emacs, and add
+ #       minitel1b-nb (Alexandre Montaron).
+ #     + reviewed/updated nsterm entry Terminal.app in OSX -TD
+-#     + replace some dead URLs in comments with equivalents from the
++#     + replace some dead URLs in commands with equivalents from the
+ #       Internet Archive -TD
+ #
++# 2015-11-14
++#     + add bold to pccon+sgr+acs and pccon-base (Tati Chevron).
++#     + add keys f12-f124 to pccon+keys (Tati Chevron).
++#
++# 2015-11-21
++#     + fix some inconsistencies in the pccon* entries -TD
++#
+ ######## SHANTIH!  SHANTIH!  SHANTIH!
+Index: package/debian-mingw/changelog
+--- ncurses-6.0-20151107+/package/debian-mingw/changelog       2015-11-06 
00:44:10.000000000 +0000
++++ ncurses-6.0-20151121/package/debian-mingw/changelog        2015-11-21 
15:55:51.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.0+20151107) unstable; urgency=low
++ncurses6 (6.0+20151121) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Thu, 05 Nov 2015 19:44:10 
-0500
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 21 Nov 2015 10:55:51 
-0500
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian-mingw64/changelog
+--- ncurses-6.0-20151107+/package/debian-mingw64/changelog     2015-11-06 
00:44:10.000000000 +0000
++++ ncurses-6.0-20151121/package/debian-mingw64/changelog      2015-11-21 
15:55:51.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.0+20151107) unstable; urgency=low
++ncurses6 (6.0+20151121) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Thu, 05 Nov 2015 19:44:10 
-0500
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 21 Nov 2015 10:55:51 
-0500
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian/changelog
+--- ncurses-6.0-20151107+/package/debian/changelog     2015-11-06 
00:44:10.000000000 +0000
++++ ncurses-6.0-20151121/package/debian/changelog      2015-11-21 
15:55:51.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.0+20151107) unstable; urgency=low
++ncurses6 (6.0+20151121) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Thu, 05 Nov 2015 19:44:10 
-0500
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 21 Nov 2015 10:55:51 
-0500
+ 
+ ncurses6 (5.9-20120608) unstable; urgency=low
+ 
+Index: package/mingw-ncurses.nsi
+Prereq:  1.131 
+--- ncurses-6.0-20151107+/package/mingw-ncurses.nsi    2015-11-06 
00:44:10.000000000 +0000
++++ ncurses-6.0-20151121/package/mingw-ncurses.nsi     2015-11-21 
15:55:51.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.131 2015/11/06 00:44:10 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.133 2015/11/21 15:55:51 tom Exp $
+ 
+ ; TODO add examples
+ ; TODO bump ABI to 6
+@@ -10,7 +10,7 @@
+ !define VERSION_MAJOR "6"
+ !define VERSION_MINOR "0"
+ !define VERSION_YYYY  "2015"
+-!define VERSION_MMDD  "1107"
++!define VERSION_MMDD  "1121"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+ 
+ !define MY_ABI   "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.0-20151107+/package/mingw-ncurses.spec   2015-11-06 
00:44:10.000000000 +0000
++++ ncurses-6.0-20151121/package/mingw-ncurses.spec    2015-11-21 
15:55:51.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.0
+-Release: 20151107
++Release: 20151121
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncurses.spec
+--- ncurses-6.0-20151107+/package/ncurses.spec 2015-11-06 00:44:10.000000000 
+0000
++++ ncurses-6.0-20151121/package/ncurses.spec  2015-11-21 15:55:51.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.0
+-Release: 20151107
++Release: 20151121
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: test/modules
+Prereq:  1.52 
+--- ncurses-6.0-20151107+/test/modules 2015-06-27 10:40:27.000000000 +0000
++++ ncurses-6.0-20151121/test/modules  2015-11-21 16:05:48.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: modules,v 1.52 2015/06/27 10:40:27 tom Exp $
++# $Id: modules,v 1.53 2015/11/21 16:05:48 tom Exp $
+ ##############################################################################
+ # Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+ #                                                                            #
+@@ -90,6 +90,7 @@
+ test_inwstr   progs           $(srcdir)       $(HEADER_DEPS)
+ test_opaque   progs           $(srcdir)       $(HEADER_DEPS)
+ test_setupterm        progs           $(srcdir)       $(HEADER_DEPS)
++test_sgr      progs           $(srcdir)       $(HEADER_DEPS)
+ test_vid_puts progs           $(srcdir)       $(HEADER_DEPS)
+ test_vidputs  progs           $(srcdir)       $(HEADER_DEPS)
+ testaddch     progs           $(srcdir)       $(HEADER_DEPS)
+Index: test/programs
+Prereq:  1.26 
+--- ncurses-6.0-20151107+/test/programs        2015-06-27 10:40:53.000000000 
+0000
++++ ncurses-6.0-20151121/test/programs 2015-11-21 16:06:12.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: programs,v 1.26 2015/06/27 10:40:53 tom Exp $
++# $Id: programs,v 1.27 2015/11/21 16:06:12 tom Exp $
+ ##############################################################################
+ # Copyright (c) 2006-2014,2015 Free Software Foundation, Inc.                #
+ #                                                                            #
+@@ -87,6 +87,7 @@
+ test_inwstr   $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_inwstr
+ test_opaque   $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_opaque
+ test_setupterm        $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_setupterm
++test_sgr      $(LDFLAGS_TINFO)        $(LOCAL_LIBS)   test_sgr
+ test_vid_puts $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_vid_puts
+ test_vidputs  $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   test_vidputs
+ testaddch     $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   testaddch
+Index: test/test_sgr.c
+--- /dev/null  2015-11-21 12:05:05.835999855 +0000
++++ ncurses-6.0-20151121/test/test_sgr.c       2015-11-21 22:43:50.000000000 
+0000
+@@ -0,0 +1,363 @@
++/****************************************************************************
++ * Copyright (c) 2015 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            *
++ * "Software"), to deal in the Software without restriction, including      *
++ * without limitation the rights to use, copy, modify, merge, publish,      *
++ * distribute, distribute with modifications, sublicense, and/or sell       *
++ * copies of the Software, and to permit persons to whom the Software is    *
++ * furnished to do so, subject to the following conditions:                 *
++ *                                                                          *
++ * The above copyright notice and this permission notice shall be included  *
++ * in all copies or substantial portions of the Software.                   *
++ *                                                                          *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
++ *                                                                          *
++ * Except as contained in this notice, the name(s) of the above copyright   *
++ * holders shall not be used in advertising or otherwise to promote the     *
++ * sale, use or other dealings in this Software without prior written       *
++ * authorization.                                                           *
++ ****************************************************************************/
++
++/*
++ * Author: Thomas E. Dickey
++ *
++ * $Id: test_sgr.c,v 1.4 2015/11/21 22:43:50 tom Exp $
++ *
++ * A simple demo of the sgr/sgr0 terminal capabilities.
++ */
++#define USE_TINFO
++#include <test.priv.h>
++
++static void failed(const char *) GCC_NORETURN;
++
++static void
++failed(const char *msg)
++{
++    fprintf(stderr, "%s\n", msg);
++    ExitProgram(EXIT_FAILURE);
++}
++
++#if HAVE_TIGETSTR
++
++static bool q_opt = FALSE;
++
++static char *d_opt;
++static char *e_opt;
++static char **db_list;
++static int db_item;
++
++static long total_values;
++
++static char *
++make_dbitem(char *p, char *q)
++{
++    char *result = malloc(strlen(e_opt) + 2 + (size_t) (p - q));
++    sprintf(result, "%s=%.*s", e_opt, (int) (p - q), q);
++    return result;
++}
++
++static void
++make_dblist(void)
++{
++    if (d_opt && e_opt) {
++      int pass;
++
++      for (pass = 0; pass < 2; ++pass) {
++          char *p, *q;
++          size_t count = 0;
++
++          for (p = q = d_opt; *p != '\0'; ++p) {
++              if (*p == ':') {
++                  if (p != q + 1) {
++                      if (pass) {
++                          db_list[count] = make_dbitem(p, q);
++                      }
++                      count++;
++                  }
++                  q = p + 1;
++              }
++          }
++          if (p != q + 1) {
++              if (pass) {
++                  db_list[count] = make_dbitem(p, q);
++              }
++              count++;
++          }
++          if (!pass) {
++              db_list = typeCalloc(char *, count + 1);
++          }
++      }
++    }
++}
++
++static char *
++next_dbitem(void)
++{
++    char *result = 0;
++
++    if (db_list) {
++      if ((result = db_list[db_item]) == 0) {
++          db_item = 0;
++          result = db_list[0];
++      } else {
++          db_item++;
++      }
++    }
++    printf("** %s\n", result);
++    return result;
++}
++
++#ifdef NO_LEAKS
++static void
++free_dblist(void)
++{
++    if (db_list) {
++      int n;
++      for (n = 0; db_list[n]; ++n)
++          free(db_list[n]);
++      free(db_list);
++      db_list = 0;
++    }
++}
++#endif
++
++#define MAXPAR    9
++#define MAXSGR    (1 << MAXPAR)
++#define BITS2P(n) (count & (1 << (n - 1)))
++#define MASK_SMSO (1 << 0)
++#define MASK_BOLD (1 << 5)
++#define MASK_REV  (1 << 2)
++
++static void
++dumpit(unsigned bits, unsigned ignore, const char *sgr, const char *sgr0)
++{
++    static const char sample[] = "abcdefghijklm";
++    static char params[] = "SURBDBIPA";
++    unsigned n;
++
++    printf("%4d ", bits);
++    bits &= ~ignore;
++    for (n = 0; n < MAXPAR; ++n) {
++      putchar((bits & (1 << n)) ? params[n] : '-');
++    }
++    putchar(' ');
++    putp(sgr);
++    putp(sample);
++    putp(sgr0);
++    putchar('\n');
++}
++
++static bool
++one_bit(unsigned a, unsigned b)
++{
++    unsigned c = (a ^ b);
++    bool result = FALSE;
++    if (c) {
++      while (!(c & 1)) {
++          c >>= 1;
++      }
++      result = (c == 1);
++    }
++    return result;
++}
++
++static void
++brute_force(const char *name)
++{
++    unsigned count;
++    char *my_sgr;
++    char *my_sgr0;
++    char *my_bold;
++    char *my_revs;
++    char *my_smso;
++
++    if (db_list) {
++      putenv(next_dbitem());
++    }
++    if (!q_opt)
++      printf("Terminal type \"%s\"\n", name);
++    setupterm((NCURSES_CONST char *) name, 1, (int *) 0);
++    if (!q_opt) {
++      if (strcmp(name, ttytype))
++          printf("... actual \"%s\"\n", ttytype);
++    }
++
++    my_sgr = tigetstr("sgr");
++    my_sgr0 = tigetstr("sgr0");
++    my_bold = tigetstr("bold");
++    my_revs = tigetstr("rev");
++    my_smso = tigetstr("smso");
++
++    if (!VALID_STRING(my_sgr)) {
++      fprintf(stderr, "no \"sgr\" capability found\n");
++    } else if (!VALID_STRING(my_sgr0)) {
++      fprintf(stderr, "no \"sgr0\" capability found\n");
++    } else {
++      char *values[MAXSGR];
++      unsigned j;
++      unsigned ignore = 0;
++      unsigned reason = 0;
++      unsigned repeat = 0;
++      for (count = 0; count < MAXSGR; ++count) {
++          values[count] = tparm(my_sgr,
++                                BITS2P(1),
++                                BITS2P(2),
++                                BITS2P(3),
++                                BITS2P(4),
++                                BITS2P(5),
++                                BITS2P(6),
++                                BITS2P(7),
++                                BITS2P(8),
++                                BITS2P(9));
++          if (values[count] != 0) {
++              values[count] = strdup(values[count]);
++          }
++      }
++      for (count = 0; count < MAXSGR; ++count) {
++          if (values[count] != 0) {
++              for (j = count + 1; j < MAXSGR; ++j) {
++                  if (values[j] == 0)
++                      continue;
++                  if (strcmp(values[count], values[j]))
++                      continue;
++                  if (one_bit(count, j)) {
++                      free(values[j]);
++                      values[j] = 0;
++                  }
++              }
++          }
++      }
++      for (j = 0; j < MAXPAR; ++j) {
++          unsigned mask = (1 << j);
++          for (count = 0; count < MAXSGR; ++count) {
++              if ((count & mask) != 0)
++                  continue;
++              if (values[count] != 0 && values[count + mask] != 0) {
++                  mask = 0;
++                  break;
++              }
++          }
++          ignore |= mask;
++      }
++      /* smso is tested first, but often duplicates bold or reverse. */
++      if (VALID_STRING(my_smso)) {
++          if (VALID_STRING(my_bold) && !strcmp(my_bold, my_smso)) {
++              repeat |= MASK_SMSO;
++              reason = MASK_BOLD;
++          }
++          if (VALID_STRING(my_revs) && !strcmp(my_revs, my_smso)) {
++              repeat |= MASK_SMSO;
++              reason = MASK_REV;
++          }
++      }
++      for (count = 0; count < MAXSGR; ++count) {
++          if (values[count] != 0) {
++              bool found = FALSE;
++              if ((repeat & MASK_SMSO) != 0
++                  && (count & MASK_SMSO) != 0) {
++                  found = TRUE;
++              } else {
++                  for (j = 0; j < count; ++j) {
++                      if (values[j] != 0 && !strcmp(values[j], 
values[count])) {
++                          if ((repeat & MASK_SMSO) != 0
++                              && (j & MASK_SMSO) != 0
++                              && (count & reason) != 0) {
++                              continue;
++                          }
++                          found = TRUE;
++                          break;
++                      }
++                  }
++              }
++              if (!found) {
++                  dumpit(count, ignore, values[count], my_sgr0);
++                  ++total_values;
++              }
++          }
++      }
++    }
++    del_curterm(cur_term);
++}
++
++static void
++usage(void)
++{
++    static const char *msg[] =
++    {
++      "Usage: test_sgr [options] [terminal]",
++      "",
++      "Print all distinct combinations of sgr capability.",
++      "",
++      "Options:",
++      " -d LIST  colon-separated list of databases to use",
++      " -e NAME  environment variable to set with -d option",
++      " -q       quiet (prints only counts)",
++    };
++    unsigned n;
++    for (n = 0; n < SIZEOF(msg); ++n) {
++      fprintf(stderr, "%s\n", msg[n]);
++    }
++    ExitProgram(EXIT_FAILURE);
++}
++
++int
++main(int argc, char *argv[])
++{
++    int n;
++    char *name;
++
++    while ((n = getopt(argc, argv, "d:e:q")) != -1) {
++      switch (n) {
++      case 'd':
++          d_opt = optarg;
++          break;
++      case 'e':
++          e_opt = optarg;
++          break;
++      case 'q':
++          q_opt = TRUE;
++          break;
++      default:
++          usage();
++          break;
++      }
++    }
++
++    make_dblist();
++
++    if (optind < argc) {
++      for (n = optind; n < argc; ++n) {
++          brute_force(argv[n]);
++      }
++    } else if ((name = getenv("TERM")) != 0) {
++      brute_force(name);
++    } else {
++      static char dumb[] = "dumb";
++      brute_force(dumb);
++    }
++
++    printf("%ld distinct values\n", total_values);
++
++#ifdef NO_LEAKS
++    free_dblist();
++#endif
++
++    ExitProgram(EXIT_SUCCESS);
++}
++
++#else /* !HAVE_TIGETSTR */
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++    failed("This program requires the terminfo functions such as tigetstr");
++    ExitProgram(EXIT_FAILURE);
++}
++#endif /* HAVE_TIGETSTR */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches/ncurses-6.0-20151128.patch 
new/patches/ncurses-6.0-20151128.patch
--- old/patches/ncurses-6.0-20151128.patch      1970-01-01 01:00:00.000000000 
+0100
+++ new/patches/ncurses-6.0-20151128.patch      2015-11-30 10:11:38.000000000 
+0100
@@ -0,0 +1,612 @@
+# ncurses 6.0 - patch 20151128 - Thomas E. Dickey
+#
+# 
------------------------------------------------------------------------------
+#
+# Ncurses 6.0 is at
+#      ftp.gnu.org:/pub/gnu
+#
+# Patches for ncurses 6.0 can be found at
+#      ftp://invisible-island.net/ncurses/6.0
+#      http://invisible-mirror.net/archives/ncurses/6.0 
+#
+# 
------------------------------------------------------------------------------
+# ftp://invisible-island.net/ncurses/6.0/ncurses-6.0-20151128.patch.gz
+# patch by Thomas E. Dickey <dic...@invisible-island.net>
+# created  Sun Nov 29 01:57:16 UTC 2015
+# 
------------------------------------------------------------------------------
+# NEWS                             |   11 ++++++++-
+# VERSION                          |    2 -
+# dist.mk                          |    4 +--
+# form/form.h                      |    5 ++--
+# form/form.priv.h                 |    7 +++--
+# form/frm_driver.c                |   12 ++++++----
+# man/curs_inopts.3x               |   12 +++++-----
+# man/form_field_opts.3x           |    9 +++++--
+# misc/terminfo.src                |   26 ++++++++++++++++++++-
+# ncurses/base/lib_getch.c         |    4 ++-
+# package/debian-mingw/changelog   |    4 +--
+# package/debian-mingw64/changelog |    4 +--
+# package/debian/changelog         |    4 +--
+# package/mingw-ncurses.nsi        |    4 +--
+# package/mingw-ncurses.spec       |    2 -
+# package/ncurses.spec             |    2 -
+# progs/dump_entry.c               |    6 ++++-
+# test/ncurses.c                   |   44 +++++++++++++++++++++++++------------
+# 18 files changed, 112 insertions(+), 50 deletions(-)
+# 
------------------------------------------------------------------------------
+Index: NEWS
+Prereq:  1.2530 
+--- ncurses-6.0-20151121+/NEWS 2015-11-21 23:33:30.000000000 +0000
++++ ncurses-6.0-20151128/NEWS  2015-11-29 01:31:02.000000000 +0000
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written        
--
+ -- authorization.                                                            
--
+ 
-------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.2530 2015/11/21 23:33:30 tom Exp $
++-- $Id: NEWS,v 1.2536 2015/11/29 01:31:02 tom Exp $
+ 
-------------------------------------------------------------------------------
+ 
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -45,6 +45,15 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+ 
++20151128
++      + add missing assignment in lib_getch.c to make notimeout() work
++        (Debian #805618).
++      + add 't' toggle for notimeout() function in test/ncurses.c a/A screens
++      + add viewdata terminal description (Alexandre Montaron).
++      + fix a case in tic/infocmp for formatting capabilities where a
++        backslash at the end of a string was mishandled.
++      + fix some typos in curs_inopts.3x (Benno Schulenberg).
++
+ 20151121
+       + fix some inconsistencies in the pccon* entries -TD
+       + add bold to pccon+sgr+acs and pccon-base (Tati Chevron).
+Index: VERSION
+--- ncurses-6.0-20151121+/VERSION      2015-11-21 15:55:51.000000000 +0000
++++ ncurses-6.0-20151128/VERSION       2015-11-28 16:31:05.000000000 +0000
+@@ -1 +1 @@
+-5:0:9 6.0     20151121
++5:0:9 6.0     20151128
+Index: dist.mk
+Prereq:  1.1080 
+--- ncurses-6.0-20151121+/dist.mk      2015-11-21 15:55:51.000000000 +0000
++++ ncurses-6.0-20151128/dist.mk       2015-11-28 16:31:05.000000000 +0000
+@@ -25,7 +25,7 @@
+ # use or other dealings in this Software without prior written               #
+ # authorization.                                                             #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1080 2015/11/21 15:55:51 tom Exp $
++# $Id: dist.mk,v 1.1081 2015/11/28 16:31:05 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -37,7 +37,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 6
+ NCURSES_MINOR = 0
+-NCURSES_PATCH = 20151121
++NCURSES_PATCH = 20151128
+ 
+ # We don't append the patch to the version, since this only applies to 
releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: form/form.h
+Prereq:  0.24 
+--- ncurses-6.0-20151121+/form/form.h  2014-07-26 20:52:28.000000000 +0000
++++ ncurses-6.0-20151128/form/form.h   2015-11-28 20:13:39.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
++ * Copyright (c) 1998-2014,2015 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            *
+@@ -30,7 +30,7 @@
+  *   Author:  Juergen Pfeifer, 1995,1997                                    *
+  ****************************************************************************/
+ 
+-/* $Id: form.h,v 0.24 2014/07/26 20:52:28 tom Exp $ */
++/* $Id: form.h,v 0.25 2015/11/28 20:13:39 Leon.Winter Exp $ */
+ 
+ #ifndef FORM_H
+ #define FORM_H
+@@ -205,6 +205,7 @@
+ #define O_PASSOK              (0x0100U)
+ #define O_STATIC              (0x0200U)
+ #define O_DYNAMIC_JUSTIFY     (0x0400U)       /* ncurses extension    */
++#define O_NO_LEFT_STRIP               (0x0800U)       /* ncurses extension    
*/
+ 
+ /* form options */
+ #define O_NL_OVERLOAD         (0x0001U)
+Index: form/form.priv.h
+Prereq:  0.38 
+--- ncurses-6.0-20151121+/form/form.priv.h     2014-11-01 13:56:14.000000000 
+0000
++++ ncurses-6.0-20151128/form/form.priv.h      2015-11-28 20:13:39.000000000 
+0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2012,2014 Free Software Foundation, Inc.              *
++ * Copyright (c) 1998-2014,2015 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            *
+@@ -30,7 +30,7 @@
+  *   Author:  Juergen Pfeifer, 1995,1997                                    *
+  ****************************************************************************/
+ 
+-/* $Id: form.priv.h,v 0.38 2014/11/01 13:56:14 tom Exp $ */
++/* $Id: form.priv.h,v 0.39 2015/11/28 20:13:39 Leon.Winter Exp $ */
+ 
+ #ifndef FORM_PRIV_H
+ #define FORM_PRIV_H 1
+@@ -162,7 +162,8 @@
+ 
+ #define ALL_FIELD_OPTS (Field_Options)( \
+                       STD_FIELD_OPTS |\
+-                      O_DYNAMIC_JUSTIFY)
++                      O_DYNAMIC_JUSTIFY |\
++                      O_NO_LEFT_STRIP)
+ 
+ #define C_BLANK ' '
+ #define is_blank(c) ((c)==C_BLANK)
+Index: form/frm_driver.c
+Prereq:  1.115 
+--- ncurses-6.0-20151121+/form/frm_driver.c    2014-09-25 21:55:24.000000000 
+0000
++++ ncurses-6.0-20151128/form/frm_driver.c     2015-11-28 20:39:09.000000000 
+0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
++ * Copyright (c) 1998-2014,2015 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            *
+@@ -32,7 +32,7 @@
+ 
+ #include "form.priv.h"
+ 
+-MODULE_ID("$Id: frm_driver.c,v 1.115 2014/09/25 21:55:24 tom Exp $")
++MODULE_ID("$Id: frm_driver.c,v 1.117 2015/11/28 20:39:09 tom Exp $")
+ 
+ /*----------------------------------------------------------------------------
+   This is the core module of the form library. It contains the majority
+@@ -979,7 +979,9 @@
+   int len;
+   int col = 0;
+ 
+-  bp = Get_Start_Of_Data(field->buf, Buffer_Length(field));
++  bp = (Field_Has_Option(field, O_NO_LEFT_STRIP)
++      ? field->buf
++      : Get_Start_Of_Data(field->buf, Buffer_Length(field)));
+   len = (int)(After_End_Of_Data(field->buf, Buffer_Length(field)) - bp);
+ 
+   if (len > 0)
+@@ -1023,7 +1025,9 @@
+   FIELD_CELL *bp;
+   int len;
+ 
+-  bp = Get_Start_Of_Data(field->buf, Buffer_Length(field));
++  bp = (Field_Has_Option(field, O_NO_LEFT_STRIP)
++      ? field->buf
++      : Get_Start_Of_Data(field->buf, Buffer_Length(field)));
+   len = (int)(After_End_Of_Data(field->buf, Buffer_Length(field)) - bp);
+ 
+   if (len > 0)
+Index: man/curs_inopts.3x
+Prereq:  1.19 
+--- ncurses-6.0-20151121+/man/curs_inopts.3x   2015-04-11 10:21:38.000000000 
+0000
++++ ncurses-6.0-20151128/man/curs_inopts.3x    2015-11-28 19:03:12.000000000 
+0000
+@@ -26,7 +26,7 @@
+ .\" authorization.                                                           *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inopts.3x,v 1.19 2015/04/11 10:21:38 tom Exp $
++.\" $Id: curs_inopts.3x,v 1.20 2015/11/28 19:03:12 Benno.Schulenberg Exp $
+ .TH curs_inopts 3X ""
+ .ie \n(.g .ds `` \(lq
+ .el       .ds `` ``
+@@ -93,7 +93,7 @@
+ .br
+ .SH DESCRIPTION
+ The \fBncurses\fP library provides several functions which let an application
+-change way input from the terminal is handled.
++change the way input from the terminal is handled.
+ Some are global, applying to all windows.
+ Others apply only to a specific window.
+ Window-specific settings are not automatically applied to new or derived
+@@ -141,19 +141,19 @@
+ available to the program.
+ However, after blocking for \fItenths\fR tenths of
+ seconds, ERR is returned if nothing has been typed.
+-The value of \fBtenths\fR
++The value of \fItenths\fR
+ must be a number between 1 and 255.
+ Use \fBnocbreak\fR to leave half-delay
+ mode.
+ .\"
+ .SS intrflush
+ .PP
+-If the \fBintrflush\fR option is enabled, (\fIbf\fR is \fBTRUE\fR), when an
+-interrupt key is pressed on the keyboard (interrupt, break, quit) all output 
in
++If the \fBintrflush\fR option is enabled (\fIbf\fR is \fBTRUE\fR), and an
++interrupt key is pressed on the keyboard (interrupt, break, quit), all output 
in
+ the tty driver queue will be flushed, giving the effect of faster response to
+ the interrupt, but causing \fBcurses\fR to have the wrong idea of what is on
+ the screen.
+-Disabling (\fIbf\fR is \fBFALSE\fR), the option prevents the
++Disabling the option (\fIbf\fR is \fBFALSE\fR) prevents the
+ flush.
+ The default for the option is inherited from the tty driver settings.
+ The window argument is ignored.
+Index: man/form_field_opts.3x
+Prereq:  1.17 
+--- ncurses-6.0-20151121+/man/form_field_opts.3x       2014-07-26 
21:21:57.000000000 +0000
++++ ncurses-6.0-20151128/man/form_field_opts.3x        2015-11-28 
20:40:13.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2010,2014 Free Software Foundation, Inc.              *
++.\" Copyright (c) 1998-2014,2015 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            *
+@@ -27,7 +27,7 @@
+ .\" authorization.                                                           *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_field_opts.3x,v 1.17 2014/07/26 21:21:57 tom Exp $
++.\" $Id: form_field_opts.3x,v 1.19 2015/11/28 20:40:13 tom Exp $
+ .TH form_field_opts 3X ""
+ .SH NAME
+ \fBform_field_opts\fR \- set and get field options
+@@ -91,10 +91,13 @@
+ Words that do not fit on a line are wrapped to the next line.  Words are
+ blank-separated.
+ .PP
+-One extension option is defined (extensions are off by default):
++These extension options are defined (extensions are off by default):
+ .TP 5
+ O_DYNAMIC_JUSTIFY
+ Permit dynamic fields to be justified, like static fields.
++.TP 5
++O_NO_LEFT_STRIP
++Preserve leading whitespace in the field buffer, which is normally discarded.
+ .SH RETURN VALUE
+ Except for \fBfield_opts\fR, each routine returns one of the following:
+ .TP 5
+Index: misc/terminfo.src
+--- ncurses-6.0-20151121+/misc/terminfo.src    2015-11-22 01:01:00.000000000 
+0000
++++ ncurses-6.0-20151128/misc/terminfo.src     2015-11-28 21:35:00.000000000 
+0000
+@@ -6,8 +6,8 @@
+ # Report bugs and new terminal descriptions to
+ #     bug-ncur...@gnu.org
+ #
+-#     $Revision: 1.558 $
+-#     $Date: 2015/11/22 01:01:00 $
++#     $Revision: 1.559 $
++#     $Date: 2015/11/28 21:35:00 $
+ #
+ # 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
+@@ -18753,6 +18753,25 @@
+       sgr0=\EI\E\\\EB, smacs=^N, .invis=\E@, .rs2=^L\EB,
+       .u8=\001Cu|\004, use=minitel1b,
+ 
++# From: Alexandre Montaron, 19 Nov 2015
++#
++# He comments:
++# viewdata lacks a true cup capabilitie,
++# so I achieved it with home and cud1/cuf1 sequences only !
++viewdata|prestel/viewdata terminals,
++      am, bw, eslok, hz,
++      cols#40, lines#24,
++      bel=^G, civis=^T, clear=^L, cnorm=^Q, cr=^M, cub1=^H, cud1=^J,
++      cuf1=^I,
++      
cup=\036%?%p1%{07}%>%t\n\n\n\n\n\n\n\n%;%?%p1%{15}%>%t\n\n\n\n\n\n\n\n%;%?%p1%{4}%&%t\n\n\n\n%;%?%p1%{2}%&%t\n\n%;%?%p1%{1}%&%t\n%;%?%p2%{07}%>%t\011\011\011\011\011\011\011\011%;%?%p2%{15}%>%t\011\011\011\011\011\011\011\011%;%?%p2%{23}%>%t\011\011\011\011\011\011\011\011%;%?%p2%{31}%>%t\011\011\011\011\011\011\011\011%;%?%p2%{4}%&%t\011\011\011\011%;%?%p2%{2}%&%t\011\011%;%?%p2%{1}%&%t\011%;,
++      cuu1=^K, home=^^, nel=^M^J, .el=^X, .ind=^J,
++      .rep=%p1%c\022%p2%'?'%+%c, .ri=^K,
++# Also:
++# viewdata-rv works with some applications (e.g. emacs, xemacs) but fails 
with vim.
++viewdata-rv|prestel/viewdata terminals with reverse capabilitie (as green),
++      xmc#1,
++      rmso=\EG, smso=\EB, use=viewdata,
++
+ ######## OBSOLETE VDT TYPES
+ #
+ # These terminals are *long* dead -- these entries are retained for
+@@ -23792,4 +23811,7 @@
+ # 2015-11-21
+ #     + fix some inconsistencies in the pccon* entries -TD
+ #
++# 2015-11-28
++#       add viewdata (Alexandre Montaron).
++#
+ ######## SHANTIH!  SHANTIH!  SHANTIH!
+Index: ncurses/base/lib_getch.c
+Prereq:  1.132 
+--- ncurses-6.0-20151121+/ncurses/base/lib_getch.c     2015-05-09 
17:10:41.000000000 +0000
++++ ncurses-6.0-20151128/ncurses/base/lib_getch.c      2015-11-29 
01:28:52.000000000 +0000
+@@ -42,7 +42,7 @@
+ 
+ #include <curses.priv.h>
+ 
+-MODULE_ID("$Id: lib_getch.c,v 1.132 2015/05/09 17:10:41 tom Exp $")
++MODULE_ID("$Id: lib_getch.c,v 1.133 2015/11/29 01:28:52 tom Exp $")
+ 
+ #include <fifo_defs.h>
+ 
+@@ -497,6 +497,8 @@
+           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;
+ 
+Index: package/debian-mingw/changelog
+--- ncurses-6.0-20151121+/package/debian-mingw/changelog       2015-11-21 
15:55:51.000000000 +0000
++++ ncurses-6.0-20151128/package/debian-mingw/changelog        2015-11-28 
16:31:05.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.0+20151121) unstable; urgency=low
++ncurses6 (6.0+20151128) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 21 Nov 2015 10:55:51 
-0500
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 28 Nov 2015 11:31:05 
-0500
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian-mingw64/changelog
+--- ncurses-6.0-20151121+/package/debian-mingw64/changelog     2015-11-21 
15:55:51.000000000 +0000
++++ ncurses-6.0-20151128/package/debian-mingw64/changelog      2015-11-28 
16:31:05.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.0+20151121) unstable; urgency=low
++ncurses6 (6.0+20151128) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 21 Nov 2015 10:55:51 
-0500
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 28 Nov 2015 11:31:05 
-0500
+ 
+ ncurses6 (5.9-20131005) unstable; urgency=low
+ 
+Index: package/debian/changelog
+--- ncurses-6.0-20151121+/package/debian/changelog     2015-11-21 
15:55:51.000000000 +0000
++++ ncurses-6.0-20151128/package/debian/changelog      2015-11-28 
16:31:05.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.0+20151121) unstable; urgency=low
++ncurses6 (6.0+20151128) unstable; urgency=low
+ 
+   * latest weekly patch
+ 
+- -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 21 Nov 2015 10:55:51 
-0500
++ -- Thomas E. Dickey <dic...@invisible-island.net>  Sat, 28 Nov 2015 11:31:05 
-0500
+ 
+ ncurses6 (5.9-20120608) unstable; urgency=low
+ 
+Index: package/mingw-ncurses.nsi
+Prereq:  1.133 
+--- ncurses-6.0-20151121+/package/mingw-ncurses.nsi    2015-11-21 
15:55:51.000000000 +0000
++++ ncurses-6.0-20151128/package/mingw-ncurses.nsi     2015-11-28 
16:31:05.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.133 2015/11/21 15:55:51 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.134 2015/11/28 16:31:05 tom Exp $
+ 
+ ; TODO add examples
+ ; TODO bump ABI to 6
+@@ -10,7 +10,7 @@
+ !define VERSION_MAJOR "6"
+ !define VERSION_MINOR "0"
+ !define VERSION_YYYY  "2015"
+-!define VERSION_MMDD  "1121"
++!define VERSION_MMDD  "1128"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+ 
+ !define MY_ABI   "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.0-20151121+/package/mingw-ncurses.spec   2015-11-21 
15:55:51.000000000 +0000
++++ ncurses-6.0-20151128/package/mingw-ncurses.spec    2015-11-28 
16:31:05.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.0
+-Release: 20151121
++Release: 20151128
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncurses.spec
+--- ncurses-6.0-20151121+/package/ncurses.spec 2015-11-21 15:55:51.000000000 
+0000
++++ ncurses-6.0-20151128/package/ncurses.spec  2015-11-28 16:31:05.000000000 
+0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.0
+-Release: 20151121
++Release: 20151128
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: progs/dump_entry.c
+Prereq:  1.123 
+--- ncurses-6.0-20151121+/progs/dump_entry.c   2015-09-05 23:31:12.000000000 
+0000
++++ ncurses-6.0-20151128/progs/dump_entry.c    2015-11-28 22:54:33.000000000 
+0000
+@@ -39,7 +39,7 @@
+ #include "termsort.c"         /* this C file is generated */
+ #include <parametrized.h>     /* so is this */
+ 
+-MODULE_ID("$Id: dump_entry.c,v 1.123 2015/09/05 23:31:12 tom Exp $")
++MODULE_ID("$Id: dump_entry.c,v 1.124 2015/11/28 22:54:33 tom Exp $")
+ 
+ #define DISCARD(string) string = ABSENT_STRING
+ #define PRINTF (void) printf
+@@ -510,6 +510,10 @@
+ 
+     while (*src != '\0') {
+       switch (*src) {
++      case '^':
++          percent = FALSE;
++          strncpy_DYN(&tmpbuf, src++, (size_t) 1);
++          break;
+       case '\\':
+           percent = FALSE;
+           strncpy_DYN(&tmpbuf, src++, (size_t) 1);
+Index: test/ncurses.c
+Prereq:  1.423 
+--- ncurses-6.0-20151121+/test/ncurses.c       2015-10-31 19:53:06.000000000 
+0000
++++ ncurses-6.0-20151128/test/ncurses.c        2015-11-29 01:26:41.000000000 
+0000
+@@ -40,7 +40,7 @@
+    Author: Eric S. Raymond <e...@snark.thyrsus.com> 1993
+            Thomas E. Dickey (beginning revision 1.27 in 1996).
+ 
+-$Id: ncurses.c,v 1.423 2015/10/31 19:53:06 tom Exp $
++$Id: ncurses.c,v 1.425 2015/11/29 01:26:41 tom Exp $
+ 
+ ***************************************************************************/
+ 
+@@ -636,15 +636,22 @@
+ }
+ 
+ static void
+-init_getch(WINDOW *win, GetchFlags flags)
++init_getch(WINDOW *win, GetchFlags flags, int delay)
+ {
+     memset(flags, FALSE, NUM_GETCH_FLAGS);
+     flags[UChar('k')] = (win == stdscr);
+     flags[UChar('m')] = TRUE;
++    flags[UChar('t')] = (delay != 0);
+ 
+     setup_getch(win, flags);
+ }
+ 
++static bool
++blocking_getch(GetchFlags flags, int delay)
++{
++    return ((delay < 0) && flags['t']);
++}
++
+ static void
+ wgetch_help(WINDOW *win, GetchFlags flags)
+ {
+@@ -655,7 +662,8 @@
+       ,"k  -- toggle keypad/literal mode"
+       ,"m  -- toggle meta (7-bit/8-bit) mode"
+       ,"^q -- quit"
+-      ,"s  -- shell out\n"
++      ,"s  -- shell out"
++      ,"t  -- toggle timeout"
+       ,"w  -- create a new window"
+ #ifdef SIGTSTP
+       ,"z  -- suspend this process"
+@@ -810,9 +818,9 @@
+     int c;
+     int incount = 0;
+     GetchFlags flags;
+-    bool blocking = (delay < 0);
+ 
+-    init_getch(win, flags);
++    init_getch(win, flags, delay);
++    notimeout(win, FALSE);
+     wtimeout(win, delay);
+     getyx(win, first_y, first_x);
+ 
+@@ -823,7 +831,7 @@
+     for (;;) {
+       while ((c = wGetchar(win)) == ERR) {
+           incount++;
+-          if (blocking) {
++          if (blocking_getch(flags, delay)) {
+               (void) wprintw(win, "%05d: input error", incount);
+               break;
+           } else {
+@@ -831,7 +839,7 @@
+           }
+           wgetch_wrap(win, first_y);
+       }
+-      if (c == ERR && blocking) {
++      if (c == ERR && blocking_getch(flags, delay)) {
+           wprintw(win, "ERR");
+           wgetch_wrap(win, first_y);
+       } else if (isQuit(c)) {
+@@ -860,6 +868,10 @@
+           wgetch_help(win, flags);
+       } else if (c == 's') {
+           ShellOut(TRUE);
++      } else if (c == 't') {
++          notimeout(win, flags[UChar('t')]);
++          flags[UChar('t')] = !flags[UChar('t')];
++          wgetch_help(win, flags);
+       } else if (c == 'w') {
+           int high = getmaxy(win) - 1 - first_y + 1;
+           int wide = getmaxx(win) - first_x;
+@@ -931,7 +943,7 @@
+     wtimeout(win, -1);
+ 
+     if (!level)
+-      init_getch(win, flags);
++      init_getch(win, flags, delay);
+ }
+ 
+ static int
+@@ -958,7 +970,7 @@
+       delay = -1;
+     }
+     raw();
+-    move(5, 0);
++    move(6, 0);
+     return delay;
+ }
+ 
+@@ -1060,11 +1072,11 @@
+     wint_t c;
+     int incount = 0;
+     GetchFlags flags;
+-    bool blocking = (delay < 0);
+     int code;
+     char *temp;
+ 
+-    init_getch(win, flags);
++    init_getch(win, flags, delay);
++    notimeout(win, FALSE);
+     wtimeout(win, delay);
+     getyx(win, first_y, first_x);
+ 
+@@ -1075,7 +1087,7 @@
+     for (;;) {
+       while ((code = wGet_wchar(win, &c)) == ERR) {
+           incount++;
+-          if (blocking) {
++          if (blocking_getch(flags, delay)) {
+               (void) wprintw(win, "%05d: input error", incount);
+               break;
+           } else {
+@@ -1083,7 +1095,7 @@
+           }
+           wgetch_wrap(win, first_y);
+       }
+-      if (code == ERR && blocking) {
++      if (code == ERR && blocking_getch(flags, delay)) {
+           wprintw(win, "ERR");
+           wgetch_wrap(win, first_y);
+       } else if (isQuit((int) c)) {
+@@ -1125,6 +1137,10 @@
+           wgetch_help(win, flags);
+       } else if (c == 's') {
+           ShellOut(TRUE);
++      } else if (c == 't') {
++          notimeout(win, flags[UChar('t')]);
++          flags[UChar('t')] = !flags[UChar('t')];
++          wgetch_help(win, flags);
+       } else if (c == 'w') {
+           int high = getmaxy(win) - 1 - first_y + 1;
+           int wide = getmaxx(win) - first_x;
+@@ -1184,7 +1200,7 @@
+     wtimeout(win, -1);
+ 
+     if (!level)
+-      init_getch(win, flags);
++      init_getch(win, flags, delay);
+ }
+ 
+ static void


Reply via email to