ncurses/ncurses-6.0-20161126.patch

1308 lines
44 KiB
Diff
Raw Permalink Normal View History

# ncurses 6.0 - patch 20161126 - 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-20161126.patch.gz
# patch by Thomas E. Dickey <dickey@invisible-island.net>
# created Sun Nov 27 02:38:26 UTC 2016
# ------------------------------------------------------------------------------
# NEWS | 17 ++
# VERSION | 2
# dist.mk | 4
# misc/terminfo.src | 293 +++++++++++++++++++------------------
# ncurses/curses.priv.h | 4
# ncurses/tinfo/lib_data.c | 4
# ncurses/trace/lib_trace.c | 97 ++++++------
# 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/tic.c | 97 +++++++++---
# 14 files changed, 312 insertions(+), 226 deletions(-)
# ------------------------------------------------------------------------------
Index: NEWS
Prereq: 1.2698
--- ncurses-6.0-20161119+/NEWS 2016-11-20 00:36:25.000000000 +0000
+++ ncurses-6.0-20161126/NEWS 2016-11-27 01:41:10.000000000 +0000
@@ -25,7 +25,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2698 2016/11/20 00:36:25 tom Exp $
+-- $Id: NEWS,v 1.2703 2016/11/27 01:41:10 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,21 @@
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20161126
+ + modify linux-16color to not mask dim, standout or reverse with the
+ ncv capability -TD
+ + add 0.1sec mandatory delay to flash capabilities using the VT100
+ reverse-video control -TD
+ + omit selection of ISO-8859-1 for G0 in enacs capability from linux2.6
+ entry, to avoid conflict with the user-defined mapping. The reset
+ feature will use ISO-8859-1 in any case (Mikulas Patocka).
+ + improve check in tic for delays by also warning about beep/flash
+ when a delay is not embedded, or if those use the VT100 reverse
+ video escape without using a delay.
+ + minor fix for syntax-check of delays from 20161119 changes.
+ + modify trace() to avoid overwriting existing file (report by Maor
+ Shwartz).
+
20161119
+ add check in tic for some syntax errors of delays, as well as use of
proportional delays for non-line capabilities.
Index: VERSION
--- ncurses-6.0-20161119+/VERSION 2016-11-19 18:20:25.000000000 +0000
+++ ncurses-6.0-20161126/VERSION 2016-11-21 22:34:14.000000000 +0000
@@ -1 +1 @@
-5:0:9 6.0 20161119
+5:0:9 6.0 20161126
Index: dist.mk
Prereq: 1.1133
--- ncurses-6.0-20161119+/dist.mk 2016-11-19 18:20:25.000000000 +0000
+++ ncurses-6.0-20161126/dist.mk 2016-11-21 22:34:14.000000000 +0000
@@ -25,7 +25,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1133 2016/11/19 18:20:25 tom Exp $
+# $Id: dist.mk,v 1.1134 2016/11/21 22:34:14 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 = 20161119
+NCURSES_PATCH = 20161126
# 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-20161119+/misc/terminfo.src 2016-11-13 00:17:12.000000000 +0000
+++ ncurses-6.0-20161126/misc/terminfo.src 2016-11-27 01:39:42.000000000 +0000
@@ -6,8 +6,8 @@
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.573 $
-# $Date: 2016/11/13 00:17:12 $
+# $Revision: 1.578 $
+# $Date: 2016/11/27 01:39:42 $
#
# 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
@@ -1753,7 +1753,7 @@
linux2.6|linux 2.6.x console,
acsc=++\,\,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwx
xyyzz{{||}c~~,
- enacs=\E(B\E)0, rmacs=^O,
+ enacs=\E)0, rmacs=^O,
sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, use=linux2.2,
@@ -1830,7 +1830,7 @@
# you use a 512-character console font. This uses bold for bright
# foreground colors and blink for bright background colors.
linux-16color|linux console with 16 colors,
- colors#16, ncv#63, pairs#256,
+ colors#16, ncv#42, pairs#256,
setab=\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m,
setaf=\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m,
use=linux,
@@ -2225,7 +2225,7 @@
#
# F1-F12 generate different codes when shift or control modifiers are used.
# For example:
-# F1 \E[001q
+# F1 \E[001q
# shift F1 \E[013q
# control-F1 \E[025q
#
@@ -2301,8 +2301,8 @@
# 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).
+# 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,
@@ -2545,14 +2545,14 @@
# Attributes do not work with color
# Failed: vpa/hpa
# Failed: kf1-kf4, kf13-kf48, khome, kend
-# (effectively xterm-r6 for function-keys)
+# (effectively xterm-r6 for function-keys)
# None of the function or cursor key-modifiers are encoded.
# Console hangs in the smm/rmm test if TERM=xterm, does not show test
#
# Testing with vttest:
# -------------------
# Identifies as vt220 with selective erase
-# (however, selective erase refers to DECSCA, SPA)
+# (however, selective erase refers to DECSCA, SPA)
# Does not implement vt52
# Uses spaces to simulate double-size characters
# Does not support 8-bit controls
@@ -2562,7 +2562,7 @@
# Does not support DECSCA
# Does not support any of the ISO-6429 cursor-movement
# Does not support any of the ISO-6429 miscellaneous tests
-# (SL/SR also leave unexpected char on screen too)
+# (SL/SR also leave unexpected char on screen too)
# Background does not change in menu 11.6.9 (SGR 22-27)
# None of the xterm special features tests work
netbsd6|NetBSD wscons in 25 line DEC VT100 mode,
@@ -3083,7 +3083,7 @@
am@, xenl@,
rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt100-am,
vt100-vb|dec vt100 (w/advanced video) & no beep,
- bel@, flash=\E[?5h\E[?5l, use=vt100,
+ bel@, flash=\E[?5h$<100/>\E[?5l, use=vt100,
# Ordinary vt100 in 132 column ("wide") mode.
vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video),
@@ -3692,9 +3692,9 @@
%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E
%%G\340\202\242\E%%@%e%p1%c%;,
dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
- el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H,
- hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
- ind=^J, indn=\E[%p1%dS,
+ el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l,
+ home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL,
+ il1=\E[L, 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,
@@ -5277,9 +5277,9 @@
cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
- enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H, ht=^I,
- hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
- ind=^J, is1=\E[?47l\E=\E[?1l,
+ enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
+ ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+ il1=\E[L, ind=^J, is1=\E[?47l\E=\E[?1l,
is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
@@ -5838,7 +5838,7 @@
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
- enacs=\E)0, flash=\E[?5h\E[?5l, fsl=^G, home=\E[H,
+ enacs=\E)0, flash=\E[?5h$<100/>\E[?5l, fsl=^G, home=\E[H,
hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS,
is2=\E[4l\E>\E[?1034l, kDC=\E[3;2~, kEND=\E[1;2F,
@@ -6463,7 +6463,7 @@
#
# Other special mappings:
# Apple VT220
-# HELP Find
+# HELP Find
# HOME Insert here
# PAGEUP Remove
# DEL Select
@@ -6485,10 +6485,10 @@
cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
- el=\E[K, el1=\E[1K, enacs=\E)0, flash=\E[?5h\E[?5l,
- home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
- if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
- ind=\n$<150*>,
+ el=\E[K, el1=\E[1K, enacs=\E)0,
+ flash=\E[?5h$<100/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
+ ich=\E[%p1%d@, if=/usr/share/tabset/vt100,
+ il=\E[%p1%dL, il1=\E[L, ind=\n$<150*>,
is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>, kbs=^H,
kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
kdch1=\E[4~, kend=\E[5~, kf1=\E[17~, kf10=\E[28~,
@@ -6999,15 +6999,15 @@
bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
clear=\E[1;33;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H,
cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
- dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l,
- home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J,
- kb2=\E[G, kbs=^H, kf0=\0D, kll=\0O, kspd=^Z, nel=^M^J,
- rev=\E[5;37;41m, rmir=\E[4l, rmpch=\E[10m,
- rmso=\E[0;44m\E[1;33m, rmul=\E[0;44m\E[1;33m, rs1=\Ec,
- setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
- sgr0=\E[0m\E[1;33;44m, smir=\E[4h, smpch=\E[11m,
- smso=\E[0;31;47m, smul=\E[1;31;44m, tbc=\E[3g, u8=\E[?6c,
- u9=\E[c, use=emx-base,
+ dch=\E[%p1%dp, ed=\E[J, el=\E[K,
+ flash=\E[?5h$<100/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
+ ich=\E[%p1%d@, ich1=\E[@, ind=^J, kb2=\E[G, kbs=^H, kf0=\0D,
+ kll=\0O, kspd=^Z, nel=^M^J, rev=\E[5;37;41m, rmir=\E[4l,
+ rmpch=\E[10m, rmso=\E[0;44m\E[1;33m,
+ rmul=\E[0;44m\E[1;33m, rs1=\Ec, setab=\E[4%p1%dm,
+ setaf=\E[3%p1%dm, sgr0=\E[0m\E[1;33;44m, smir=\E[4h,
+ smpch=\E[11m, smso=\E[0;31;47m, smul=\E[1;31;44m,
+ tbc=\E[3g, u8=\E[?6c, u9=\E[c, use=emx-base,
# nice colors for Emacs (white on blue, mode line white on cyan)
ansi-color-2-emx|ANSI.SYS color 2,
clear=\E[0;37;44m\E[H\E[J, rev=\E[1;37;46m,
@@ -7728,15 +7728,15 @@
# NOT set up by the initialization strings.
#
# Port Configuration
-# RecvPace=Xon/Xoff
-# XmitPace=Xon/Xoff
-# StripNulDel=Yes
+# RecvPace=Xon/Xoff
+# XmitPace=Xon/Xoff
+# StripNulDel=Yes
#
# Terminal Configuration
-# InhHndShk=Yes
-# InhDC2=Yes
-# XmitFnctn(A)=No
-# InhEolWrp=No
+# InhHndShk=Yes
+# InhDC2=Yes
+# XmitFnctn(A)=No
+# InhEolWrp=No
#
# Note: the 2624 DOES have a true <home>, believe it or not!
#
@@ -8031,10 +8031,10 @@
# PC Character Set YES
# Twenty-Five Line Mode YES
# XON/XOFF @128 or 64 (sc)
-# Keycode Mode NO or YES (sc)
+# Keycode Mode NO or YES (sc)
# Backspace Key BS or BS/DEL
#
-# <is2> sets pcterm; autowrap; 25 lines; pc char set; prog DEL key;
+# <is2> sets pcterm; autowrap; 25 lines; pc char set; prog DEL key;
# \E\\? does not turn off keycode mode
# <smsc> sets alternate start/stop; keycode on
hpansi|hp700|hewlett packard 700/44 in HP-PCterm mode,
@@ -8082,7 +8082,7 @@
# but has no padding added, so may allow runover in some terminals at high
# baud rates. Will not work for hp2640a or hp2640b terminals, hp98x6 and
# hp98x5 terminal emulators or hp98x6 consoles.
-# Adds xy-cursor addressing, vertical cursor addressing, home,
+# Adds xy-cursor addressing, vertical cursor addressing, home,
# last line, and underline capabilities.
#
# (hpex: removed memory-lock capabilities ":ml=\El:mu=\Em:",
@@ -9080,7 +9080,7 @@
# 10: 110
#
# S2 UART/Terminal options:
-# Up Down
+# Up Down
# 1: Not used Not allowed
# 2: Alternate character set Standard character set
# 3: Full duplex Half duplex
@@ -9091,10 +9091,10 @@
# 8: Not used Not allowed on Rev E or lower
# 9: Even parity Odd parity
# 10: Steady cursor Blinking cursor
-# (On Rev E or lower, use W25 instead of switch 10.)
+# (On Rev E or lower, use W25 instead of switch 10.)
#
# S5 UART/Terminal options:
-# Open Closed
+# Open Closed
# 1: P3-6 Not connected DSR received on P3-6
# 2: P3-8 Not connected DCD received on P3-8
#
@@ -9104,8 +9104,8 @@
# 3 Closed, 4 Closed: Not allowed
#
# 5 Closed: HDX printer (hardware control) Rev. K with extension port off,
-# all data transmitted out of the modem port (P3) will also be
-# transmitted out of the printer port (P4).
+# all data transmitted out of the modem port (P3) will also be
+# transmitted out of the printer port (P4).
#
# 6 Open, 7 Open: Not allowed
# 6 Open, 7 Closed: 20ma current loop input
@@ -9117,12 +9117,12 @@
# is switched on).
#
# S4/W31: Enables automatic LF upon receipt of CR from
-# remote or keyboard.
+# remote or keyboard.
# S4/W32: Enables transmission of EOT at the end of Send. If not
-# installed, a carriage return is sent.
+# installed, a carriage return is sent.
# S4/W33: Disables automatic carriage return in column 80.
# S4/W34: Selects Page Print Mode as initial condition. If not
-# installed, Extension Mode is selected.
+# installed, Extension Mode is selected.
#
# NON-STANDARD CAPABILITIES
#
@@ -9446,10 +9446,10 @@
# Position Up Dn Description
# --------------------------------------------
# 1 X Local edit
-# X Duplex edit (transmit editing keys)
+# X Duplex edit (transmit editing keys)
# --------------------------------------------
# 2 X 912/920 emulation
-# X 925
+# X 925
# --------------------------------------------
# 3 X
# 4 X No parity
@@ -9472,7 +9472,7 @@
# 5 X
# --------------------------------------------
# 6 X White on black display
-# X Black on white display
+# X Black on white display
# --------------------------------------------
# 7 X Half Duplex
# 8 X
@@ -9484,17 +9484,17 @@
# 8 X
# --------------------------------------------
# 9 X 50 Hz
-# X 60 Hz
+# X 60 Hz
# --------------------------------------------
# 10 X CR/LF (Auto LF)
-# X CR only
+# X CR only
#
# S3 (internal switch) settings:
#
# Position Up Dn Description
# --------------------------------------------
# 1 X Keyclick off
-# X Keyclick on
+# X Keyclick on
# --------------------------------------------
# 2 X English
# 3 X
@@ -9521,19 +9521,19 @@
# 5 X
# --------------------------------------------
# 6 X Screen blanking timer (ON)
-# X Screen blanking timer (OFF)
+# X Screen blanking timer (OFF)
# --------------------------------------------
# 7 X Page attributes
-# X Line attributes
+# X Line attributes
# --------------------------------------------
# 8 X DCD disconnected
-# X DCD connected
+# X DCD connected
# --------------------------------------------
# 9 X DSR disconnected
-# X DSR connected
+# X DSR connected
# --------------------------------------------
# 10 X DTR Disconnected
-# X DTR connected
+# X DTR connected
# --------------------------------------------
#
# (tvi925: BSD has <clear=\E*>. I got <is2> and <ri> from there -- esr)
@@ -11427,7 +11427,8 @@
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
- flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l,
+ flash=\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[
+ ?5l,
fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J,
is2=\E>\E F\E[?1h\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD,
@@ -11456,8 +11457,9 @@
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J, el=\E[K,
- flash=\E[?5h\E[?5l, fsl=\E[$}, home=\E[H, ht=^I, hts=\EH,
- ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L$<3/>, ind=\ED,
+ flash=\E[?5h$<100/>\E[?5l, fsl=\E[$}, home=\E[H, ht=^I,
+ hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L$<3/>,
+ ind=\ED,
is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
@@ -11509,7 +11511,7 @@
# (^V^L and ^V^M set the current attribute as a side-effect.)
# ^V ^Y <a> [...] <c> -- repeat pattern. <a> specifies the number of bytes
# in the pattern, <c> the number of times the pattern
-# should be repeated. If either value is 0, no-op.
+# should be repeated. If either value is 0, no-op.
# The pattern can contain Avatar console codes,
# including other ^V ^Y patterns.
# level 1:
@@ -11662,8 +11664,8 @@
# Seems upward compatible with vt100, plus ins/del line/char.
# On sgr, the protection parameter is ignored.
# No check is made to make sure that only 3 parameters are output.
-# standout= reverse + half-intensity = 3 | 5.
-# bold= reverse + underline = 2 | 3.
+# standout= reverse + half-intensity = 3 | 5.
+# bold= reverse + underline = 2 | 3.
# note that half-bright blinking doesn't look different from normal blinking.
# NOTE:you must program the function keys first, label second!
# (att4410: a BSD entry has been seen with the following capabilities:
@@ -11921,14 +11923,14 @@
# asynchronous keyboard-display terminal. It supports
# the vi editor. The terminal must be set up as follows,
#
-# HIGHLIGHT DEFINITION 3-TONE
-# DISPLAY FUNCTION GROUP III
+# HIGHLIGHT DEFINITION 3-TONE
+# DISPLAY FUNCTION GROUP III
#
# The second entry below provides limited (a la adm3a)
# operation under GROUP II.
#
# This must be used with DISPLAY FUNCTION GROUP I or III
-# and HIGHLIGHT DEFINITION 3-TONE
+# and HIGHLIGHT DEFINITION 3-TONE
# The terminal has either bold or blink, depending on options
#
# (att4424: commented out <smcup>=\E[1m, we don't need bright locked on -- esr)
@@ -12506,7 +12508,7 @@
#
# Here is what's going onm in the init string:
# ESC [ 50;4| set 700 native mode (really is 605)
-# x ESC [ 56;ps| set lines to 24: ps=0; 40: ps=1 (plus status line)
+# x ESC [ 56;ps| set lines to 24: ps=0; 40: ps=1 (plus status line)
# ESC [ 53;0| set GenFlow to Xon/Xoff
# ESC [ 8 ;0| set CR on NL
# x ESC [ ? 3 l/h set workspace: 80 col(l); 132 col(h)
@@ -13790,9 +13792,9 @@
cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dX, dch1=\E[X, dim=\E[2m, dl=\E[%p1%dM,
- dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, home=\E[H,
- hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
- il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m,
+ dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5h$<100/>\E[?5l,
+ home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
+ ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m,
is2=\E0;2m\E[1;25r\E[25;1H\E[?3l\E[?7h\E[?8h,
ka1=\E[f, ka3=\EOQ, kb2=\EOP, kbs=^H, kc1=\EOR, kc3=\EOS,
kcub1=\E[D, kcud1=\E[A, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177,
@@ -13954,7 +13956,7 @@
# From: Walter Skorski <walt@genetics1.JMP.TJU.EDU>, 16-oct-1996.
# Lots of notes, originally inline, but ncurses doesn't grok that.
#
-# am: not available in power on mode, but turned on with \E[=107;207h in
+# am: not available in power on mode, but turned on with \E[=107;207h in
# is2=. Also, \E=124l in is2= could have been used to prevent needing
# to specify xenl:, but that would have rendered the last space on the
# last line useless.
@@ -14143,7 +14145,7 @@
# %p1%{30}%> ((key; 30) >;
# %p1%{54}%< (key; 54) <
# %A ) AND
-# %O ) OR
+# %O ) OR
# [that is, "IF key < 24 OR (key > 30 AND key < 54)",]
# %t\E[ THEN OUTPUT \E[
# %p1%d OUTPUT (key) as decimal
@@ -15171,34 +15173,34 @@
use=dm3025,
# Datamedia DT80 soft switches:
# 1 0=Jump 1=Smooth
-# Autorepeat 0=off 1=on
-# Screen 0=Dark 1=light
-# Cursor 0=u/l 1=block
+# Autorepeat 0=off 1=on
+# Screen 0=Dark 1=light
+# Cursor 0=u/l 1=block
#
# 2 Margin Bell 0=off 1=on
-# Keyclick 0=off 1=on
-# Ansi/VT52 0=VT52 1=Ansi
-# Xon/Xoff 0=Off 1=On
+# Keyclick 0=off 1=on
+# Ansi/VT52 0=VT52 1=Ansi
+# Xon/Xoff 0=Off 1=On
#
# 3 Shift3 0=Hash 1=UK Pound
-# Wrap 0=Off 1=On
-# Newline 0=Off 1=On
-# Interlace 0=Off 1=On
+# Wrap 0=Off 1=On
+# Newline 0=Off 1=On
+# Interlace 0=Off 1=On
#
# 4 Parity 0=Odd 1=Even
-# Parity 0=Off 1=On
-# Bits/Char 0=7 1=8
-# Power 0=60Hz 1=50Hz
+# Parity 0=Off 1=On
+# Bits/Char 0=7 1=8
+# Power 0=60Hz 1=50Hz
#
# 5 Line Interface 0=EIA 1=Loop
-# Aux Interface 0=EIA 1=Loop
-# Local Copy 0=Off 1=On
-# Spare
+# Aux Interface 0=EIA 1=Loop
+# Local Copy 0=Off 1=On
+# Spare
#
# 6 Aux Parity 0=Odd 1=Even
-# Aux Parity 0=Off 1=On
-# Aux Bits/Char 0=7 1=8
-# CRT Saver 0=Off 1=On
+# Aux Parity 0=Off 1=On
+# Aux Bits/Char 0=7 1=8
+# CRT Saver 0=Off 1=On
# dm80/1 is a vt100 lookalike, but it doesn't seem to need any padding.
dm80|dmdt80|dt80|datamedia dt80/1,
clear=\E[2J\E[H, cud1=^J, cuf1=\E[C,
@@ -17343,7 +17345,7 @@
# The capablitiy 'op' sets colors to green on black (default combination).
#
# NOTE: The NCR Unix System Administrator's Shell will not function properly
-# if the 'pairs' capability is defined. Un-Comment the 'pairs'
+# if the 'pairs' capability is defined. Un-Comment the 'pairs'
# capability and recompile if you wish to have it included.
#
ncr260wy325pp|NCR 2900_260 wyse 325,
@@ -17405,7 +17407,7 @@
# are numbered 0 through 15.
#
# NOTE: The NCR Unix System Administrator's Shell does not function properly
-# with the 'pairs' capability defined as below. If you wish to
+# with the 'pairs' capability defined as below. If you wish to
# have it included, Un-comment it and recompile (using 'tic').
#
ncr260wy350pp|NCR 2900_260 wyse 350,
@@ -17826,7 +17828,7 @@
kf0=\ERA, kf1=\ERB, kf10=\ERK, kf2=\ERC, kf3=\ERD, kf4=\ERE,
kf5=\ERF, kf6=\ERG, kf7=\ERH, kf8=\ERI, kf9=\ERJ, tbc=\E3,
# (pe7000m: this had
-# rmul=\E!\0, smul=\E!\040,
+# rmul=\E!\0, smul=\E!\040,
# which is probably wrong, it collides with kf0
pe7000m|perkin elmer 7000 series monochrome monitor,
am,
@@ -19009,15 +19011,15 @@
ri=\215, rin@, use=amiga-h,
# Commodore B-128 microcomputer from Doug Tyrol <det@HEL-ACE.ARPA>
-# I'm trying to write a termcap for a commodore b-128, and I'm
+# I'm trying to write a termcap for a commodore b-128, and I'm
# having a little trouble. I've had to map most of my control characters
# to something that unix will accept (my delete-char is a ctrl-t, etc),
# and create some functions (like cm), but thats life.
-# The problem is with the arrow keys - right, and up work fine, but
+# The problem is with the arrow keys - right, and up work fine, but
# left deletes the previous character and down I just can't figure out.
# Jove knows what I want, but I don't know what it's sending to me (it
# isn't thats bound to next-line in jove).
-# Anybody got any ideas? Here's my termcap.
+# Anybody got any ideas? Here's my termcap.
# DAG -- I changed his "^n" entries to "\n"; see if that works.
#
commodore|b-128|Commodore B-128 micro,
@@ -19537,8 +19539,8 @@
cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M,
ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)U,
- flash=\E[?5h\E[?5l, home=\E[H, hpa=\E[%i%p1%d`, ht=^I,
- hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J,
+ flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%d`,
+ ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J,
initc=\E]P%p1%{15}%&%X%p2%{255}%&%02X%p3%{255}%&%02X%p4
%{255}%&%02X,
is2=\E]R\E]P3FFFF80\E[?8c, ka1=\EOw, ka3=\EOy, kb2=\E[G,
@@ -20273,34 +20275,34 @@
# CLR clear ^[`
# KBU keyboard unlock (set) ^[[W
# KBL keyboard lock (reset) ^[[X
-# CM character mode (async.) ^[k
+# CM character mode (async.) ^[k
# NEP non echoplex mode (by host) ^[l
-# EP echoplex mode (by host) ^[m
+# EP echoplex mode (by host) ^[m
# IM insert mode set ^[[I
-# IM insert mode reset ^[[J
-# RMS roll mode set ^[r
-# RMR roll mode reset ^[q
-# SM78 set mode vip7800 ^[[1q
-# SD scroll up (72 lines) ^[[0s
-# SD scroll down (72 lines) ^[[1s
+# IM insert mode reset ^[[J
+# RMS roll mode set ^[r
+# RMR roll mode reset ^[q
+# SM78 set mode vip7800 ^[[1q
+# SD scroll up (72 lines) ^[[0s
+# SD scroll down (72 lines) ^[[1s
# RBM block mode reset ^[[E
-# SLS status line set ^[w
-# SLR status line reset ^[v
-# SLL status line lock ^[O
-# LGS Line-graphic mode set ^[G
-# LGR Line-graphic mode reset ^[F
+# SLS status line set ^[w
+# SLR status line reset ^[v
+# SLL status line lock ^[O
+# LGS Line-graphic mode set ^[G
+# LGR Line-graphic mode reset ^[F
# TBC tab clear (at cursor pos.) ^[[g
-# TBI tab initialize ^[[N
+# TBI tab initialize ^[[N
# TBS tab set (at cursor pos.) ^[p
# PDS print data space ^[[0p
-# PHD print host data ^[[3p
+# PHD print host data ^[[3p
# PDT print data terminator ^[[<p
# PRES print adapter reset ^[[2p
# SSPR multi-part. reset ^[[<>u
# SSP0 partition 0 set ^[[00u
-# SSP1 partition n format 1 ^[[PnPnSTRINGu
-# SSP2 partition n format 2 ^[[PnPnSTRINGu
-# SSP3 partition n format 3 ^[[PnPnu
+# SSP1 partition n format 1 ^[[PnPnSTRINGu
+# SSP2 partition n format 2 ^[[PnPnSTRINGu
+# SSP3 partition n format 3 ^[[PnPnu
# ATR attribute (visual)
# blink : ^[sB
# dim : ^[sL
@@ -20541,7 +20543,7 @@
bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J, kbs=^H,
# \E(B Use U.S. character set (otherwise # => british pound !)
# \E[20l Disable "linefeed newline" mode (else puts \r after \n,\f,\v)
-# \E[w 10 char/in pitch
+# \E[w 10 char/in pitch
# \E[1;132 full width horizontal margins
# \E[2g clear all tab stops
# \E[z 6 lines/in
@@ -21766,7 +21768,7 @@
# * cfont(1) in the PC 7300 documentation.
# */
#
-# struct altfdata /* structure for alt font data */
+# struct altfdata /* structure for alt font data */
# {
# short altf_slot; /* memory slot number */
# char altf_name[FNSIZE]; /* font name (file name) */
@@ -22872,10 +22874,10 @@
# terminfo entry are followed with the corresponding capability in parens:
#
# CSI <n>k disable (n=0) or enable (n=1) keyclick
-# CSI 2h lock keyboard
-# CSI 2i send screen as input
-# CSI 2l unlock keyboard
-# CSI 6m enable background color intensity
+# CSI 2h lock keyboard
+# CSI 2i send screen as input
+# CSI 2l unlock keyboard
+# CSI 6m enable background color intensity
# CSI <0-2>c reserved
# CSI <0-59>m select graphic rendition
# CSI <n>;<m>H (cup) cursor to line n and column m
@@ -22902,10 +22904,10 @@
# CSI <n>e cursor down n lines and in first column
# CSI <n>g (cbt) clear all tabs
# CSI <n>z make virtual terminal n active
-# CSI ?7h (smam) turn automargin on
-# CSI ?7l (rmam) turn automargin off
-# CSI s save cursor position
-# CSI u restore cursor position to saved value
+# CSI ?7h (smam) turn automargin on
+# CSI ?7l (rmam) turn automargin off
+# CSI s save cursor position
+# CSI u restore cursor position to saved value
# CSI =<c>A set overscan color
# CSI =<c>F set normal foreground color
# CSI =<c>G set normal background color
@@ -22918,12 +22920,12 @@
# CSI =<s>;<e>C set cursor parameters
# CSI =<x>D enable/disable intensity of background color
# CSI =<x>E set/clear blink vs. bold background
-# CSI 7 (sc) (sc) save cursor position
-# CSI 8 (rc) (rc) restore cursor position to saved value
+# CSI 7 (sc) (sc) save cursor position
+# CSI 8 (rc) (rc) restore cursor position to saved value
# CSI H (hts) (hts) set tab stop
# CSI Q<n><string> define function key string
# (string must begin and end with delimiter char)
-# CSI c (clear) clear screen
+# CSI c (clear) clear screen
#
# The lack of any specification for attributes in SGR (among other things)
# makes this a wretchedly weak standard. The table above is literally
@@ -22949,22 +22951,22 @@
# CL key_char_left
# CR key_char_right
# CW key_change_window create_window
-# EN key_end kend
+# EN key_end kend
# HM key_home khome
# HP ??
-# LD key_delete_line kdl1
-# LF key_linefeed label_off
+# LD key_delete_line kdl1
+# LF key_linefeed label_off
# NU key_next_unlocked_cell
-# PD key_page_down knp
+# PD key_page_down knp
# PL ??
# PN start_print mc5
# PR ??
# PS stop_print mc4
-# PU key_page_up kpp pulse
+# PU key_page_up kpp pulse
# RC key_recalc remove_clock
# RF key_toggle_ref req_for_input
-# RT key_return kent
-# UP key_up_arrow kcuu1 parm_up_cursor
+# RT key_return kent
+# UP key_up_arrow kcuu1 parm_up_cursor
# WL key_word_left
# WR key_word_right
#
@@ -23534,7 +23536,7 @@
# 9.13.0 (Sun Mar 10 00:13:08 EST 1996):
# * Another sweep through the Shuford archive looking for new info.
# * Added dg100 alias to dg6053 based on a comp.terminals posting.
-# * Added st52 from Per Persson.
+# * Added st52 from Per Persson.
# * Added eterm from the GNU Emacs 19.30 distribution.
# * Freeze for 1.9.9.
# 9.13.1 (Fri Mar 29 14:06:46 EST 1996):
@@ -24855,4 +24857,13 @@
# + add linux-m1 minitel entries (patch by Alexandre Montaron).
# + correct rs2 string for vt100-nam -TD
#
+# 2016-11-26
+# + modify linux-16color to not mask dim, standout or reverse with the
+# ncv capability -TD
+# + add 0.1sec mandatory delay to flash capabilities using the VT100
+# reverse-video control -TD
+# + omit selection of ISO-8859-1 for G0 in enacs capability from linux2.6
+# entry, to avoid conflict with the user-defined mapping. The reset
+# feature will use ISO-8859-1 in any case (Mikulas Patocka).
+#
######## SHANTIH! SHANTIH! SHANTIH!
Index: ncurses/curses.priv.h
Prereq: 1.553
--- ncurses-6.0-20161119+/ncurses/curses.priv.h 2016-09-10 21:52:52.000000000 +0000
+++ ncurses-6.0-20161126/ncurses/curses.priv.h 2016-11-21 23:28:54.000000000 +0000
@@ -34,7 +34,7 @@
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.553 2016/09/10 21:52:52 Rich.Coe Exp $
+ * $Id: curses.priv.h,v 1.554 2016/11/21 23:28:54 tom Exp $
*
* curses.priv.h
*
@@ -901,10 +901,10 @@
#endif
#ifdef TRACE
- bool init_trace;
char trace_fname[PATH_MAX];
int trace_level;
FILE *trace_fp;
+ int trace_fd;
char *tracearg_buf;
size_t tracearg_used;
Index: ncurses/tinfo/lib_data.c
Prereq: 1.67
--- ncurses-6.0-20161119+/ncurses/tinfo/lib_data.c 2016-09-04 00:15:54.000000000 +0000
+++ ncurses-6.0-20161126/ncurses/tinfo/lib_data.c 2016-11-21 23:29:14.000000000 +0000
@@ -42,7 +42,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_data.c,v 1.67 2016/09/04 00:15:54 tom Exp $")
+MODULE_ID("$Id: lib_data.c,v 1.68 2016/11/21 23:29:14 tom Exp $")
/*
* OS/2's native linker complains if we don't initialize public data when
@@ -168,10 +168,10 @@
#endif
#ifdef TRACE
- FALSE, /* init_trace */
CHARS_0s, /* trace_fname */
0, /* trace_level */
NULL, /* trace_fp */
+ -1, /* trace_fd */
NULL, /* tracearg_buf */
0, /* tracearg_used */
Index: ncurses/trace/lib_trace.c
Prereq: 1.82
--- ncurses-6.0-20161119+/ncurses/trace/lib_trace.c 2013-07-06 19:42:09.000000000 +0000
+++ ncurses-6.0-20161126/ncurses/trace/lib_trace.c 2016-11-27 02:35:17.000000000 +0000
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,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 *
@@ -47,7 +47,7 @@
#include <ctype.h>
-MODULE_ID("$Id: lib_trace.c,v 1.82 2013/07/06 19:42:09 tom Exp $")
+MODULE_ID("$Id: lib_trace.c,v 1.84 2016/11/27 02:35:17 tom Exp $")
NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
@@ -85,54 +85,59 @@
NCURSES_EXPORT_VAR(long) _nc_outchars = 0;
#endif
-#define TraceFP _nc_globals.trace_fp
-#define TracePath _nc_globals.trace_fname
-#define TraceLevel _nc_globals.trace_level
+#define MyFP _nc_globals.trace_fp
+#define MyFD _nc_globals.trace_fd
+#define MyPath _nc_globals.trace_fname
+#define MyLevel _nc_globals.trace_level
+#define MyNested _nc_globals.nested_tracef
NCURSES_EXPORT(void)
trace(const unsigned int tracelevel)
{
- if ((TraceFP == 0) && tracelevel) {
- const char *mode = _nc_globals.init_trace ? "ab" : "wb";
-
- if (TracePath[0] == '\0') {
- size_t size = sizeof(TracePath) - 12;
- if (getcwd(TracePath, size) == 0) {
- perror("curses: Can't get working directory");
- exit(EXIT_FAILURE);
+ if ((MyFP == 0) && tracelevel) {
+ if (MyFD >= 0) {
+ MyFP = fdopen(MyFD, "wb");
+ } else {
+ if (MyPath[0] == '\0') {
+ size_t size = sizeof(MyPath) - 12;
+ if (getcwd(MyPath, size) == 0) {
+ perror("curses: Can't get working directory");
+ exit(EXIT_FAILURE);
+ }
+ MyPath[size] = '\0';
+ assert(strlen(MyPath) <= size);
+ _nc_STRCAT(MyPath, "/trace", sizeof(MyPath));
+ if (_nc_is_dir_path(MyPath)) {
+ _nc_STRCAT(MyPath, ".log", sizeof(MyPath));
+ }
}
- TracePath[size] = '\0';
- assert(strlen(TracePath) <= size);
- _nc_STRCAT(TracePath, "/trace", sizeof(TracePath));
- if (_nc_is_dir_path(TracePath)) {
- _nc_STRCAT(TracePath, ".log", sizeof(TracePath));
+ if (_nc_access(MyPath, W_OK) < 0
+ || (MyFD = open(MyPath, O_CREAT | O_EXCL | O_RDWR, 0600)) < 0
+ || (MyFP = fdopen(MyFD, "wb")) == 0) {
+ ; /* EMPTY */
}
}
-
- _nc_globals.init_trace = TRUE;
_nc_tracing = tracelevel;
- if (_nc_access(TracePath, W_OK) < 0
- || (TraceFP = fopen(TracePath, mode)) == 0) {
- perror("curses: Can't open 'trace' file");
- exit(EXIT_FAILURE);
- }
/* Try to set line-buffered mode, or (failing that) unbuffered,
* so that the trace-output gets flushed automatically at the
* end of each line. This is useful in case the program dies.
*/
+ if (MyFP != 0) {
#if HAVE_SETVBUF /* ANSI */
- (void) setvbuf(TraceFP, (char *) 0, _IOLBF, (size_t) 0);
+ (void) setvbuf(MyFP, (char *) 0, _IOLBF, (size_t) 0);
#elif HAVE_SETBUF /* POSIX */
- (void) setbuffer(TraceFP, (char *) 0);
+ (void) setbuffer(MyFP, (char *) 0);
#endif
+ }
_tracef("TRACING NCURSES version %s.%d (tracelevel=%#x)",
NCURSES_VERSION,
NCURSES_VERSION_PATCH,
tracelevel);
} else if (tracelevel == 0) {
- if (TraceFP != 0) {
- fclose(TraceFP);
- TraceFP = 0;
+ if (MyFP != 0) {
+ MyFD = dup(MyFD); /* allow reopen of same file */
+ fclose(MyFP);
+ MyFP = 0;
}
_nc_tracing = tracelevel;
} else if (_nc_tracing != tracelevel) {
@@ -155,12 +160,12 @@
if (strlen(fmt) >= sizeof(Called) - 1) {
if (!strncmp(fmt, Called, sizeof(Called) - 1)) {
before = TRUE;
- TraceLevel++;
+ MyLevel++;
} else if (!strncmp(fmt, Return, sizeof(Return) - 1)) {
after = TRUE;
}
if (before || after) {
- if ((TraceLevel <= 1)
+ if ((MyLevel <= 1)
|| (doit & TRACE_ICALLS) != 0)
doit &= (TRACE_CALLS | TRACE_CCALLS);
else
@@ -168,9 +173,7 @@
}
}
- if (doit != 0) {
- if (TraceFP == 0)
- TraceFP = stderr;
+ if (doit != 0 && MyFP != 0) {
#ifdef USE_PTHREADS
/*
* TRACE_ICALLS is "really" needed to show normal use with threaded
@@ -185,23 +188,23 @@
if ((pthread_self))
# endif
#ifdef __MINGW32__
- fprintf(TraceFP, "%#lx:", (long) (intptr_t) pthread_self().p);
+ fprintf(MyFP, "%#lx:", (long) (intptr_t) pthread_self().p);
#else
- fprintf(TraceFP, "%#lx:", (long) (intptr_t) pthread_self());
+ fprintf(MyFP, "%#lx:", (long) (intptr_t) pthread_self());
#endif
#endif
if (before || after) {
int n;
- for (n = 1; n < TraceLevel; n++)
- fputs("+ ", TraceFP);
+ for (n = 1; n < MyLevel; n++)
+ fputs("+ ", MyFP);
}
- vfprintf(TraceFP, fmt, ap);
- fputc('\n', TraceFP);
- fflush(TraceFP);
+ vfprintf(MyFP, fmt, ap);
+ fputc('\n', MyFP);
+ fflush(MyFP);
}
- if (after && TraceLevel)
- TraceLevel--;
+ if (after && MyLevel)
+ MyLevel--;
errno = save_err;
}
@@ -310,13 +313,13 @@
bool result = FALSE;
_nc_lock_global(tst_tracef);
- if (!_nc_globals.nested_tracef++) {
+ if (!MyNested++) {
if ((result = (_nc_tracing & (mask))) != 0
&& _nc_try_global(tracef) == 0) {
/* we will call _nc_locked_tracef(), no nesting so far */
} else {
/* we will not call _nc_locked_tracef() */
- _nc_globals.nested_tracef = 0;
+ MyNested = 0;
}
} else {
/* we may call _nc_locked_tracef(), but with nested_tracef > 0 */
@@ -339,7 +342,7 @@
_nc_va_tracef(fmt, ap);
va_end(ap);
- if (--(_nc_globals.nested_tracef) == 0) {
+ if (--(MyNested) == 0) {
_nc_unlock_global(tracef);
}
}
Index: package/debian-mingw/changelog
--- ncurses-6.0-20161119+/package/debian-mingw/changelog 2016-11-19 18:20:25.000000000 +0000
+++ ncurses-6.0-20161126/package/debian-mingw/changelog 2016-11-21 22:34:14.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20161119) unstable; urgency=low
+ncurses6 (6.0+20161126) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Nov 2016 13:20:25 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 21 Nov 2016 17:34:14 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
Index: package/debian-mingw64/changelog
--- ncurses-6.0-20161119+/package/debian-mingw64/changelog 2016-11-19 18:20:25.000000000 +0000
+++ ncurses-6.0-20161126/package/debian-mingw64/changelog 2016-11-21 22:34:14.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20161119) unstable; urgency=low
+ncurses6 (6.0+20161126) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Nov 2016 13:20:25 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 21 Nov 2016 17:34:14 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
Index: package/debian/changelog
--- ncurses-6.0-20161119+/package/debian/changelog 2016-11-19 18:20:25.000000000 +0000
+++ ncurses-6.0-20161126/package/debian/changelog 2016-11-21 22:34:14.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20161119) unstable; urgency=low
+ncurses6 (6.0+20161126) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Nov 2016 13:20:25 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 21 Nov 2016 17:34:14 -0500
ncurses6 (5.9-20120608) unstable; urgency=low
Index: package/mingw-ncurses.nsi
Prereq: 1.185
--- ncurses-6.0-20161119+/package/mingw-ncurses.nsi 2016-11-19 18:20:25.000000000 +0000
+++ ncurses-6.0-20161126/package/mingw-ncurses.nsi 2016-11-21 22:34:14.000000000 +0000
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.185 2016/11/19 18:20:25 tom Exp $
+; $Id: mingw-ncurses.nsi,v 1.186 2016/11/21 22:34:14 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 "1119"
+!define VERSION_MMDD "1126"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"
Index: package/mingw-ncurses.spec
--- ncurses-6.0-20161119+/package/mingw-ncurses.spec 2016-11-19 18:20:25.000000000 +0000
+++ ncurses-6.0-20161126/package/mingw-ncurses.spec 2016-11-21 22:34:14.000000000 +0000
@@ -3,7 +3,7 @@
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.0
-Release: 20161119
+Release: 20161126
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Index: package/ncurses.spec
--- ncurses-6.0-20161119+/package/ncurses.spec 2016-11-19 18:20:25.000000000 +0000
+++ ncurses-6.0-20161126/package/ncurses.spec 2016-11-21 22:34:14.000000000 +0000
@@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
-Release: 20161119
+Release: 20161126
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Index: progs/tic.c
Prereq: 1.225
--- ncurses-6.0-20161119+/progs/tic.c 2016-11-20 00:34:58.000000000 +0000
+++ ncurses-6.0-20161126/progs/tic.c 2016-11-26 22:01:41.000000000 +0000
@@ -48,7 +48,7 @@
#include <parametrized.h>
#include <transform.h>
-MODULE_ID("$Id: tic.c,v 1.225 2016/11/20 00:34:58 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.228 2016/11/26 22:01:41 tom Exp $")
#define STDIN_NAME "<stdin>"
@@ -1172,6 +1172,19 @@
}
}
+static int
+csi_length(const char *value)
+{
+ int result = 0;
+
+ if (value[0] == '\033' && value[1] == '[') {
+ result = 2;
+ } else if (UChar(value[0]) == 0x9a) {
+ result = 1;
+ }
+ return result;
+}
+
static char
keypad_final(const char *string)
{
@@ -1214,7 +1227,6 @@
{
int j, k;
int want;
- size_t prefix = 0;
size_t suffix;
bool skip[4];
bool repeated = FALSE;
@@ -1232,16 +1244,8 @@
}
if (!repeated) {
char *up = list[1];
+ size_t prefix = csi_length(up);
- if (UChar(up[0]) == '\033') {
- if (up[1] == '[') {
- prefix = 2;
- } else {
- prefix = 1;
- }
- } else if (UChar(up[0]) == UChar('\233')) {
- prefix = 1;
- }
if (prefix) {
suffix = prefix;
while (up[suffix] && isdigit(UChar(up[suffix])))
@@ -1813,20 +1817,48 @@
return result;
}
+/*
+ * Check for DEC VT100 private mode for reverse video.
+ */
+static const char *
+skip_DECSCNM(const char *value, int *flag)
+{
+ *flag = -1;
+ if (value != 0) {
+ int skip = csi_length(value);
+ fprintf(stderr, "test %d:%s\n", skip, value);
+ if (skip > 0 &&
+ value[skip++] == '?' &&
+ value[skip++] == '5') {
+ if (value[skip] == 'h') {
+ *flag = 1;
+ } else if (value[skip] == 'l') {
+ *flag = 0;
+ }
+ value += skip + 1;
+ }
+ }
+ return value;
+}
+
static void
check_delays(const char *name, const char *value)
{
const char *p, *q;
- const char *mark = 0;
+ const char *first = 0;
+ const char *last = 0;
for (p = value; *p != '\0'; ++p) {
if (p[0] == '$' && p[1] == '<') {
const char *base = p + 2;
+ const char *mark = 0;
bool maybe = TRUE;
bool mixed = FALSE;
int proportional = 0;
int mandatory = 0;
+ first = p;
+
for (q = base; *q != '\0'; ++q) {
if (*q == '>') {
if (mark == 0)
@@ -1846,6 +1878,7 @@
mixed = TRUE;
}
}
+ last = *q ? (q + 1) : q;
if (*q == '\0') {
maybe = FALSE; /* just an isolated "$<" */
} else if (maybe) {
@@ -1865,6 +1898,32 @@
}
}
}
+
+ if (!strcmp(name, "flash") ||
+ !strcmp(name, "beep")) {
+
+ if (first != 0) {
+ if (first == value || *last == 0) {
+ /*
+ * Delay is on one end or the other.
+ */
+ _nc_warning("expected delay embedded within %s", name);
+ }
+ } else {
+ int flag;
+
+ /*
+ * Check for missing delay when using VT100 reverse-video.
+ * A real VT100 might not need this, but terminal emulators do.
+ */
+ if ((p = skip_DECSCNM(value, &flag)) != 0 &&
+ flag > 0 &&
+ (q = skip_DECSCNM(p, &flag)) != 0 &&
+ flag == 0) {
+ _nc_warning("expected a delay in %s", name);
+ }
+ }
+ }
}
static char *
@@ -2399,15 +2458,13 @@
bool result = FALSE;
if (VALID_STRING(value)) {
- if (value[0] == '\033' && value[1] == '[') {
- result = TRUE;
- value += 2;
- } else if (UChar(value[0]) == 0x9a) {
- result = TRUE;
- value += 1;
- }
- if (result) {
+ int skip = csi_length(value);
+
+ if (skip) {
int ch;
+
+ result = TRUE;
+ value += skip;
while ((ch = UChar(*value++)) != '\0') {
if (isdigit(ch) || ch == ';') {
;