snapshot of project "ncurses", label v6_5_20250809

This commit is contained in:
Thomas E. Dickey 2025-08-10 00:13:33 +00:00
parent 90144ed97f
commit e55c8026e8
No known key found for this signature in database
GPG Key ID: CC2AF4472167BE03
32 changed files with 1397 additions and 1341 deletions

View File

@ -558,12 +558,11 @@
./include/headers
./include/nc_access.h
./include/nc_alloc.h
./include/nc_mingw.h
./include/nc_panel.h
./include/nc_string.h
./include/nc_termios.h
./include/nc_tparm.h
./include/nc_win32.h
./include/nc_win32.h.in
./include/ncurses_cfg.hin
./include/ncurses_defs
./include/ncurses_dll.h.in

9
NEWS
View File

@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.4321 2025/08/02 20:43:03 tom Exp $
-- $Id: NEWS,v 1.4324 2025/08/09 10:58:27 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -46,6 +46,13 @@ See the AUTHORS file for the corresponding full names.
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
20250809
+ add configure check for Win32 named pipes feature, using that to make
nc_mingw.h obsolete in favor of nc_win32.h
+ amend limit used in alloc_pair, by applying an adjustment for default
colors only when the maximum number of color pairs is greater than
the maximum number of colors (report by "Ingvix").
20250802
+ fixes for reading Unicode characters in MinGW/Windows port (report by
Axel Reinhold).

View File

@ -1 +1 @@
5:0:10 6.5 20250802
5:0:10 6.5 20250809

32
aclocal.m4 vendored
View File

@ -29,7 +29,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: aclocal.m4,v 1.1114 2025/07/26 18:11:56 tom Exp $
dnl $Id: aclocal.m4,v 1.1116 2025/08/09 00:45:30 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
@ -482,7 +482,7 @@ dnl Allow user to enable a normally-off option.
AC_DEFUN([CF_ARG_ENABLE],
[CF_ARG_OPTION($1,[$2],[$3],[$4],no)])dnl
dnl ---------------------------------------------------------------------------
dnl CF_ARG_OPTION version: 5 updated: 2015/05/10 19:52:14
dnl CF_ARG_OPTION version: 6 updated: 2025/08/05 04:09:09
dnl -------------
dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
dnl values.
@ -491,7 +491,7 @@ dnl Parameters:
dnl $1 = option name
dnl $2 = help-string
dnl $3 = action to perform if option is not default
dnl $4 = action if perform if option is default
dnl $4 = action to perform if option is default
dnl $5 = default option value (either 'yes' or 'no')
AC_DEFUN([CF_ARG_OPTION],
[AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
@ -1444,10 +1444,30 @@ else
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CHECK_TYPE2 version: 2 updated: 2024/12/14 16:33:06
dnl CF_CHECK_NAMED_PIPES version: 1 updated: 2025/08/08 20:44:18
dnl --------------------
dnl Check for existence of Windows named-pipe functions, set cache variable
dnl to reflect the result.
AC_DEFUN([CF_CHECK_NAMED_PIPES],[
AC_CACHE_CHECK(for named pipe functions,cf_cv_named_pipes,[
cf_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS -DWINVER=0x0600 -DWIN32_LEAN_AND_MEAN"
AC_TRY_LINK([#include <windows.h>],
[
HANDLE handle = 0;
ULONG pPid = 0;
if (GetNamedPipeInfo(handle, NULL, NULL, NULL, NULL)) {
if (GetNamedPipeServerProcessId(handle, &pPid)) {
${cf_cv_main_return:-return} (0);
}
}
],[cf_cv_named_pipes=yes],[cf_cv_named_pipes=no])
CPPFLAGS="$cf_save_CPPFLAGS"
])dnl
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CHECK_TYPE2 version: 3 updated: 2025/08/08 20:44:18
dnl --------------
dnl CF_CHECK_TYPE version: 5 updated: 2024/12/14 16:09:34
dnl -------------
dnl Check if the given type can be declared via the given header.
dnl $1 = the type to check
dnl $2 = the header (i.e., not one of the default includes)

View File

@ -1,6 +1,6 @@
// * This makes emacs happy -*-Mode: C++;-*-
/****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 2018-2020,2025 Thomas E. Dickey *
* Copyright 1998-2008,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -32,7 +32,7 @@
* Author: Juergen Pfeifer, 1997 *
****************************************************************************/
// $Id: internal.h,v 1.22 2020/08/29 23:06:41 tom Exp $
// $Id: internal.h,v 1.23 2025/08/09 10:43:32 tom Exp $
#ifndef NCURSES_CPLUS_INTERNAL_H
#define NCURSES_CPLUS_INTERNAL_H 1
@ -46,11 +46,7 @@
#endif
#if (defined(_WIN32) || defined(_WIN64))
#if defined(EXP_WIN32_DRIVER)
#include <nc_win32.h>
#else
#include <nc_mingw.h>
#endif
#undef KEY_EVENT
#endif

2347
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: configure.in,v 1.803 2025/07/26 18:00:55 Cosima.Neidahl Exp $
dnl $Id: configure.in,v 1.807 2025/08/09 19:49:48 tom Exp $
dnl Process this file with autoconf to produce a configure script.
dnl
dnl For additional information, see
@ -38,7 +38,7 @@ dnl https://invisible-island.net/autoconf/my-autoconf.html
dnl
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.52.20210101)
AC_REVISION($Revision: 1.803 $)
AC_REVISION($Revision: 1.807 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
@ -1602,29 +1602,35 @@ fi
esac
AC_SUBST(NCURSES_WGETCH_EVENTS)
USE_NAMED_PIPES=0
EXP_WIN32_DRIVER=0
INTERNALS_HDR=
case "$cf_cv_system_name" in
(*mingw32*|*mingw64*|*-msvc*)
AC_MSG_CHECKING(if you want experimental-Windows driver)
AC_ARG_ENABLE(exp-win32,
[ --enable-exp-win32 compile with experimental-Windows driver],
[with_exp_win32=$enableval],
[with_exp_win32=no])
AC_MSG_RESULT($with_exp_win32)
CF_CHECK_NAMED_PIPES
if test "$cf_cv_named_pipes" = yes; then
AC_MSG_CHECKING(if you want experimental-Windows driver)
AC_ARG_ENABLE(exp-win32,
[ --enable-exp-win32 compile with experimental-Windows driver],
[with_exp_win32=$enableval],
[with_exp_win32=no])
AC_MSG_RESULT($with_exp_win32)
else
with_exp_win32=no
fi
if test "x$with_exp_win32" = xyes
then
AC_DEFINE(USE_NAMED_PIPES,1,[Define to 1 to use named pipes with win32 driver])
AC_DEFINE(EXP_WIN32_DRIVER,1,[Define to 1 to compile with experimental win32 driver])
USE_NAMED_PIPES=1
EXP_WIN32_DRIVER=1
INTERNALS_HDR='[$](INCDIR)/nc_win32.h'
else
INTERNALS_HDR='[$](INCDIR)/nc_mingw.h'
EXP_WIN32_DRIVER=0
fi
;;
(*)
EXP_WIN32_DRIVER=0
INTERNALS_HDR=
INTERNALS_HDR='../include/nc_win32.h'
;;
esac
AC_SUBST(USE_NAMED_PIPES)
AC_SUBST(EXP_WIN32_DRIVER)
AC_SUBST(INTERNALS_HDR)
@ -2556,6 +2562,7 @@ AC_OUTPUT( \
include/MKterm.h.awk \
include/curses.head:include/curses.h.in \
include/ncurses_dll.h \
include/nc_win32.h \
include/termcap.h \
include/unctrl.h \
man/man_db.renames \

View File

@ -26,7 +26,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.1681 2025/08/02 09:11:36 tom Exp $
# $Id: dist.mk,v 1.1682 2025/08/09 09:33:54 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@ -38,7 +38,7 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 5
NCURSES_PATCH = 20250802
NCURSES_PATCH = 20250809
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -1,6 +1,6 @@
# $Id: Makefile.in,v 1.54 2024/08/10 18:19:10 tom Exp $
# $Id: Makefile.in,v 1.55 2025/08/08 23:27:31 tom Exp $
##############################################################################
# Copyright 2019-2021,2024 Thomas E. Dickey #
# Copyright 2019-2024,2025 Thomas E. Dickey #
# Copyright 1998-2013,2015 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -78,6 +78,7 @@ CAPLIST = $(TERMINFO_CAPS) \
CONFIG_SRC = \
MKterm.h.awk \
curses.head \
nc_win32.h \
ncurses_dll.h \
termcap.h \
unctrl.h

View File

@ -33,7 +33,7 @@
* and: Thomas E. Dickey 1996-on *
****************************************************************************/
/* $Id: curses.h.in,v 1.298 2025/07/26 14:21:49 tom Exp $ */
/* $Id: curses.h.in,v 1.299 2025/08/08 23:19:21 tom Exp $ */
#ifndef __NCURSES_H
#define __NCURSES_H
@ -1447,7 +1447,7 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int); /*
*/
#if !@HAVE_VSSCANF@ /* HAVE_VSSCANF */
#define vsscanf(a,b,c) _nc_vsscanf(a,b,c)
NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
extern NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
#endif
/*

View File

@ -1,6 +1,6 @@
# $Id: headers,v 1.16 2023/04/22 12:09:09 tom Exp $
# $Id: headers,v 1.20 2025/08/09 23:33:39 tom Exp $
##############################################################################
# Copyright 2020,2023 Thomas E. Dickey #
# Copyright 2020-2023,2025 Thomas E. Dickey #
# Copyright 1998-2012,2013 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -46,8 +46,9 @@ $(srcdir)/term_entry.h
# Porting
@ port_win32con
$(srcdir)/ncurses_mingw.h
$(srcdir)/nc_mingw.h
nc_win32.h
@ port_win32
$(srcdir)/win32_curses.h
nc_win32.h
# vile:makemode

View File

@ -1,92 +0,0 @@
/****************************************************************************
* Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2008-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas Dickey, 2008-on *
****************************************************************************/
/* $Id: nc_mingw.h,v 1.13 2024/08/31 15:50:24 tom Exp $ */
#ifndef NC_MINGW_H
#define NC_MINGW_H 1
#include <ncurses_cfg.h>
#if defined(_WIN32) || defined(__MSYS__) || defined(__CYGWIN__)
#ifdef WINVER
# if WINVER < 0x0501
# error WINVER must at least be 0x0501
# endif
#else
# define WINVER 0x0501
#endif
#include <windows.h>
#undef sleep
#define sleep(n) Sleep((n) * 1000)
#if HAVE_SYS_TIME_H
#include <sys/time.h> /* for struct timeval */
#endif
#ifdef _MSC_VER
#include <winsock2.h> /* for struct timeval */
#endif
#include <stdint.h> /* for uint32_t */
#ifdef __cplusplus
extern "C" {
#endif
#include <ncurses_dll.h>
#if !HAVE_CLOCK_GETTIME && !HAVE_GETTIMEOFDAY
NCURSES_EXPORT(int) _nc_gettimeofday(struct timeval *, void *);
#undef HAVE_GETTIMEOFDAY
#define HAVE_GETTIMEOFDAY 2
#define gettimeofday(tv,tz) _nc_gettimeofday(tv,tz)
#endif
#define SIGHUP 1
#define SIGKILL 9
#define getlogin() "username"
#undef wcwidth
#define wcwidth(ucs) _nc_wcwidth((wchar_t)(ucs))
NCURSES_EXPORT(int) _nc_wcwidth(uint32_t);
#ifdef __cplusplus
}
#endif
#endif /* _WIN32|__MSYS__|__CYGWIN__ */
#endif /* NC_MINGW_H */

View File

@ -31,7 +31,7 @@
* Author: Thomas Dickey, 2008-on *
****************************************************************************/
/* $Id: nc_win32.h,v 1.17 2025/03/29 16:45:33 Daniel.Starke Exp $ */
/* $Id: nc_win32.h.in,v 1.4 2025/08/09 14:26:13 tom Exp $ */
#ifndef NC_WIN32_H
#define NC_WIN32_H 1
@ -40,6 +40,8 @@
#if defined(_WIN32) || defined(_WIN64)
#if @USE_NAMED_PIPES@ /* USE_NAMED_PIPES */
#ifndef _NC_WINDOWS_NATIVE
#define _NC_WINDOWS_NATIVE
#endif
@ -183,6 +185,58 @@ extern NCURSES_EXPORT_VAR(ConsoleInfo) _nc_CONSOLE;
}
#endif
#else /* !USE_NAMED_PIPES */
#ifdef WINVER
# if WINVER < 0x0501
# error WINVER must at least be 0x0501
# endif
#else
# define WINVER 0x0501
#endif
#include <windows.h>
#undef sleep
#define sleep(n) Sleep((n) * 1000)
#if HAVE_SYS_TIME_H
#include <sys/time.h> /* for struct timeval */
#endif
#ifdef _MSC_VER
#include <winsock2.h> /* for struct timeval */
#endif
#include <stdint.h> /* for uint32_t */
#ifdef __cplusplus
extern "C" {
#endif
#include <ncurses_dll.h>
#if !HAVE_CLOCK_GETTIME && !HAVE_GETTIMEOFDAY
extern NCURSES_EXPORT(int) _nc_gettimeofday(struct timeval *, void *);
#undef HAVE_GETTIMEOFDAY
#define HAVE_GETTIMEOFDAY 2
#define gettimeofday(tv,tz) _nc_gettimeofday(tv,tz)
#endif
#define SIGHUP 1
#define SIGKILL 9
#define getlogin() "username"
#undef wcwidth
#define wcwidth(ucs) _nc_wcwidth((wchar_t)(ucs))
extern NCURSES_EXPORT(int) _nc_wcwidth(uint32_t);
#ifdef __cplusplus
}
#endif
#endif /* USE_NAMED_PIPES */
#endif /* _WIN32 || _WIN64 */
#endif /* NC_WIN32_H */

View File

@ -1,4 +1,4 @@
# $Id: ncurses_defs,v 1.117 2025/05/17 22:22:40 tom Exp $
# $Id: ncurses_defs,v 1.118 2025/08/08 23:46:30 tom Exp $
##############################################################################
# Copyright 2018-2024,2025 Thomas E. Dickey #
# Copyright 2000-2016,2017 Free Software Foundation, Inc. #
@ -271,6 +271,7 @@ USE_HASHMAP
USE_HOME_TERMINFO
USE_LINKS
USE_MY_MEMMOVE
USE_NAMED_PIPES
USE_OK_BCOPY
USE_PTHREADS_EINTR
USE_RCS_IDS

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2018-2021,2025 Thomas E. Dickey *
* Copyright 2008-2014,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -31,17 +31,19 @@
* Author: Juergen Pfeifer, 2008-on *
****************************************************************************/
/* $Id: ncurses_mingw.h,v 1.7 2021/06/17 21:26:02 tom Exp $ */
/* $Id: ncurses_mingw.h,v 1.8 2025/08/09 13:30:46 tom Exp $ */
/*
* This is a placeholder up to now and describes what needs to be implemented
* to support I/O to external terminals with ncurses on the Windows OS.
*/
#ifdef _WIN32
#ifndef _NC_MINGWH
#define _NC_MINGWH
#ifndef _NCURSES_MINGW_H
#define _NCURSES_MINGW_H
#include <term.h>
#ifdef _WIN32
#define USE_CONSOLE_DRIVER 1
#undef TERMIOS
@ -78,5 +80,6 @@ extern NCURSES_EXPORT(int) _nc_mingw_tcflush(
int queue);
extern NCURSES_EXPORT(void) _nc_set_term_driver(void* term);
#endif /* _NC_MINGWH */
#endif /* _WIN32 */
#endif /* _NCURSES_MINGW_H */

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 2018-2023,2025 Thomas E. Dickey *
* Copyright 1998-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -34,7 +34,7 @@
****************************************************************************/
/*
* $Id: tic.h,v 1.87 2023/04/22 13:37:21 tom Exp $
* $Id: tic.h,v 1.88 2025/08/08 23:19:43 tom Exp $
* tic.h - Global variables and structures for the terminfo compiler.
*/
@ -313,8 +313,8 @@ extern NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings;
extern NCURSES_EXPORT_VAR(struct token) _nc_curr_token;
/* comp_userdefs.c */
NCURSES_EXPORT(const struct user_table_entry *) _nc_get_userdefs_table (void);
NCURSES_EXPORT(const HashData *) _nc_get_hash_user (void);
extern NCURSES_EXPORT(const struct user_table_entry *) _nc_get_userdefs_table (void);
extern NCURSES_EXPORT(const HashData *) _nc_get_hash_user (void);
/* captoinfo.c: capability conversion */
extern NCURSES_EXPORT(char *) _nc_captoinfo (const char *, const char *, int const);

View File

@ -40,7 +40,7 @@
* as ^?. Printable characters are displayed as is.
*/
/* $Id: unctrl.h.in,v 1.13 2025/07/19 17:46:04 tom Exp $ */
/* $Id: unctrl.h.in,v 1.14 2025/08/08 23:19:21 tom Exp $ */
#ifndef NCURSES_UNCTRL_H_incl
#define NCURSES_UNCTRL_H_incl 1
@ -55,10 +55,10 @@ extern "C" {
#include <curses.h>
#undef unctrl
NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
extern NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
#if @NCURSES_SP_FUNCS@ /* NCURSES_SP_FUNCS */
NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
extern NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
#endif
#ifdef __cplusplus

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2021,2024 Thomas E. Dickey *
* Copyright 2018-2024,2025 Thomas E. Dickey *
* Copyright 2008-2014,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -31,17 +31,19 @@
* Author: Juergen Pfeifer, 2008-on *
****************************************************************************/
/* $Id: win32_curses.h,v 1.4 2024/08/31 18:17:44 tom Exp $ */
/* $Id: win32_curses.h,v 1.5 2025/08/09 13:30:54 tom Exp $ */
/*
* This is the interface we use on Windows to mimic the control of the settings
* of what acts like the classic TTY - the Windows Console.
*/
#if (defined(_WIN32) || defined(_WIN64))
#ifndef _NC_WIN32_CURSES_H
#define _NC_WIN32_CURSES_H 1
#include <nc_win32.h>
#if (defined(_WIN32) || defined(_WIN64))
struct winconmode
{
unsigned long dwFlagIn;
@ -68,5 +70,6 @@ extern NCURSES_EXPORT(int) _nc_console_flush(void* handle);
#undef sleep
#define sleep(n) Sleep((n) * 1000)
#endif /* _NC_WIN32_CURSES_H */
#endif /* _WIN32||_WIN64 */
#endif /* _NC_WIN32_CURSES_H */

View File

@ -1,4 +1,4 @@
# $Id: Makefile.in,v 1.189 2025/07/12 14:41:48 tom Exp $
# $Id: Makefile.in,v 1.191 2025/08/09 23:14:59 tom Exp $
##############################################################################
# Copyright 2018-2024,2025 Thomas E. Dickey #
# Copyright 1998-2017,2018 Free Software Foundation, Inc. #
@ -192,7 +192,6 @@ HEADER_DEPS = @INTERNALS_HDR@ \
$(INCDIR)/nc_string.h \
$(INCDIR)/nc_termios.h \
$(INCDIR)/nc_tparm.h \
$(INCDIR)/nc_win32.h \
$(INCDIR)/term_entry.h \
$(srcdir)/curses.priv.h \
$(srcdir)/new_pair.h \

View File

@ -49,7 +49,7 @@
#define CUR SP_TERMTYPE
#endif
MODULE_ID("$Id: lib_color.c,v 1.155 2025/01/18 14:47:35 tom Exp $")
MODULE_ID("$Id: lib_color.c,v 1.156 2025/08/08 17:48:18 tom Exp $")
#ifdef USE_TERM_DRIVER
#define CanChange InfoOf(SP_PARM).canchange
@ -393,7 +393,9 @@ NCURSES_SP_NAME(start_color) (NCURSES_SP_DCL0)
* If using default colors, allocate extra space in table to
* allow for default-color as a component of a color-pair.
*/
SP_PARM->_pair_limit += (1 + (2 * maxcolors));
if (maxcolors < maxpairs) {
SP_PARM->_pair_limit += (1 + (2 * maxcolors));
}
#if !NCURSES_EXT_COLORS
SP_PARM->_pair_limit = limit_PAIRS(SP_PARM->_pair_limit);
#endif

View File

@ -35,7 +35,7 @@
****************************************************************************/
/*
* $Id: curses.priv.h,v 1.708 2025/08/02 19:23:58 tom Exp $
* $Id: curses.priv.h,v 1.710 2025/08/10 00:13:33 tom Exp $
*
* curses.priv.h
*
@ -2285,12 +2285,6 @@ extern int __MINGW_NOTHROW _nc_mblen(const char *, size_t);
#endif /* _NC_WINDOWS_NATIVE && !_NC_MSC */
#if defined(_NC_WINDOWS_NATIVE) || defined(_NC_MINGW)
/* see wcwidth.c */
extern NCURSES_EXPORT(int) mk_wcwidth(uint32_t);
#define wcwidth(ucs) _nc_wcwidth(ucs)
#endif
#if HAVE_MBTOWC && HAVE_MBLEN
#define reset_mbytes(state) IGNORE_RC(mblen(NULL, (size_t) 0)), IGNORE_RC(mbtowc(NULL, NULL, (size_t) 0))
#define count_mbytes(buffer,length,state) mblen(buffer,length)
@ -2511,7 +2505,7 @@ extern NCURSES_EXPORT(int) TINFO_MVCUR(SCREEN*, int, int, int, int);
#define TINFO_MVCUR NCURSES_SP_NAME(_nc_mvcur)
#endif
#if defined(EXP_WIN32_DRIVER)
#if defined(USE_WIN32CON_DRIVER)
#include <nc_win32.h>
#endif
@ -2555,7 +2549,6 @@ extern NCURSES_EXPORT_VAR(TERM_DRIVER) _nc_TINFO_DRIVER;
#else
#ifdef USE_TERM_DRIVER
#if defined(USE_WIN32CON_DRIVER)
#include <nc_mingw.h>
extern NCURSES_EXPORT_VAR(TERM_DRIVER) _nc_WIN_DRIVER;
extern NCURSES_EXPORT(int) _nc_mingw_console_read(SCREEN *sp, HANDLE fd, int *buf);
extern NCURSES_EXPORT(int) _nc_mingw_isatty(int fd);

View File

@ -1,6 +1,6 @@
# $Id: modules,v 1.127 2020/09/12 17:58:12 tom Exp $
# $Id: modules,v 1.128 2025/08/08 23:39:20 tom Exp $
##############################################################################
# Copyright 2019,2020 Thomas E. Dickey #
# Copyright 2019-2020,2025 Thomas E. Dickey #
# Copyright 1998-2013,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -235,12 +235,14 @@ version lib $(base) $(HEADER_DEPS)
@ port_drivers
lib_driver lib $(base) $(HEADER_DEPS)
# MinGW
@ port_win32con
gettimeofday lib $(win32con) $(HEADER_DEPS)
wcwidth lib $(win32con) $(HEADER_DEPS)
widechars lib $(wide) $(HEADER_DEPS)
win_driver lib $(win32con) $(HEADER_DEPS)
# MinGW-W64
@ port_win32
lib_win32con lib $(tinfo) $(HEADER_DEPS)
lib_win32util lib $(tinfo) $(HEADER_DEPS)

View File

@ -1,8 +1,8 @@
ncurses6td (6.5+20250802) unstable; urgency=low
ncurses6td (6.5+20250809) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Aug 2025 05:11:36 -0400
-- Thomas E. Dickey <dickey@invisible-island.net> Fri, 08 Aug 2025 14:04:08 -0400
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6td (6.5+20250802) unstable; urgency=low
ncurses6td (6.5+20250809) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Aug 2025 05:11:36 -0400
-- Thomas E. Dickey <dickey@invisible-island.net> Fri, 08 Aug 2025 14:04:08 -0400
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6td (6.5+20250802) unstable; urgency=low
ncurses6td (6.5+20250809) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Aug 2025 05:11:36 -0400
-- Thomas E. Dickey <dickey@invisible-island.net> Fri, 08 Aug 2025 14:04:08 -0400
ncurses6 (5.9+20120608) unstable; urgency=low

View File

@ -1,4 +1,4 @@
; $Id: mingw-ncurses.nsi,v 1.715 2025/08/02 09:11:36 tom Exp $
; $Id: mingw-ncurses.nsi,v 1.716 2025/08/08 18:04:08 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 "0802"
!define VERSION_MMDD "0809"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"

View File

@ -3,7 +3,7 @@
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.5
Release: 20250802
Release: 20250809
License: X11 License Distribution Modification Variant
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
@ -144,8 +144,8 @@ popd
%changelog
* Sat Aug 02 2025 Thomas E. Dickey
- testing ncurses 6.5-20250802
* Fri Aug 08 2025 Thomas E. Dickey
- testing ncurses 6.5-20250809
* Sat Feb 25 2023 Thomas Dickey
- amend URLs per rpmlint

View File

@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.5
Release: 20250802
Release: 20250809
License: X11 License Distribution Modification Variant
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
@ -134,8 +134,8 @@ rm -f test/ncurses
%changelog
* Sat Aug 02 2025 Thomas E. Dickey
- testing ncurses 6.5-20250802
* Fri Aug 08 2025 Thomas E. Dickey
- testing ncurses 6.5-20250809
* Sat Feb 25 2023 Thomas Dickey
- amend URLs per rpmlint

View File

@ -1,7 +1,7 @@
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.5
Release: 20250802
Release: 20250809
License: X11 License Distribution Modification Variant
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
@ -142,8 +142,8 @@ exit 0
%changelog
* Sat Aug 02 2025 Thomas E. Dickey
- testing ncurses 6.5-20250802
* Fri Aug 08 2025 Thomas E. Dickey
- testing ncurses 6.5-20250809
* Tue Dec 24 2019 Thomas Dickey
- drop custom CC_NORMAL warning flags because setting CFLAGS interferes with

View File

@ -27,7 +27,7 @@
* authorization. *
****************************************************************************/
/*
* $Id: demo_new_pair.c,v 1.33 2025/07/05 15:21:56 tom Exp $
* $Id: demo_new_pair.c,v 1.34 2025/08/08 15:47:32 tom Exp $
*
* Demonstrate the alloc_pair() function.
*/
@ -326,6 +326,7 @@ main(int argc, char *argv[])
my_pair = (use_init
? next_color(current)
: make_color(current));
assert(my_pair < COLOR_PAIRS);
}
} else {
my_attrs = next_attr(current);

View File

@ -30,7 +30,7 @@
/*
* Author: Thomas E. Dickey
*
* $Id: dots_xcurses.c,v 1.33 2025/07/05 15:21:56 tom Exp $
* $Id: dots_xcurses.c,v 1.34 2025/08/08 16:45:28 tom Exp $
*
* A simple demo of the wide-curses interface used for comparison with termcap.
*/
@ -54,6 +54,7 @@
static bool interrupted = FALSE;
static long total_chars = 0;
static long total_skips = 0;
static time_t started;
#if HAVE_ALLOC_PAIR
@ -69,6 +70,8 @@ cleanup(void)
fprintf(stderr, "\n\n%ld total cells, rate %.2f/sec\n",
total_chars,
((double) (total_chars) / (double) (time((time_t *) 0) - started)));
if (total_skips)
fprintf(stderr, "%ld total skipped\n", total_skips);
}
static void
@ -91,6 +94,7 @@ mypair(int fg, int bg)
#if HAVE_ALLOC_PAIR
if (x_option) {
result = alloc_pair(fg, bg);
assert(result < COLOR_PAIRS);
} else
#endif
{
@ -106,6 +110,8 @@ set_colors(int fg, int bg)
int pair = mypair(fg, bg);
if (pair > 0) {
(void) color_set((short) pair, NewPair(pair));
} else {
++total_skips;
}
}
@ -225,6 +231,8 @@ main(int argc, char *argv[])
pair = mypair(fg, bg);
if (pair > 0) {
InitPair(pair, fg, bg);
} else {
++total_skips;
}
}
}

View File

@ -30,7 +30,7 @@
/****************************************************************************
* Author: Thomas E. Dickey 1996-on *
****************************************************************************/
/* $Id: test.priv.h,v 1.224 2025/07/05 15:16:13 tom Exp $ */
/* $Id: test.priv.h,v 1.225 2025/08/09 01:04:25 tom Exp $ */
#ifndef __TEST_PRIV_H
#define __TEST_PRIV_H 1
@ -1088,7 +1088,7 @@ extern int TABSIZE;
#define SIGKILL 9
#define getlogin() "username"
#elif defined(EXP_WIN32_DRIVER)
#else
#if defined(HAVE_NCURSESW_NCURSES_H)
#include <ncursesw/nc_win32.h>
@ -1098,16 +1098,6 @@ extern int TABSIZE;
#include <nc_win32.h>
#endif
#else
#if defined(HAVE_NCURSESW_NCURSES_H)
#include <ncursesw/nc_mingw.h>
#elif defined(HAVE_NCURSES_NCURSES_H)
#include <ncurses/nc_mingw.h>
#else
#include <nc_mingw.h>
#endif
#endif
/* conflicts in test/firstlast.c */