ncurses 6.1 - patch 20190609
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 9 Jun 2019 21:36:47 +0000 (21:36 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 9 Jun 2019 21:36:47 +0000 (21:36 +0000)
+ add mintty, mintty-direct (adapted from patch by Thomas Wolff).
  Some of the suggested user-defined capabilities are commented-out,
  to allow builds with ncurses 5.9 and 6.0
+ add Smol/Rmol for tmux, vte-2018 (patch by Nicholas Marriott).
+ add rs1 to konsole, mlterm -TD
+ modify _nc_merge_entry() to make a copy of the data which it merges,
  to avoid modifying the source-data when aligning extended names.

12 files changed:
NEWS
VERSION
dist.mk
misc/terminfo.src
ncurses/tinfo/alloc_entry.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec

diff --git a/NEWS b/NEWS
index c185a7c4eca45d48fe97fe6750bfc9a44875a10c..66b3c9f8e09904b08ebfba6cb694e23ce330d726 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3324 2019/06/02 00:08:44 tom Exp $
+-- $Id: NEWS,v 1.3329 2019/06/09 20:07:36 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,15 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20190609
+       + add mintty, mintty-direct (adapted from patch by Thomas Wolff).
+         Some of the suggested user-defined capabilities are commented-out,
+         to allow builds with ncurses 5.9 and 6.0
+       + add Smol/Rmol for tmux, vte-2018 (patch by Nicholas Marriott).
+       + add rs1 to konsole, mlterm -TD
+       + modify _nc_merge_entry() to make a copy of the data which it merges,
+         to avoid modifying the source-data when aligning extended names.
+
 20190601
        + modify an internal call to vid_puts to pass extended color pairs
          e.g., from tty_update.c and lib_mvcur.c (report by Niegodziwy Beru).
diff --git a/VERSION b/VERSION
index 18096aaec4c4d2d5fe2c7549445603b69e82222d..59a811fa1040d65c43bc5789f80e4905bc408da4 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.1     20190601
+5:0:10 6.1     20190609
diff --git a/dist.mk b/dist.mk
index 649f222889996ced8e9f3823272b9819393bb3c0..9ec52a51d2787264f484ec5507dacdab3a7f0fe9 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1285 2019/06/01 13:32:39 tom Exp $
+# $Id: dist.mk,v 1.1287 2019/06/09 20:06:01 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 1
-NCURSES_PATCH = 20190601
+NCURSES_PATCH = 20190609
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index e42a7741742ad670b7790593c551a8553413fc19..69b351ea3aaad3716ce26ece52c7bbd42b678535 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.738 $
-#      $Date: 2019/05/18 23:53:50 $
+#      $Revision: 1.742 $
+#      $Date: 2019/06/09 20:01:43 $
 #
 # 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
 # license from xterm.
 #
 #------------------------------------------------------------------------------
+# https://invisible-island.net/ncurses/ncurses.faq.html#terminfo_copying
+# https://invisible-island.net/personal/copyrights.html#removing_notes
+#------------------------------------------------------------------------------
+#
 #      Version 10.2.1
 #      terminfo syntax
 #
@@ -380,6 +384,9 @@ ansi+sgrdim|ANSI graphic renditions; assuming terminal has dim; not bold,
        sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;
            %;%?%p7%t8;%;m,
        use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+
+# ECMA-48 does not specify scroll-regions, but most people consider it to be
+# "ANSI" because it is widely-supported.  See ecma+index for the standard form.
 ansi+csr|ANSI scroll-region plus cursor save & restore,
        csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7,
 
@@ -473,6 +480,11 @@ ecma+sgr|attribute capabilities for true ECMA-48 terminals,
 ecma+strikeout|ECMA-48 strikeout/crossed-out,
        rmxx=\E[29m, smxx=\E[9m,
 
+# ECMA-48 does not include the VT100 indexing and scroll-margins.  It has its
+# own variation.
+ecma+index|ECMA-48 scroll up/down,
+       indn=\E[%p1%dS, rin=\E[%p1%dT,
+
 # For comparison, here are all the capabilities implied by the Intel
 # Binary Compatibility Standard (level 2) that fit within terminfo.
 # For more detail on this rather pathetic standard, see the comments
@@ -3970,6 +3982,70 @@ putty+fnkeys+sco|SCO fn-keys for PuTTY,
        kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
        kich1=\E[L, knp=\E[G, kpp=\E[I,
 
+#### mintty
+# https://github.com/mintty/mintty
+#
+# Originally a fork (and reduction) of PuTTY, this has grown from 15ksloc in
+# 2013 to 38ksloc in 2019.  That is still smaller than PuTTY (160ksloc), but
+# larger than rxvt (31ksloc).
+#
+# Version 3.0 responds to DA as a VT400, however it does not implement the
+# application keypad.  The assignment of cursor-keys versus modifiers differs
+# from xterm (alt-left and alt-right send modifier 7, i.e., alt+control).
+#
+# Thomas Wolff suggested these extensions:
+#      blink2   turn on rapid blinking
+#      blink0   turn off blinking
+#      norm     turn off bold and half-bright mode
+#      opaq     turn off blank mode
+#      smul2    begin double underline mode
+#      smol     begin overline mode
+#      rmol     exit overline mode
+#      Font0    use default font
+#      Font1    use alternative font 1
+#      ...
+#      Font10   use alternative font 10
+#      setal    set (under)line color
+#      ol       set default (under)line color
+#      overs    overstrike (print characters over each other)
+#
+# but see vte-2018 (use Smol/Rmol rather than smol/rmol).
+mintty|Cygwin Terminal,
+       setal=\E[5%p1%dm, use=xterm+256color,
+       use=mintty+common,
+mintty-direct|Cygwin Terminal direct-color,
+       setal=\E[%?%p1%{8}%<%t5%p1%d%e58\:2\:\:%p1%{65536}%/%d\:%p1
+             %{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
+       use=xterm+direct, use=mintty+common,
+mintty+common|shared capabilities for mintty,
+       km@, npc,
+       kcbt=\E[Z, kent=\EOM, rmm@, rmpch=\E[10m,
+       rs1=\Ec\E]104\007, rshm=\E[22m, rsubm=\E[75m,
+       rsupm=\E[75m, smm@, smpch=\E[11m, sshm=\E[1\:2m,
+       ssubm=\E[74m, ssupm=\E[73m, Rmol=\E[55m, Smol=\E[53m,
+       Smulx=\E[4\:%p1%dm, blink2=\E[6m, norm=\E[22m,
+       opaq=\E[28m, smul2=\E[21m, use=ansi+rep,
+       use=ecma+strikeout, use=ecma+index, use=vt420+lrmm,
+       use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm+tmux,
+       use=xterm-basic,
+# 2019-06-09: These capabilities are commented-out for compatibility with
+# existing releases 5.9-6.1, and may be considered for inclusion after the
+# release of ncurses 6.2:
+#      Font0=\E[10m,
+#      Font1=\E[11m,
+#      Font2=\E[12m,
+#      Font3=\E[13m,
+#      Font4=\E[14m,
+#      Font5=\E[15m,
+#      Font6=\E[16m,
+#      Font7=\E[17m,
+#      Font8=\E[18m,
+#      Font9=\E[19m,
+#      Font10=\E[20m,
+#      blink0=\E[25m,
+#      ol=\E[59m,
+#      overs=\E[8\:7m,
+
 #### TeraTerm
 
 # This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
@@ -5407,9 +5483,11 @@ vte-2017|VTE 0.50.2,
 # VTE 0.51.2 and gnome-terminal 3.28.2 copied a feature from KovId's TTY
 # late in 2017 for changing the appearance of underlines, which was
 # incorporated into Debian and Fedora testing-packages in February and March
-# 2018, respectively.
+# 2018, respectively. Overline (Smol/Rmol) has been supported since December
+# 2017.
 vte-2018|VTE 0.51.2,
-       Smulx=\E[4\:%p1%dm, use=vte-2017,
+       Rmol=\E[55m, Smol=\E[53m, Smulx=\E[4\:%p1%dm,
+       use=vte-2017,
 
 vte|VTE aka GNOME Terminal,
        use=vte-2018,
@@ -5546,7 +5624,7 @@ konsole-base|KDE console window,
        kdch1=\E[3~, kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@,
        kf15@, kf16@, kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@,
        kf7@, kf8@, kf9@, kfnd@, khome=\E[1~, kslt@, rin=\E[%p1%dT,
-       rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m,
+       rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
        rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
            %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
@@ -5715,7 +5793,7 @@ mlterm2|multi lingual terminal emulator,
        kpp=\E[5~, kri=\EO1;2A, kslt=\E[4~, mc0=\E[i, nel=\EE,
        op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rin=\E[%p1%dT,
        rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l,
-       rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+       rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
        rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l,
        sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e
@@ -23907,7 +23985,7 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #   (including the System V console) support an attribute 6 that undoes this
 #   braindamage (this is required by iBCS2).
 #
-# * Some older versions of ANSI.SYS have a bug that causes thems to require
+# * Some older versions of ANSI.SYS have a bug that causes them to require
 #   ESC [ Pn k as EL rather than the ANSI ESC [ Pn K.  (This is not ECMA-48
 #   compatible.)
 
@@ -26118,5 +26196,15 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #      + add/use xterm+keypad in xterm-new (report by Alain D D Williams) -TD
 #      + update terminator entry -TD
 #      + remove hard-tabs from ti703 (report by Robert Clausecker)
+#      + add Smol/Rmol for tmux, vte-2018 -Nicholas Marriott
+#
+# 2019-06-01
+#      + add rs1 to konsole, mlterm -TD
+#
+# 2019-06-08
+#      + add mintty, mintty-direct (Thomas Wolff)
+# 2019-06-09
+#      + comment-out some user-defined capabilities in mintty+common to allow
+#        builds with existing releases 5.9-6.1 -TD
 #
 ######## SHANTIH!  SHANTIH!  SHANTIH!
index fe7892f4c6184275f806211cec537631213c2a4b..5fd33e76ee8d830f9053001260050bc9ff5aae9f 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2018,2019 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 <tic.h>
 
-MODULE_ID("$Id: alloc_entry.c,v 1.62 2018/04/14 20:32:09 tom Exp $")
+MODULE_ID("$Id: alloc_entry.c,v 1.63 2019/06/08 14:29:28 tom Exp $")
 
 #define ABSENT_OFFSET    -1
 #define CANCELLED_OFFSET -2
@@ -227,12 +227,17 @@ _nc_merge_entry(ENTRY * const target, ENTRY * const source)
 {
     TERMTYPE2 *to = &(target->tterm);
     TERMTYPE2 *from = &(source->tterm);
+#if NCURSES_XNAMES
+    TERMTYPE2 copy;
+#endif
     unsigned i;
 
     if (source == 0 || from == 0 || target == 0 || to == 0)
        return;
 
 #if NCURSES_XNAMES
+    _nc_copy_termtype2(&copy, from);
+    from = &copy;
     _nc_align_termtype(to, from);
 #endif
     for_each_boolean(i, from) {
@@ -272,6 +277,16 @@ _nc_merge_entry(ENTRY * const target, ENTRY * const source)
                to->Strings[i] = mergestring;
        }
     }
+#if NCURSES_XNAMES
+    /* Discard the data allocated in _nc_copy_termtype2, but do not use
+     * _nc_free_termtype2 because that frees the string-table (which is
+     * not allocated by _nc_copy_termtype2).
+     */
+    free(copy.Booleans);
+    free(copy.Numbers);
+    free(copy.Strings);
+    free(copy.ext_Names);
+#endif
 }
 
 #if NO_LEAKS
index f763468fb75997ee843515234736cbbaa6a49492..a91b173f5b3346a8a591fcb9c4dc3de0b0b05420 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20190601) unstable; urgency=low
+ncurses6 (6.1+20190609) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 01 Jun 2019 09:32:39 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 09 Jun 2019 16:06:01 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index f763468fb75997ee843515234736cbbaa6a49492..a91b173f5b3346a8a591fcb9c4dc3de0b0b05420 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20190601) unstable; urgency=low
+ncurses6 (6.1+20190609) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 01 Jun 2019 09:32:39 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 09 Jun 2019 16:06:01 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index e9f72da3261f120995ef78f677e3820adba9bccb..acd14e05bae2e63c117cbf3b533955a6262a6f29 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20190601) unstable; urgency=low
+ncurses6 (6.1+20190609) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 01 Jun 2019 09:32:39 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 09 Jun 2019 16:06:01 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 3ec7aa6f860a80c87b0448960dcd3ffc304a3056..b8dff6fbaf4071604951cb8476b0eee6fa3d6797 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.331 2019/06/01 13:32:39 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.333 2019/06/09 20:06:01 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "1"\r
 !define VERSION_YYYY  "2019"\r
-!define VERSION_MMDD  "0601"\r
+!define VERSION_MMDD  "0609"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 0780301b1f4d5d9b7be0c03d7b3669e7bdb8a954..d1d899a46613dc851c0a151587ca3052f385825d 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.1
-Release: 20190601
+Release: 20190609
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 8092004476e9f48f41087ae6f81dcbe8da14ddc9..9111f95d0ab3f9239975eb3ab19d99283a21c773 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.1
-Release: 20190601
+Release: 20190609
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 04f5ff7754e2bd971f9d2376abe73edb1a1d4fef..6bda031b7d77d15e6b4cb63a85ffa32e39fd53aa 100644 (file)
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.1
-Release: 20190601
+Release: 20190609
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz