diff options
Diffstat (limited to 'packages/ncurses/6.5/ncurses-6.5-20241019.patch')
-rw-r--r-- | packages/ncurses/6.5/ncurses-6.5-20241019.patch | 1169 |
1 files changed, 1169 insertions, 0 deletions
diff --git a/packages/ncurses/6.5/ncurses-6.5-20241019.patch b/packages/ncurses/6.5/ncurses-6.5-20241019.patch new file mode 100644 index 00000000..03d9750d --- /dev/null +++ b/packages/ncurses/6.5/ncurses-6.5-20241019.patch @@ -0,0 +1,1169 @@ +# ncurses 6.5 - patch 20241019 - 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-20241019.patch.gz +# patch by Thomas E. Dickey <dickey@invisible-island.net> +# created Sat Oct 19 23:59:17 UTC 2024 +# ------------------------------------------------------------------------------ +# NEWS | 6 ++++- +# VERSION | 2 - +# dist.mk | 4 +-- +# include/nc_win32.h | 4 +-- +# ncurses/base/lib_delch.c | 6 ++--- +# ncurses/base/lib_mouse.c | 6 ++--- +# ncurses/base/lib_set_term.c | 10 ++++++--- +# ncurses/curses.priv.h | 8 +++---- +# ncurses/tinfo/captoinfo.c | 5 +--- +# ncurses/tinfo/entries.c | 4 +-- +# ncurses/tinfo/lib_setup.c | 4 +-- +# ncurses/tinfo/lib_win32con.c | 4 +-- +# ncurses/tinfo/parse_entry.c | 4 +-- +# ncurses/tinfo/trim_sgr0.c | 6 +++-- +# ncurses/tinfo/write_entry.c | 4 +-- +# 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/clear.c | 6 ++--- +# progs/dump_entry.c | 24 ++++++++++++----------- +# progs/infocmp.c | 36 +++++++++++++++++------------------ +# progs/tabs.c | 8 +++---- +# progs/tic.c | 38 ++++++++++++++++++------------------- +# progs/toe.c | 22 ++++++++++----------- +# progs/tset.c | 6 ++--- +# test/demo_menus.c | 4 +-- +# 30 files changed, 127 insertions(+), 116 deletions(-) +# ------------------------------------------------------------------------------ +Index: NEWS +Prereq: 1.4188 +--- ncurses-6.5-20241006+/NEWS 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/NEWS 2024-10-19 21:59:42.000000000 +0000 +@@ -26,7 +26,7 @@ + -- sale, use or other dealings in this Software without prior written -- + -- authorization. -- + ------------------------------------------------------------------------------- +--- $Id: NEWS,v 1.4188 2024/10/06 08:53:45 tom Exp $ ++-- $Id: NEWS,v 1.4191 2024/10/19 21:59:42 tom Exp $ + ------------------------------------------------------------------------------- + + This is a log of changes that ncurses has gone through since Zeyd started +@@ -46,6 +46,10 @@ + Changes through 1.9.9e did not credit all contributions; + it is not possible to add this information. + ++20241019 ++ + fixes for compiler warnings/cppcheck. ++ + build-fixes for DJGPP configuration (patches by Stas Sergeev) ++ + 20241006 + + fixes for compiler warnings/cppcheck. + + use xterm+alt+title in wezterm -TD +Index: VERSION +--- ncurses-6.5-20241006+/VERSION 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/VERSION 2024-10-19 09:59:06.000000000 +0000 +@@ -1 +1 @@ +-5:0:10 6.5 20241006 ++5:0:10 6.5 20241019 +Index: dist.mk +Prereq: 1.1636 +--- ncurses-6.5-20241006+/dist.mk 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/dist.mk 2024-10-19 09:59:06.000000000 +0000 +@@ -26,7 +26,7 @@ + # use or other dealings in this Software without prior written # + # authorization. # + ############################################################################## +-# $Id: dist.mk,v 1.1636 2024/10/06 08:53:45 tom Exp $ ++# $Id: dist.mk,v 1.1637 2024/10/19 09:59:06 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 = 20241006 ++NCURSES_PATCH = 20241019 + + # We don't append the patch to the version, since this only applies to releases + VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) +Index: include/nc_win32.h +Prereq: 1.13 +--- ncurses-6.5-20241006+/include/nc_win32.h 2024-08-31 18:17:21.000000000 +0000 ++++ ncurses-6.5-20241019/include/nc_win32.h 2024-10-19 21:06:23.000000000 +0000 +@@ -31,7 +31,7 @@ + * Author: Thomas Dickey, 2008-on * + ****************************************************************************/ + +-/* $Id: nc_win32.h,v 1.13 2024/08/31 18:17:21 tom Exp $ */ ++/* $Id: nc_win32.h,v 1.14 2024/10/19 21:06:23 tom Exp $ */ + + #ifndef NC_WIN32_H + #define NC_WIN32_H 1 +@@ -105,7 +105,7 @@ + extern NCURSES_EXPORT(void) _nc_console_selectActiveHandle(void); + extern NCURSES_EXPORT(bool) _nc_console_get_SBI(void); + extern NCURSES_EXPORT(void) _nc_console_set_scrollback(bool normal, CONSOLE_SCREEN_BUFFER_INFO * info); +-extern NCURSES_EXPORT(int) _nc_console_testmouse(SCREEN *,HANDLE,int EVENTLIST_2nd(_nc_eventlist*)); ++extern NCURSES_EXPORT(int) _nc_console_testmouse(const SCREEN *,HANDLE,int EVENTLIST_2nd(_nc_eventlist*)); + extern NCURSES_EXPORT(int) _nc_console_keyok(int keycode,int flag); + extern NCURSES_EXPORT(bool) _nc_console_keyExist(int keycode); + extern NCURSES_EXPORT(bool) _nc_console_checkinit(bool initFlag, bool assumeTermInfo); +Index: ncurses/base/lib_delch.c +Prereq: 1.15 +--- ncurses-6.5-20241006+/ncurses/base/lib_delch.c 2024-07-27 19:23:21.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/base/lib_delch.c 2024-10-19 21:20:46.000000000 +0000 +@@ -41,7 +41,7 @@ + + #include <curses.priv.h> + +-MODULE_ID("$Id: lib_delch.c,v 1.15 2024/07/27 19:23:21 tom Exp $") ++MODULE_ID("$Id: lib_delch.c,v 1.16 2024/10/19 21:20:46 tom Exp $") + + NCURSES_EXPORT(int) + wdelch(WINDOW *win) +@@ -54,8 +54,8 @@ + NCURSES_CH_T blank = win->_nc_bkgd; + struct ldat *line = &(win->_line[win->_cury]); + NCURSES_CH_T *end = &(line->text[win->_maxx]); +- NCURSES_CH_T *temp2 = &(line->text[win->_curx + 1]); +- NCURSES_CH_T *temp1 = temp2 - 1; ++ NCURSES_CH_T *temp1 = &(line->text[win->_curx]); ++ const NCURSES_CH_T *temp2 = temp1 + 1; + + CHANGED_TO_EOL(line, win->_curx, win->_maxx); + while (temp1 < end) +Index: ncurses/base/lib_mouse.c +Prereq: 1.200 +--- ncurses-6.5-20241006+/ncurses/base/lib_mouse.c 2024-02-17 21:13:01.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/base/lib_mouse.c 2024-10-19 21:03:19.000000000 +0000 +@@ -85,7 +85,7 @@ + #define CUR SP_TERMTYPE + #endif + +-MODULE_ID("$Id: lib_mouse.c,v 1.200 2024/02/17 21:13:01 tom Exp $") ++MODULE_ID("$Id: lib_mouse.c,v 1.201 2024/10/19 21:03:19 tom Exp $") + + #include <tic.h> + +@@ -1219,7 +1219,7 @@ + } SGR_DATA; + + static bool +-read_SGR(SCREEN *sp, SGR_DATA * result) ++read_SGR(const SCREEN *sp, SGR_DATA * result) + { + char kbuf[80]; /* bigger than any possible mouse response */ + int grabbed = 0; +@@ -2042,7 +2042,7 @@ + /* This may be used by other routines to ask for the existence of mouse + support */ + NCURSES_EXPORT(bool) +-_nc_has_mouse(SCREEN *sp) ++_nc_has_mouse(const SCREEN *sp) + { + return (((0 == sp) || (sp->_mouse_type == M_NONE)) ? FALSE : TRUE); + } +Index: ncurses/base/lib_set_term.c +Prereq: 1.184 +--- ncurses-6.5-20241006+/ncurses/base/lib_set_term.c 2022-12-10 21:34:12.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/base/lib_set_term.c 2024-10-19 19:41:09.000000000 +0000 +@@ -1,5 +1,5 @@ + /**************************************************************************** +- * Copyright 2018-2021,2022 Thomas E. Dickey * ++ * Copyright 2018-2022,2024 Thomas E. Dickey * + * Copyright 1998-2016,2017 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * +@@ -47,6 +47,10 @@ + #include <tic.h> + #include <new_pair.h> + ++#ifdef __DJGPP__ ++#include <io.h> ++#endif ++ + #if USE_GPM_SUPPORT + #ifdef HAVE_LIBDL + /* use dynamic loader to avoid linkage dependency */ +@@ -57,7 +61,7 @@ + #undef CUR + #define CUR SP_TERMTYPE + +-MODULE_ID("$Id: lib_set_term.c,v 1.184 2022/12/10 21:34:12 tom Exp $") ++MODULE_ID("$Id: lib_set_term.c,v 1.186 2024/10/19 19:41:09 tom Exp $") + + #ifdef USE_TERM_DRIVER + #define MaxColors InfoOf(sp).maxcolors +@@ -423,7 +427,7 @@ + #ifdef __DJGPP__ + T(("setting output mode to binary")); + fflush(output); +- setmode(output, O_BINARY); ++ setmode(fileno(output), O_BINARY); + #endif + #if defined(EXP_WIN32_DRIVER) + T(("setting output mode to binary")); +Index: ncurses/curses.priv.h +Prereq: 1.692 +--- ncurses-6.5-20241006+/ncurses/curses.priv.h 2024-10-05 21:01:50.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/curses.priv.h 2024-10-19 21:23:40.000000000 +0000 +@@ -35,7 +35,7 @@ + ****************************************************************************/ + + /* +- * $Id: curses.priv.h,v 1.692 2024/10/05 21:01:50 tom Exp $ ++ * $Id: curses.priv.h,v 1.694 2024/10/19 21:23:40 tom Exp $ + * + * curses.priv.h + * +@@ -208,7 +208,7 @@ + * the path separator in configure doesn't work properly. So, if building + * for MinGW, we enforce the correct Windows PATH separator + */ +-#if defined(_NC_WINDOWS_NATIVE) ++#if defined(_NC_WINDOWS_NATIVE) || defined(__DJGPP__) + # ifdef NCURSES_PATHSEP + # undef NCURSES_PATHSEP + # endif +@@ -2059,7 +2059,7 @@ + extern NCURSES_EXPORT(void) _nc_screen_wrap (void); + + /* lib_mouse.c */ +-extern NCURSES_EXPORT(bool) _nc_has_mouse (SCREEN *); ++extern NCURSES_EXPORT(bool) _nc_has_mouse (const SCREEN *); + + /* lib_mvcur.c */ + #define INFINITY 1000000 /* cost: too high to use */ +@@ -2175,7 +2175,7 @@ + extern NCURSES_EXPORT(void) _nc_init_termtype (TERMTYPE2 *const); + extern NCURSES_EXPORT(void) _nc_do_color (int, int, int, NCURSES_OUTC); + extern NCURSES_EXPORT(void) _nc_flush (void); +-extern NCURSES_EXPORT(void) _nc_free_entry (ENTRY *, TERMTYPE2 *); ++extern NCURSES_EXPORT(void) _nc_free_entry (ENTRY *, const TERMTYPE2 *); + extern NCURSES_EXPORT(void) _nc_freeall (void); + extern NCURSES_EXPORT(void) _nc_hash_map (void); + extern NCURSES_EXPORT(void) _nc_init_keytry (SCREEN *); +Index: ncurses/tinfo/captoinfo.c +Prereq: 1.103 +--- ncurses-6.5-20241006+/ncurses/tinfo/captoinfo.c 2024-07-27 19:22:23.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/tinfo/captoinfo.c 2024-10-19 21:18:54.000000000 +0000 +@@ -98,7 +98,7 @@ + #include <ctype.h> + #include <tic.h> + +-MODULE_ID("$Id: captoinfo.c,v 1.103 2024/07/27 19:22:23 tom Exp $") ++MODULE_ID("$Id: captoinfo.c,v 1.104 2024/10/19 21:18:54 tom Exp $") + + #if 0 + #define DEBUG_THIS(p) DEBUG(9, p) +@@ -535,8 +535,7 @@ + static int + bcd_expression(const char *str) + { +- /* leave this non-const for HPUX */ +- static char fmt[] = "%%p%c%%{10}%%/%%{16}%%*%%p%c%%{10}%%m%%+"; ++ static const char fmt[] = "%%p%c%%{10}%%/%%{16}%%*%%p%c%%{10}%%m%%+"; + int len = 0; + char ch1, ch2; + +Index: ncurses/tinfo/entries.c +Prereq: 1.36 +--- ncurses-6.5-20241006+/ncurses/tinfo/entries.c 2024-07-27 19:22:23.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/tinfo/entries.c 2024-10-19 21:23:31.000000000 +0000 +@@ -38,7 +38,7 @@ + + #include <tic.h> + +-MODULE_ID("$Id: entries.c,v 1.36 2024/07/27 19:22:23 tom Exp $") ++MODULE_ID("$Id: entries.c,v 1.37 2024/10/19 21:23:31 tom Exp $") + + /**************************************************************************** + * +@@ -91,7 +91,7 @@ + } + + NCURSES_EXPORT(void) +-_nc_free_entry(ENTRY * headp, TERMTYPE2 *tterm) ++_nc_free_entry(ENTRY * headp, const TERMTYPE2 *tterm) + /* free the allocated storage consumed by the given list entry */ + { + ENTRY *ep; +Index: ncurses/tinfo/lib_setup.c +Prereq: 1.244 +--- ncurses-6.5-20241006+/ncurses/tinfo/lib_setup.c 2024-08-31 21:15:54.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/tinfo/lib_setup.c 2024-10-19 21:17:36.000000000 +0000 +@@ -49,7 +49,7 @@ + #include <locale.h> + #endif + +-MODULE_ID("$Id: lib_setup.c,v 1.244 2024/08/31 21:15:54 tom Exp $") ++MODULE_ID("$Id: lib_setup.c,v 1.245 2024/10/19 21:17:36 tom Exp $") + + /**************************************************************************** + * +@@ -320,7 +320,7 @@ + } + + static bool +-get_position(TERMINAL *termp, int fd, int *row, int *col) ++get_position(const TERMINAL *termp, int fd, int *row, int *col) + { + bool result = FALSE; + size_t need = strlen(user7); +Index: ncurses/tinfo/lib_win32con.c +Prereq: 1.15 +--- ncurses-6.5-20241006+/ncurses/tinfo/lib_win32con.c 2024-08-31 15:55:10.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/tinfo/lib_win32con.c 2024-10-19 21:06:11.000000000 +0000 +@@ -38,7 +38,7 @@ + + #include <curses.priv.h> + +-MODULE_ID("$Id: lib_win32con.c,v 1.15 2024/08/31 15:55:10 tom Exp $") ++MODULE_ID("$Id: lib_win32con.c,v 1.16 2024/10/19 21:06:11 tom Exp $") + + #if defined(_NC_WINDOWS) + +@@ -996,7 +996,7 @@ + + NCURSES_EXPORT(int) + _nc_console_testmouse( +- SCREEN *sp, ++ const SCREEN *sp, + HANDLE hdl, + int delay + EVENTLIST_2nd(_nc_eventlist * evl)) +Index: ncurses/tinfo/parse_entry.c +Prereq: 1.109 +--- ncurses-6.5-20241006+/ncurses/tinfo/parse_entry.c 2024-07-27 19:22:23.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/tinfo/parse_entry.c 2024-10-19 21:22:04.000000000 +0000 +@@ -48,7 +48,7 @@ + #include <ctype.h> + #include <tic.h> + +-MODULE_ID("$Id: parse_entry.c,v 1.109 2024/07/27 19:22:23 tom Exp $") ++MODULE_ID("$Id: parse_entry.c,v 1.110 2024/10/19 21:22:04 tom Exp $") + + #ifdef LINT + static short const parametrized[] = +@@ -707,7 +707,7 @@ + } + + static void +-append_acs(string_desc * dst, int code, char *src) ++append_acs(string_desc * dst, int code, const char *src) + { + if (VALID_STRING(src) && strlen(src) == 1) { + append_acs0(dst, code, src, 0); +Index: ncurses/tinfo/trim_sgr0.c +Prereq: 1.24 +--- ncurses-6.5-20241006+/ncurses/tinfo/trim_sgr0.c 2024-10-05 20:53:48.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/tinfo/trim_sgr0.c 2024-10-19 21:18:18.000000000 +0000 +@@ -37,7 +37,7 @@ + + #include <tic.h> + +-MODULE_ID("$Id: trim_sgr0.c,v 1.24 2024/10/05 20:53:48 tom Exp $") ++MODULE_ID("$Id: trim_sgr0.c,v 1.25 2024/10/19 21:18:18 tom Exp $") + + #undef CUR + #define CUR tp-> +@@ -254,7 +254,7 @@ + } else if (similar_sgr(off, end) + && !similar_sgr(off, on)) { + bool found = FALSE; +- size_t i, j, k; ++ size_t i, j; + + TR(TRACE_DATABASE, ("adjusting sgr(9:off) : %s", _nc_visbuf(off))); + result = off; +@@ -262,6 +262,8 @@ + * If rmacs is a substring of sgr(0), remove that chunk. + */ + if (PRESENT(exit_alt_charset_mode)) { ++ size_t k; ++ + TR(TRACE_DATABASE, ("scan for rmacs %s", _nc_visbuf(exit_alt_charset_mode))); + j = strlen(off); + k = strlen(exit_alt_charset_mode); +Index: ncurses/tinfo/write_entry.c +Prereq: 1.135 +--- ncurses-6.5-20241006+/ncurses/tinfo/write_entry.c 2024-09-28 17:31:09.000000000 +0000 ++++ ncurses-6.5-20241019/ncurses/tinfo/write_entry.c 2024-10-19 21:19:32.000000000 +0000 +@@ -42,7 +42,7 @@ + + #include <tic.h> + +-MODULE_ID("$Id: write_entry.c,v 1.135 2024/09/28 17:31:09 tom Exp $") ++MODULE_ID("$Id: write_entry.c,v 1.136 2024/10/19 21:19:32 tom Exp $") + + #if 1 + #define TRACE_OUT(p) DEBUG(2, p) +@@ -125,12 +125,12 @@ + static const char dirnames[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + static bool verified[sizeof(dirnames)]; + +- char dir[sizeof(LEAF_FMT)]; + const char *s = 0; + + if (code == 0 || (s = (strchr) (dirnames, code)) == 0) { + _nc_err_abort("Illegal terminfo subdirectory \"" LEAF_FMT "\"", code); + } else if (!verified[s - dirnames]) { ++ char dir[sizeof(LEAF_FMT)]; + _nc_SPRINTF(dir, _nc_SLIMIT(sizeof(dir)) LEAF_FMT, code); + if (make_db_root(dir) < 0) { + _nc_err_abort("%s/%s: permission denied", _nc_tic_dir(NULL), dir); +Index: package/debian-mingw/changelog +--- ncurses-6.5-20241006+/package/debian-mingw/changelog 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/package/debian-mingw/changelog 2024-10-19 09:59:06.000000000 +0000 +@@ -1,8 +1,8 @@ +-ncurses6td (6.5+20241006) unstable; urgency=low ++ncurses6td (6.5+20241019) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 06 Oct 2024 04:53:45 -0400 ++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Oct 2024 05:59:06 -0400 + + ncurses6 (5.9+20131005) unstable; urgency=low + +Index: package/debian-mingw64/changelog +--- ncurses-6.5-20241006+/package/debian-mingw64/changelog 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/package/debian-mingw64/changelog 2024-10-19 09:59:06.000000000 +0000 +@@ -1,8 +1,8 @@ +-ncurses6td (6.5+20241006) unstable; urgency=low ++ncurses6td (6.5+20241019) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 06 Oct 2024 04:53:45 -0400 ++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Oct 2024 05:59:06 -0400 + + ncurses6 (5.9+20131005) unstable; urgency=low + +Index: package/debian/changelog +--- ncurses-6.5-20241006+/package/debian/changelog 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/package/debian/changelog 2024-10-19 09:59:06.000000000 +0000 +@@ -1,8 +1,8 @@ +-ncurses6td (6.5+20241006) unstable; urgency=low ++ncurses6td (6.5+20241019) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 06 Oct 2024 04:53:45 -0400 ++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Oct 2024 05:59:06 -0400 + + ncurses6 (5.9+20120608) unstable; urgency=low + +Index: package/mingw-ncurses.nsi +Prereq: 1.671 +--- ncurses-6.5-20241006+/package/mingw-ncurses.nsi 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/package/mingw-ncurses.nsi 2024-10-19 09:59:06.000000000 +0000 +@@ -1,4 +1,4 @@ +-; $Id: mingw-ncurses.nsi,v 1.671 2024/10/06 08:53:45 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.672 2024/10/19 09:59:06 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 "2024"
+-!define VERSION_MMDD "1006"
++!define VERSION_MMDD "1019"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+
+ !define MY_ABI "5"
+Index: package/mingw-ncurses.spec +--- ncurses-6.5-20241006+/package/mingw-ncurses.spec 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/package/mingw-ncurses.spec 2024-10-19 09:59:06.000000000 +0000 +@@ -3,7 +3,7 @@ + Summary: shared libraries for terminal handling + Name: mingw32-ncurses6 + Version: 6.5 +-Release: 20241006 ++Release: 20241019 + License: X11 + Group: Development/Libraries + URL: https://invisible-island.net/ncurses/ +Index: package/ncurses.spec +--- ncurses-6.5-20241006+/package/ncurses.spec 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/package/ncurses.spec 2024-10-19 09:59:06.000000000 +0000 +@@ -1,7 +1,7 @@ + Summary: shared libraries for terminal handling + Name: ncurses6 + Version: 6.5 +-Release: 20241006 ++Release: 20241019 + License: X11 + Group: Development/Libraries + URL: https://invisible-island.net/ncurses/ +Index: package/ncursest.spec +--- ncurses-6.5-20241006+/package/ncursest.spec 2024-10-06 08:53:45.000000000 +0000 ++++ ncurses-6.5-20241019/package/ncursest.spec 2024-10-19 09:59:06.000000000 +0000 +@@ -1,7 +1,7 @@ + Summary: Curses library with POSIX thread support. + Name: ncursest6 + Version: 6.5 +-Release: 20241006 ++Release: 20241019 + License: X11 + Group: Development/Libraries + Source: ncurses-%{version}-%{release}.tgz +Index: progs/clear.c +Prereq: 1.24 +--- ncurses-6.5-20241006+/progs/clear.c 2021-03-20 18:23:14.000000000 +0000 ++++ ncurses-6.5-20241019/progs/clear.c 2024-10-19 22:00:53.000000000 +0000 +@@ -1,5 +1,5 @@ + /**************************************************************************** +- * Copyright 2020,2021 Thomas E. Dickey * ++ * Copyright 2020-2021,2024 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 <clear_cmd.h> + #include <tty_settings.h> + +-MODULE_ID("$Id: clear.c,v 1.24 2021/03/20 18:23:14 tom Exp $") ++MODULE_ID("$Id: clear.c,v 1.25 2024/10/19 22:00:53 tom Exp $") + + const char *_nc_progname = "clear"; + +@@ -71,7 +71,7 @@ + TTY tty_settings; + int fd; + int c; +- char *term; ++ NCURSES_CONST char *term; + bool opt_x = FALSE; /* clear scrollback if possible */ + + _nc_progname = _nc_rootname(argv[0]); +Index: progs/dump_entry.c +Prereq: 1.196 +--- ncurses-6.5-20241006+/progs/dump_entry.c 2023-05-27 20:13:10.000000000 +0000 ++++ ncurses-6.5-20241019/progs/dump_entry.c 2024-10-19 22:00:53.000000000 +0000 +@@ -1,5 +1,5 @@ + /**************************************************************************** +- * Copyright 2018-2022,2023 Thomas E. Dickey * ++ * Copyright 2018-2023,2024 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.196 2023/05/27 20:13:10 tom Exp $") ++MODULE_ID("$Id: dump_entry.c,v 1.197 2024/10/19 22:00:53 tom Exp $") + + #define DISCARD(string) string = ABSENT_STRING + #define PRINTF (void) printf +@@ -725,7 +725,7 @@ + * given leading text. + */ + static bool +-leading_DYN(DYNBUF * buffer, const char *leading) ++leading_DYN(const DYNBUF * buffer, const char *leading) + { + bool result = FALSE; + size_t need = strlen(leading); +@@ -1118,7 +1118,7 @@ + : ((*srccap == 'k') + ? 0 + : has_params(srccap, FALSE))); +- char *cv = _nc_infotocap(name, srccap, params); ++ const char *cv = _nc_infotocap(name, srccap, params); + + if (cv == 0) { + if (outform == F_TCONVERR) { +@@ -1129,7 +1129,8 @@ + } else if (suppress_untranslatable) { + continue; + } else { +- char *s = srccap, *d = buffer; ++ const char *s = srccap; ++ char *d = buffer; + int need = 3 + (int) strlen(name); + while ((*d = *s++) != 0) { + if ((d - buffer + 2) >= (int) sizeof(buffer)) { +@@ -1210,7 +1211,8 @@ + bool box_ok = TRUE; + const char *acstrans = "lqkxjmwuvtn"; + const char *cp; +- char *tp, *sp, boxchars[11]; ++ const char *sp; ++ char *tp, boxchars[11]; + + tp = boxchars; + for (cp = acstrans; *cp; cp++) { +@@ -1324,7 +1326,7 @@ + } + + static char * +-find_string(TERMTYPE2 *tterm, char *name) ++find_string(TERMTYPE2 *tterm, const char *name) + { + PredIdx n; + for (n = 0; n < NUM_STRINGS(tterm); ++n) { +@@ -1352,7 +1354,7 @@ + char name[20]; + + for (n = 0; n <= 10; ++n) { +- char *cap; ++ const char *cap; + + _nc_SPRINTF(name, _nc_SLIMIT(sizeof(name)) "lf%d", n); + cap = find_string(tterm, name); +@@ -1379,7 +1381,7 @@ + char name[20]; + + for (n = 60; n >= 0; --n) { +- char *cap; ++ const char *cap; + + _nc_SPRINTF(name, _nc_SLIMIT(sizeof(name)) "kf%d", n); + cap = find_string(tterm, name); +@@ -1444,7 +1446,7 @@ + } + + static void +-encode_b64(char *target, char *source, unsigned state, int *saved) ++encode_b64(char *target, const char *source, unsigned state, int *saved) + { + /* RFC-4648 */ + static const char data[] = +@@ -1509,7 +1511,7 @@ + } + } + if (quickdump & 2) { +- static char padding[] = ++ static const char padding[] = + {0, 0}; + int value = 0; + +Index: progs/infocmp.c +Prereq: 1.165 +--- ncurses-6.5-20241006+/progs/infocmp.c 2024-09-28 20:26:22.000000000 +0000 ++++ ncurses-6.5-20241019/progs/infocmp.c 2024-10-19 21:43:11.000000000 +0000 +@@ -43,7 +43,7 @@ + + #include <dump_entry.h> + +-MODULE_ID("$Id: infocmp.c,v 1.165 2024/09/28 20:26:22 Branden.Robinson Exp $") ++MODULE_ID("$Id: infocmp.c,v 1.166 2024/10/19 21:43:11 tom Exp $") + + #ifndef ACTUAL_TIC + #define ACTUAL_TIC "tic" +@@ -132,7 +132,7 @@ + } + + static void +-canonical_name(char *source, char *target) ++canonical_name(const char *source, char *target) + /* extract the terminal type's primary name */ + { + int limit = NAMESIZE; +@@ -214,8 +214,6 @@ + switch (type) { + case BOOLEAN: + { +- int is_set = FALSE; +- + /* + * This assumes that multiple use entries are supposed + * to contribute the logical or of their boolean capabilities. +@@ -228,6 +226,8 @@ + * recorded in the terminfo database. + */ + if (idx < NUM_BOOLEANS(&(entries[0].tterm))) { ++ int is_set = FALSE; ++ + for (ep = &entries[1]; ep < entries + termcount; ep++) { + if (idx < NUM_BOOLEANS(&(ep->tterm)) + && (is_set = ep->tterm.Booleans[idx])) { +@@ -242,14 +242,14 @@ + + case NUMBER: + { +- int value = ABSENT_NUMERIC; +- + /* + * We take the semantics of multiple uses to be 'each + * capability gets the first non-default value found + * in the sequence of use entries'. + */ + if (idx < NUM_NUMBERS(&(entries[0].tterm))) { ++ int value = ABSENT_NUMERIC; ++ + for (ep = &entries[1]; ep < entries + termcount; ep++) + if (idx < NUM_NUMBERS(&(ep->tterm)) + && VALID_NUMERIC(ep->tterm.Numbers[idx])) { +@@ -265,8 +265,8 @@ + + case STRING: + { +- char *termstr = entries[0].tterm.Strings[idx]; +- char *usestr = ABSENT_STRING; ++ const char *termstr = entries[0].tterm.Strings[idx]; ++ const char *usestr = ABSENT_STRING; + + /* + * We take the semantics of multiple uses to be 'each +@@ -302,7 +302,7 @@ + } + + static bool +-useeq(ENTRY * e1, ENTRY * e2) ++useeq(const ENTRY * e1, const ENTRY * e2) + /* are the use references in two entries equivalent? */ + { + unsigned i, j; +@@ -329,7 +329,7 @@ + } + + static bool +-entryeq(TERMTYPE2 *t1, TERMTYPE2 *t2) ++entryeq(const TERMTYPE2 *t1, const TERMTYPE2 *t2) + /* are two entries equivalent? */ + { + unsigned i; +@@ -352,7 +352,7 @@ + #define TIC_EXPAND(result) _nc_tic_expand(result, outform==F_TERMINFO, numbers) + + static void +-print_uses(ENTRY * ep, FILE *fp) ++print_uses(const ENTRY * ep, FILE *fp) + /* print an entry's use references */ + { + if (!ep->nuses) { +@@ -404,7 +404,7 @@ + } + + static void +-dump_string(char *val, char *buf) ++dump_string(const char *val, char *buf) + /* display the value of a string capability */ + { + if (val == ABSENT_STRING) +@@ -479,13 +479,13 @@ + compare_predicate(PredType type, PredIdx idx, const char *name) + /* predicate function to use for entry difference reports */ + { +- ENTRY *e1 = &entries[0]; +- ENTRY *e2 = &entries[1]; ++ const ENTRY *e1 = &entries[0]; ++ const ENTRY *e2 = &entries[1]; + char buf1[MAX_STRING]; + char buf2[MAX_STRING]; + int b1, b2; + int n1, n2; +- char *s1, *s2; ++ const char *s1, *s2; + bool found; + int extra = 1; + +@@ -866,7 +866,7 @@ + + /* first, check other capabilities in this entry */ + for (i = 0; i < STRCOUNT; i++) { +- char *cp = tp->Strings[i]; ++ const char *cp = tp->Strings[i]; + + /* don't use function-key capabilities */ + if (strnames[i] == NULL) +@@ -1331,7 +1331,7 @@ + + /* dump C initializers for the terminal type */ + static void +-dump_initializers(TERMTYPE2 *term) ++dump_initializers(const TERMTYPE2 *term) + { + unsigned n; + const char *str = 0; +@@ -1455,7 +1455,7 @@ + + /* dump C initializers for the terminal type */ + static void +-dump_termtype(TERMTYPE2 *term) ++dump_termtype(const TERMTYPE2 *term) + { + (void) printf("\t%s\n\t\t%s,\n", L_CURL, name_initializer("alias")); + (void) printf("\t\t(char *)0,\t/* pointer to string table */\n"); +Index: progs/tabs.c +Prereq: 1.54 +--- ncurses-6.5-20241006+/progs/tabs.c 2024-08-24 22:56:43.000000000 +0000 ++++ ncurses-6.5-20241019/progs/tabs.c 2024-10-19 21:45:18.000000000 +0000 +@@ -39,7 +39,7 @@ + #include <progs.priv.h> + #include <tty_settings.h> + +-MODULE_ID("$Id: tabs.c,v 1.54 2024/08/24 22:56:43 tom Exp $") ++MODULE_ID("$Id: tabs.c,v 1.55 2024/10/19 21:45:18 tom Exp $") + + static GCC_NORETURN void usage(void); + +@@ -78,7 +78,7 @@ + { + bool result = FALSE; + if (VALID_STRING(clear_all_tabs)) { +- char *param = skip_csi(clear_all_tabs); ++ const char *param = skip_csi(clear_all_tabs); + if (!strcmp(param, "3g")) + result = TRUE; + } +@@ -86,7 +86,7 @@ + } + + static void +-do_tabs(int *tab_list) ++do_tabs(const int *tab_list) + { + int last = 1; + int stop; +@@ -229,7 +229,7 @@ + * ruler. + */ + static void +-write_tabs(int *tab_list, const char *new_line) ++write_tabs(const int *tab_list, const char *new_line) + { + int stop; + +Index: progs/tic.c +Prereq: 1.325 +--- ncurses-6.5-20241006+/progs/tic.c 2024-03-02 19:33:22.000000000 +0000 ++++ ncurses-6.5-20241019/progs/tic.c 2024-10-19 21:31:50.000000000 +0000 +@@ -49,7 +49,7 @@ + #include <parametrized.h> + #include <transform.h> + +-MODULE_ID("$Id: tic.c,v 1.325 2024/03/02 19:33:22 tom Exp $") ++MODULE_ID("$Id: tic.c,v 1.326 2024/10/19 21:31:50 tom Exp $") + + #define STDIN_NAME "<stdin>" + +@@ -203,7 +203,8 @@ + { + unsigned n; + int ch; +- char *s, *d, *t; ++ char *s, *d; ++ const char *t; + char result[MAX_ENTRY_SIZE]; + + /* +@@ -411,7 +412,6 @@ + char my_altfile[PATH_MAX]; + FILE *result = 0; + FILE *target; +- int ch; + + if (alt_file == NULL) + alt_file = my_altfile; +@@ -423,7 +423,7 @@ + } else { + clearerr(source); + for (;;) { +- ch = fgetc(source); ++ int ch = fgetc(source); + if (feof(source)) { + break; + } else if (ferror(source)) { +@@ -1119,7 +1119,7 @@ + * Check if the alternate character-set capabilities are consistent. + */ + static void +-check_acs(TERMTYPE2 *tp) ++check_acs(const TERMTYPE2 *tp) + { + int vt100_smacs = 0; + int vt100_rmacs = 0; +@@ -1332,7 +1332,7 @@ + + if ((ch = keypad_final(string)) != '\0') { + const char *list = "PQRSwxymtuvlqrsPpn"; /* app-keypad except "Enter" */ +- char *test = (strchr) (list, ch); ++ const char *test = (strchr) (list, ch); + if (test != 0) + result = (long) (test - list); + } +@@ -1363,7 +1363,7 @@ + } + } + if (!repeated) { +- char *up = list[1]; ++ const char *up = list[1]; + size_t prefix = (size_t) csi_length(up); + size_t suffix; + +@@ -1410,7 +1410,7 @@ + #define UNEXPECTED(name) if (PRESENT(name)) _nc_warning("unexpected " #name ", for %s", why) + + static void +-check_noaddress(TERMTYPE2 *tp, const char *why) ++check_noaddress(const TERMTYPE2 *tp, const char *why) + { + UNEXPECTED(column_address); + UNEXPECTED(cursor_address); +@@ -1541,7 +1541,7 @@ + * is mapped inconsistently. + */ + static void +-check_keypad(TERMTYPE2 *tp) ++check_keypad(const TERMTYPE2 *tp) + { + char show[80]; + +@@ -1727,7 +1727,7 @@ + bool have_kmouse = FALSE; + bool use_sgr_39_49 = FALSE; + const char *name_39_49 = "orig_pair or orig_colors"; +- char *name = _nc_first_name(tp->term_names); ++ const char *name = _nc_first_name(tp->term_names); + bool is_screen = !strncmp(name, "screen", 6); + bool screen_base = (is_screen + && strchr(name, '.') == NULL); +@@ -1985,7 +1985,7 @@ + * markers. + */ + static void +-check_params(TERMTYPE2 *tp, const char *name, const char *value, int extended) ++check_params(const TERMTYPE2 *tp, const char *name, const char *value, int extended) + { + int expected = expected_params(name); + int actual = 0; +@@ -2149,7 +2149,7 @@ + } + + static void +-check_delays(TERMTYPE2 *tp, const char *name, const char *value) ++check_delays(const TERMTYPE2 *tp, const char *name, const char *value) + { + const char *p, *q; + const char *first = 0; +@@ -2575,7 +2575,7 @@ + similar_sgr(int num, char *a, char *b) + { + char *base_a = a; +- char *base_b = b; ++ const char *base_b = b; + int delaying = 0; + + while (*b != 0) { +@@ -2631,7 +2631,7 @@ + } + + static char * +-check_sgr(TERMTYPE2 *tp, char *zero, int num, char *cap, const char *name) ++check_sgr(const TERMTYPE2 *tp, const char *zero, int num, char *cap, const char *name) + { + char *test; + +@@ -2731,7 +2731,7 @@ + } + + static void +-show_fkey_name(NAME_VALUE * data) ++show_fkey_name(const NAME_VALUE * data) + { + if (data->keycode > 0) { + fprintf(stderr, " %s", keyname(data->keycode)); +@@ -2909,7 +2909,7 @@ + * Check if the given capability contains a given SGR attribute. + */ + static void +-check_sgr_param(TERMTYPE2 *tp, int code, const char *name, char *value) ++check_sgr_param(TERMTYPE2 *tp, int code, const char *name, const char *const value) + { + if (VALID_STRING(value)) { + int ncv = ((code != 0) ? (1 << (code - 1)) : 0); +@@ -3111,7 +3111,7 @@ + } + + static int +-guess_ANSI_VTxx(TERMTYPE2 *tp) ++guess_ANSI_VTxx(const TERMTYPE2 *tp) + { + int result = -1; + int checks = 0; +@@ -3151,7 +3151,7 @@ + */ + #if defined(user6) && defined(user7) && defined(user8) && defined(user9) + static void +-check_user_6789(TERMTYPE2 *tp) ++check_user_6789(const TERMTYPE2 *tp) + { + /* + * Check if the terminal is known to not +@@ -3200,7 +3200,7 @@ + check_conflict(tp); + + for_each_string(j, tp) { +- char *a = tp->Strings[j]; ++ const char *a = tp->Strings[j]; + if (VALID_STRING(a)) { + const char *name = ExtStrname(tp, (int) j, strnames); + /* +Index: progs/toe.c +Prereq: 1.89 +--- ncurses-6.5-20241006+/progs/toe.c 2023-07-01 17:04:46.000000000 +0000 ++++ ncurses-6.5-20241019/progs/toe.c 2024-10-19 22:00:53.000000000 +0000 +@@ -1,5 +1,5 @@ + /**************************************************************************** +- * Copyright 2018-2022,2023 Thomas E. Dickey * ++ * Copyright 2018-2023,2024 Thomas E. Dickey * + * Copyright 1998-2013,2017 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * +@@ -45,7 +45,7 @@ + #include <hashed_db.h> + #endif + +-MODULE_ID("$Id: toe.c,v 1.89 2023/07/01 17:04:46 tom Exp $") ++MODULE_ID("$Id: toe.c,v 1.90 2024/10/19 22:00:53 tom Exp $") + + #define isDotname(name) (!strcmp(name, ".") || !strcmp(name, "..")) + +@@ -265,10 +265,10 @@ + typedef void (DescHook) (int /* db_index */ , + int /* db_limit */ , + const char * /* term_name */ , +- TERMTYPE2 * /* term */ ); ++ const TERMTYPE2 * /* term */ ); + + static const char * +-term_description(TERMTYPE2 *tp) ++term_description(const TERMTYPE2 *tp) + { + const char *desc; + +@@ -283,7 +283,7 @@ + + /* display a description for the type */ + static void +-deschook(int db_index, int db_limit, const char *term_name, TERMTYPE2 *tp) ++deschook(int db_index, int db_limit, const char *term_name, const TERMTYPE2 *tp) + { + (void) db_index; + (void) db_limit; +@@ -307,7 +307,7 @@ + } + + static unsigned long +-checksum_of(TERMTYPE2 *tp) ++checksum_of(const TERMTYPE2 *tp) + { + unsigned long result = string_sum(tp->term_names); + unsigned i; +@@ -326,7 +326,7 @@ + + /* collect data, to sort before display */ + static void +-sorthook(int db_index, int db_limit, const char *term_name, TERMTYPE2 *tp) ++sorthook(int db_index, int db_limit, const char *term_name, const TERMTYPE2 *tp) + { + TERMDATA *data = new_termdata(); + +@@ -385,7 +385,7 @@ + + #if NCURSES_USE_DATABASE + static char * +-copy_entryname(DIRENT * src) ++copy_entryname(const DIRENT * src) + { + size_t len = NAMLEN(src); + char *result = malloc(len + 1); +@@ -411,7 +411,7 @@ + if (_nc_is_dir_path(eargv[i])) { + char *cwd_buf = 0; + DIR *termdir; +- DIRENT *subdir; ++ const DIRENT *subdir; + + if ((termdir = opendir(eargv[i])) == 0) { + (void) fflush(stdout); +@@ -428,7 +428,7 @@ + size_t cwd_len; + char *name_1; + DIR *entrydir; +- DIRENT *entry; ++ const DIRENT *entry; + + name_1 = copy_entryname(subdir); + if (isDotname(name_1)) { +@@ -605,7 +605,7 @@ + bool direct_dependencies = FALSE; + bool invert_dependencies = FALSE; + bool header = FALSE; +- char *report_file = 0; ++ const char *report_file = 0; + int code; + int this_opt, last_opt = '?'; + unsigned v_opt = 0; +Index: progs/tset.c +Prereq: 1.135 +--- ncurses-6.5-20241006+/progs/tset.c 2024-04-20 22:20:41.000000000 +0000 ++++ ncurses-6.5-20241019/progs/tset.c 2024-10-19 21:40:28.000000000 +0000 +@@ -98,7 +98,7 @@ + char *ttyname(int fd); + #endif + +-MODULE_ID("$Id: tset.c,v 1.135 2024/04/20 22:20:41 tom Exp $") ++MODULE_ID("$Id: tset.c,v 1.136 2024/10/19 21:40:28 tom Exp $") + + #ifndef environ + extern char **environ; +@@ -543,7 +543,7 @@ + get_termcap_entry(int fd, char *userarg) + { + int errret; +- char *p; ++ const char *p; + const char *ttype; + #if HAVE_PATH_TTYS + #if HAVE_GETTTYNAM +@@ -676,7 +676,7 @@ + obsolete(char **argv) + { + for (; *argv; ++argv) { +- char *parm = argv[0]; ++ const char *parm = argv[0]; + + if (parm[0] == '-' && parm[1] == '\0') { + argv[0] = strdup("-q"); +Index: test/demo_menus.c +Prereq: 1.82 +--- ncurses-6.5-20241006+/test/demo_menus.c 2024-10-06 19:58:28.000000000 +0000 ++++ ncurses-6.5-20241019/test/demo_menus.c 2024-10-19 21:53:57.000000000 +0000 +@@ -27,7 +27,7 @@ + * authorization. * + ****************************************************************************/ + /* +- * $Id: demo_menus.c,v 1.82 2024/10/06 19:58:28 tom Exp $ ++ * $Id: demo_menus.c,v 1.83 2024/10/19 21:53:57 tom Exp $ + * + * Demonstrate a variety of functions from the menu library. + * Thomas Dickey - 2005/4/9 +@@ -755,7 +755,7 @@ + * Move the menus around on the screen, to test mvwin(). + */ + static void +-move_menus(MENU * current, int by_y, int by_x) ++move_menus(NCURSES_CONST MENU * current, int by_y, int by_x) + { + if (move_menu(mpBanner, current, by_y, by_x) != ERR) { + erase(); |