snapshot of project "ncurses", label v6_5_20250104

This commit is contained in:
Thomas E. Dickey 2025-01-05 00:18:47 +00:00
parent 7d850fde1b
commit c6d02b91c1
No known key found for this signature in database
GPG Key ID: CC2AF4472167BE03
23 changed files with 527 additions and 577 deletions

View File

@ -4,12 +4,12 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
-------------------------------------------------------------------------------
Files: *
Copyright: 2017-2023,2024 by Thomas E. Dickey
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
License: X11
Files: aclocal.m4 package
Copyright: 2010-2023,2024 by Thomas E. Dickey
Copyright: 2010-2024,2025 by Thomas E. Dickey
License: X11
Permission is hereby granted, free of charge, to any person obtaining a

View File

@ -1,4 +1,4 @@
Copyright 2018-2023,2024 Thomas E. Dickey
Copyright 2018-2024,2025 Thomas E. Dickey
Copyright 1998-2017,2018 Free Software Foundation, Inc.
Permission is hereby granted, free of charge, to any person obtaining a
@ -26,4 +26,4 @@ sale, use or other dealings in this Software without prior written
authorization.
-- vile:txtmode fc=72
-- $Id: COPYING,v 1.13 2024/01/05 21:13:17 tom Exp $
-- $Id: COPYING,v 1.14 2025/01/04 10:53:46 tom Exp $

14
NEWS
View File

@ -1,5 +1,5 @@
-------------------------------------------------------------------------------
-- Copyright 2018-2023,2024 Thomas E. Dickey --
-- Copyright 2018-2024,2025 Thomas E. Dickey --
-- Copyright 1998-2017,2018 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.4220 2024/12/29 00:59:43 tom Exp $
-- $Id: NEWS,v 1.4226 2025/01/05 00:18:47 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -46,6 +46,16 @@ 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.
20250104
+ modify tput to warn about capabilities which expect parameters where
none are given; also repair the feature where multiple capabilities
can be handled on a single line.
+ cleanup use-clauses -TD
+ add linux+lockeys, xterm+r5+lockeys, xterm+r5+fkeys -TD
+ add vt220+ufkeys, vt220+sfkeys
+ revert man/manlinks.sed change, which loses aliases (cf: 20241228).
+ modify MKlib_gen.c to allow for Solaris's definition of NULL as 0L
20241228
+ correct conditional-compile for a case when the C compiler does not
have a bool type.

View File

@ -1 +1 @@
5:0:10 6.5 20241228
5:0:10 6.5 20250104

View File

@ -1,5 +1,5 @@
##############################################################################
# Copyright 2018-2023,2024 Thomas E. Dickey #
# Copyright 2018-2024,2025 Thomas E. Dickey #
# Copyright 1998-2017,2018 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -26,7 +26,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.1647 2024/12/28 11:24:50 tom Exp $
# $Id: dist.mk,v 1.1649 2025/01/04 09:55:25 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 = 20241228
NCURSES_PATCH = 20250104
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2020,2023 Thomas E. Dickey *
* Copyright 2018-2023,2025 Thomas E. Dickey *
* Copyright 2006-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -31,7 +31,7 @@
* Author: Thomas E. Dickey 2006 *
****************************************************************************/
/* $Id: nc_tparm.h,v 1.12 2023/04/16 17:57:28 tom Exp $ */
/* $Id: nc_tparm.h,v 1.13 2025/01/04 23:42:30 tom Exp $ */
#ifndef NC_TPARM_included
#define NC_TPARM_included 1
@ -88,6 +88,7 @@
#define TIPARM_7(s,a,b,c,d,e,f,g) _nc_tiparm(7,s,a,b,c,d,e,f,g)
#define TIPARM_8(s,a,b,c,d,e,f,g,h) _nc_tiparm(8,s,a,b,c,d,e,f,g,h)
#define TIPARM_9(s,a,b,c,d,e,f,g,h,i) _nc_tiparm(9,s,a,b,c,d,e,f,g,h,i)
#define TIPARM_N(N,s,a,b,c,d,e,f,g,h,i) _nc_tiparm(N,s,a,b,c,d,e,f,g,h,i)
#endif
#endif /* NC_TPARM_included */

View File

@ -1,4 +1,4 @@
# $Id: manlinks.sed,v 1.23 2024/12/28 21:36:50 Branden.Robinson Exp $
# $Id: manlinks.sed,v 1.24 2024/12/29 11:34:59 tom Exp $
##############################################################################
# Copyright 2020-2023,2024 Thomas E. Dickey #
# Copyright 2000-2003,2008 Free Software Foundation, Inc. #
@ -31,6 +31,9 @@
# listed in the "NAME" section, i.e., the names that we would like to use
# as aliases for the manpage -T.Dickey
#
# workaround for manpages without a SYNOPSIS
s/^\.\\"SH/.SH/
#
# eliminate formatting controls that get in the way
/^'\\"/d
/\.\\"/d
@ -72,8 +75,42 @@ s/ /\
/g
}
#
# delete remainder of document
/^\.SH_([^N]/,${
# in ".SH SYNOPSIS"
# For readability, the NAME section may not contain all function names, but we
# still want to make aliases for those. Do this by extracting names from the
# list of function prototypes in the synopsis.
#
# Remove any line that does not contain a '(', since we only want functions.
# then strip off return-type of each function.
#
# Finally, remove the parameter list, which begins with a '('.
/^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
/^\.ti/d
/^[^(]*$/d
# reduce
# .B "int add_wch( const cchar_t *\fIwch\fB );"
# to
# add_wch( const cchar_t *\fIwch\fB );"
s/^\([^ (]* [^ (]* [*]*\)//g
s/^\([^ (]* [*]*\)//g
# trim blanks in case we have
# void (*) (FORM *) field_init(const FORM *form);
s/) (/)(/g
# reduce stuff like
# void (*)(FORM *) field_init(const FORM *form);
# to
# field_init(const FORM *form);
s/^\(([^)]*)\)\(([^)]*)\)*[ ]*//g
# rename marker temporarily
s/\.SH_(/.SH_/
# kill lines with ");", and trim off beginning of argument list.
s/[()].*//
# rename marker back
s/\.SH_/.SH_(/
}
#
# delete ".SH DESCRIPTION" and following lines
/^\.SH_(DESCRIPTION/,${
d
}
#

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
#
# MKlib_gen.sh -- generate sources from curses.h macro definitions
#
# ($Id: MKlib_gen.sh,v 1.76 2024/12/21 16:51:25 tom Exp $)
# ($Id: MKlib_gen.sh,v 1.77 2024/12/29 10:49:59 tom Exp $)
#
##############################################################################
# Copyright 2018-2022,2024 Thomas E. Dickey #
@ -188,10 +188,10 @@ if test "$USE" = generated ; then
cat >$ED4 <<EOF
s/^\(.*\) \(.*\) (\(.*\))\$/NCURSES_EXPORT(\1) \2 (\3)/
/attr_[sg]et.* z)/s,z),z GCC_UNUSED),
s/\(((\)0\([ ]*!=[ ]*(const void\)/\1NULL\2/g
/returnCode(wborder_set/s,0,NULL,g
/returnWin/s,0,NULL,
/_parent/s,0,NULL,
s/\(((\)0[L]*\([ ]*!=[ ]*(const void\)/\1NULL\2/g
/returnCode(wborder_set/s,0[L]*,NULL,g
/returnWin/s,0[L]*,NULL,
/_parent/s,0[L]*,NULL,
EOF
else
cat >$ED4 <<EOF

View File

@ -1,8 +1,8 @@
ncurses6td (6.5+20241228) unstable; urgency=low
ncurses6td (6.5+20250104) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 28 Dec 2024 06:24:50 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 29 Dec 2024 04:55:25 -0500
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -5,12 +5,12 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
-------------------------------------------------------------------------------
Files: *
Copyright: 2017-2023,2024 by Thomas E. Dickey
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
License: X11
Files: aclocal.m4 package
Copyright: 1996-2023,2024 by Thomas E. Dickey
Copyright: 1996-2024,2025 by Thomas E. Dickey
License: X11
Files: doc/html/NCURSES-Programming-HOWTO.html

View File

@ -1,8 +1,8 @@
ncurses6td (6.5+20241228) unstable; urgency=low
ncurses6td (6.5+20250104) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 28 Dec 2024 06:24:50 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 29 Dec 2024 04:55:25 -0500
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -5,12 +5,12 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
-------------------------------------------------------------------------------
Files: *
Copyright: 2017-2023,2024 by Thomas E. Dickey
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
License: X11
Files: aclocal.m4 package
Copyright: 1996-2023,2024 by Thomas E. Dickey
Copyright: 1996-2024,2025 by Thomas E. Dickey
License: X11
Files: doc/html/NCURSES-Programming-HOWTO.html

View File

@ -1,8 +1,8 @@
ncurses6td (6.5+20241228) unstable; urgency=low
ncurses6td (6.5+20250104) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 28 Dec 2024 06:24:50 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 29 Dec 2024 04:55:25 -0500
ncurses6 (5.9+20120608) unstable; urgency=low

View File

@ -5,12 +5,12 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
-------------------------------------------------------------------------------
Files: *
Copyright: 2017-2023,2024 by Thomas E. Dickey
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
License: X11
Files: aclocal.m4 package
Copyright: 1996-2023,2024 by Thomas E. Dickey
Copyright: 1996-2024,2025 by Thomas E. Dickey
License: X11
Files: doc/html/NCURSES-Programming-HOWTO.html

View File

@ -1,4 +1,4 @@
; $Id: mingw-ncurses.nsi,v 1.682 2024/12/28 11:24:50 tom Exp $
; $Id: mingw-ncurses.nsi,v 1.683 2025/01/04 09:55:25 tom Exp $
; TODO add examples
; TODO bump ABI to 6
@ -9,8 +9,8 @@
!define VERSION_MAJOR "6"
!define VERSION_MINOR "5"
!define VERSION_YYYY "2024"
!define VERSION_MMDD "1228"
!define VERSION_YYYY "2025"
!define VERSION_MMDD "0104"
!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: 20241228
Release: 20250104
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/

View File

@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.5
Release: 20241228
Release: 20250104
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/

View File

@ -1,7 +1,7 @@
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.5
Release: 20241228
Release: 20250104
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2018-2024,2025 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -47,7 +47,7 @@
#include <transform.h>
#include <tty_settings.h>
MODULE_ID("$Id: tput.c,v 1.107 2024/12/07 22:12:53 tom Exp $")
MODULE_ID("$Id: tput.c,v 1.109 2025/01/05 00:10:46 tom Exp $")
#define PUTS(s) fputs(s, stdout)
@ -239,54 +239,71 @@ tput_cmd(int fd, TTY * settings, int argc, char **argv, int *used)
#endif
quit(ErrCapName, "unknown terminfo capability '%s'", name);
} else if (VALID_STRING(s)) {
if (argc > 1) {
int k;
int narg;
int analyzed;
int provided;
int popcount;
long numbers[1 + NUM_PARM];
char *strings[1 + NUM_PARM];
char *p_is_s[NUM_PARM];
TParams paramType;
TParams paramType;
long numbers[1 + NUM_PARM];
char *strings[1 + NUM_PARM];
char *p_is_s[NUM_PARM];
int k;
int narg;
int analyzed = 0;
int provided = 0;
int popcount = 0;
/* Nasty hack time. The tparm function needs to see numeric
* parameters as numbers, not as pointers to their string
* representations
*/
for (k = 1; (k < argc) && (k <= NUM_PARM); k++) {
char *tmp = NULL;
strings[k] = argv[k];
numbers[k] = strtol(argv[k], &tmp, 0);
if (tmp == NULL || *tmp != 0)
numbers[k] = 0;
}
for (k = argc; k <= NUM_PARM; k++) {
numbers[k] = 0;
strings[k] = NULL;
}
paramType = tparm_type(name);
paramType = tparm_type(name);
#if NCURSES_XNAMES
/*
* If the capability is an extended one, analyze the string.
*/
if (paramType == Numbers) {
struct name_table_entry const *entry_ptr;
entry_ptr = _nc_find_type_entry(name, STRING, FALSE);
if (entry_ptr == NULL) {
paramType = Other;
}
/*
* If the capability is an extended one, analyze the string.
*/
if (paramType == Numbers) {
struct name_table_entry const *entry_ptr;
entry_ptr = _nc_find_type_entry(name, STRING, FALSE);
if (entry_ptr == NULL) {
paramType = Other;
}
}
#endif
/* Nasty hack time. The tparm function needs to see numeric parameters
* as numbers, not as pointers to their string representations
*/
for (k = 1; (k < argc) && (k <= NUM_PARM); k++) {
char *tmp = NULL;
strings[k] = argv[k];
numbers[k] = strtol(argv[k], &tmp, 0);
if (tmp == NULL || *tmp != 0)
numbers[k] = 0;
}
for (k = argc; k <= NUM_PARM; k++) {
numbers[k] = 0;
strings[k] = NULL;
}
popcount = 0;
switch (paramType) {
case Str:
analyzed = 1;
break;
case Str_Str:
analyzed = 2;
break;
case Num_Str:
analyzed = 2;
break;
case Num_Str_Str:
analyzed = 3;
break;
case Numbers:
case Other:
analyzed = _nc_tparm_analyze(NULL, s, p_is_s, &popcount);
break;
}
if (analyzed < popcount) {
analyzed = popcount;
}
if (argc > 1) {
_nc_reset_tparm(NULL);
/*
* Count the number of numeric parameters which are provided.
*/
provided = 0;
for (narg = 1; narg < argc; ++narg) {
char *ending = NULL;
long check = strtol(argv[narg], &ending, 0);
@ -297,13 +314,11 @@ tput_cmd(int fd, TTY * settings, int argc, char **argv, int *used)
switch (paramType) {
case Str:
s = TPARM_1(s, strings[1]);
analyzed = 1;
if (provided == 0 && argc >= 1)
provided++;
break;
case Str_Str:
s = TPARM_2(s, strings[1], strings[2]);
analyzed = 2;
if (provided == 0 && argc >= 1)
provided++;
if (provided == 1 && argc >= 2)
@ -311,22 +326,19 @@ tput_cmd(int fd, TTY * settings, int argc, char **argv, int *used)
break;
case Num_Str:
s = TPARM_2(s, numbers[1], strings[2]);
analyzed = 2;
if (provided == 1 && argc >= 2)
provided++;
break;
case Num_Str_Str:
s = TPARM_3(s, numbers[1], strings[2], strings[3]);
analyzed = 3;
if (provided == 1 && argc >= 2)
provided++;
if (provided == 2 && argc >= 3)
provided++;
break;
case Numbers:
analyzed = _nc_tparm_analyze(NULL, s, p_is_s, &popcount);
#define myParam(n) numbers[n]
s = TIPARM_9(s,
s = TIPARM_N(analyzed, s,
myParam(1),
myParam(2),
myParam(3),
@ -341,24 +353,20 @@ tput_cmd(int fd, TTY * settings, int argc, char **argv, int *used)
case Other:
/* FALLTHRU */
default:
analyzed = _nc_tparm_analyze(NULL, s, p_is_s, &popcount);
#define myParam(n) (p_is_s[n - 1] != NULL ? ((TPARM_ARG) strings[n]) : numbers[n])
s = TPARM_9(s,
myParam(1),
myParam(2),
myParam(3),
myParam(4),
myParam(5),
myParam(6),
myParam(7),
myParam(8),
myParam(9));
s = TIPARM_N(analyzed, s,
myParam(1),
myParam(2),
myParam(3),
myParam(4),
myParam(5),
myParam(6),
myParam(7),
myParam(8),
myParam(9));
#undef myParam
break;
}
if (analyzed < popcount) {
analyzed = popcount;
}
if (opt_v && (analyzed != provided)) {
fprintf(stderr, "%s: %s parameters for \"%s\"\n",
_nc_progname,
@ -366,6 +374,12 @@ tput_cmd(int fd, TTY * settings, int argc, char **argv, int *used)
argv[0]);
}
*used += provided;
} else {
if (opt_v) {
fprintf(stderr, "%s: missing parameters for \"%s\"\n",
_nc_progname,
argv[0]);
}
}
/* use putp() in order to perform padding */

View File

@ -4,12 +4,12 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
-------------------------------------------------------------------------------
Files: *
Copyright: 2017-2023,2024 Thomas E. Dickey
Copyright: 2017-2024,2025 Thomas E. Dickey
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
License: X11
Files: aclocal.m4 package
Copyright: 2003-2023,2024 by Thomas E. Dickey
Copyright: 2003-2024,2025 by Thomas E. Dickey
License: X11
Permission is hereby granted, free of charge, to any person obtaining a

View File

@ -4,12 +4,12 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
-------------------------------------------------------------------------------
Files: *
Copyright: 2017-2023,2024 Thomas E. Dickey
Copyright: 2017-2024,2025 Thomas E. Dickey
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
License: X11
Files: aclocal.m4 package
Copyright: 2003-2023,2024 by Thomas E. Dickey
Copyright: 2003-2024,2025 by Thomas E. Dickey
License: X11
Permission is hereby granted, free of charge, to any person obtaining a

View File

@ -4,12 +4,12 @@ Current ncurses maintainer: Thomas Dickey <dickey@invisible-island.net>
-------------------------------------------------------------------------------
Files: *
Copyright: 2017-2023,2024 Thomas E. Dickey
Copyright: 2017-2024,2025 Thomas E. Dickey
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
License: X11
Files: aclocal.m4 package
Copyright: 2003-2023,2024 by Thomas E. Dickey
Copyright: 2003-2024,2025 by Thomas E. Dickey
License: X11
Permission is hereby granted, free of charge, to any person obtaining a