ncurses/ncurses-6.0-20160116.patch

475 lines
18 KiB
Diff

# ncurses 6.0 - patch 20160116 - 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-20160116.patch.gz
# patch by Thomas E. Dickey <dickey@invisible-island.net>
# created Sun Jan 17 02:21:18 UTC 2016
# ------------------------------------------------------------------------------
# NEWS | 15 ++++++++++++++-
# VERSION | 2 +-
# dist.mk | 4 ++--
# misc/terminfo.src | 37 +++++++++++++++++++++++--------------
# ncurses/base/lib_addstr.c | 6 ++++--
# ncurses/curses.priv.h | 6 +++---
# ncurses/trace/lib_traceatr.c | 13 ++++++++++---
# ncurses/trace/visbuf.c | 15 ++++++++++-----
# 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/test_sgr.c | 8 ++++----
# 15 files changed, 81 insertions(+), 45 deletions(-)
# ------------------------------------------------------------------------------
Index: NEWS
Prereq: 1.2554
--- ncurses-6.0-20160102+/NEWS 2016-01-03 01:17:55.000000000 +0000
+++ ncurses-6.0-20160116/NEWS 2016-01-17 00:37:27.000000000 +0000
@@ -25,7 +25,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2554 2016/01/03 01:17:55 tom Exp $
+-- $Id: NEWS,v 1.2560 2016/01/17 00:37:27 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,19 @@
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20160116
+ + tidy up comments about hardcoded 256color palette (report by
+ Leonardo Brondani Schenkel) -TD
+ + add putty-noapp entry, and amend putty entry to use application mode
+ for better consistency with xterm (report by Leonardo Brondani
+ Schenkel) -TD
+ + modify _nc_viscbuf2() and _tracecchar_t2() to trace wide-characters
+ as a whole rather than their multibyte equivalents.
+ + minor fix in wadd_wchnstr() to ensure that each cell has nonzero
+ width.
+ + move PUTC_INIT calls next to wcrtomb calls, to avoid carry-over of
+ error status when processing Unicode values which are not mapped.
+
20160102
+ modify ncurses c/C color test-screens to take advantage of wide
screens, reducing the number of lines used for 88- and 256-colors.
Index: VERSION
--- ncurses-6.0-20160102+/VERSION 2016-01-02 18:42:09.000000000 +0000
+++ ncurses-6.0-20160116/VERSION 2016-01-16 21:24:23.000000000 +0000
@@ -1 +1 @@
-5:0:9 6.0 20160102
+5:0:9 6.0 20160116
Index: dist.mk
Prereq: 1.1087
--- ncurses-6.0-20160102+/dist.mk 2016-01-02 20:24:37.000000000 +0000
+++ ncurses-6.0-20160116/dist.mk 2016-01-16 21:24:23.000000000 +0000
@@ -25,7 +25,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1087 2016/01/02 20:24:37 tom Exp $
+# $Id: dist.mk,v 1.1089 2016/01/16 21:24:23 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 = 20160102
+NCURSES_PATCH = 20160116
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
Index: misc/terminfo.src
--- ncurses-6.0-20160102+/misc/terminfo.src 2015-11-28 21:35:00.000000000 +0000
+++ ncurses-6.0-20160116/misc/terminfo.src 2016-01-17 00:25:26.000000000 +0000
@@ -6,8 +6,8 @@
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.559 $
-# $Date: 2015/11/28 21:35:00 $
+# $Revision: 1.561 $
+# $Date: 2016/01/17 00:25:26 $
#
# 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
@@ -3580,28 +3580,31 @@
ind=^J, indn=\E[%p1%dS,
initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
- kLFT=\EOD, kRIT=\EOC, kb2=\E[G, kbs=\177, kcbt=\E[Z,
- kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+ kLFT=\E[D, kRIT=\E[C, kb2=\E[G, kbs=\177, kcbt=\E[Z,
+ kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
kdch1=\E[3~, kend=\E[4~, khome=\E[1~, kich1=\E[2~,
- kind=\EOB, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kri=\EOA,
+ kind=\E[B, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kri=\E[A,
kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
- rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m,
- rmso=\E[27m, rmul=\E[24m,
+ rmcup=\E[2J\E[?47l, rmir=\E[4l, rmkx=\E[?1l\E>,
+ rmpch=\E[10m, rmso=\E[27m, rmul=\E[24m,
rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l,
s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, sc=\E7,
setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
- smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
- tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, use=putty+fnkeys,
- use=vt102+enq, use=xterm+sl,
+ smir=\E[4h, smkx=\E[?1h\E=, smpch=\E[11m, smso=\E[7m,
+ smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J,
+ use=putty+fnkeys, use=vt102+enq, use=xterm+sl,
vt100-putty|Reset PuTTY to pure vt100,
rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
use=vt100,
-# palette is hardcoded...
putty-256color|PuTTY 0.58 with xterm 256-colors,
use=xterm+256setaf, use=putty,
+putty-noapp|putty with cursor keys in normal mode,
+ kLFT=\EOD, kRIT=\EOC, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+ kcuu1=\E[A, kind=\EOB, kri=\EOA, rmkx=\E>, smkx=\E=,
+ use=putty,
# One of the keyboard selections is "VT100+".
# pterm (the X11 port) uses shifted F1-F10 as F11-F20
@@ -4235,6 +4238,7 @@
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
setb@, setf@,
+# palette is hardcoded...
xterm+256setaf|xterm 256-color (set-only),
ccc@,
colors#256, pairs#32767,
@@ -4876,7 +4880,6 @@
vte|VTE aka GNOME Terminal,
use=vte-2014,
-# palette is hardcoded...
vte-256color|VTE with xterm 256-colors,
use=xterm+256color, use=vte,
gnome-256color|GNOME Terminal with xterm 256-colors,
@@ -4996,7 +4999,6 @@
konsole|KDE console window,
use=konsole-xf4x,
-# palette is hardcoded...
konsole-256color|KDE console window with xterm 256-colors,
use=xterm+256setaf, use=konsole,
@@ -23812,6 +23814,13 @@
# + fix some inconsistencies in the pccon* entries -TD
#
# 2015-11-28
-# add viewdata (Alexandre Montaron).
+# + add viewdata (Alexandre Montaron).
+#
+# 2016-01-16
+# + tidy up comments about hardcoded 256color palette (report by
+# Leonardo Brondani Schenkel) -TD
+# + add putty-noapp entry, and amend putty entry to use application mode
+# for better consistency with xterm (report by Leonardo Brondani
+# Schenkel) -TD
#
######## SHANTIH! SHANTIH! SHANTIH!
Index: ncurses/base/lib_addstr.c
Prereq: 1.52
--- ncurses-6.0-20160102+/ncurses/base/lib_addstr.c 2011-05-28 23:02:09.000000000 +0000
+++ ncurses-6.0-20160116/ncurses/base/lib_addstr.c 2016-01-16 21:00:53.000000000 +0000
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2011,2016 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 *
@@ -44,7 +44,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_addstr.c,v 1.52 2011/05/28 23:02:09 tom Exp $")
+MODULE_ID("$Id: lib_addstr.c,v 1.53 2016/01/16 21:00:53 tom Exp $")
NCURSES_EXPORT(int)
waddnstr(WINDOW *win, const char *astr, int n)
@@ -194,6 +194,8 @@
}
SetWidecExt(line->text[x + j], j);
}
+ } else {
+ len = 1;
}
x = (NCURSES_SIZE_T) (x + len);
end += len - 1;
Index: ncurses/curses.priv.h
Prereq: 1.547
--- ncurses-6.0-20160102+/ncurses/curses.priv.h 2015-06-27 01:22:16.000000000 +0000
+++ ncurses-6.0-20160116/ncurses/curses.priv.h 2016-01-10 22:17:19.000000000 +0000
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2016 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 *
@@ -34,7 +34,7 @@
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.547 2015/06/27 01:22:16 tom Exp $
+ * $Id: curses.priv.h,v 1.548 2016/01/10 22:17:19 tom Exp $
*
* curses.priv.h
*
@@ -1428,11 +1428,11 @@
NCURSES_OUTC_FUNC (NCURSES_SP_ARGx CharOf(ch)); \
COUNT_OUTCHARS(1); \
} else { \
- PUTC_INIT; \
for (PUTC_i = 0; PUTC_i < CCHARW_MAX; ++PUTC_i) { \
PUTC_ch = (ch).chars[PUTC_i]; \
if (PUTC_ch == L'\0') \
break; \
+ PUTC_INIT; \
PUTC_n = (int) wcrtomb(PUTC_buf, \
(ch).chars[PUTC_i], &PUT_st); \
if (PUTC_n <= 0) { \
Index: ncurses/trace/lib_traceatr.c
Prereq: 1.83
--- ncurses-6.0-20160102+/ncurses/trace/lib_traceatr.c 2015-04-04 13:41:37.000000000 +0000
+++ ncurses-6.0-20160116/ncurses/trace/lib_traceatr.c 2016-01-16 21:23:43.000000000 +0000
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2014,2016 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 *
@@ -43,7 +43,7 @@
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_traceatr.c,v 1.83 2015/04/04 13:41:37 tom Exp $")
+MODULE_ID("$Id: lib_traceatr.c,v 1.85 2016/01/16 21:23:43 tom Exp $")
#define COLOR_OF(c) ((c < 0) ? "default" : (c > 7 ? color_of(c) : colors[c].name))
@@ -338,7 +338,6 @@
PUTC_DATA;
int n;
- PUTC_INIT;
(void) _nc_trace_bufcat(bufnum, "{ ");
for (PUTC_i = 0; PUTC_i < CCHARW_MAX; ++PUTC_i) {
PUTC_ch = ch->chars[PUTC_i];
@@ -347,6 +346,7 @@
(void) _nc_trace_bufcat(bufnum, "\\000");
break;
}
+ PUTC_INIT;
PUTC_n = (int) wcrtomb(PUTC_buf, ch->chars[PUTC_i], &PUT_st);
if (PUTC_n <= 0) {
if (PUTC_ch != L'\0') {
@@ -356,6 +356,13 @@
UChar(ch->chars[PUTC_i])));
}
break;
+ } else if (ch->chars[PUTC_i] > 255) {
+ char temp[80];
+ sprintf(temp, "{%d:\\u%x}",
+ wcwidth(ch->chars[PUTC_i]),
+ ch->chars[PUTC_i]);
+ (void) _nc_trace_bufcat(bufnum, temp);
+ break;
}
for (n = 0; n < PUTC_n; n++) {
if (n)
Index: ncurses/trace/visbuf.c
Prereq: 1.44
--- ncurses-6.0-20160102+/ncurses/trace/visbuf.c 2014-09-25 08:51:13.000000000 +0000
+++ ncurses-6.0-20160116/ncurses/trace/visbuf.c 2016-01-10 23:51:56.000000000 +0000
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2001-2012,2014 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2014,2016 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 *
@@ -42,7 +42,7 @@
#include <tic.h>
#include <ctype.h>
-MODULE_ID("$Id: visbuf.c,v 1.44 2014/09/25 08:51:13 tom Exp $")
+MODULE_ID("$Id: visbuf.c,v 1.46 2016/01/10 23:51:56 tom Exp $")
#define NUM_VISBUFS 4
@@ -315,9 +315,9 @@
if (!isWidecExt(buf[j])) {
PUTC_DATA;
- PUTC_INIT;
for (PUTC_i = 0; PUTC_i < CCHARW_MAX; ++PUTC_i) {
int k;
+ char temp[80];
PUTC_ch = buf[j].chars[PUTC_i];
if (PUTC_ch == L'\0') {
@@ -325,12 +325,17 @@
(void) _nc_trace_bufcat(bufnum, "\\000");
break;
}
+ PUTC_INIT;
PUTC_n = (int) wcrtomb(PUTC_buf,
buf[j].chars[PUTC_i], &PUT_st);
- if (PUTC_n <= 0)
+ if (PUTC_n <= 0 || buf[j].chars[PUTC_i] > 255) {
+ sprintf(temp, "{%d:\\u%x}",
+ wcwidth(buf[j].chars[PUTC_i]),
+ buf[j].chars[PUTC_i]);
+ (void) _nc_trace_bufcat(bufnum, temp);
break;
+ }
for (k = 0; k < PUTC_n; k++) {
- char temp[80];
VisChar(temp, UChar(PUTC_buf[k]), sizeof(temp));
(void) _nc_trace_bufcat(bufnum, temp);
}
Index: package/debian-mingw/changelog
--- ncurses-6.0-20160102+/package/debian-mingw/changelog 2016-01-02 18:42:09.000000000 +0000
+++ ncurses-6.0-20160116/package/debian-mingw/changelog 2016-01-16 21:24:23.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20160102) unstable; urgency=low
+ncurses6 (6.0+20160116) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Jan 2016 13:42:09 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 16 Jan 2016 16:24:23 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
Index: package/debian-mingw64/changelog
--- ncurses-6.0-20160102+/package/debian-mingw64/changelog 2016-01-02 18:42:09.000000000 +0000
+++ ncurses-6.0-20160116/package/debian-mingw64/changelog 2016-01-16 21:24:23.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20160102) unstable; urgency=low
+ncurses6 (6.0+20160116) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Jan 2016 13:42:09 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 16 Jan 2016 16:24:23 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
Index: package/debian/changelog
--- ncurses-6.0-20160102+/package/debian/changelog 2016-01-02 18:42:09.000000000 +0000
+++ ncurses-6.0-20160116/package/debian/changelog 2016-01-16 21:24:23.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20160102) unstable; urgency=low
+ncurses6 (6.0+20160116) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Jan 2016 13:42:09 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 16 Jan 2016 16:24:23 -0500
ncurses6 (5.9-20120608) unstable; urgency=low
Index: package/mingw-ncurses.nsi
Prereq: 1.139
--- ncurses-6.0-20160102+/package/mingw-ncurses.nsi 2016-01-02 18:42:09.000000000 +0000
+++ ncurses-6.0-20160116/package/mingw-ncurses.nsi 2016-01-16 21:24:23.000000000 +0000
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.139 2016/01/02 18:42:09 tom Exp $
+; $Id: mingw-ncurses.nsi,v 1.141 2016/01/16 21:24:23 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 "2016"
-!define VERSION_MMDD "0102"
+!define VERSION_MMDD "0116"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"
Index: package/mingw-ncurses.spec
--- ncurses-6.0-20160102+/package/mingw-ncurses.spec 2016-01-02 18:42:09.000000000 +0000
+++ ncurses-6.0-20160116/package/mingw-ncurses.spec 2016-01-16 21:24:23.000000000 +0000
@@ -3,7 +3,7 @@
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.0
-Release: 20160102
+Release: 20160116
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Index: package/ncurses.spec
--- ncurses-6.0-20160102+/package/ncurses.spec 2016-01-02 18:42:09.000000000 +0000
+++ ncurses-6.0-20160116/package/ncurses.spec 2016-01-16 21:24:23.000000000 +0000
@@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
-Release: 20160102
+Release: 20160116
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Index: test/test_sgr.c
Prereq: 1.4
--- ncurses-6.0-20160102+/test/test_sgr.c 2015-11-21 22:43:50.000000000 +0000
+++ ncurses-6.0-20160116/test/test_sgr.c 2016-01-09 18:15:53.000000000 +0000
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 2015 Free Software Foundation, Inc. *
+ * Copyright (c) 2015,2016 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 *
@@ -29,7 +29,7 @@
/*
* Author: Thomas E. Dickey
*
- * $Id: test_sgr.c,v 1.4 2015/11/21 22:43:50 tom Exp $
+ * $Id: test_sgr.c,v 1.5 2016/01/09 18:15:53 tom Exp $
*
* A simple demo of the sgr/sgr0 terminal capabilities.
*/
@@ -146,7 +146,7 @@
printf("%4d ", bits);
bits &= ~ignore;
for (n = 0; n < MAXPAR; ++n) {
- putchar((bits & (1 << n)) ? params[n] : '-');
+ putchar((int) ((bits & (unsigned) (1 << n)) ? params[n] : '-'));
}
putchar(' ');
putp(sgr);
@@ -236,7 +236,7 @@
}
}
for (j = 0; j < MAXPAR; ++j) {
- unsigned mask = (1 << j);
+ unsigned mask = (unsigned) (1 << j);
for (count = 0; count < MAXSGR; ++count) {
if ((count & mask) != 0)
continue;