summaryrefslogtreecommitdiff
path: root/system/ncurses/ncurses-6.3-20211106.patch
diff options
context:
space:
mode:
Diffstat (limited to 'system/ncurses/ncurses-6.3-20211106.patch')
-rw-r--r--system/ncurses/ncurses-6.3-20211106.patch404
1 files changed, 404 insertions, 0 deletions
diff --git a/system/ncurses/ncurses-6.3-20211106.patch b/system/ncurses/ncurses-6.3-20211106.patch
new file mode 100644
index 000000000..894a742d3
--- /dev/null
+++ b/system/ncurses/ncurses-6.3-20211106.patch
@@ -0,0 +1,404 @@
+# ncurses 6.3 - patch 20211106 - Thomas E. Dickey
+#
+# ------------------------------------------------------------------------------
+#
+# Ncurses 6.3 is at
+# ftp://ftp.invisible-island.net/ncurses/
+# https://invisible-mirror.net/archives/ncurses/
+#
+# Patches for ncurses 6.3 can be found at
+# ftp://ftp.invisible-island.net/ncurses//6.3
+# https://invisible-mirror.net/archives/ncurses//6.3
+#
+# ------------------------------------------------------------------------------
+# ftp://ftp.invisible-island.net/ncurses//6.3/ncurses-6.3-20211106.patch.gz
+# patch by Thomas E. Dickey <dickey@invisible-island.net>
+# created Sun Nov 7 00:20:43 UTC 2021
+# ------------------------------------------------------------------------------
+# NEWS | 10 +++++++++-
+# VERSION | 2 +-
+# dist.mk | 4 ++--
+# misc/Makefile.in | 4 ++--
+# ncurses/base/lib_delwin.c | 33 ++++++++++++++++++++-------------
+# ncurses/base/lib_freeall.c | 5 ++++-
+# ncurses/base/lib_refresh.c | 22 +++++++++++++++-------
+# ncurses/tinfo/lib_cur_term.c | 7 +++++--
+# 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 +-
+# package/ncursest.spec | 2 +-
+# panel/p_new.c | 4 ++--
+# 16 files changed, 71 insertions(+), 42 deletions(-)
+# ------------------------------------------------------------------------------
+Index: NEWS
+Prereq: 1.3738
+--- ncurses-6.3-20211030+/NEWS 2021-10-31 00:31:12.000000000 +0000
++++ ncurses-6.3-20211106/NEWS 2021-11-06 23:43:40.000000000 +0000
+@@ -26,7 +26,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.3738 2021/10/31 00:31:12 tom Exp $
++-- $Id: NEWS,v 1.3741 2021/11/06 23:43:40 tom Exp $
+ -------------------------------------------------------------------------------
+
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -46,6 +46,14 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+
++20211106
++ + improve check in misc/Makefile.in for empty $PKG_CONFIG_LIBDIR
++ + modify wnoutrefresh to call pnoutrefresh if its parameter is a pad,
++ rather than treating it as an error, and modify new_panel to permit
++ its window-parameter to be a pad (report by Giorgos Xou).
++ + fix a memory-leak in del_curterm (prompted by discussion with Bram
++ Moolenaar, cf: 20210821).
++
+ 20211030
+ + simplify some references to WINDOWS._flags using macros.
+ + add a "check" rule in Ada95 makefile, to help with test-packages.
+Index: VERSION
+--- ncurses-6.3-20211030+/VERSION 2021-10-30 08:33:19.000000000 +0000
++++ ncurses-6.3-20211106/VERSION 2021-11-06 08:19:47.000000000 +0000
+@@ -1 +1 @@
+-5:0:10 6.3 20211030
++5:0:10 6.3 20211106
+Index: dist.mk
+Prereq: 1.1447
+--- ncurses-6.3-20211030+/dist.mk 2021-10-30 08:33:19.000000000 +0000
++++ ncurses-6.3-20211106/dist.mk 2021-11-06 08:19:47.000000000 +0000
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: dist.mk,v 1.1447 2021/10/30 08:33:19 tom Exp $
++# $Id: dist.mk,v 1.1448 2021/11/06 08:19:47 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -38,7 +38,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 6
+ NCURSES_MINOR = 3
+-NCURSES_PATCH = 20211030
++NCURSES_PATCH = 20211106
+
+ # We don't append the patch to the version, since this only applies to releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: misc/Makefile.in
+Prereq: 1.78
+--- ncurses-6.3-20211030+/misc/Makefile.in 2021-07-03 19:07:50.000000000 +0000
++++ ncurses-6.3-20211106/misc/Makefile.in 2021-11-06 23:36:12.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: Makefile.in,v 1.78 2021/07/03 19:07:50 tom Exp $
++# $Id: Makefile.in,v 1.79 2021/11/06 23:36:12 tom Exp $
+ ##############################################################################
+ # Copyright 2018-2020,2021 Thomas E. Dickey #
+ # Copyright 1998-2016,2017 Free Software Foundation, Inc. #
+@@ -147,7 +147,7 @@
+ # directory during this rule:
+ @MAKE_PC_FILES@install \
+ @MAKE_PC_FILES@install.libs :: pc-files
+-@MAKE_PC_FILES@ @$(SHELL) -c 'case "x$(DESTDIR)$(PKG_CONFIG_LIBDIR)" in \
++@MAKE_PC_FILES@ @$(SHELL) -c 'case "x$(PKG_CONFIG_LIBDIR)" in \
+ @MAKE_PC_FILES@ x/*) \
+ @MAKE_PC_FILES@ mkdir -p $(DESTDIR)$(PKG_CONFIG_LIBDIR); \
+ @MAKE_PC_FILES@ for name in $(PC_FILES); do \
+Index: ncurses/base/lib_delwin.c
+Prereq: 1.21
+--- ncurses-6.3-20211030+/ncurses/base/lib_delwin.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.3-20211106/ncurses/base/lib_delwin.c 2021-11-06 21:54:14.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020 Thomas E. Dickey *
++ * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 1998-2008,2009 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -43,24 +43,28 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_delwin.c,v 1.21 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: lib_delwin.c,v 1.22 2021/11/06 21:54:14 tom Exp $")
+
+ static bool
+ cannot_delete(WINDOW *win)
+ {
+ WINDOWLIST *p;
+ bool result = TRUE;
++ if (IS_PAD(win)) {
++ result = FALSE;
++ } else {
+ #ifdef USE_SP_WINDOWLIST
+- SCREEN *sp = _nc_screen_of(win);
++ SCREEN *sp = _nc_screen_of(win);
+ #endif
+
+- for (each_window(SP_PARM, p)) {
+- if (&(p->win) == win) {
+- result = FALSE;
+- } else if ((p->win._flags & _SUBWIN) != 0
+- && p->win._parent == win) {
+- result = TRUE;
+- break;
++ for (each_window(SP_PARM, p)) {
++ if (&(p->win) == win) {
++ result = FALSE;
++ } else if (IS_SUBWIN(&(p->win))
++ && p->win._parent == win) {
++ result = TRUE;
++ break;
++ }
+ }
+ }
+ return result;
+@@ -77,15 +81,18 @@
+ if (win == 0
+ || cannot_delete(win)) {
+ result = ERR;
++ } else if (IS_PAD(win)) {
++ win->_parent = NULL;
++ result = OK;
+ } else {
+ #if NCURSES_SP_FUNCS
+ SCREEN *sp = _nc_screen_of(win);
+ #endif
+- if (win->_flags & _SUBWIN)
++ if (IS_SUBWIN(win)) {
+ touchwin(win->_parent);
+- else if (CurScreen(SP_PARM) != 0)
++ } else if (CurScreen(SP_PARM) != 0) {
+ touchwin(CurScreen(SP_PARM));
+-
++ }
+ result = _nc_freewin(win);
+ }
+ _nc_unlock_global(curses);
+Index: ncurses/base/lib_freeall.c
+Prereq: 1.75
+--- ncurses-6.3-20211030+/ncurses/base/lib_freeall.c 2021-10-23 18:53:46.000000000 +0000
++++ ncurses-6.3-20211106/ncurses/base/lib_freeall.c 2021-11-06 21:52:49.000000000 +0000
+@@ -40,7 +40,7 @@
+ extern int malloc_errfd; /* FIXME */
+ #endif
+
+-MODULE_ID("$Id: lib_freeall.c,v 1.75 2021/10/23 18:53:46 tom Exp $")
++MODULE_ID("$Id: lib_freeall.c,v 1.76 2021/11/06 21:52:49 tom Exp $")
+
+ /*
+ * Free all ncurses data. This is used for testing only (there's no practical
+@@ -78,6 +78,9 @@
+ WINDOW *p_win = &(p->win);
+ bool found = FALSE;
+
++ if (IS_PAD(p_win))
++ continue;
++
+ #ifndef USE_SP_WINDOWLIST
+ if (p->screen != SP_PARM)
+ continue;
+Index: ncurses/base/lib_refresh.c
+Prereq: 1.46
+--- ncurses-6.3-20211030+/ncurses/base/lib_refresh.c 2020-02-02 23:34:34.000000000 +0000
++++ ncurses-6.3-20211106/ncurses/base/lib_refresh.c 2021-11-06 22:22:03.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020 Thomas E. Dickey *
++ * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -43,7 +43,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_refresh.c,v 1.46 2020/02/02 23:34:34 tom Exp $")
++MODULE_ID("$Id: lib_refresh.c,v 1.47 2021/11/06 22:22:03 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ wrefresh(WINDOW *win)
+@@ -92,13 +92,21 @@
+
+ T((T_CALLED("wnoutrefresh(%p)"), (void *) win));
+
+- /*
+- * This function will break badly if we try to refresh a pad.
+- */
+- if ((win == 0)
+- || (win->_flags & _ISPAD))
++ if (win == NULL)
+ returnCode(ERR);
+
++ /*
++ * Handle pads as a special case.
++ */
++ if (IS_PAD(win)) {
++ returnCode(pnoutrefresh(win,
++ win->_pad._pad_y,
++ win->_pad._pad_x,
++ win->_pad._pad_top,
++ win->_pad._pad_left,
++ win->_pad._pad_bottom,
++ win->_pad._pad_right));
++ }
+ #ifdef TRACE
+ if (USE_TRACEF(TRACE_UPDATE)) {
+ _tracedump("...win", win);
+Index: ncurses/tinfo/lib_cur_term.c
+Prereq: 1.43
+--- ncurses-6.3-20211030+/ncurses/tinfo/lib_cur_term.c 2020-10-24 18:54:32.000000000 +0000
++++ ncurses-6.3-20211106/ncurses/tinfo/lib_cur_term.c 2021-11-06 19:04:21.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright 2020 Thomas E. Dickey *
++ * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+@@ -41,7 +41,7 @@
+ #include <termcap.h> /* ospeed */
+ #include <tic.h> /* VALID_STRING */
+
+-MODULE_ID("$Id: lib_cur_term.c,v 1.43 2020/10/24 18:54:32 tom Exp $")
++MODULE_ID("$Id: lib_cur_term.c,v 1.44 2021/11/06 19:04:21 tom Exp $")
+
+ #undef CUR
+ #define CUR TerminalType(termp).
+@@ -167,10 +167,13 @@
+ /* discard memory used in tgetent's cache for this terminal */
+ _nc_tgetent_leak(termp);
+ #endif
++ free(termp->tparm_state.fmt_buff);
++ free(termp->tparm_state.out_buff);
+ free(termp);
+
+ rc = OK;
+ }
++
+ returnCode(rc);
+ }
+
+Index: package/debian-mingw/changelog
+--- ncurses-6.3-20211030+/package/debian-mingw/changelog 2021-10-30 08:33:19.000000000 +0000
++++ ncurses-6.3-20211106/package/debian-mingw/changelog 2021-11-06 08:19:47.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.3+20211030) unstable; urgency=low
++ncurses6 (6.3+20211106) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 30 Oct 2021 04:33:19 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 06 Nov 2021 04:19:47 -0400
+
+ ncurses6 (5.9-20131005) unstable; urgency=low
+
+Index: package/debian-mingw64/changelog
+--- ncurses-6.3-20211030+/package/debian-mingw64/changelog 2021-10-30 08:33:19.000000000 +0000
++++ ncurses-6.3-20211106/package/debian-mingw64/changelog 2021-11-06 08:19:47.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.3+20211030) unstable; urgency=low
++ncurses6 (6.3+20211106) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 30 Oct 2021 04:33:19 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 06 Nov 2021 04:19:47 -0400
+
+ ncurses6 (5.9-20131005) unstable; urgency=low
+
+Index: package/debian/changelog
+--- ncurses-6.3-20211030+/package/debian/changelog 2021-10-30 08:33:19.000000000 +0000
++++ ncurses-6.3-20211106/package/debian/changelog 2021-11-06 08:19:47.000000000 +0000
+@@ -1,8 +1,8 @@
+-ncurses6 (6.3+20211030) unstable; urgency=low
++ncurses6 (6.3+20211106) unstable; urgency=low
+
+ * latest weekly patch
+
+- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 30 Oct 2021 04:33:19 -0400
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 06 Nov 2021 04:19:47 -0400
+
+ ncurses6 (5.9-20120608) unstable; urgency=low
+
+Index: package/mingw-ncurses.nsi
+Prereq: 1.489
+--- ncurses-6.3-20211030+/package/mingw-ncurses.nsi 2021-10-30 08:33:19.000000000 +0000
++++ ncurses-6.3-20211106/package/mingw-ncurses.nsi 2021-11-06 08:19:47.000000000 +0000
+@@ -1,4 +1,4 @@
+-; $Id: mingw-ncurses.nsi,v 1.489 2021/10/30 08:33:19 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.490 2021/11/06 08:19:47 tom Exp $
+
+ ; TODO add examples
+ ; TODO bump ABI to 6
+@@ -10,7 +10,7 @@
+ !define VERSION_MAJOR "6"
+ !define VERSION_MINOR "3"
+ !define VERSION_YYYY "2021"
+-!define VERSION_MMDD "1030"
++!define VERSION_MMDD "1106"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+
+ !define MY_ABI "5"
+Index: package/mingw-ncurses.spec
+--- ncurses-6.3-20211030+/package/mingw-ncurses.spec 2021-10-30 08:33:19.000000000 +0000
++++ ncurses-6.3-20211106/package/mingw-ncurses.spec 2021-11-06 08:19:47.000000000 +0000
+@@ -3,7 +3,7 @@
+ Summary: shared libraries for terminal handling
+ Name: mingw32-ncurses6
+ Version: 6.3
+-Release: 20211030
++Release: 20211106
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncurses.spec
+--- ncurses-6.3-20211030+/package/ncurses.spec 2021-10-30 08:33:19.000000000 +0000
++++ ncurses-6.3-20211106/package/ncurses.spec 2021-11-06 08:19:47.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: shared libraries for terminal handling
+ Name: ncurses6
+ Version: 6.3
+-Release: 20211030
++Release: 20211106
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: package/ncursest.spec
+--- ncurses-6.3-20211030+/package/ncursest.spec 2021-10-30 08:33:19.000000000 +0000
++++ ncurses-6.3-20211106/package/ncursest.spec 2021-11-06 08:19:47.000000000 +0000
+@@ -1,7 +1,7 @@
+ Summary: Curses library with POSIX thread support.
+ Name: ncursest6
+ Version: 6.3
+-Release: 20211030
++Release: 20211106
+ License: X11
+ Group: Development/Libraries
+ Source: ncurses-%{version}-%{release}.tgz
+Index: panel/p_new.c
+Prereq: 1.23
+--- ncurses-6.3-20211030+/panel/p_new.c 2021-06-17 21:20:30.000000000 +0000
++++ ncurses-6.3-20211106/panel/p_new.c 2021-10-23 15:12:06.000000000 +0000
+@@ -39,7 +39,7 @@
+ */
+ #include "panel.priv.h"
+
+-MODULE_ID("$Id: p_new.c,v 1.23 2021/06/17 21:20:30 tom Exp $")
++MODULE_ID("$Id: p_new.c,v 1.24 2021/10/23 15:12:06 tom Exp $")
+
+ #ifdef TRACE
+ static char *stdscr_id;
+@@ -117,7 +117,7 @@
+ (void)root_panel(NCURSES_SP_ARG);
+ assert(_nc_stdscr_pseudo_panel);
+
+- if (!(win->_flags & _ISPAD) && (pan = AllocPanel("new_panel")))
++ if ((pan = AllocPanel("new_panel")) != NULL)
+ {
+ pan->win = win;
+ pan->above = (PANEL *)0;