diff options
Diffstat (limited to 'packages/ncurses/6.5/ncurses-6.5-20250208.patch')
-rw-r--r-- | packages/ncurses/6.5/ncurses-6.5-20250208.patch | 763 |
1 files changed, 763 insertions, 0 deletions
diff --git a/packages/ncurses/6.5/ncurses-6.5-20250208.patch b/packages/ncurses/6.5/ncurses-6.5-20250208.patch new file mode 100644 index 00000000..38d47341 --- /dev/null +++ b/packages/ncurses/6.5/ncurses-6.5-20250208.patch @@ -0,0 +1,763 @@ +# ncurses 6.5 - patch 20250208 - Thomas E. Dickey +# +# ------------------------------------------------------------------------------ +# +# Ncurses 6.5 is at +# https://invisible-island.net/archives/ncurses/ +# https://invisible-mirror.net/archives/ncurses/ +# https://ftp.gnu.org/gnu/ncurses/ +# +# Patches for ncurses 6.5 can be found at +# https://invisible-island.net/archives/ncurses/6.5 +# https://invisible-mirror.net/archives/ncurses/6.5 +# +# ------------------------------------------------------------------------------ +# https://invisible-island.net/archives/ncurses/6.5/ncurses-6.5-20250208.patch.gz +# patch by Thomas E. Dickey <dickey@invisible-island.net> +# created Sun Feb 9 00:55:56 UTC 2025 +# ------------------------------------------------------------------------------ +# NEWS | 9 ++- +# VERSION | 2 +# c++/etip.h.in | 13 ++-- +# dist.mk | 4 - +# misc/terminfo.src | 108 +++++++++++++++++++++++++++++-------- +# ncurses/base/lib_mouse.c | 8 +- +# ncurses/base/lib_set_term.c | 9 ++- +# 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 +# progs/dump_entry.c | 10 +-- +# test/ditto.c | 8 +- +# test/filter.c | 6 +- +# test/redraw.c | 6 +- +# test/test_opaque.c | 34 ++++++++--- +# 19 files changed, 167 insertions(+), 72 deletions(-) +# ------------------------------------------------------------------------------ +Index: NEWS +Prereq: 1.4239 +--- ncurses-6.5-20250201+/NEWS 2025-02-02 00:30:12.000000000 +0000 ++++ ncurses-6.5-20250208/NEWS 2025-02-08 23:54:37.000000000 +0000 +@@ -26,7 +26,7 @@ + -- sale, use or other dealings in this Software without prior written -- + -- authorization. -- + ------------------------------------------------------------------------------- +--- $Id: NEWS,v 1.4239 2025/02/02 00:30:12 tom Exp $ ++-- $Id: NEWS,v 1.4242 2025/02/08 23:54:37 tom Exp $ + ------------------------------------------------------------------------------- + + This is a log of changes that ncurses has gone through since Zeyd started +@@ -46,6 +46,13 @@ + Changes through 1.9.9e did not credit all contributions; + it is not possible to add this information. + ++20250208 ++ + change etip.h.in to include either/both of <new> and <exception>, ++ needed for another old BSD. ++ + update st (report by Alexander Kashpir) -TD ++ + add note for ghostty 1.1.0 -TD ++ + fix a few issues found with coverity. ++ + 20250201 + + add <new> to the possible headers declaring the C++ std::bad_alloc + (report by Carl Hansen). +Index: VERSION +--- ncurses-6.5-20250201+/VERSION 2025-02-01 10:35:49.000000000 +0000 ++++ ncurses-6.5-20250208/VERSION 2025-02-08 11:01:51.000000000 +0000 +@@ -1 +1 @@ +-5:0:10 6.5 20250201 ++5:0:10 6.5 20250208 +Index: c++/etip.h.in +Prereq: 1.54 +--- ncurses-6.5-20250201+/c++/etip.h.in 2025-02-02 00:20:44.000000000 +0000 ++++ ncurses-6.5-20250208/c++/etip.h.in 2025-02-08 23:39:52.000000000 +0000 +@@ -32,7 +32,7 @@ + * Author: Juergen Pfeifer, 1997 * + ****************************************************************************/ + +-// $Id: etip.h.in,v 1.54 2025/02/02 00:20:44 tom Exp $ ++// $Id: etip.h.in,v 1.55 2025/02/08 23:39:52 tom Exp $ + + #ifndef NCURSES_ETIP_H_incl + #define NCURSES_ETIP_H_incl 1 +@@ -124,14 +124,17 @@ + # endif + # undef exception + # endif +-#elif HAVE_EXCEPTION +-# include <exception> +-#elif HAVE_NEW +-# include <new> + #elif defined (__SUNPRO_CC) + # include <generic.h> + #endif + ++#if HAVE_EXCEPTION ++# include <exception> ++#endif ++#if HAVE_NEW ++# include <new> ++#endif ++ + // This used to include <curses.h>, but Apple's configuration as of 2024 + // provides only a broken version of ncurses's header, which interferes + // with the configure script. +Index: dist.mk +Prereq: 1.1653 +--- ncurses-6.5-20250201+/dist.mk 2025-02-01 10:35:49.000000000 +0000 ++++ ncurses-6.5-20250208/dist.mk 2025-02-08 11:01:51.000000000 +0000 +@@ -26,7 +26,7 @@ + # use or other dealings in this Software without prior written # + # authorization. # + ############################################################################## +-# $Id: dist.mk,v 1.1653 2025/02/01 10:35:49 tom Exp $ ++# $Id: dist.mk,v 1.1654 2025/02/08 11:01:51 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 = 5 +-NCURSES_PATCH = 20250201 ++NCURSES_PATCH = 20250208 + + # 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.5-20250201+/misc/terminfo.src 2025-01-04 21:02:11.000000000 +0000 ++++ ncurses-6.5-20250208/misc/terminfo.src 2025-02-08 21:27:07.000000000 +0000 +@@ -6,8 +6,8 @@ + # Report bugs and new terminal descriptions to + # bug-ncurses@gnu.org + # +-# $Revision: 1.1163 $ +-# $Date: 2025/01/04 21:02:11 $ ++# $Revision: 1.1170 $ ++# $Date: 2025/02/08 21:27:07 $ + # + # 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 +@@ -635,7 +635,7 @@ + # Parameter default value: Ps = 0 + # With a parameter value not equal to 0, DA is used to identify the + # device which sends the DA. The parameter value is a device type +-# identification code according to a register which is to be established. ++# identification code according to a register which is to be established. + # If the parameter value is 0, DA is used to request an identifying DA + # from a device. + # +@@ -3209,7 +3209,7 @@ + # my faulty memory, and the following online sources and references: + # + # [1] "Three Scotts and a Duane" by Simson L. Garfinkel +-# http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/93.8/93.8.Dec.Community1.html ++# https://web.archive.org/web/20121019083801/http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/93.8/93.8.Dec.Community1.html + # + # [2] NeXTSTEP entry from Wikipedia, the free encyclopedia + # https://secure.wikimedia.org/wikipedia/en/wiki/Nextstep +@@ -3642,7 +3642,7 @@ + # NOTES: + # with esctest: + # 365 tests passed, 196 known bugs, 2 tests fail intermittently +-# the known bugs include several of the cursor-movement tests ++# the known bugs include several of the cursor-movement tests + # the ED, EL tests include those failing intermittently + # DECCOLM, DECERA, DECSED, DECSERA and SPA do not work + # most of the DECRPM, DECRQSS reports fail +@@ -4023,7 +4023,7 @@ + # TN3270, TVI910, TVI925, Wyse 50/60, and ANSI. + # Changes: + # Added ANSI sc/rc and REP in 2019/12/17 +-# Added TVI910/ TVI925 in 2019/11/20 ++# Added TVI910/ TVI925 in 2019/11/20 + # + # Default: + # Emulate "Xterm", using "ANSI with 256color" +@@ -4088,8 +4088,8 @@ + # TERM=xterm + # + # vttest: +-# DA1: \E[?62;1;2;6;7;8;9;15;22c (VT200 with DRCS, UDK, NRCS) +-# DA2: \E[>1;10;0c ++# DA1: \E[?62;1;2;6;7;8;9;15;22c (VT200 with DRCS, UDK, NRCS) ++# DA2: \E[>1;10;0c + # However: + # + NRCS tests do not work + # + DECUDK test fails +@@ -5706,7 +5706,7 @@ + # c) fsl ends the escape sequence begun by tsl. Printable characters between + # those (probably) will appear in the window title. Nonprintable characters + # may cause the escape sequence to end with an error. +-# d) the BEL (^G or \007) used in the original title-as-statusline came from ++# d) the BEL (^G or \007) used in the original title-as-statusline came from + # David J. MacKenzie's "pseudo-color" entry in 20 Apr 1995. At that time + # xterm used BEL as the string-terminator rather than ST (\E\\). Either + # BEL or ST has worked since xterm patch #28 in 1996, but most uses of +@@ -6029,7 +6029,7 @@ + # http://nion.modprobe.de/blog/archives/569-colored-manpages.html + # (blog posting by Nico Golde, June 24 2007) + # archive: +-# https://web-beta.archive.org/web/20070921042430/http://nion.modprobe.de/mostlike.txt ++# https://web.archive.org/web/20070921042430/http://nion.modprobe.de/mostlike.txt + # The comment hints where it started, but there are differences: + # Reconstructed via infocmp from file: /usr/share/terminfo/x/xterm-pcolor + mostlike|manpages with color looking like most, +@@ -6858,7 +6858,6 @@ + use=vt220+vtedit, use=xterm+nopcfkeys, + + # rxvt was originally "xvt", first announced in April 1993: +-# http://www.krsaborio.net/linux-desktops/research/1993/0416.html + #------------------------------------------------------------------------------ + # Article: 567 of comp.os.linux.announce + # Path: pavo.csi.cam.ac.uk!warwick!uknet!pipex!uunet!zaphod.mps.ohio-state.edu! +@@ -7060,7 +7059,7 @@ + # This article does not cover the HP 46020A keyboard that is used by the Model + # 217 and 237 computers. For information on this keyboard read the article, + # "The Series 300 ITE as System Console" found in the manual, HP-UX Concepts +-# and Tutorials, Vol. 7. ++# and Tutorials, Vol. 7. + # + # Possibly: + # http://bitsavers.trailing-edge.com/pdf/hp/9000_hpux/1986/97089-90042_198608_HP-UX_Concepts_and_Tutorials.pdf +@@ -7304,7 +7303,27 @@ + # st.suckless.org + + st|stterm|aka simpleterm, +- use=st-0.8, ++ use=st-0.8.5, ++ ++# Reviewed 0.9.2 (Debian testing package "stterm"): ++# Inspected source, saw nothing to change in terminfo. ++# ++# Reviewed 0.8.5 (Debian stable package "stterm"): ++# In tack, ++# sends nothing for control- and alt-modifiers to function-keys ++# does not support application-mode for numeric keypad ++# In vttest, ++# identifies as a VT102 ++# SRM, DECTCEM and ECH work, but not DECSCA ++# incomplete DECSCUSR, shapes work but no blinking cursor ++# SD and SL work, but not SL or SR ++# supports normal, button-event and any-event mouse ++# focus events are unreliable ++# Other: ++# supports xterm OSC 12, but not 112, so Cs applies but not Cr ++# OSC allows ST \E\\ in addition to \007 ++st-0.8.5|simpleterm 0.8.5, ++ Cs=\E]12;%p1%s\007, use=ansi+rep, use=st-0.8, + + # Reviewed 0.8.2: + # In tack, +@@ -7922,7 +7941,7 @@ + # otherwise few reports, except cursor-position and mouse and some dtterm + # VT520 cursor-movement works, except for left/right margins + # supports xterm/DECSCUSR, though default case in vttest does not blink +-# Send: <27> [ 0 <32> q ++# Send: <27> [ 0 <32> q + # Text: The cursor should be a blinking rectangle + # partial support for xterm mouse any-event mode and button-event mode: + # + does not report focus-in/focus-out +@@ -8235,7 +8254,7 @@ + # However, it uses xterm as a standard: + # + # We believe Ghostty is one of the most compliant terminal emulators +-# available. Terminal behavior is partially a de jure standard (i.e. ++# available. Terminal behavior is partially a de jure standard (i.e. + # [ECMA-48](https://ecma-international.org/publications-and-standards/stand> + # but mostly a de facto standard as defined by popular terminal emulators + # worldwide. Ghostty takes the approach that our behavior is defined by +@@ -8252,6 +8271,45 @@ + # study xterm's source code closer than xterm's documentation. The quote above + # is the only mention of ECMA-48. + # ++# ghostty 1.1.0 tested with Arch Linux: ++# ------------- ++# The issue with vttest is repaired. Other issues remain. The reader may not ++# have noticed, but the ghostty developers disallow direct bug reports. ++# Quoting the developers: ++# ++# https://github.com/ghostty-org/ghostty/issues/3558 ++# Users are not allowed to create Issues directly in this repository - we ++# ask that you create a Discussion first. ++# ... ++# Any Discussion which clearly identifies a problem in Ghostty and can be ++# confirmed or reproduced will be converted to an Issue by a maintainer, ++# so as a user finding a valid problem you don't do any extra work ++# anyway. Thank you. ++# ++# As a direct consequence, details and attribution in those "Discussion" notes ++# may be omitted, as in this instance. ++# ++# https://web.archive.org/web/20250124124041/https://github.com/ghostty-org/ghostty/issues/2542 ++# ghostty #2542 Publish ghostty terminfo to ncurses terminal database ++# Opened October 30, 2024, this terminal description is mentioned December 31. ++# ++# https://web.archive.org/web/20250115170223/https://github.com/ghostty-org/ghostty/issues/4523 ++# ghostty #4523 Renderers (Metal and OpenGL) should clip terminal if terminal ++# grid size mismatches physical window ++# Opened January 3, 2025, with a note ++# The only known way to trigger this is DECCOLM, so it's low priority ++# since almost nothing uses this. But notably vtetest uses this and it ++# makes it appear like we perform much worse than we do. ++# ++# Issue #4523 does not mention the bug report (nor, as in some other instances ++# refer obliquely to a discussion on "Discord"). vttest sends a DECCOLM to ++# ensure that the screen is not in 132-column mode. That is the case for the ++# testing reported. If ghostty were implementing DECCOLM correctly, it would ++# not have decided that the screensize changed. The fix in #4523 is a ++# workaround masking other potential issues. ++# ++# By the way, that should be "vttest" (there is no such program as "vtetest"). ++# + # ghostty 1.0.0 tested with Arch Linux: + # ------------- + # tack: +@@ -8269,11 +8327,11 @@ + # vttest: + # - ghostty hangs in more than one menu, making it impossible to test more than + # a small part of the program. In particular, these are untestable: +-# 1. Test of cursor movements ++# 1. Test of cursor movements + # 2. Test of screen features + # 4. Test of double-sized characters + # - ghostty has tabs (imitating gnome-terminal); when closing a tab with a +-# running process (e.g., a hung vttest), ghostty does not prompt about the ++# running process (e.g., a hung vttest), ghostty does not prompt about the + # process to be killed. + # - identifies as a "VT220 with color": + # <27> [ ? 6 2 ; 2 2 c +@@ -9083,8 +9141,8 @@ + # incomplete manual page. Presumably the intent was to document features of + # shelltool not in wscons: + # +-# https://manpages.ubuntu.com/manpages/bionic/en/man1/shelltool.1.html +-# https://manpages.ubuntu.com/manpages/bionic/en/man1/cmdtool.1.html ++# https://web.archive.org/web/20230608051050/manpages.ubuntu.com/manpages/bionic/en/man1/shelltool.1.html ++# https://web.archive.org/web/20220520165933/manpages.ubuntu.com/manpages/bionic/en/man1/cmdtool.1.html + # + # The wscons manual page and the XView source show that it had no feature that + # could be used in ncurses u6/u7/u8/u9 extensions. Interesting, the XView +@@ -17946,7 +18004,7 @@ + # + # They're now (1998) a subsidiary of General Electric, operating under the + # marque "GEC-Marconi Hazeltine" and doing military avionics. Web page +-# at <http://www.gec.com/cpd/1ncpd.htm#1.55>. ++# at <https://web.archive.org/web/19990223214534/http://www.gec.com/cpd/1ncpd.htm#1.55>. + # + + # Since <cuf1> is blank, when you want to erase something you +@@ -23465,8 +23523,8 @@ + # https://ub.fnwi.uva.nl/computermuseum/tab13215g.html + # This monochrome graphics terminal of TAB Products, California, is a DEC + # VT52/VT100/VT132 compatible alphanumeric terminal (TAB 132/15), +-# factory-fitted with additional hardware for Tektronix 4010 emulation. +-# Also the terminal understands a selection of Tektronix 4027 commands. ++# factory-fitted with additional hardware for Tektronix 4010 emulation. ++# Also the terminal understands a selection of Tektronix 4027 commands. + tab132|tab|tab132-15|tab 132/15, + da, db, + OTdN@, lm#96, +@@ -27730,4 +27788,10 @@ + # + add linux+lockeys, xterm+r5+lockeys, xterm+r5+fkeys -TD + # + add vt220+ufkeys, vt220+sfkeys + # ++# 2025-02-03 ++# + add note for ghostty 1.1.0 -TD ++# ++# 2025-02-08 ++# + update st (report by Alexander Kashpir) -TD ++# + ######## SHANTIH! SHANTIH! SHANTIH! +Index: ncurses/base/lib_mouse.c +Prereq: 1.206 +--- ncurses-6.5-20250201+/ncurses/base/lib_mouse.c 2025-01-22 23:13:51.000000000 +0000 ++++ ncurses-6.5-20250208/ncurses/base/lib_mouse.c 2025-02-08 12:16:37.000000000 +0000 +@@ -85,7 +85,7 @@ + #define CUR SP_TERMTYPE + #endif + +-MODULE_ID("$Id: lib_mouse.c,v 1.206 2025/01/22 23:13:51 tom Exp $") ++MODULE_ID("$Id: lib_mouse.c,v 1.207 2025/02/08 12:16:37 tom Exp $") + + #include <tic.h> + +@@ -1114,7 +1114,7 @@ + sp->_ifd, + #endif + kbuf + grabbed, (size_t) (MAX_KBUF - (int) grabbed)); +- if (res == -1) ++ if (res < 0) + break; + } + _nc_set_read_thread(FALSE); +@@ -1162,7 +1162,7 @@ + sp->_ifd, + #endif + (kbuf + grabbed), (size_t) 1); +- if (res == -1) ++ if (res < 0) + break; + grabbed += (size_t) res; + if (grabbed > 1) { +@@ -1240,7 +1240,7 @@ + sp->_ifd, + #endif + (kbuf + grabbed), (size_t) 1); +- if (res == -1) ++ if (res < 0) + break; + if ((grabbed + MAX_KBUF) >= (int) sizeof(kbuf)) { + result->nerror++; +Index: ncurses/base/lib_set_term.c +Prereq: 1.193 +--- ncurses-6.5-20250201+/ncurses/base/lib_set_term.c 2025-01-22 23:13:27.000000000 +0000 ++++ ncurses-6.5-20250208/ncurses/base/lib_set_term.c 2025-02-08 15:54:53.000000000 +0000 +@@ -57,7 +57,7 @@ + #undef CUR + #define CUR SP_TERMTYPE + +-MODULE_ID("$Id: lib_set_term.c,v 1.193 2025/01/22 23:13:27 tom Exp $") ++MODULE_ID("$Id: lib_set_term.c,v 1.195 2025/02/08 15:54:53 tom Exp $") + + #ifdef USE_TERM_DRIVER + #define MaxColors InfoOf(sp).maxcolors +@@ -331,10 +331,13 @@ + T((T_CALLED("_nc_setupscreen(%d, %d, %p, %d, %d)"), + slines, scolumns, (void *) output, filtered, slk_format)); + +- assert(CURRENT_SCREEN == 0); /* has been reset in newterm() ! */ ++ /* CURRENT_SCREE is reset in newterm() */ ++ if (CURRENT_SCREEN != NULL || slines <= 0 || scolumns <= 0) ++ returnCode(ERR); + + #if NCURSES_SP_FUNCS +- assert(spp != 0); ++ if (spp == NULL) ++ returnCode(ERR); + sp = *spp; + + if (!sp) { +Index: package/debian-mingw/changelog +--- ncurses-6.5-20250201+/package/debian-mingw/changelog 2025-01-31 21:35:49.000000000 +0000 ++++ ncurses-6.5-20250208/package/debian-mingw/changelog 2025-02-08 11:01:51.000000000 +0000 +@@ -1,8 +1,8 @@ +-ncurses6td (6.5+20250201) unstable; urgency=low ++ncurses6td (6.5+20250208) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 31 Jan 2025 16:35:49 -0500 ++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 08 Feb 2025 06:01:51 -0500 + + ncurses6 (5.9+20131005) unstable; urgency=low + +Index: package/debian-mingw64/changelog +--- ncurses-6.5-20250201+/package/debian-mingw64/changelog 2025-01-31 21:35:49.000000000 +0000 ++++ ncurses-6.5-20250208/package/debian-mingw64/changelog 2025-02-08 11:01:51.000000000 +0000 +@@ -1,8 +1,8 @@ +-ncurses6td (6.5+20250201) unstable; urgency=low ++ncurses6td (6.5+20250208) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 31 Jan 2025 16:35:49 -0500 ++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 08 Feb 2025 06:01:51 -0500 + + ncurses6 (5.9+20131005) unstable; urgency=low + +Index: package/debian/changelog +--- ncurses-6.5-20250201+/package/debian/changelog 2025-01-31 21:35:49.000000000 +0000 ++++ ncurses-6.5-20250208/package/debian/changelog 2025-02-08 11:01:51.000000000 +0000 +@@ -1,8 +1,8 @@ +-ncurses6td (6.5+20250201) unstable; urgency=low ++ncurses6td (6.5+20250208) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 31 Jan 2025 16:35:49 -0500 ++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 08 Feb 2025 06:01:51 -0500 + + ncurses6 (5.9+20120608) unstable; urgency=low + +Index: package/mingw-ncurses.nsi +Prereq: 1.687 +--- ncurses-6.5-20250201+/package/mingw-ncurses.nsi 2025-01-31 21:35:49.000000000 +0000 ++++ ncurses-6.5-20250208/package/mingw-ncurses.nsi 2025-02-08 11:01:51.000000000 +0000 +@@ -1,4 +1,4 @@ +-; $Id: mingw-ncurses.nsi,v 1.687 2025/01/31 21:35:49 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.688 2025/02/08 11:01:51 tom Exp $
+
+ ; TODO add examples
+ ; TODO bump ABI to 6
+@@ -10,7 +10,7 @@ + !define VERSION_MAJOR "6"
+ !define VERSION_MINOR "5"
+ !define VERSION_YYYY "2025"
+-!define VERSION_MMDD "0201"
++!define VERSION_MMDD "0208"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+
+ !define MY_ABI "5"
+Index: package/mingw-ncurses.spec +--- ncurses-6.5-20250201+/package/mingw-ncurses.spec 2025-01-31 21:35:49.000000000 +0000 ++++ ncurses-6.5-20250208/package/mingw-ncurses.spec 2025-02-08 11:01:51.000000000 +0000 +@@ -3,7 +3,7 @@ + Summary: shared libraries for terminal handling + Name: mingw32-ncurses6 + Version: 6.5 +-Release: 20250201 ++Release: 20250208 + License: X11 + Group: Development/Libraries + URL: https://invisible-island.net/ncurses/ +Index: package/ncurses.spec +--- ncurses-6.5-20250201+/package/ncurses.spec 2025-01-31 21:35:49.000000000 +0000 ++++ ncurses-6.5-20250208/package/ncurses.spec 2025-02-08 11:01:51.000000000 +0000 +@@ -1,7 +1,7 @@ + Summary: shared libraries for terminal handling + Name: ncurses6 + Version: 6.5 +-Release: 20250201 ++Release: 20250208 + License: X11 + Group: Development/Libraries + URL: https://invisible-island.net/ncurses/ +Index: package/ncursest.spec +--- ncurses-6.5-20250201+/package/ncursest.spec 2025-01-31 21:35:49.000000000 +0000 ++++ ncurses-6.5-20250208/package/ncursest.spec 2025-02-08 11:01:51.000000000 +0000 +@@ -1,7 +1,7 @@ + Summary: Curses library with POSIX thread support. + Name: ncursest6 + Version: 6.5 +-Release: 20250201 ++Release: 20250208 + License: X11 + Group: Development/Libraries + Source: ncurses-%{version}-%{release}.tgz +Index: progs/dump_entry.c +Prereq: 1.198 +--- ncurses-6.5-20250201+/progs/dump_entry.c 2024-12-07 22:06:39.000000000 +0000 ++++ ncurses-6.5-20250208/progs/dump_entry.c 2025-02-08 21:53:40.000000000 +0000 +@@ -1,5 +1,5 @@ + /**************************************************************************** +- * Copyright 2018-2023,2024 Thomas E. Dickey * ++ * Copyright 2018-2024,2025 Thomas E. Dickey * + * Copyright 1998-2016,2017 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * +@@ -40,7 +40,7 @@ + #include <termsort.h> /* this C file is generated */ + #include <parametrized.h> /* so is this */ + +-MODULE_ID("$Id: dump_entry.c,v 1.198 2024/12/07 22:06:39 tom Exp $") ++MODULE_ID("$Id: dump_entry.c,v 1.199 2025/02/08 21:53:40 tom Exp $") + + #define DISCARD(string) string = ABSENT_STRING + #define PRINTF (void) printf +@@ -1209,10 +1209,10 @@ + } else if (tversion == V_AIX) { + if (VALID_STRING(acs_chars)) { + bool box_ok = TRUE; +- const char *acstrans = "lqkxjmwuvtn"; ++ static const char acstrans[] = "lqkxjmwuvtn"; + const char *cp; + const char *sp; +- char *tp, boxchars[11]; ++ char *tp, boxchars[sizeof(acstrans)]; + + tp = boxchars; + for (cp = acstrans; *cp; cp++) { +@@ -1224,7 +1224,7 @@ + break; + } + } +- tp[0] = '\0'; ++ *tp = '\0'; + + if (box_ok) { + char *tmp = _nc_tic_expand(boxchars, +Index: test/ditto.c +Prereq: 1.60 +--- ncurses-6.5-20250201+/test/ditto.c 2024-12-07 23:02:27.000000000 +0000 ++++ ncurses-6.5-20250208/test/ditto.c 2025-02-09 00:18:00.000000000 +0000 +@@ -1,5 +1,5 @@ + /**************************************************************************** +- * Copyright 2018-2023,2024 Thomas E. Dickey * ++ * Copyright 2018-2024,2025 Thomas E. Dickey * + * Copyright 1998-2016,2017 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * +@@ -30,7 +30,7 @@ + /* + * Author: Thomas E. Dickey (1998-on) + * +- * $Id: ditto.c,v 1.60 2024/12/07 23:02:27 tom Exp $ ++ * $Id: ditto.c,v 1.61 2025/02/09 00:18:00 tom Exp $ + * + * The program illustrates how to set up multiple screens from a single + * program. +@@ -192,7 +192,7 @@ + failed(path); + printf("opened %s\n", path); + #endif +- assert(fp != 0); ++ assert(fp != NULL); + return fp; + } + +@@ -432,7 +432,7 @@ + if ((data = typeCalloc(DITTO, (size_t) argc)) == NULL) + failed("calloc data"); + +- assert(data != 0); ++ assert(data != NULL); + + for (j = 0; j < argc; j++) { + open_screen(&data[j], argv, argc, j); +Index: test/filter.c +Prereq: 1.41 +--- ncurses-6.5-20250201+/test/filter.c 2024-12-07 22:40:19.000000000 +0000 ++++ ncurses-6.5-20250208/test/filter.c 2025-02-08 13:06:10.000000000 +0000 +@@ -1,5 +1,5 @@ + /**************************************************************************** +- * Copyright 2019-2022,2024 Thomas E. Dickey * ++ * Copyright 2019-2024,2025 Thomas E. Dickey * + * Copyright 1998-2016,2017 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * +@@ -30,7 +30,7 @@ + /* + * Author: Thomas E. Dickey 1998 + * +- * $Id: filter.c,v 1.41 2024/12/07 22:40:19 tom Exp $ ++ * $Id: filter.c,v 1.42 2025/02/08 13:06:10 tom Exp $ + * + * An example of the 'filter()' function in ncurses, this program prompts + * for commands and executes them (like a command shell). It illustrates +@@ -123,7 +123,7 @@ + if (first) { + getyx(stdscr, y, x); + first = FALSE; +- } else { ++ } else if (limit > 0) { + int left = 0; + + /* +Index: test/redraw.c +Prereq: 1.19 +--- ncurses-6.5-20250201+/test/redraw.c 2024-12-07 22:46:42.000000000 +0000 ++++ ncurses-6.5-20250208/test/redraw.c 2025-02-09 00:18:18.000000000 +0000 +@@ -1,5 +1,5 @@ + /**************************************************************************** +- * Copyright 2020-2022,2024 Thomas E. Dickey * ++ * Copyright 2020-2024,2025 Thomas E. Dickey * + * Copyright 2006-2012,2017 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * +@@ -27,7 +27,7 @@ + * authorization. * + ****************************************************************************/ + /* +- * $Id: redraw.c,v 1.19 2024/12/07 22:46:42 tom Exp $ ++ * $Id: redraw.c,v 1.20 2025/02/09 00:18:18 tom Exp $ + * + * Demonstrate the redrawwin() and wredrawln() functions. + * Thomas Dickey - 2006/11/4 +@@ -85,7 +85,7 @@ + int max_y, max_x; + int beg_y, beg_x; + +- assert(win != 0); ++ assert(win != NULL); + + scrollok(win, TRUE); + keypad(win, TRUE); +Index: test/test_opaque.c +Prereq: 1.18 +--- ncurses-6.5-20250201+/test/test_opaque.c 2024-12-07 22:46:42.000000000 +0000 ++++ ncurses-6.5-20250208/test/test_opaque.c 2025-02-08 13:03:06.000000000 +0000 +@@ -1,5 +1,5 @@ + /**************************************************************************** +- * Copyright 2020-2022,2024 Thomas E. Dickey * ++ * Copyright 2020-2024,2025 Thomas E. Dickey * + * Copyright 2007-2008,2009 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * +@@ -27,7 +27,7 @@ + * authorization. * + ****************************************************************************/ + /* +- * $Id: test_opaque.c,v 1.18 2024/12/07 22:46:42 tom Exp $ ++ * $Id: test_opaque.c,v 1.19 2025/02/08 13:03:06 tom Exp $ + * + * Author: Thomas E Dickey + * +@@ -157,15 +157,33 @@ + } + + static int ++height_of(const WINDOW *win) ++{ ++ int result = getmaxy(win); ++ if (result <= 0) ++ result = 1; ++ return result; ++} ++ ++static int ++width_of(const WINDOW *win) ++{ ++ int result = getmaxx(win); ++ if (result <= 0) ++ result = 1; ++ return result; ++} ++ ++static int + status_y(const WINDOW *stswin, int cell) + { +- return (cell % getmaxy(stswin)); ++ return (cell % height_of(stswin)); + } + + static int + status_x(const WINDOW *stswin, int cell) + { +- return (15 * (cell / getmaxy(stswin))); ++ return (15 * (cell / height_of(stswin))); + } + + static void +@@ -289,8 +307,8 @@ + wnoutrefresh(txtbox); + + txtwin = derwin(txtbox, +- getmaxy(txtbox) - 2, +- getmaxx(txtbox) - 2, ++ height_of(txtbox) - 2, ++ width_of(txtbox) - 2, + 1, 1); + base_y = 0; + } else { +@@ -365,7 +383,7 @@ + break; + case KEY_DOWN: + case 'j': +- if (txt_y < getmaxy(txtwin) - 1) ++ if (txt_y < height_of(txtwin) - 1) + txt_y++; + else + beep(); +@@ -386,7 +404,7 @@ + break; + case KEY_RIGHT: + case 'l': +- if (txt_x < getmaxx(txtwin) - 1) ++ if (txt_x < width_of(txtwin) - 1) + txt_x++; + else + beep(); |