diff options
Diffstat (limited to 'packages/ncurses/6.5/ncurses-6.5-20241221.patch')
-rw-r--r-- | packages/ncurses/6.5/ncurses-6.5-20241221.patch | 891 |
1 files changed, 891 insertions, 0 deletions
diff --git a/packages/ncurses/6.5/ncurses-6.5-20241221.patch b/packages/ncurses/6.5/ncurses-6.5-20241221.patch new file mode 100644 index 00000000..531508c8 --- /dev/null +++ b/packages/ncurses/6.5/ncurses-6.5-20241221.patch @@ -0,0 +1,891 @@ +# ncurses 6.5 - patch 20241221 - 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-20241221.patch.gz +# patch by Thomas E. Dickey <dickey@invisible-island.net> +# created Sun Dec 22 01:11:31 UTC 2024 +# ------------------------------------------------------------------------------ +# Ada95/aclocal.m4 | 18 ++++---- +# Ada95/configure | 8 +-- +# NEWS | 11 ++++- +# VERSION | 2 +# aclocal.m4 | 10 ++-- +# c++/cursesw.h | 7 --- +# configure | 2 +# dist.mk | 4 - +# form/form.priv.h | 5 +- +# form/fty_int.c | 6 +- +# form/fty_num.c | 6 +- +# ncurses/base/MKlib_gen.sh | 3 - +# ncurses/tinfo/MKfallback.sh | 4 - +# ncurses/tinfo/lib_data.c | 4 - +# ncurses/tinfo/trim_sgr0.c | 75 +++++++++++++++++++++++++++++++++++-- +# ncurses/tinfo/write_entry.c | 8 +-- +# ncurses/trace/lib_tracebits.c | 6 +- +# ncurses/tty/lib_tstp.c | 6 +- +# 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/infocmp.c | 4 - +# test/aclocal.m4 | 10 ++-- +# test/configure | 4 - +# test/foldkeys.c | 4 - +# test/padview.c | 5 +- +# 30 files changed, 156 insertions(+), 78 deletions(-) +# ------------------------------------------------------------------------------ +Index: Ada95/aclocal.m4 +Prereq: 1.222 +--- ncurses-6.5-20241214+/Ada95/aclocal.m4 2024-11-09 23:14:10.000000000 +0000 ++++ ncurses-6.5-20241221/Ada95/aclocal.m4 2024-12-21 15:29:41.000000000 +0000 +@@ -29,7 +29,7 @@ + dnl + dnl Author: Thomas E. Dickey + dnl +-dnl $Id: aclocal.m4,v 1.222 2024/11/09 23:14:10 tom Exp $ ++dnl $Id: aclocal.m4,v 1.223 2024/12/21 15:29:41 tom Exp $ + dnl Macros used in NCURSES Ada95 auto-configuration script. + dnl + dnl These macros are maintained separately from NCURSES. The copyright on +@@ -477,7 +477,7 @@ + AC_SUBST(ARFLAGS) + ]) + dnl --------------------------------------------------------------------------- +-dnl CF_BUILD_CC version: 13 updated: 2024/06/22 13:42:22 ++dnl CF_BUILD_CC version: 14 updated: 2024/12/14 11:58:01 + dnl ----------- + dnl If we're cross-compiling, allow the user to override the tools and their + dnl options. The configure script is oriented toward identifying the host +@@ -555,7 +555,7 @@ + AC_TRY_RUN([#include <stdio.h> + int main(int argc, char *argv[]) + { +- ${cf_cv_main_return:-return}(argc < 0 || argv == 0 || argv[0] == 0); ++ ${cf_cv_main_return:-return}(argc < 0 || argv == (void*)0 || argv[0] == (void*)0); + } + ], + cf_ok_build_cc=yes, +@@ -901,7 +901,7 @@ + fi + ]) + dnl --------------------------------------------------------------------------- +-dnl CF_CONST_X_STRING version: 8 updated: 2023/12/01 17:22:50 ++dnl CF_CONST_X_STRING version: 9 updated: 2024/12/04 03:49:57 + dnl ----------------- + dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most + dnl character-strings. +@@ -928,7 +928,7 @@ + + AC_TRY_COMPILE( + [ +-#include <stdlib.h> ++$ac_includes_default + #include <X11/Intrinsic.h> + ], + [String foo = malloc(1); free((void*)foo)],[ +@@ -939,7 +939,7 @@ + #undef _CONST_X_STRING + #define _CONST_X_STRING /* X11R7.8 (perhaps) */ + #undef XTSTRINGDEFINES /* X11R5 and later */ +-#include <stdlib.h> ++$ac_includes_default + #include <X11/Intrinsic.h> + ],[String foo = malloc(1); *foo = 0],[ + cf_cv_const_x_string=no +@@ -1508,7 +1508,7 @@ + CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS) + ])dnl + dnl --------------------------------------------------------------------------- +-dnl CF_GCC_WARNINGS version: 41 updated: 2021/01/01 16:53:59 ++dnl CF_GCC_WARNINGS version: 43 updated: 2024/12/21 08:44:12 + dnl --------------- + dnl Check if the compiler supports useful warning options. There's a few that + dnl we don't use, simply because they're too noisy: +@@ -4013,7 +4013,7 @@ + done + ])dnl + dnl --------------------------------------------------------------------------- +-dnl CF_SHARED_OPTS version: 111 updated: 2024/03/29 20:08:49 ++dnl CF_SHARED_OPTS version: 112 updated: 2024/12/14 16:09:34 + dnl -------------- + dnl -------------- + dnl Attempt to determine the appropriate CC/LD options for creating a shared +@@ -4529,7 +4529,7 @@ + int main(int argc, char *argv[[]]) + { + printf("hello\\n"); +- return (argv[[argc-1]] == 0) ; ++ return (argv[[argc-1]] == NULL) ; + } + EOF + cf_save_CFLAGS="$CFLAGS" +Index: Ada95/configure +--- ncurses-6.5-20241214+/Ada95/configure 2024-11-09 23:14:34.000000000 +0000 ++++ ncurses-6.5-20241221/Ada95/configure 2024-12-21 15:30:09.000000000 +0000 +@@ -4743,7 +4743,7 @@ + #include <stdio.h> + int main(int argc, char *argv[]) + { +- ${cf_cv_main_return:-return}(argc < 0 || argv == 0 || argv[0] == 0); ++ ${cf_cv_main_return:-return}(argc < 0 || argv == (void*)0 || argv[0] == (void*)0); + } + + _ACEOF +@@ -12772,7 +12772,7 @@ + int main(int argc, char *argv[]) + { + printf("hello\\n"); +- return (argv[argc-1] == 0) ; ++ return (argv[argc-1] == NULL) ; + } + EOF + cf_save_CFLAGS="$CFLAGS" +@@ -16299,7 +16299,7 @@ + #line 16299 "configure" + #include "confdefs.h" + +-#include <stdlib.h> ++$ac_includes_default + #include <X11/Intrinsic.h> + + int +@@ -16336,7 +16336,7 @@ + #undef _CONST_X_STRING + #define _CONST_X_STRING /* X11R7.8 (perhaps) */ + #undef XTSTRINGDEFINES /* X11R5 and later */ +-#include <stdlib.h> ++$ac_includes_default + #include <X11/Intrinsic.h> + + int +Index: NEWS +Prereq: 1.4212 +--- ncurses-6.5-20241214+/NEWS 2024-12-14 20:03:39.000000000 +0000 ++++ ncurses-6.5-20241221/NEWS 2024-12-21 20:43:26.000000000 +0000 +@@ -26,7 +26,7 @@ + -- sale, use or other dealings in this Software without prior written -- + -- authorization. -- + ------------------------------------------------------------------------------- +--- $Id: NEWS,v 1.4212 2024/12/14 20:03:39 tom Exp $ ++-- $Id: NEWS,v 1.4216 2024/12/21 20:43:26 tom Exp $ + ------------------------------------------------------------------------------- + + This is a log of changes that ncurses has gone through since Zeyd started +@@ -46,10 +46,17 @@ + Changes through 1.9.9e did not credit all contributions; + it is not possible to add this information. + ++20241221 ++ + modify ncurses/tinfo/MKfallback.sh to work with MacOS sed, which ++ lacks BSD-style \< and \> ++ + trim padding from sgr expresion used in trim_sgr0, to avoid copying ++ the padding into the resulting sgr0 (report by Rajeev Pillai). ++ + strict compiler-warning fixes for upcoming gcc15 ++ + 20241214 + + avoid redefining bool in curses.h if the platform already supports + that type (cf: 20241123). +- + move include <curses.h> from etip.h.in to cursesw.hh, to work around ++ + move include <curses.h> from etip.h.in to cursesw.h, to work around + breakage in Apple's port of ncurses. + + strict compiler-warning fixes for upcoming gcc15 + +Index: VERSION +--- ncurses-6.5-20241214+/VERSION 2024-12-14 11:34:56.000000000 +0000 ++++ ncurses-6.5-20241221/VERSION 2024-12-21 10:55:02.000000000 +0000 +@@ -1 +1 @@ +-5:0:10 6.5 20241214 ++5:0:10 6.5 20241221 +Index: aclocal.m4 +Prereq: 1.1096 +--- ncurses-6.5-20241214+/aclocal.m4 2024-12-14 21:33:29.000000000 +0000 ++++ ncurses-6.5-20241221/aclocal.m4 2024-12-21 13:44:45.000000000 +0000 +@@ -29,7 +29,7 @@ + dnl + dnl Author: Thomas E. Dickey 1995-on + dnl +-dnl $Id: aclocal.m4,v 1.1096 2024/12/14 21:33:29 tom Exp $ ++dnl $Id: aclocal.m4,v 1.1097 2024/12/21 13:44:45 tom Exp $ + dnl Macros used in NCURSES auto-configuration script. + dnl + dnl These macros are maintained separately from NCURSES. The copyright on +@@ -3115,7 +3115,7 @@ + CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS) + ])dnl + dnl --------------------------------------------------------------------------- +-dnl CF_GCC_WARNINGS version: 42 updated: 2024/12/14 09:09:41 ++dnl CF_GCC_WARNINGS version: 43 updated: 2024/12/21 08:44:12 + dnl --------------- + dnl Check if the compiler supports useful warning options. There's a few that + dnl we don't use, simply because they're too noisy: +@@ -3141,7 +3141,7 @@ + if test "x$have_x" = xyes; then CF_CONST_X_STRING fi + cat > "conftest.$ac_ext" <<EOF + #line __oline__ "${as_me:-configure}" +-int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == (void*)0) ; } ++int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; } + EOF + if test "$INTEL_COMPILER" = yes + then +@@ -3729,7 +3729,7 @@ + fi + ])dnl + dnl --------------------------------------------------------------------------- +-dnl CF_GXX_WARNINGS version: 12 updated: 2024/12/14 16:09:34 ++dnl CF_GXX_WARNINGS version: 13 updated: 2024/12/21 08:44:12 + dnl --------------- + dnl Check if the compiler supports useful warning options. + dnl +@@ -3761,7 +3761,7 @@ + + cat > conftest.$ac_ext <<EOF + #line __oline__ "configure" +-int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == (void*)0) ; } ++int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; } + EOF + + if test "$INTEL_CPLUSPLUS" = yes +Index: c++/cursesw.h +Prereq: 1.60 +--- ncurses-6.5-20241214+/c++/cursesw.h 2024-12-14 19:08:22.000000000 +0000 ++++ ncurses-6.5-20241221/c++/cursesw.h 2024-12-15 16:06:49.000000000 +0000 +@@ -32,11 +32,9 @@ + #ifndef NCURSES_CURSESW_H_incl + #define NCURSES_CURSESW_H_incl 1 + +-// $Id: cursesw.h,v 1.60 2024/12/14 19:08:22 tom Exp $ ++// $Id: cursesw.h,v 1.61 2024/12/15 16:06:49 tom Exp $ + +-extern "C" { +-# include <curses.h> +-} ++#include <curses.h> + + #if defined(BUILDING_NCURSES_CXX) + # define NCURSES_CXX_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT +@@ -50,7 +48,6 @@ + #define NCURSES_CXX_EXPORT_VAR(type) NCURSES_CXX_IMPEXP type + + #include <etip.h> +-#include <curses.h> + + /* SCO 3.2v4 curses.h includes term.h, which defines lines as a macro. + Undefine it here, because NCursesWindow uses lines as a method. */ +Index: configure +--- ncurses-6.5-20241214+/configure 2024-12-15 02:03:09.000000000 +0000 ++++ ncurses-6.5-20241221/configure 2024-12-21 15:24:20.000000000 +0000 +@@ -17892,7 +17892,7 @@ + fi + cat > "conftest.$ac_ext" <<EOF + #line 17894 "${as_me:-configure}" +-int main(int argc, char *argv[]) { return (argv[argc-1] == (void*)0) ; } ++int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; } + EOF + if test "$INTEL_COMPILER" = yes + then +Index: dist.mk +Prereq: 1.1645 +--- ncurses-6.5-20241214+/dist.mk 2024-12-14 11:34:56.000000000 +0000 ++++ ncurses-6.5-20241221/dist.mk 2024-12-21 10:55:02.000000000 +0000 +@@ -26,7 +26,7 @@ + # use or other dealings in this Software without prior written # + # authorization. # + ############################################################################## +-# $Id: dist.mk,v 1.1645 2024/12/14 11:34:56 tom Exp $ ++# $Id: dist.mk,v 1.1646 2024/12/21 10:55:02 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 = 20241214 ++NCURSES_PATCH = 20241221 + + # We don't append the patch to the version, since this only applies to releases + VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) +Index: form/form.priv.h +Prereq: 0.50 +--- ncurses-6.5-20241214+/form/form.priv.h 2024-12-07 21:57:21.000000000 +0000 ++++ ncurses-6.5-20241221/form/form.priv.h 2024-12-21 17:09:39.000000000 +0000 +@@ -31,7 +31,7 @@ + * Author: Juergen Pfeifer, 1995,1997 * + ****************************************************************************/ + +-/* $Id: form.priv.h,v 0.50 2024/12/07 21:57:21 tom Exp $ */ ++/* $Id: form.priv.h,v 0.51 2024/12/21 17:09:39 tom Exp $ */ + + #ifndef FORM_PRIV_H + #define FORM_PRIV_H 1 +@@ -172,6 +172,9 @@ + + #define C_ZEROS '\0' + ++#define MAX_DIGITS 64 ++#define MaxDigits(n) ((n) > MAX_DIGITS ? MAX_DIGITS : ((n) > 0 ? (n) : 0)) ++ + extern FORM_EXPORT(TypeArgument *) _nc_Make_Argument (const FIELDTYPE*, va_list*, int*); + extern FORM_EXPORT(TypeArgument *) _nc_Copy_Argument (const FIELDTYPE*, const TypeArgument*, int*); + extern FORM_EXPORT(void) _nc_Free_Argument (const FIELDTYPE*, TypeArgument*); +Index: form/fty_int.c +Prereq: 1.35 +--- ncurses-6.5-20241214+/form/fty_int.c 2024-12-07 21:58:32.000000000 +0000 ++++ ncurses-6.5-20241221/form/fty_int.c 2024-12-21 17:14:36.000000000 +0000 +@@ -35,7 +35,7 @@ + + #include "form.priv.h" + +-MODULE_ID("$Id: fty_int.c,v 1.35 2024/12/07 21:58:32 tom Exp $") ++MODULE_ID("$Id: fty_int.c,v 1.36 2024/12/21 17:14:36 tom Exp $") + + #if USE_WIDEC_SUPPORT + #define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c))) +@@ -235,10 +235,10 @@ + } + if (result) + { +- char buf[100]; ++ char buf[MAX_DIGITS + 3]; + + _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf)) +- "%.*ld", (prec > 0 ? prec : 0), val); ++ "%.*ld", MaxDigits(prec), val); + set_field_buffer(field, 0, buf); + } + } +Index: form/fty_num.c +Prereq: 1.39 +--- ncurses-6.5-20241214+/form/fty_num.c 2024-12-07 21:58:32.000000000 +0000 ++++ ncurses-6.5-20241221/form/fty_num.c 2024-12-21 17:16:09.000000000 +0000 +@@ -35,7 +35,7 @@ + + #include "form.priv.h" + +-MODULE_ID("$Id: fty_num.c,v 1.39 2024/12/07 21:58:32 tom Exp $") ++MODULE_ID("$Id: fty_num.c,v 1.40 2024/12/21 17:16:09 tom Exp $") + + #if HAVE_LOCALE_H + #include <locale.h> +@@ -273,10 +273,10 @@ + } + if (result) + { +- char buf[64]; ++ char buf[MAX_DIGITS * 6]; + + _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf)) +- "%.*f", (prec > 0 ? prec : 0), val); ++ "%.*f", MaxDigits(prec), val); + set_field_buffer(field, 0, buf); + } + } +Index: ncurses/base/MKlib_gen.sh +Prereq: 1.75 +--- ncurses-6.5-20241214+/ncurses/base/MKlib_gen.sh 2024-12-07 21:50:24.000000000 +0000 ++++ ncurses-6.5-20241221/ncurses/base/MKlib_gen.sh 2024-12-21 16:51:25.000000000 +0000 +@@ -2,7 +2,7 @@ + # + # MKlib_gen.sh -- generate sources from curses.h macro definitions + # +-# ($Id: MKlib_gen.sh,v 1.75 2024/12/07 21:50:24 tom Exp $) ++# ($Id: MKlib_gen.sh,v 1.76 2024/12/21 16:51:25 tom Exp $) + # + ############################################################################## + # Copyright 2018-2022,2024 Thomas E. Dickey # +@@ -191,6 +191,7 @@ + s/\(((\)0\([ ]*!=[ ]*(const void\)/\1NULL\2/g + /returnCode(wborder_set/s,0,NULL,g + /returnWin/s,0,NULL, ++ /_parent/s,0,NULL, + EOF + else + cat >$ED4 <<EOF +Index: ncurses/tinfo/MKfallback.sh +Prereq: 1.27 +--- ncurses-6.5-20241214+/ncurses/tinfo/MKfallback.sh 2024-12-07 20:57:05.000000000 +0000 ++++ ncurses-6.5-20241221/ncurses/tinfo/MKfallback.sh 2024-12-21 18:45:15.000000000 +0000 +@@ -27,7 +27,7 @@ + # use or other dealings in this Software without prior written # + # authorization. # + ############################################################################## +-# $Id: MKfallback.sh,v 1.27 2024/12/07 20:57:05 tom Exp $ ++# $Id: MKfallback.sh,v 1.28 2024/12/21 18:45:15 tom Exp $ + # + # MKfallback.sh -- create fallback table for entry reads + # +@@ -95,7 +95,7 @@ + for x in "$@" + do + echo "/* $x */" +- "$infocmp_path" -E "$x" | sed -e 's/\<short\>/NCURSES_INT2/g' ++ "$infocmp_path" -E "$x" | sed -e 's/[ ]short[ ]/ NCURSES_INT2 /g' + done + + cat <<EOF +Index: ncurses/tinfo/lib_data.c +Prereq: 1.92 +--- ncurses-6.5-20241214+/ncurses/tinfo/lib_data.c 2024-12-15 01:28:56.000000000 +0000 ++++ ncurses-6.5-20241221/ncurses/tinfo/lib_data.c 2024-12-21 20:27:36.000000000 +0000 +@@ -43,7 +43,7 @@ + + #include <curses.priv.h> + +-MODULE_ID("$Id: lib_data.c,v 1.92 2024/12/15 01:28:56 tom Exp $") ++MODULE_ID("$Id: lib_data.c,v 1.93 2024/12/21 20:27:36 tom Exp $") + + /* + * OS/2's native linker complains if we don't initialize public data when +@@ -188,7 +188,7 @@ + 0, /* nested_tracef */ + 0, /* use_pthreads */ + #if USE_PTHREADS_EINTR +- 0, /* read_thread */ ++ (pthread_t) 0, /* read_thread */ + #endif + #endif + #if USE_WIDEC_SUPPORT +Index: ncurses/tinfo/trim_sgr0.c +Prereq: 1.26 +--- ncurses-6.5-20241214+/ncurses/tinfo/trim_sgr0.c 2024-12-07 21:02:59.000000000 +0000 ++++ ncurses-6.5-20241221/ncurses/tinfo/trim_sgr0.c 2024-12-21 20:15:26.000000000 +0000 +@@ -37,11 +37,77 @@ + + #include <tic.h> + +-MODULE_ID("$Id: trim_sgr0.c,v 1.26 2024/12/07 21:02:59 tom Exp $") ++MODULE_ID("$Id: trim_sgr0.c,v 1.27 2024/12/21 20:15:26 tom Exp $") + + #undef CUR + #define CUR tp-> + ++/* ++ * Skip a padding token, e.g., "<5>", "<5.1>", "<5/>", "<5*>", or "<5/>". ++ * If the pattern does not match, return null. ++ */ ++static char * ++skip_padding(char *value) ++{ ++ char *result = NULL; ++ if (*value++ == '$' && *value++ == '<') { ++ int ch; ++ int state = 0; /* 1=integer, 2=decimal, 3=fraction */ ++ while ((ch = UChar(*value++)) != '\0') { ++ if (ch == '*' || ch == '/') { ++ if (!state) ++ break; ++ } else if (ch == '>') { ++ if (state) ++ result = value; ++ break; ++ } else if (ch == '.') { ++ if (state < 2) { ++ state = 2; ++ } else { ++ break; /* a single decimal point is allowed */ ++ } ++ } else if (isdigit(ch)) { ++ if (state < 2) { ++ state = 1; ++ } else if (state == 2) { ++ state = 3; ++ } else { ++ break; /* only a single digit after decimal point */ ++ } ++ } else { ++ break; ++ } ++ } ++ } ++ return result; ++} ++ ++static void ++strip_padding(char *value) ++{ ++ char *s = value; ++ char ch; ++ ++ while ((ch = *s) != '\0') { ++ if (ch == '\\') { ++ if (*++s == '\0') ++ break; ++ ++s; ++ } else { ++ char *d = NULL; ++ if (ch == '$') ++ d = skip_padding(s); ++ if (d != NULL) { ++ char *t = s; ++ while ((*t++ = *d++) != '\0') ; ++ } else { ++ ++s; ++ } ++ } ++ } ++} ++ + static char * + set_attribute_9(const TERMTYPE2 *tp, int flag) + { +@@ -49,10 +115,13 @@ + char *result; + + value = TIPARM_9(set_attributes, 0, 0, 0, 0, 0, 0, 0, 0, flag); +- if (PRESENT(value)) ++ if (PRESENT(value)) { + result = strdup(value); +- else ++ if (result != NULL) ++ strip_padding(result); ++ } else { + result = NULL; ++ } + return result; + } + +Index: ncurses/tinfo/write_entry.c +Prereq: 1.138 +--- ncurses-6.5-20241214+/ncurses/tinfo/write_entry.c 2024-12-07 21:13:36.000000000 +0000 ++++ ncurses-6.5-20241221/ncurses/tinfo/write_entry.c 2024-12-21 16:42:33.000000000 +0000 +@@ -42,7 +42,7 @@ + + #include <tic.h> + +-MODULE_ID("$Id: write_entry.c,v 1.138 2024/12/07 21:13:36 tom Exp $") ++MODULE_ID("$Id: write_entry.c,v 1.139 2024/12/21 16:42:33 tom Exp $") + + #if 1 + #define TRACE_OUT(p) DEBUG(2, p) +@@ -132,10 +132,10 @@ + const char *s = NULL; + + if (code == 0 || (s = (strchr) (dirnames, code)) == NULL) { +- _nc_err_abort("Illegal terminfo subdirectory \"" LEAF_FMT "\"", code); ++ _nc_err_abort("Illegal terminfo subdirectory \"" LEAF_FMT "\"", UChar(code)); + } else if (!verified[s - dirnames]) { + char dir[sizeof(LEAF_FMT)]; +- _nc_SPRINTF(dir, _nc_SLIMIT(sizeof(dir)) LEAF_FMT, code); ++ _nc_SPRINTF(dir, _nc_SLIMIT(sizeof(dir)) LEAF_FMT, UChar(code)); + if (make_db_root(dir) < 0) { + _nc_err_abort("%s/%s: (errno %d) %s", + _nc_tic_dir(NULL), +@@ -495,7 +495,7 @@ + + check_writeable(ptr[0]); + _nc_SPRINTF(linkname, _nc_SLIMIT(sizeof(linkname)) +- LEAF_FMT "/%.*s", ptr[0], ++ LEAF_FMT "/%.*s", UChar(ptr[0]), + (int) sizeof(linkname) - (2 + LEAF_LEN), ptr); + + if (strcmp(filename, linkname) == 0) { +Index: ncurses/trace/lib_tracebits.c +Prereq: 1.32 +--- ncurses-6.5-20241214+/ncurses/trace/lib_tracebits.c 2024-12-07 21:24:18.000000000 +0000 ++++ ncurses-6.5-20241221/ncurses/trace/lib_tracebits.c 2024-12-21 16:39:29.000000000 +0000 +@@ -35,7 +35,7 @@ + + #include <curses.priv.h> + +-MODULE_ID("$Id: lib_tracebits.c,v 1.32 2024/12/07 21:24:18 tom Exp $") ++MODULE_ID("$Id: lib_tracebits.c,v 1.33 2024/12/21 16:39:29 tom Exp $") + + #if HAVE_SYS_TERMIO_H + #include <sys/termio.h> /* needed for ISC */ +@@ -79,14 +79,14 @@ + #endif + + typedef struct { +- unsigned int val; ++ unsigned long val; + const char name[BITNAMELEN]; + } BITNAMES; + + #define TRACE_BUF_SIZE(num) (_nc_globals.tracebuf_ptr[num].size) + + static void +-lookup_bits(char *buf, const BITNAMES * table, const char *label, unsigned int val) ++lookup_bits(char *buf, const BITNAMES * table, const char *label, unsigned long val) + { + const BITNAMES *sp; + +Index: ncurses/tty/lib_tstp.c +Prereq: 1.57 +--- ncurses-6.5-20241214+/ncurses/tty/lib_tstp.c 2024-12-15 02:01:17.000000000 +0000 ++++ ncurses-6.5-20241221/ncurses/tty/lib_tstp.c 2024-12-21 18:43:50.000000000 +0000 +@@ -43,7 +43,7 @@ + + #include <SigAction.h> + +-MODULE_ID("$Id: lib_tstp.c,v 1.57 2024/12/15 02:01:17 tom Exp $") ++MODULE_ID("$Id: lib_tstp.c,v 1.58 2024/12/21 18:43:50 tom Exp $") + + #if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC) + #define USE_SIGTSTP 1 +@@ -294,7 +294,7 @@ + # endif + _nc_globals.read_thread = pthread_self(); + } else { +- _nc_globals.read_thread = 0; ++ _nc_globals.read_thread = (pthread_t) 0; + } + _nc_unlock_global(curses); + } +@@ -310,7 +310,7 @@ + if (_nc_globals.read_thread) { + if (!pthread_equal(pthread_self(), _nc_globals.read_thread)) + pthread_kill(_nc_globals.read_thread, SIGWINCH); +- _nc_globals.read_thread = 0; ++ _nc_globals.read_thread = (pthread_t) 0; + } + # endif + } +Index: package/debian-mingw/changelog +--- ncurses-6.5-20241214+/package/debian-mingw/changelog 2024-12-14 11:34:56.000000000 +0000 ++++ ncurses-6.5-20241221/package/debian-mingw/changelog 2024-12-21 10:55:02.000000000 +0000 +@@ -1,8 +1,8 @@ +-ncurses6td (6.5+20241214) unstable; urgency=low ++ncurses6td (6.5+20241221) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 14 Dec 2024 06:34:56 -0500 ++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 21 Dec 2024 05:50:45 -0500 + + ncurses6 (5.9+20131005) unstable; urgency=low + +Index: package/debian-mingw64/changelog +--- ncurses-6.5-20241214+/package/debian-mingw64/changelog 2024-12-14 11:34:56.000000000 +0000 ++++ ncurses-6.5-20241221/package/debian-mingw64/changelog 2024-12-21 10:55:02.000000000 +0000 +@@ -1,8 +1,8 @@ +-ncurses6td (6.5+20241214) unstable; urgency=low ++ncurses6td (6.5+20241221) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 14 Dec 2024 06:34:56 -0500 ++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 21 Dec 2024 05:50:45 -0500 + + ncurses6 (5.9+20131005) unstable; urgency=low + +Index: package/debian/changelog +--- ncurses-6.5-20241214+/package/debian/changelog 2024-12-14 11:34:56.000000000 +0000 ++++ ncurses-6.5-20241221/package/debian/changelog 2024-12-21 10:55:02.000000000 +0000 +@@ -1,8 +1,8 @@ +-ncurses6td (6.5+20241214) unstable; urgency=low ++ncurses6td (6.5+20241221) unstable; urgency=low + + * latest weekly patch + +- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 14 Dec 2024 06:34:56 -0500 ++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 21 Dec 2024 05:50:45 -0500 + + ncurses6 (5.9+20120608) unstable; urgency=low + +Index: package/mingw-ncurses.nsi +Prereq: 1.680 +--- ncurses-6.5-20241214+/package/mingw-ncurses.nsi 2024-12-14 11:34:56.000000000 +0000 ++++ ncurses-6.5-20241221/package/mingw-ncurses.nsi 2024-12-21 10:55:02.000000000 +0000 +@@ -1,4 +1,4 @@ +-; $Id: mingw-ncurses.nsi,v 1.680 2024/12/14 11:34:56 tom Exp $
++; $Id: mingw-ncurses.nsi,v 1.681 2024/12/21 10:55:02 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 "1214"
++!define VERSION_MMDD "1221"
+ !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
+
+ !define MY_ABI "5"
+Index: package/mingw-ncurses.spec +--- ncurses-6.5-20241214+/package/mingw-ncurses.spec 2024-12-14 11:34:56.000000000 +0000 ++++ ncurses-6.5-20241221/package/mingw-ncurses.spec 2024-12-21 10:55:02.000000000 +0000 +@@ -3,7 +3,7 @@ + Summary: shared libraries for terminal handling + Name: mingw32-ncurses6 + Version: 6.5 +-Release: 20241214 ++Release: 20241221 + License: X11 + Group: Development/Libraries + URL: https://invisible-island.net/ncurses/ +Index: package/ncurses.spec +--- ncurses-6.5-20241214+/package/ncurses.spec 2024-12-14 11:34:56.000000000 +0000 ++++ ncurses-6.5-20241221/package/ncurses.spec 2024-12-21 10:55:02.000000000 +0000 +@@ -1,7 +1,7 @@ + Summary: shared libraries for terminal handling + Name: ncurses6 + Version: 6.5 +-Release: 20241214 ++Release: 20241221 + License: X11 + Group: Development/Libraries + URL: https://invisible-island.net/ncurses/ +Index: package/ncursest.spec +--- ncurses-6.5-20241214+/package/ncursest.spec 2024-12-14 11:34:56.000000000 +0000 ++++ ncurses-6.5-20241221/package/ncursest.spec 2024-12-21 10:55:02.000000000 +0000 +@@ -1,7 +1,7 @@ + Summary: Curses library with POSIX thread support. + Name: ncursest6 + Version: 6.5 +-Release: 20241214 ++Release: 20241221 + License: X11 + Group: Development/Libraries + Source: ncurses-%{version}-%{release}.tgz +Index: progs/infocmp.c +Prereq: 1.170 +--- ncurses-6.5-20241214+/progs/infocmp.c 2024-12-07 22:10:45.000000000 +0000 ++++ ncurses-6.5-20241221/progs/infocmp.c 2024-12-21 17:02:07.000000000 +0000 +@@ -43,7 +43,7 @@ + + #include <dump_entry.h> + +-MODULE_ID("$Id: infocmp.c,v 1.170 2024/12/07 22:10:45 tom Exp $") ++MODULE_ID("$Id: infocmp.c,v 1.171 2024/12/21 17:02:07 tom Exp $") + + #ifndef ACTUAL_TIC + #define ACTUAL_TIC "tic" +@@ -1347,7 +1347,7 @@ + #define TP_LIMIT ((MAX_STRING - 6) - (size_t)(tp - buf)) + *tp++ = '"'; + for (sp = term->Strings[n]; +- *sp != 0 && TP_LIMIT > 2; ++ *sp != 0 && TP_LIMIT > 5; + sp++) { + if (isascii(UChar(*sp)) + && isprint(UChar(*sp)) +Index: test/aclocal.m4 +Prereq: 1.230 +--- ncurses-6.5-20241214+/test/aclocal.m4 2024-11-30 19:43:11.000000000 +0000 ++++ ncurses-6.5-20241221/test/aclocal.m4 2024-12-21 15:24:55.000000000 +0000 +@@ -27,7 +27,7 @@ + dnl authorization. * + dnl*************************************************************************** + dnl +-dnl $Id: aclocal.m4,v 1.230 2024/11/30 19:43:11 tom Exp $ ++dnl $Id: aclocal.m4,v 1.231 2024/12/21 15:24:55 tom Exp $ + dnl + dnl Author: Thomas E. Dickey + dnl +@@ -697,7 +697,7 @@ + fi + ]) + dnl --------------------------------------------------------------------------- +-dnl CF_CONST_X_STRING version: 8 updated: 2023/12/01 17:22:50 ++dnl CF_CONST_X_STRING version: 9 updated: 2024/12/04 03:49:57 + dnl ----------------- + dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most + dnl character-strings. +@@ -724,7 +724,7 @@ + + AC_TRY_COMPILE( + [ +-#include <stdlib.h> ++$ac_includes_default + #include <X11/Intrinsic.h> + ], + [String foo = malloc(1); free((void*)foo)],[ +@@ -735,7 +735,7 @@ + #undef _CONST_X_STRING + #define _CONST_X_STRING /* X11R7.8 (perhaps) */ + #undef XTSTRINGDEFINES /* X11R5 and later */ +-#include <stdlib.h> ++$ac_includes_default + #include <X11/Intrinsic.h> + ],[String foo = malloc(1); *foo = 0],[ + cf_cv_const_x_string=no +@@ -1895,7 +1895,7 @@ + CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS) + ])dnl + dnl --------------------------------------------------------------------------- +-dnl CF_GCC_WARNINGS version: 41 updated: 2021/01/01 16:53:59 ++dnl CF_GCC_WARNINGS version: 43 updated: 2024/12/21 08:44:12 + dnl --------------- + dnl Check if the compiler supports useful warning options. There's a few that + dnl we don't use, simply because they're too noisy: +Index: test/configure +--- ncurses-6.5-20241214+/test/configure 2024-11-30 19:43:38.000000000 +0000 ++++ ncurses-6.5-20241221/test/configure 2024-12-21 15:25:20.000000000 +0000 +@@ -22909,7 +22909,7 @@ + #line 22909 "configure" + #include "confdefs.h" + +-#include <stdlib.h> ++$ac_includes_default + #include <X11/Intrinsic.h> + + int +@@ -22946,7 +22946,7 @@ + #undef _CONST_X_STRING + #define _CONST_X_STRING /* X11R7.8 (perhaps) */ + #undef XTSTRINGDEFINES /* X11R5 and later */ +-#include <stdlib.h> ++$ac_includes_default + #include <X11/Intrinsic.h> + + int +Index: test/foldkeys.c +Prereq: 1.13 +--- ncurses-6.5-20241214+/test/foldkeys.c 2024-12-07 23:03:07.000000000 +0000 ++++ ncurses-6.5-20241221/test/foldkeys.c 2024-12-21 17:25:16.000000000 +0000 +@@ -30,7 +30,7 @@ + /* + * Author: Thomas E. Dickey, 2006 + * +- * $Id: foldkeys.c,v 1.13 2024/12/07 23:03:07 tom Exp $ ++ * $Id: foldkeys.c,v 1.14 2024/12/21 17:25:16 tom Exp $ + * + * Demonstrate a method for altering key definitions at runtime. + * +@@ -156,7 +156,7 @@ + final) == 3 + && *final != ';' + && (need = strlen(info[j].value)) != 0 +- && (value = strdup(info[j].value)) != NULL) { ++ && (value = malloc(need + 8)) != NULL) { + (void) need; /* _nc_SLIMIT is normally nothing */ + _nc_SPRINTF(value, _nc_SLIMIT(need) "\033[%d%c", first, *final); + for (k = 0; k < info_len; ++k) { +Index: test/padview.c +Prereq: 1.27 +--- ncurses-6.5-20241214+/test/padview.c 2024-12-07 22:40:19.000000000 +0000 ++++ ncurses-6.5-20241221/test/padview.c 2024-12-21 17:34:13.000000000 +0000 +@@ -29,7 +29,7 @@ + /* + * clone of view.c, using pads + * +- * $Id: padview.c,v 1.27 2024/12/07 22:40:19 tom Exp $ ++ * $Id: padview.c,v 1.28 2024/12/21 17:34:13 tom Exp $ + */ + + #include <test.priv.h> +@@ -88,8 +88,9 @@ + wattrset(stdscr, COLOR_PAIR(my_pair)); + clear(); + ++ i = (int) (sizeof(temp) - strlen(tag) - 8); + _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) +- "view %.*s", (int) strlen(tag), tag); ++ "view %.*s", i, tag); + i = (int) strlen(temp); + _nc_SPRINTF(temp + i, _nc_SLIMIT(sizeof(temp) - (size_t) i) + " %.*s", (int) sizeof(temp) - i - 2, fname); |