Compare commits

...

4 Commits
v6_6 ... master

Author SHA1 Message Date
Thomas E. Dickey
607c49f34c
snapshot of project "ncurses", label v6_6_20260124 2026-01-25 02:08:31 +00:00
Thomas E. Dickey
f061503fbd
snapshot of project "ncurses", label v6_6_20260117 2026-01-18 01:37:19 +00:00
Thomas E. Dickey
3c3541a3f5
snapshot of project "ncurses", label v6_6_20260103 2026-01-04 01:56:39 +00:00
Thomas E. Dickey
da68e51760
snapshot of project "ncurses", label v6_6_20251231 2025-12-31 18:49:24 +00:00
53 changed files with 1252 additions and 803 deletions

40
Ada95/aclocal.m4 vendored
View File

@ -1,5 +1,5 @@
dnl***************************************************************************
dnl Copyright 2018-2024,2025 Thomas E. Dickey *
dnl Copyright 2018-2025,2026 Thomas E. Dickey *
dnl Copyright 2010-2017,2018 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
@ -29,7 +29,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey
dnl
dnl $Id: aclocal.m4,v 1.241 2025/12/25 23:45:32 tom Exp $
dnl $Id: aclocal.m4,v 1.243 2026/01/18 16:36:44 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 @@ fi
AC_SUBST(ARFLAGS)
])
dnl ---------------------------------------------------------------------------
dnl CF_BUILD_CC version: 14 updated: 2024/12/14 11:58:01
dnl CF_BUILD_CC version: 15 updated: 2026/01/18 11:36:44
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
@ -552,12 +552,12 @@ if test "$cross_compiling" = yes ; then
test "$cf_build_cppflags" = "#" && cf_build_cppflags=
ac_link='$BUILD_CC -o "conftest$ac_exeext" $BUILD_CFLAGS $cf_build_cppflags $BUILD_LDFLAGS "conftest.$ac_ext" $BUILD_LIBS >&AS_MESSAGE_LOG_FD'
AC_TRY_RUN([#include <stdio.h>
int main(int argc, char *argv[])
AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdio.h>
int main(int argc, char *argv[[]])
{
${cf_cv_main_return:-return}(argc < 0 || argv == (void*)0 || argv[0] == (void*)0);
${cf_cv_main_return:-return}(argc < 0 || argv == (void*)0 || argv[[0]] == (void*)0);
}
],
])],
cf_ok_build_cc=yes,
cf_ok_build_cc=no,
cf_ok_build_cc=unknown)
@ -2793,7 +2793,7 @@ AC_DEFUN([CF_LIB_TYPE],
test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_LINK_DATAONLY version: 17 updated: 2025/12/24 12:27:29
dnl CF_LINK_DATAONLY version: 18 updated: 2026/01/24 14:15:07
dnl ----------------
dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
dnl only data (i.e., no functions), for example NeXT. On those systems we'll
@ -2839,13 +2839,13 @@ EOF
( eval $RANLIB conftest.a ) 2>&AS_MESSAGE_LOG_FD >/dev/null
cf_saveLIBS="$LIBS"
LIBS="conftest.a $LIBS"
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
extern int testfunc(void);
int main(void)
{
${cf_cv_main_return:-return} (!testfunc());
}
],
])],
[cf_cv_link_dataonly=yes],
[cf_cv_link_dataonly=no],
[cf_cv_link_dataonly=unknown])
@ -2861,7 +2861,7 @@ AC_SUBST(BROKEN_LINKER)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_MAKE_PHONY version: 4 updated: 2025/12/24 12:27:29
dnl CF_MAKE_PHONY version: 5 updated: 2025/12/27 13:03:23
dnl -------------
dnl Check if the make-program handles a ".PHONY" target, e.g,. a target which
dnl acts as a placeholder.
@ -2887,7 +2887,7 @@ dnl
dnl + Version 3.8 of the dmake program in January 1992 also implemented this
dnl GNU make extension, but is less well known than the BSD make.
AC_DEFUN([CF_MAKE_PHONY],[
AC_CACHE_CHECK(for \".PHONY\" make-support, cf_cv_make_PHONY,[
AC_CACHE_CHECK(for ".PHONY" make-support, cf_cv_make_PHONY,[
rm -rf conftest*
(
mkdir conftest || exit 1
@ -3208,7 +3208,7 @@ printf("old\\n");
,[$1=no])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_NCURSES_CONFIG version: 30 updated: 2025/12/22 04:16:14
dnl CF_NCURSES_CONFIG version: 31 updated: 2026/01/18 10:40:15
dnl -----------------
dnl Tie together the configure-script macros for ncurses, preferring these in
dnl order:
@ -3248,9 +3248,9 @@ if test "x${PKG_CONFIG:=none}" != xnone; then
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <${cf_cv_ncurses_header:-curses.h}>],
[initscr(); mousemask(0,0); tigetstr((char *)0);])],
[AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}>
[AC_RUN_IFELSE([AC_LANG_SOURCE([#include <${cf_cv_ncurses_header:-curses.h}>
int main(void)
{ const char *xx = curses_version(); return (xx == 0); }],
{ const char *xx = curses_version(); return (xx == 0); }])],
[cf_test_ncuconfig=yes],
[cf_test_ncuconfig=no],
[cf_test_ncuconfig=maybe])],
@ -3275,9 +3275,9 @@ if test "x${PKG_CONFIG:=none}" != xnone; then
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <${cf_cv_ncurses_header:-curses.h}>],
[initscr(); mousemask(0,0); tigetstr((char *)0);])],
[AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}>
[AC_RUN_IFELSE([AC_LANG_SOURCE([#include <${cf_cv_ncurses_header:-curses.h}>
int main(void)
{ const char *xx = curses_version(); return (xx == 0); }],
{ const char *xx = curses_version(); return (xx == 0); }])],
[cf_have_ncuconfig=yes],
[cf_have_ncuconfig=no],
[cf_have_ncuconfig=maybe])],
@ -3524,7 +3524,7 @@ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_NCURSES_VERSION version: 19 updated: 2025/12/22 04:16:14
dnl CF_NCURSES_VERSION version: 20 updated: 2026/01/18 10:40:15
dnl ------------------
dnl Check for the version of ncurses, to aid in reporting bugs, etc.
dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
@ -3536,7 +3536,7 @@ AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
cf_cv_ncurses_version=no
cf_tempfile=out$$
rm -f "$cf_tempfile"
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#include <${cf_cv_ncurses_header:-curses.h}>
@ -3558,7 +3558,7 @@ int main(void)
# endif
#endif
${cf_cv_main_return:-return}(0);
}],[
}])],[
cf_cv_ncurses_version=`cat $cf_tempfile`],,[
# This will not work if the preprocessor splits the line after the

14
Ada95/configure vendored
View File

@ -1,9 +1,9 @@
#! /bin/sh
# From configure.in Revision: 1.97 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by Autoconf 2.52.20250126.
# Generated by Autoconf 2.52.20260118.
#
# Copyright 2003-2022,2023 Thomas E. Dickey
# Copyright 2003-2025,2026 Thomas E. Dickey
# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
@ -815,7 +815,7 @@ test -n "$ac_init_help" && exit 0
if "$ac_init_version"; then
cat <<\EOF
Copyright 2003-2022,2023 Thomas E. Dickey
Copyright 2003-2025,2026 Thomas E. Dickey
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@ -829,7 +829,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
generated by GNU Autoconf 2.52.20250126. Invocation command line was
generated by GNU Autoconf 2.52.20260118. Invocation command line was
$ $0 $@
@ -19919,10 +19919,10 @@ EOF
cat >>"$CONFIG_STATUS" <<EOF
ac_cs_version="\\
config.status
configured by $0, generated by GNU Autoconf 2.52.20250126,
configured by $0, generated by GNU Autoconf 2.52.20260118,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
Copyright 2003-2022,2023 Thomas E. Dickey
Copyright 2003-2023,2025 Thomas E. Dickey
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
@ -20002,7 +20002,7 @@ cat >&5 << _ACEOF
## Running config.status. ##
## ----------------------- ##
This file was extended by $as_me 2.52.20250126, executed with
This file was extended by $as_me 2.52.20260118, executed with
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS

View File

@ -4,7 +4,7 @@ Upstream-Contact: Thomas E. Dickey <dickey@invisible-island.net>
Source: https://invisible-island.net/ncurses/Ada95.html
Files: *
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 2017-2025,2026 by Thomas E. Dickey
Copyright: 1998-2016,2017 Free Software Foundation, Inc.
License: X11 License Distribution Modification Variant
Permission is hereby granted, free of charge, to any person obtaining a

View File

@ -1,4 +1,4 @@
Copyright 2018-2024,2025 Thomas E. Dickey
Copyright 2018-2025,2026 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.14 2025/01/04 10:53:46 tom Exp $
-- $Id: COPYING,v 1.15 2026/01/04 00:58:57 tom Exp $

51
NEWS
View File

@ -1,5 +1,5 @@
-------------------------------------------------------------------------------
-- Copyright 2018-2024,2025 Thomas E. Dickey --
-- Copyright 2018-2025,2026 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.4390 2025/12/30 20:31:07 tom Exp $
-- $Id: NEWS,v 1.4414 2026/01/25 01:28:03 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -46,6 +46,53 @@ 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.
20260124
+ add xterm+indirect16, vt100+keypad+emul, putty-direct,
putty-direct16, wezterm-direct, wezterm-direct16
(patch by Jakub Horky)
+ add Smol/Rmol to ms-terminal, konsole, iTerm2 (report by Jared
Finder)
+ add ecma+overline -TD
+ update configure macros
20260117
+ add "alt_" to special key-prefix check for "djgpp" terminfo
+ provide a generated list of user-defined special keys (adapted from
patch by Jakub Horky) -TD
+ rename vt100+keypad, etc., to vt100+keypad+sco, etc., to keep
historical blocks while providing for renaming of vt220+keypad as
vt100+keypad (prompted by patch by Jakub Horky) -TD
+ use vt100+keypad instead of vt220+keypad (patch by Jakub Horky)
+ use vt100+keypad in putty+keypad, replacing kpXX extension -TD
+ remove vt100+fnkeys-sco from putty -TD
+ fix link_test.c for configuration without extended colors by
adjusting ifdefs and improving MKlib_gen.sh by checking for #if
statements with only a 0 or 1 parameter.
+ fixes for "make check" (report by Brian Inglis):
+ adjust definition of USE_TRACEF
+ modify ncurses/wcwidth.h
+ modify makefile to add dependencies needed in shared library
+ modify makefile to work with libtool
+ separate ncurses/tty/lib_mvcur.c test-driver from routine checks
+ add a paragraph to user_caps.5 to mention extended capabilities which
are not documented as part of ncurses.
+ use symbol DEFAULT_TERM_VAR for several cases where getenv("TERM")
returns null pointer.
+ modify test/demo_new_pair.c to fix build with SmartOS (report by
Thomas Klausner).
20260103
+ cancel ncv in putty (patch by Jakub Horky)
+ add NQ to list of user-definable capabilities in user_caps(5) (patch
by Jakub Horky)
+ update ncurses/wcwidth.c, for MinGW ports, from xterm.
20251231
+ amend fix for Windows-style pathnames to eliminate "./" in comment
generated by infocmp where not needed (report by Sven Joachim).
+ fix a few gcc 15.2 warnings for C23
+ actually generate doc/html/announce.html (report by Branden Robinson)
20251230 6.6 release for upload to ftp.gnu.org
+ update announcement
+ corrected an ifdef needed for mouse support in MinGW/Windows

View File

@ -1 +1 @@
5:0:10 6.6 20251230
5:0:10 6.6 20260124

152
aclocal.m4 vendored
View File

@ -1,5 +1,5 @@
dnl***************************************************************************
dnl Copyright 2018-2024,2025 Thomas E. Dickey *
dnl Copyright 2018-2025,2026 Thomas E. Dickey *
dnl Copyright 1998-2017,2018 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
@ -29,7 +29,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: aclocal.m4,v 1.1148 2025/12/25 23:44:16 tom Exp $
dnl $Id: aclocal.m4,v 1.1151 2026/01/24 19:16:57 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
@ -620,7 +620,7 @@ $ac_includes_default
[ifelse($1,,cf_cv_builtin_bool,[$1])=no])])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_BOOL_SIZE version: 22 updated: 2025/02/22 20:49:45
dnl CF_BOOL_SIZE version: 23 updated: 2026/01/24 14:15:07
dnl ------------
dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
dnl Don't bother looking for bool.h, since it has been deprecated.
@ -654,7 +654,7 @@ $ac_includes_default
AC_CACHE_CHECK(for type of bool, cf_cv_type_of_bool,[
rm -f cf_test.out
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#if defined(__cplusplus)
@ -690,7 +690,7 @@ int main(void)
}
${cf_cv_main_return:-return}(0);
}
],
])],
[cf_cv_type_of_bool=`cat cf_test.out`
if test -z "$cf_cv_type_of_bool"; then
cf_cv_type_of_bool=unknown
@ -717,7 +717,7 @@ if test "$cf_cv_type_of_bool" = unknown ; then
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_BUILD_CC version: 14 updated: 2024/12/14 11:58:01
dnl CF_BUILD_CC version: 15 updated: 2026/01/18 11:36:44
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
@ -792,12 +792,12 @@ if test "$cross_compiling" = yes ; then
test "$cf_build_cppflags" = "#" && cf_build_cppflags=
ac_link='$BUILD_CC -o "conftest$ac_exeext" $BUILD_CFLAGS $cf_build_cppflags $BUILD_LDFLAGS "conftest.$ac_ext" $BUILD_LIBS >&AS_MESSAGE_LOG_FD'
AC_TRY_RUN([#include <stdio.h>
int main(int argc, char *argv[])
AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdio.h>
int main(int argc, char *argv[[]])
{
${cf_cv_main_return:-return}(argc < 0 || argv == (void*)0 || argv[0] == (void*)0);
${cf_cv_main_return:-return}(argc < 0 || argv == (void*)0 || argv[[0]] == (void*)0);
}
],
])],
cf_ok_build_cc=yes,
cf_ok_build_cc=no,
cf_ok_build_cc=unknown)
@ -1193,7 +1193,7 @@ __attribute__ ((visibility("default"))) int somefunc() {return 42;}
])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CHECK_GETENV version: 5 updated: 2024/12/14 16:09:34
dnl CF_CHECK_GETENV version: 6 updated: 2026/01/24 14:15:07
dnl ---------------
dnl Check if repeated getenv calls return the same pointer, e.g., it does not
dnl discard the previous pointer when returning a new one.
@ -1203,7 +1203,7 @@ AC_REQUIRE([CF_CHECK_ENVIRON])
AC_CHECK_FUNC( getenv, ,, AC_MSG_ERROR(getenv not found) )
AC_CHECK_FUNCS( putenv setenv strdup )
AC_CACHE_CHECK(if getenv returns consistent values,cf_cv_consistent_getenv,[
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#if defined(HAVE_ENVIRON) && defined(DECL_ENVIRON) && !defined(environ)
@ -1221,7 +1221,7 @@ static void set_value(const char *name, const char *value)
#if defined(HAVE_SETENV)
setenv(name, value, 1);
#elif defined(HAVE_PUTENV)
char buffer[1024];
char buffer[[1024]];
sprintf(buffer, "%s=%s", name, value);
putenv(str_alloc(buffer));
#else
@ -1236,26 +1236,26 @@ int main(void)
char **myvalues;
char **mypointer;
char *equals;
for (numenv = 0; environ[numenv]; ++numenv) ;
for (numenv = 0; environ[[numenv]]; ++numenv) ;
limit = numenv + 10;
mynames = (char **) calloc(limit + 1, sizeof(char *));
myvalues = (char **) calloc(limit + 1, sizeof(char *));
mypointer = (char **) calloc(limit + 1, sizeof(char *));
#if defined(HAVE_ENVIRON)
for (j = 0; environ[j]; ++j) {
mynames[j] = str_alloc(environ[j]);
equals = strchr(mynames[j], '=');
for (j = 0; environ[[j]]; ++j) {
mynames[[j]] = str_alloc(environ[[j]]);
equals = strchr(mynames[[j]], '=');
if (equals != NULL) {
*equals++ = '\\0';
myvalues[j] = str_alloc(equals);
myvalues[[j]] = str_alloc(equals);
} else {
myvalues[j] = str_alloc("");
myvalues[[j]] = str_alloc("");
}
}
#endif
for (j = numenv; j < limit; ++j) {
char name[80];
char value[80];
char name[[80]];
char value[[80]];
size_t found;
size_t k = 0;
do {
@ -1263,38 +1263,38 @@ int main(void)
found = 0;
sprintf(name, "TERM%lu", (unsigned long) k);
for (jk = 0; jk < j; ++jk) {
if (!strcmp(name, mynames[jk])) {
if (!strcmp(name, mynames[[jk]])) {
found = 1;
++k;
break;
}
}
} while (found);
sprintf(value, "%lu:%p", (unsigned long) k, (void*)&mynames[j]);
sprintf(value, "%lu:%p", (unsigned long) k, (void*)&mynames[[j]]);
set_value(name, value);
mynames[j] = str_alloc(name);
myvalues[j] = str_alloc(value);
mynames[[j]] = str_alloc(name);
myvalues[[j]] = str_alloc(value);
}
for (pass = 0; pass < 3; ++pass) {
for (j = 0; j < limit; ++j) {
char *value = getenv(mynames[j]);
char *value = getenv(mynames[[j]]);
if (pass) {
if (value == 0) {
fprintf(stderr, "getenv returned null for %s\\n", mynames[j]);
fprintf(stderr, "getenv returned null for %s\\n", mynames[[j]]);
${cf_cv_main_return:-return}(1);
} else if (value != mypointer[j]) {
fprintf(stderr, "getenv returned different pointer for %s\\n", mynames[j]);
} else if (value != mypointer[[j]]) {
fprintf(stderr, "getenv returned different pointer for %s\\n", mynames[[j]]);
${cf_cv_main_return:-return}(1);
} else if (strcmp(value, myvalues[j])) {
fprintf(stderr, "getenv returned different value for %s\\n", mynames[j]);
} else if (strcmp(value, myvalues[[j]])) {
fprintf(stderr, "getenv returned different value for %s\\n", mynames[[j]]);
${cf_cv_main_return:-return}(1);
}
} else {
size_t k;
mypointer[j] = value;
mypointer[[j]] = value;
for (k = 0; k < j; ++k) {
if (mypointer[j] == mypointer[k]) {
fprintf(stderr, "getenv returned same pointer for %s and %s\\n", mynames[j], mynames[k]);
if (mypointer[[j]] == mypointer[[k]]) {
fprintf(stderr, "getenv returned same pointer for %s and %s\\n", mynames[[j]], mynames[[k]]);
${cf_cv_main_return:-return}(1);
}
}
@ -1303,7 +1303,7 @@ int main(void)
}
${cf_cv_main_return:-return}(0);
}
],
])],
[cf_cv_consistent_getenv=yes],
[cf_cv_consistent_getenv=no],
[cf_cv_consistent_getenv=unknown])
@ -1568,7 +1568,7 @@ then
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CHECK_WCWIDTH_GRAPHICS version: 5 updated: 2024/12/14 16:09:34
dnl CF_CHECK_WCWIDTH_GRAPHICS version: 6 updated: 2026/01/24 14:15:07
dnl -------------------------
dnl Most "modern" terminal emulators are based to some degree on VT100, and
dnl should support line-drawing. Even with Unicode. There is a problem.
@ -1665,7 +1665,7 @@ cat >conftest.in <<CF_EOF
0x2551 vertical line
0x256c large plus or crossover
CF_EOF
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#include <locale.h>
@ -1678,8 +1678,8 @@ main(void)
{
FILE *fp;
unsigned value;
char buffer[MY_LEN + 1];
char notes[MY_LEN + 1];
char buffer[[MY_LEN + 1]];
char notes[[MY_LEN + 1]];
int totals = 0;
int passed = 0;
@ -1705,7 +1705,7 @@ main(void)
fprintf(stderr, "%d/%d passed wcwidth/graphics check\\n", passed, totals);
return (totals == passed) ? 0 : 1;
}
],
])],
[cf_cv_wcwidth_graphics=yes],
[cf_cv_wcwidth_graphics=no],
[cf_cv_wcwidth_graphics=unknown])
@ -1841,7 +1841,7 @@ esac
])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CPP_OVERRIDE version: 2 updated: 2024/11/09 18:07:29
dnl CF_CPP_OVERRIDE version: 3 updated: 2026/01/24 14:15:07
dnl ---------------
dnl Check if the C++ compiler accepts the override keyword. This is a C++-11
dnl feature.
@ -1851,7 +1851,7 @@ if test -n "$CXX"; then
AC_CACHE_CHECK(if $CXX accepts override keyword,cf_cv_cpp_override,[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
class base
{
@ -1867,7 +1867,7 @@ public:
};
int main(void) { }
],
])],
[cf_cv_cpp_override=yes],
[cf_cv_cpp_override=no],
[cf_cv_cpp_override=unknown])
@ -1877,7 +1877,7 @@ fi
test "$cf_cv_cpp_override" = yes && AC_DEFINE(CPP_HAS_OVERRIDE,1,[Define to 1 if C++ has override keyword])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CPP_PARAM_INIT version: 7 updated: 2017/01/21 11:06:25
dnl CF_CPP_PARAM_INIT version: 8 updated: 2026/01/24 14:15:07
dnl -----------------
dnl Check if the C++ compiler accepts duplicate parameter initialization. This
dnl is a late feature for the standard and is not in some recent compilers
@ -1888,7 +1888,7 @@ if test -n "$CXX"; then
AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
class TEST {
private:
int value;
@ -1902,7 +1902,7 @@ TEST::TEST(int x = 1) // some compilers do not like second initializer
value = x;
}
int main(void) { }
],
])],
[cf_cv_cpp_param_init=yes],
[cf_cv_cpp_param_init=no],
[cf_cv_cpp_param_init=unknown])
@ -2627,14 +2627,14 @@ fi
AC_SUBST(EXTRA_CFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_FOPEN_BIN_R version: 4 updated: 2024/12/14 16:09:34
dnl CF_FOPEN_BIN_R version: 5 updated: 2026/01/24 14:15:07
dnl --------------
dnl Check if fopen works when the "b" (binary) flag is added to the mode
dnl parameter. POSIX ignores the "b", which c89 specified. Some very old
dnl systems do not accept it.
AC_DEFUN([CF_FOPEN_BIN_R],[
AC_CACHE_CHECK(if fopen accepts explicit binary mode,cf_cv_fopen_bin_r,[
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
int main(void)
@ -2664,7 +2664,7 @@ int main(void)
}
${cf_cv_main_return:-return} (rc);
}
],
])],
[cf_cv_fopen_bin_r=yes],
[cf_cv_fopen_bin_r=no],
[cf_cv_fopen_bin_r=unknown])
@ -2763,7 +2763,7 @@ AC_CHECK_LIB(bsd, gettimeofday,
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_FUNC_GETTTYNAM version: 5 updated: 2025/12/24 12:27:29
dnl CF_FUNC_GETTTYNAM version: 6 updated: 2026/01/24 14:15:07
dnl -----------------
dnl Check if the 4.3BSD function getttyname exists, as well as if <ttyent.h>
dnl defines the _PATH_TTYS symbol. If the corresponding file exists, but the
@ -2793,14 +2793,14 @@ fi
if test $cf_cv_PATH_TTYS != no
then
AC_CACHE_CHECK(if _PATH_TTYS file exists,cf_cv_have_PATH_TTYS,[
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#include <ttyent.h>
int main(void) {
FILE *fp = fopen(_PATH_TTYS, "r");
${cf_cv_main_return:-return} (fp == NULL);
}],
}])],
[cf_cv_have_PATH_TTYS=yes],
[cf_cv_have_PATH_TTYS=no],
[cf_cv_have_PATH_TTYS=unknown])])
@ -2819,7 +2819,7 @@ then
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_FUNC_MEMMOVE version: 10 updated: 2023/01/05 18:51:28
dnl CF_FUNC_MEMMOVE version: 11 updated: 2026/01/24 14:15:07
dnl ---------------
dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
dnl is found, add our own version of memmove to the list of objects.
@ -2828,18 +2828,18 @@ AC_DEFUN([CF_FUNC_MEMMOVE],
AC_CHECK_FUNC(memmove,,[
AC_CHECK_FUNC(bcopy,[
AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
int main(void) {
static char data[] = "abcdefghijklmnopqrstuwwxyz";
char temp[40];
static char data[[]] = "abcdefghijklmnopqrstuwwxyz";
char temp[[40]];
bcopy(data, temp, sizeof(data));
bcopy(temp+10, temp, 15);
bcopy(temp+5, temp+15, 10);
${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
}
],
])],
[cf_cv_good_bcopy=yes],
[cf_cv_good_bcopy=no],
[cf_cv_good_bcopy=unknown])
@ -2852,13 +2852,13 @@ int main(void) {
fi
])])dnl
dnl ---------------------------------------------------------------------------
dnl CF_FUNC_NANOSLEEP version: 6 updated: 2023/01/05 18:51:33
dnl CF_FUNC_NANOSLEEP version: 7 updated: 2026/01/24 14:15:07
dnl -----------------
dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
dnl AIX 4.x, provide a non-working version.
AC_DEFUN([CF_FUNC_NANOSLEEP],[
AC_CACHE_CHECK(if nanosleep really works,cf_cv_func_nanosleep,[
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#include <errno.h>
@ -2879,7 +2879,7 @@ int main(void) {
code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */
${cf_cv_main_return:-return}(code != 0);
}
],
])],
[cf_cv_func_nanosleep=yes],
[cf_cv_func_nanosleep=no],
[cf_cv_func_nanosleep=unknown])])
@ -2916,14 +2916,14 @@ AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_FUNC_POLL version: 11 updated: 2023/01/05 18:51:40
dnl CF_FUNC_POLL version: 12 updated: 2026/01/24 14:15:07
dnl ------------
dnl See if the poll function really works. Some platforms have poll(), but
dnl it does not work for terminals or files.
AC_DEFUN([CF_FUNC_POLL],[
tty >/dev/null 2>&1 || { AC_CHECK_FUNCS(posix_openpt) }
AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#include <fcntl.h>
@ -2971,7 +2971,7 @@ int main(void) {
}
}
${cf_cv_main_return:-return}(ret < 0);
}],
}])],
[cf_cv_working_poll=yes],
[cf_cv_working_poll=no],
[cf_cv_working_poll=unknown])])
@ -5564,7 +5564,7 @@ AC_DEFUN([CF_LIB_TYPE],
test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_LINK_DATAONLY version: 17 updated: 2025/12/24 12:27:29
dnl CF_LINK_DATAONLY version: 18 updated: 2026/01/24 14:15:07
dnl ----------------
dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
dnl only data (i.e., no functions), for example NeXT. On those systems we'll
@ -5610,13 +5610,13 @@ EOF
( eval $RANLIB conftest.a ) 2>&AS_MESSAGE_LOG_FD >/dev/null
cf_saveLIBS="$LIBS"
LIBS="conftest.a $LIBS"
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
extern int testfunc(void);
int main(void)
{
${cf_cv_main_return:-return} (!testfunc());
}
],
])],
[cf_cv_link_dataonly=yes],
[cf_cv_link_dataonly=no],
[cf_cv_link_dataonly=unknown])
@ -5632,7 +5632,7 @@ AC_SUBST(BROKEN_LINKER)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_LINK_FUNCS version: 14 updated: 2024/12/14 16:09:34
dnl CF_LINK_FUNCS version: 15 updated: 2026/01/24 14:15:07
dnl -------------
dnl Most Unix systems have both link and symlink, a few don't have symlink.
dnl A few non-Unix systems implement symlink, but not link.
@ -5657,14 +5657,14 @@ else
AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
cf_cv_link_funcs=
for cf_func in link symlink ; do
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
int main(void)
{
int fail = 0;
char src[] = "conftest.tmp";
char dst[] = "conftest.chk";
char src[[]] = "conftest.tmp";
char dst[[]] = "conftest.chk";
struct stat src_sb, dst_sb;
FILE *fp = fopen(src, "w");
if (fp == NULL) { fail = 3; } else {
@ -5686,7 +5686,7 @@ int main(void)
#endif
${cf_cv_main_return:-return} (fail);
}
],[
])],[
cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
eval 'ac_cv_func_'$cf_func'=yes'],[
eval 'ac_cv_func_'$cf_func'=no'],[
@ -5699,7 +5699,7 @@ int main(void)
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_MAKE_PHONY version: 4 updated: 2025/12/24 12:27:29
dnl CF_MAKE_PHONY version: 5 updated: 2025/12/27 13:03:23
dnl -------------
dnl Check if the make-program handles a ".PHONY" target, e.g,. a target which
dnl acts as a placeholder.
@ -5725,7 +5725,7 @@ dnl
dnl + Version 3.8 of the dmake program in January 1992 also implemented this
dnl GNU make extension, but is less well known than the BSD make.
AC_DEFUN([CF_MAKE_PHONY],[
AC_CACHE_CHECK(for \".PHONY\" make-support, cf_cv_make_PHONY,[
AC_CACHE_CHECK(for ".PHONY" make-support, cf_cv_make_PHONY,[
rm -rf conftest*
(
mkdir conftest || exit 1
@ -8773,7 +8773,7 @@ if test "$cf_cv_xopen_source" != no ; then
fi
])
dnl ---------------------------------------------------------------------------
dnl CF_TYPEOF_CHTYPE version: 12 updated: 2024/12/14 16:09:34
dnl CF_TYPEOF_CHTYPE version: 13 updated: 2026/01/24 14:15:07
dnl ----------------
dnl Determine the type we should use for chtype (and attr_t, which is treated
dnl as the same thing). We want around 32 bits, so on most machines want a
@ -8783,7 +8783,7 @@ AC_DEFUN([CF_TYPEOF_CHTYPE],
[
AC_MSG_CHECKING([for type of chtype])
AC_CACHE_VAL(cf_cv_typeof_chtype,[
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#define WANT_BITS 31
int main(void)
@ -8813,7 +8813,7 @@ int main(void)
}
${cf_cv_main_return:-return}(0);
}
],
])],
[cf_cv_typeof_chtype=`cat cf_test.out`],
[cf_cv_typeof_chtype=long],
[cf_cv_typeof_chtype=long])

63
configure vendored
View File

@ -1,9 +1,9 @@
#! /bin/sh
# From configure.in Revision: 1.824 .
# From configure.in Revision: 1.826 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by Autoconf 2.52.20250126.
# Generated by Autoconf 2.52.20260118.
#
# Copyright 2003-2022,2023 Thomas E. Dickey
# Copyright 2003-2025,2026 Thomas E. Dickey
# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
@ -942,7 +942,7 @@ test -n "$ac_init_help" && exit 0
if "$ac_init_version"; then
cat <<\EOF
Copyright 2003-2022,2023 Thomas E. Dickey
Copyright 2003-2025,2026 Thomas E. Dickey
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@ -956,7 +956,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
generated by GNU Autoconf 2.52.20250126. Invocation command line was
generated by GNU Autoconf 2.52.20260118. Invocation command line was
$ $0 $@
@ -29955,9 +29955,17 @@ else
CHECK_BUILD=
fi
# provide for commenting-out makefile rules building/using shared libraries
if test "$DFT_LWR_MODEL" = normal
then
NO_SHARED=
else
NO_SHARED="#"
fi
# This is used for the *-config script and *.pc data files.
echo "$as_me:29960: checking for linker search path" >&5
echo "$as_me:29968: checking for linker search path" >&5
echo $ECHO_N "checking for linker search path... $ECHO_C" >&6
if test "${cf_cv_ld_searchpath+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@ -30005,7 +30013,7 @@ then
cf_pathlist="$cf_pathlist /lib /usr/lib"
;;
(*)
{ echo "$as_me:30008: WARNING: problem with Solaris architecture" >&5
{ echo "$as_me:30016: WARNING: problem with Solaris architecture" >&5
echo "$as_me: WARNING: problem with Solaris architecture" >&2;}
;;
esac
@ -30046,7 +30054,7 @@ done
test -z "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath=/usr/lib
fi
echo "$as_me:30049: result: $cf_cv_ld_searchpath" >&5
echo "$as_me:30057: result: $cf_cv_ld_searchpath" >&5
echo "${ECHO_T}$cf_cv_ld_searchpath" >&6
LD_SEARCHPATH=`echo "$cf_cv_ld_searchpath"|sed -e 's/ /|/g'`
@ -30136,7 +30144,7 @@ DEFS=-DHAVE_CONFIG_H
: "${CONFIG_STATUS=./config.status}"
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ echo "$as_me:30139: creating $CONFIG_STATUS" >&5
{ echo "$as_me:30147: creating $CONFIG_STATUS" >&5
echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >"$CONFIG_STATUS" <<_ACEOF
#! $SHELL
@ -30272,10 +30280,10 @@ EOF
cat >>"$CONFIG_STATUS" <<EOF
ac_cs_version="\\
config.status
configured by $0, generated by GNU Autoconf 2.52.20250126,
configured by $0, generated by GNU Autoconf 2.52.20260118,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
Copyright 2003-2022,2023 Thomas E. Dickey
Copyright 2003-2023,2025 Thomas E. Dickey
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
@ -30317,7 +30325,7 @@ cat >>"$CONFIG_STATUS" <<\EOF
echo "$ac_cs_version"; exit 0 ;;
--he | --h)
# Conflict between --help and --header
{ { echo "$as_me:30320: error: ambiguous option: $1
{ { echo "$as_me:30328: error: ambiguous option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2;}
@ -30336,7 +30344,7 @@ Try \`$0 --help' for more information." >&2;}
ac_need_defaults=false;;
# This is an error.
-*) { { echo "$as_me:30339: error: unrecognized option: $1
-*) { { echo "$as_me:30347: error: unrecognized option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2;}
@ -30355,7 +30363,7 @@ cat >&5 << _ACEOF
## Running config.status. ##
## ----------------------- ##
This file was extended by $as_me 2.52.20250126, executed with
This file was extended by $as_me 2.52.20260118, executed with
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS
@ -30470,7 +30478,7 @@ do
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
"include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
*) { { echo "$as_me:30473: error: invalid argument: $ac_config_target" >&5
*) { { echo "$as_me:30481: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
@ -30870,6 +30878,7 @@ s,@UNALTERED_SYMS@,$UNALTERED_SYMS,;t t
s,@ADAGEN_LDFLAGS@,$ADAGEN_LDFLAGS,;t t
s,@CHECK_BUILD@,$CHECK_BUILD,;t t
s,@PRIVATE_LIBS@,$PRIVATE_LIBS,;t t
s,@NO_SHARED@,$NO_SHARED,;t t
s,@LD_SEARCHPATH@,$LD_SEARCHPATH,;t t
CEOF
@ -31003,7 +31012,7 @@ done; }
esac
if test x"$ac_file" != x-; then
{ echo "$as_me:31006: creating $ac_file" >&5
{ echo "$as_me:31015: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
rm -f "$ac_file"
fi
@ -31021,7 +31030,7 @@ echo "$as_me: creating $ac_file" >&6;}
-) echo "$tmp"/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
test -f "$f" || { { echo "$as_me:31024: error: cannot find input file: $f" >&5
test -f "$f" || { { echo "$as_me:31033: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo "$f";;
@ -31034,7 +31043,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
echo "$srcdir/$f"
else
# /dev/null tree
{ { echo "$as_me:31037: error: cannot find input file: $f" >&5
{ { echo "$as_me:31046: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
@ -31050,7 +31059,7 @@ cat >>"$CONFIG_STATUS" <<\EOF
if test -n "$ac_seen"; then
ac_used=`grep '@datarootdir@' "$ac_item"`
if test -z "$ac_used"; then
{ echo "$as_me:31053: WARNING: datarootdir was used implicitly but not set:
{ echo "$as_me:31062: WARNING: datarootdir was used implicitly but not set:
$ac_seen" >&5
echo "$as_me: WARNING: datarootdir was used implicitly but not set:
$ac_seen" >&2;}
@ -31059,7 +31068,7 @@ $ac_seen" >&2;}
fi
ac_seen=`grep '${datarootdir}' "$ac_item"`
if test -n "$ac_seen"; then
{ echo "$as_me:31062: WARNING: datarootdir was used explicitly but not set:
{ echo "$as_me:31071: WARNING: datarootdir was used explicitly but not set:
$ac_seen" >&5
echo "$as_me: WARNING: datarootdir was used explicitly but not set:
$ac_seen" >&2;}
@ -31104,7 +31113,7 @@ cat >>"$CONFIG_STATUS" <<\EOF
ac_init=`$EGREP '[ ]*'$ac_name'[ ]*=' "$ac_file"`
if test -z "$ac_init"; then
ac_seen=`echo "$ac_seen" |sed -e 's,^,'"$ac_file"':,'`
{ echo "$as_me:31107: WARNING: Variable $ac_name is used but was not set:
{ echo "$as_me:31116: WARNING: Variable $ac_name is used but was not set:
$ac_seen" >&5
echo "$as_me: WARNING: Variable $ac_name is used but was not set:
$ac_seen" >&2;}
@ -31115,7 +31124,7 @@ $ac_seen" >&2;}
$EGREP -n '@[A-Z_][A-Z_0-9]+@' "$ac_file" >>"$tmp"/out
if test -s "$tmp"/out; then
ac_seen=`sed -e 's,^,'"$ac_file"':,' < "$tmp"/out`
{ echo "$as_me:31118: WARNING: Some variables may not be substituted:
{ echo "$as_me:31127: WARNING: Some variables may not be substituted:
$ac_seen" >&5
echo "$as_me: WARNING: Some variables may not be substituted:
$ac_seen" >&2;}
@ -31164,7 +31173,7 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
* ) ac_file_in=$ac_file.in ;;
esac
test x"$ac_file" != x- && { echo "$as_me:31167: creating $ac_file" >&5
test x"$ac_file" != x- && { echo "$as_me:31176: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
# First look for the input files in the build tree, otherwise in the
@ -31175,7 +31184,7 @@ echo "$as_me: creating $ac_file" >&6;}
-) echo "$tmp"/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
test -f "$f" || { { echo "$as_me:31178: error: cannot find input file: $f" >&5
test -f "$f" || { { echo "$as_me:31187: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
@ -31188,7 +31197,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
echo "$srcdir/$f"
else
# /dev/null tree
{ { echo "$as_me:31191: error: cannot find input file: $f" >&5
{ { echo "$as_me:31200: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
@ -31246,7 +31255,7 @@ cat >>"$CONFIG_STATUS" <<\EOF
rm -f "$tmp"/in
if test x"$ac_file" != x-; then
if cmp -s "$ac_file" "$tmp/config.h" 2>/dev/null; then
{ echo "$as_me:31249: $ac_file is unchanged" >&5
{ echo "$as_me:31258: $ac_file is unchanged" >&5
echo "$as_me: $ac_file is unchanged" >&6;}
else
ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
@ -31633,7 +31642,7 @@ cf_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQ
(cygdll|msysdll|mingw|msvcdll)
test "x$with_shared_cxx" = xno && test -n "$verbose" && echo " overriding CXX_MODEL to SHARED" 1>&6
echo "${as_me:-configure}:31636: testing overriding CXX_MODEL to SHARED ..." 1>&5
echo "${as_me:-configure}:31645: testing overriding CXX_MODEL to SHARED ..." 1>&5
with_shared_cxx=yes
;;

View File

@ -1,5 +1,5 @@
dnl***************************************************************************
dnl Copyright 2018-2024,2025 Thomas E. Dickey *
dnl Copyright 2018-2025,2026 Thomas E. Dickey *
dnl Copyright 1998-2017,2018 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
@ -29,7 +29,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: configure.in,v 1.824 2025/12/27 00:12:13 tom Exp $
dnl $Id: configure.in,v 1.827 2026/01/24 18:56:52 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.824 $)
AC_REVISION($Revision: 1.827 $)
AC_INIT
AC_CONFIG_SRCDIR([ncurses/base/lib_initscr.c])
AC_CONFIG_HEADERS([include/ncurses_cfg.h:include/ncurses_cfg.hin])
@ -702,16 +702,16 @@ AC_MSG_CHECKING(if big-core option selected)
AC_ARG_ENABLE(big-core,
[ --disable-big-core assume machine has little memory],
[with_big_core=$enableval],
[AC_TRY_RUN([
[AC_RUN_IFELSE([AC_LANG_SOURCE([
#include <stdlib.h>
#include <string.h>
int main(void) {
unsigned long n = 6000000L;
char *s = malloc(n);
if (s != 0)
s[0] = s[n-1] = 0;
s[[0]] = s[[n-1]] = 0;
${cf_cv_main_return:-return}(s == 0);
}],
}])],
[with_big_core=yes],
[with_big_core=no],
[with_big_core=no])])
@ -2560,6 +2560,15 @@ AC_SUBST(ADAGEN_LDFLAGS)
AC_SUBST(CHECK_BUILD)
AC_SUBST(PRIVATE_LIBS)
# provide for commenting-out makefile rules building/using shared libraries
if test "$DFT_LWR_MODEL" = normal
then
NO_SHARED=
else
NO_SHARED="#"
fi
AC_SUBST(NO_SHARED)
# This is used for the *-config script and *.pc data files.
CF_LD_SEARCHPATH

View File

@ -1,5 +1,5 @@
##############################################################################
# Copyright 2018-2024,2025 Thomas E. Dickey #
# Copyright 2018-2025,2026 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.1709 2025/12/30 20:31:32 tom Exp $
# $Id: dist.mk,v 1.1715 2026/01/24 10:50:05 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 = 6
NCURSES_PATCH = 20251230
NCURSES_PATCH = 20260124
# 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 @@
<!--
$Id: announce.html,v 1.71 2025/12/30 20:20:20 tom Exp $
$Id: announce.html,v 1.72 2025/12/31 10:26:40 tom Exp $
****************************************************************************
* Copyright 2018-2024,2025 Thomas E. Dickey *
* *
@ -33,7 +33,7 @@
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.8.0">
<title>Announcing ncurses 6.5</title>
<title>Announcing ncurses 6.6</title>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
@ -56,7 +56,7 @@
</style>
</head>
<body>
<h1 class="no-header">Announcing ncurses 6.5</h1>
<h1 class="no-header">Announcing ncurses 6.6</h1>
<h2><a name="h2-overview" id="h2-overview">Overview</a></h2>
@ -154,7 +154,7 @@
Notes</a></h2>
<p>These notes are for <span class="main-name">ncurses</span>
6.5, released <strong>December 30, 2025</strong>.</p>
6.6, released <strong>December 30, 2025</strong>.</p>
<p>This release is designed to be source-compatible with
<span class="main-name">ncurses</span> 5.0 through 6.5; providing
@ -475,9 +475,9 @@
<h3><a name="h3-programs" id="h3-programs">Program
improvements</a></h3>
<h4><a name="h4-utilities">Utilities</a></h4>
<p>Several improvements were made to the
utility programs.</p>
<h4><a name="h4-utilities" id="h4-utilities">Utilities</a></h4>
<p>Several improvements were made to the utility programs.</p>
<dl>
<dt><span class="part-name"><a href=
@ -1848,8 +1848,9 @@
<li><a href="#h4-config-options">Configuration
options</a></li>
<li><a href="#h4-config-package">Package
scripts</a></li>
configuration scripts</a></li>
</ul>
</li>

View File

@ -59,7 +59,7 @@
displays with output optimized to minimize screen updates. <EM>ncurses</EM>
replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
4.4BSD Unix, the development of which ceased in the 1990s. This
document describes <EM>ncurses</EM> version 6.6 (patch 20251230).
document describes <EM>ncurses</EM> version 6.6 (patch 20260117).
<EM>ncurses</EM> permits control of the terminal screen's contents; abstraction
and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; acquisition of keyboard

View File

@ -72,7 +72,7 @@
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
This document describes <EM>ncurses</EM> version 6.6 (patch 20251230).
This document describes <EM>ncurses</EM> version 6.6 (patch 20260117).
</PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>

View File

@ -1,7 +1,7 @@
<!--
* t
****************************************************************************
* Copyright 2018-2024,2025 Thomas E. Dickey *
* Copyright 2018-2025,2026 Thomas E. Dickey *
* Copyright 2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -28,19 +28,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: user_caps.5,v 1.60 2025/11/12 01:01:01 tom Exp @
* @Id: user_caps.5,v 1.64 2026/01/11 23:54:16 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>user_caps 5 2025-11-11 ncurses 6.6 File formats</TITLE>
<TITLE>user_caps 5 2026-01-11 ncurses 6.6 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">user_caps 5 2025-11-11 ncurses 6.6 File formats</H1>
<H1 class="no-header">user_caps 5 2026-01-11 ncurses 6.6 File formats</H1>
<PRE>
<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File formats <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
@ -317,6 +317,14 @@
%p2%d;
%?%p4%tM%em%;,
Some of these extended capabilities have parameters which <EM>ncurses</EM>
may use in the <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, or <STRONG>tiparm_s</STRONG> functions. The <EM>ncurses</EM>
library checks to ensure that both standard and extended
capabilities have the expected number and type of parameters. The
terminfo compiler <EM>tic</EM> has similar checks for these extensions as
well as for those which are used by other programs, which include
<EM>mintty</EM>, <EM>screen</EM>, <EM>tack</EM>, <EM>tmux</EM>, <EM>vim</EM>, and <EM>xterm</EM>.
</PRE><H3><a name="h3-Extended-Key-Definitions">Extended Key Definitions</a></H3><PRE>
Several terminals provide the ability to send distinct strings for
@ -406,7 +414,7 @@
<EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information on the <STRONG>xterm(1)</STRONG>
features that are used in these extended capabilities.
ncurses 6.6 2025-11-11 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
ncurses 6.6 2026-01-11 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2024,2025 Thomas E. Dickey *
* Copyright 2018-2025,2026 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -33,7 +33,7 @@
* and: Thomas E. Dickey 1996-on *
****************************************************************************/
/* $Id: curses.h.in,v 1.299 2025/08/08 23:19:21 tom Exp $ */
/* $Id: curses.h.in,v 1.300 2026/01/15 00:38:24 tom Exp $ */
#ifndef __NCURSES_H
#define __NCURSES_H
@ -944,18 +944,10 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
#define NCURSES_EXT_FUNCS @NCURSES_PATCH@ /* NCURSES_PATCH */
typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
extern NCURSES_EXPORT(int) alloc_pair (int, int);
extern NCURSES_EXPORT(int) assume_default_colors (int, int);
extern NCURSES_EXPORT(const char *) curses_version (void);
extern NCURSES_EXPORT(int) define_key (const char *, int);
extern NCURSES_EXPORT(int) extended_color_content(int, int *, int *, int *);
extern NCURSES_EXPORT(int) extended_pair_content(int, int *, int *);
extern NCURSES_EXPORT(int) extended_slk_color(int);
extern NCURSES_EXPORT(int) find_pair (int, int);
extern NCURSES_EXPORT(int) free_pair (int);
extern NCURSES_EXPORT(int) get_escdelay (void);
extern NCURSES_EXPORT(int) init_extended_color(int, int, int, int);
extern NCURSES_EXPORT(int) init_extended_pair(int, int, int);
extern NCURSES_EXPORT(int) is_cbreak(void);
extern NCURSES_EXPORT(int) is_echo(void);
extern NCURSES_EXPORT(int) is_nl(void);
@ -965,7 +957,6 @@ extern NCURSES_EXPORT(int) key_defined (const char *);
extern NCURSES_EXPORT(char *) keybound (int, int);
extern NCURSES_EXPORT(int) keyok (int, bool);
extern NCURSES_EXPORT(void) nofilter(void);
extern NCURSES_EXPORT(void) reset_color_pairs (void);
extern NCURSES_EXPORT(int) resize_term (int, int);
extern NCURSES_EXPORT(int) resizeterm (int, int);
extern NCURSES_EXPORT(int) set_escdelay (int);
@ -976,6 +967,18 @@ extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_SCREEN_CB, void *);
extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_WINDOW_CB, void *);
extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
#if @NCURSES_EXT_COLORS@ /* NCURSES_EXT_COLORS */
extern NCURSES_EXPORT(int) alloc_pair (int, int);
extern NCURSES_EXPORT(int) extended_color_content(int, int *, int *, int *);
extern NCURSES_EXPORT(int) extended_pair_content(int, int *, int *);
extern NCURSES_EXPORT(int) extended_slk_color(int);
extern NCURSES_EXPORT(int) find_pair (int, int);
extern NCURSES_EXPORT(int) free_pair (int);
extern NCURSES_EXPORT(int) init_extended_color(int, int, int, int);
extern NCURSES_EXPORT(int) init_extended_pair(int, int, int);
extern NCURSES_EXPORT(void) reset_color_pairs (void);
#endif
#if @NCURSES_XNAMES@ /* NCURSES_XNAMES */
#undef NCURSES_XNAMES
#define NCURSES_XNAMES @NCURSES_XNAMES@ /* NCURSES_XNAMES */
@ -1095,17 +1098,9 @@ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_tioctl) (SCREEN*, bool); /* impl
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
#if @NCURSES_EXT_FUNCS@ /* NCURSES_EXT_FUNCS */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(alloc_pair) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(assume_default_colors) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(define_key) (SCREEN*, const char *, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_color_content) (SCREEN*, int, int *, int *, int *); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_pair_content) (SCREEN*, int, int *, int *); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_slk_color) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(find_pair) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(free_pair) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(get_escdelay) (SCREEN*); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_extended_color) (SCREEN*, int, int, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_extended_pair) (SCREEN*, int, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_cbreak) (SCREEN*); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_echo) (SCREEN*); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_nl) (SCREEN*); /* implemented:EXT_SP_FUNC */
@ -1115,13 +1110,25 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(key_defined) (SCREEN*, const char *);
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(keybound) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(keyok) (SCREEN*, int, bool); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(nofilter) (SCREEN*); /* implemented */ /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(reset_color_pairs) (SCREEN*); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resize_term) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resizeterm) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_escdelay) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_tabsize) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_default_colors) (SCREEN*); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
#if @NCURSES_EXT_COLORS@ /* NCURSES_EXT_COLORS */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(alloc_pair) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_color_content) (SCREEN*, int, int *, int *, int *); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_pair_content) (SCREEN*, int, int *, int *); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_slk_color) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(find_pair) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(free_pair) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_extended_color) (SCREEN*, int, int, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_extended_pair) (SCREEN*, int, int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(reset_color_pairs) (SCREEN*); /* implemented:EXT_SP_FUNC */
#endif /* NCURSES_EXT_COLORS */
#endif /* NCURSES_EXT_FUNCS */
#else /* !NCURSES_SP_FUNCS */
#undef NCURSES_SP_FUNCS

View File

@ -1,6 +1,6 @@
'\" t
.\"***************************************************************************
.\" Copyright 2018-2024,2025 Thomas E. Dickey *
.\" Copyright 2018-2025,2026 Thomas E. Dickey *
.\" Copyright 2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
@ -28,8 +28,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: user_caps.5,v 1.60 2025/11/12 01:01:01 tom Exp $
.TH user_caps 5 2025-11-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.\" $Id: user_caps.5,v 1.64 2026/01/11 23:54:16 tom Exp $
.TH user_caps 5 2026-01-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -545,6 +545,26 @@ mouse protocols.
%?%p4%tM%em%;,
.fi
.EE
.PP
Some of these extended capabilities have parameters which
\fI\%ncurses\fP may use in the
.BR \%tparm ","
.BR \%tiparm ","
or
.B \%tiparm_s
functions.
The \fI\%ncurses\fP library checks to ensure that
both standard and extended capabilities have
the expected number and type of parameters.
The terminfo compiler \fI\%@TIC@\fP has similar checks for these extensions
as well as for those which are used by other programs,
which include
.IR \%mintty ","
.IR \%screen ","
.IR \%tack ","
.IR \%tmux ","
.IR \%vim ", and"
.IR \%xterm "."
.
.SS "Extended Key Definitions"
Several terminals provide the ability to send distinct strings for

View File

@ -6,8 +6,8 @@
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
# $Revision: 1.1200 $
# $Date: 2025/11/12 00:52:57 $
# $Revision: 1.1216 $
# $Date: 2026/01/25 00:46:12 $
#
# The original header is preserved below for reference. It is noted that there
# is a "newer" version which differs in some cosmetic details (but actually
@ -484,6 +484,9 @@ ecma+underline|ECMA-48 underline,
ecma+sgr|attribute capabilities for true ECMA-48 terminals,
use=ecma+underline, use=ecma+standout, use=klone+sgr8,
ecma+overline|ECMA-48 overlined,
Rmol=\E[55m, Smol=\E[53m,
ecma+strikeout|ECMA-48 strikeout/crossed-out,
rmxx=\E[29m, smxx=\E[9m,
@ -2435,15 +2438,15 @@ vt52+arrows|cursor keys for VT52,
# terminfo guidelines. That is a compromise used to assign the remaining
# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
# support:
vt100+keypad|DEC VT100 numeric keypad no fkeys,
vt100+keypad-sco|DEC VT100 numeric keypad no fkeys,
ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn,
vt100+pf1-pf4|DEC VT100 PF1-PF4,
kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
vt100+pfkeys|DEC VT100 numeric keypad (kf1-kf4),
kent=\EOM, use=vt100+pf1-pf4, use=vt100+keypad,
vt100+fnkeys|DEC VT100 numeric keypad (kf0-kf10),
vt100+pfkeys-sco|DEC VT100 numeric keypad (kf1-kf4),
kent=\EOM, use=vt100+pf1-pf4, use=vt100+keypad-sco,
vt100+fnkeys-sco|DEC VT100 numeric keypad (kf0-kf10),
kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl,
kf9=\EOw, use=vt100+pfkeys,
kf9=\EOw, use=vt100+pfkeys-sco,
#
# A better adaptation to modern keyboards such as the PC's, which have a dozen
# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
@ -2455,20 +2458,30 @@ vt100+fnkeys|DEC VT100 numeric keypad (kf0-kf10),
# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
# | 7 8 9 - |
# | $Ow | $Ox | $Oy | $Om |
# |_ka1__K1_|_________|_ka3__K3_|_________|
# |_ka1__K1_|_ka2_____|_ka3__K3_|_________|
# | 4 | 5 | 6 | , |
# | $Ot | $Ou | $Ov | $Ol |
# |_________|_kb2__K2_|_________|_________|
# |_kb1_____|_kb2__K2_|_kb3_____|_________|
# | 1 | 2 | 3 | |
# | $Oq | $Or | $Os | enter |
# |_kc1__K4_|_________|_kc3__K5_| $OM |
# |_kc1__K4_|_kc2_____|_kc3__K5_| $OM |
# | 0 | . | |
# | $Op | $On | |
# |___________________|_________|_kent_@8_|
#
vt220+keypad|DEC VT220 numeric keypad,
ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, ka2=\EOx,
kb1=\EOt, kb3=\EOv, kc2=\EOr, use=vt100+pfkeys,
# ka2, kb1, kb3 and kc2 are extended key capabilities which have no termcap
# equivalent.
vt100+keypad|vt220+keypad|DEC numeric keypad,
ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, kent=\EOM,
ka2=\EOx, kb1=\EOt, kb3=\EOv, kc2=\EOr, use=vt100+pf1-pf4,
# PC keyboards typically have 12 function keys. Some terminal emulators can
# treat the top row of the numeric keypad as function keys. For this special
# case, it can be useful to give names to these keys on the top row of the
# keypad, to distinguish them from F1-F4.
vt100+keypad+emul|DEC VT100/VT220 numeric keypad with PF1-PF4 emulation,
kpDIV=\EOQ, kpMUL=\EOR, kpNUM=\EOP, kpSUB=\EOS,
use=vt100+keypad,
#
vt100+enq|ncurses extension for VT100-style ENQ,
u8=\E[?1;2c, use=ansi+enq,
@ -2519,7 +2532,7 @@ vt100|vt100-am|DEC VT100 (w/advanced video),
%;m%?%p9%t\016%e\017%;$<2>,
smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m$<2>,
use=ansi+csr, use=ansi+pp, use=decid+cpr, use=vt100+4bsd,
use=vt100+fnkeys,
use=vt100+fnkeys-sco,
vt100+4bsd|DEC VT100 from 4.0BSD,
am, msgr,
@ -2858,7 +2871,7 @@ vt320|vt300|DEC VT320 7 bit terminal,
use=ansi+csr, use=ansi+cup, use=ansi+enq, use=ansi+erase,
use=ansi+idl, use=ansi+local, use=ansi+sgrso,
use=ansi+sgrul, use=dec+pp, use=dec+sl, use=vt220+cvis,
use=vt220+keypad, use=vt220+sfkeys, use=vt220+ufkeys,
use=vt100+keypad, use=vt220+sfkeys, use=vt220+ufkeys,
vt320-nam|vt300-nam|DEC VT320 7 bit terminal with no am to make SAS happy,
am@,
@ -3090,10 +3103,10 @@ vt525-w|DEC VT525 in wide mode,
#
# In trying to get the function keys to work, I had to cobble my own
# terminfo.src entry, since the existing vt520 entry doesn't include most of
# the function keys. If I blend the entries for "vt420f" and "vt220+keypad"
# the function keys. If I blend the entries for "vt420f" and "vt100+keypad"
# I seem to get them all -Mike Gran
vt520ansi|Boundless VT520 ANSI,
use=ansi+rca, use=vt420f, use=vt220+keypad,
use=ansi+rca, use=vt420f, use=vt100+keypad,
use=ansi+tabs,
#### VT100 emulations
@ -3357,7 +3370,7 @@ nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset,
sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, tbc=\E[3g,
use=ansi+csr, use=ansi+cup, use=ansi+erase, use=ansi+idl,
use=ansi+local, use=ansi+sgrbold, use=vt100+enq,
use=vt100+pfkeys,
use=vt100+pfkeys-sco,
nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset,
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
@ -3651,9 +3664,9 @@ iTerm.app|iterm|iTerm.app terminal emulator for Mac OS X,
use=ansi+csr, use=ansi+enq, use=ansi+erase, use=ansi+idc,
use=ansi+idl, use=ansi+local, use=ansi+rca2,
use=ansi+sgrso, use=ansi+sgrul, use=vt100+4bsd,
use=vt100+keypad, use=vt100+pfkeys, use=xterm+r5+fkeys,
use=xterm+alt47, use=xterm+sl-twm, use=xterm+x11mouse,
use=xterm+256setaf, use=vt220+cvis,
use=vt100+keypad-sco, use=vt100+pfkeys-sco,
use=xterm+r5+fkeys, use=xterm+alt47, use=xterm+sl-twm,
use=xterm+x11mouse, use=xterm+256setaf, use=vt220+cvis,
# iTerm2
#
@ -3764,6 +3777,7 @@ iTerm2.app|iterm2|terminal emulator for Mac OS X,
use=report+version, use=report+da2,
use=xterm+alt+title, use=ecma+italics, use=iterm,
use=bracketed+paste, use=kitty+setal,
use=ecma+overline,
# xnuppc - Darwin PowerPC Console (a.k.a. "darwin")
#
@ -3871,7 +3885,7 @@ xnuppc+basic|Darwin PowerPC console basic capabilities,
sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, tbc=\E[3g,
use=ansi+csr, use=ansi+cup, use=ansi+erase,
use=ansi+local, use=ansi+sgrso, use=ansi+sgrul,
use=vt100+keypad,
use=vt100+keypad-sco,
xnuppc+c|Darwin PowerPC console ANSI color support,
ncv#32, use=klone+color,
@ -4153,6 +4167,9 @@ absolute|Absolute Telnet emulating xterm,
#### PuTTY
# http://www.chiark.greenend.org.uk/~sgtatham/putty/
#
# PuTTY 0.83 (February 2025, tested 03 January 2026)
# verified that ncv#22 is no longer needed
#
# PuTTY 0.78 (September 2020, tested 12 August 2023)
# Testing with tack:
# implements cross-out text (shortly after 0.74)
@ -4206,7 +4223,7 @@ absolute|Absolute Telnet emulating xterm,
# http://stackoverflow.com/questions/24613237/terminal-retains-bg-color-after-closing-vim-using-color-scheme-and-putty-256co/37869114#37869114
putty|PuTTY terminal emulator,
am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
it#8, ncv#22, U8#1,
it#8, ncv@, U8#1,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, cr=\r, cub1=^H, cud1=\ED, cuu1=\EM, dch=\E[%p1%dP,
dch1=\E[P,
@ -4238,8 +4255,7 @@ putty|PuTTY terminal emulator,
use=klone+color, use=klone+sgr, use=putty+cursor,
use=putty+fnkeys, use=report+da2, use=vt220+pcedit,
use=xterm+alt1049, use=vt102+enq, use=xterm+sm+1006,
use=xterm+sl, use=vt100+fnkeys, use=putty+keypad,
use=vt220+cvis,
use=xterm+sl, use=putty+keypad, use=vt220+cvis,
# older versions (e.g., before 0.71) of PuTTY used a shift-modifier to toggle
# between normal- and application-mode for the cursor-keys. That was dropped,
@ -4248,14 +4264,21 @@ putty+cursor|PuTTY modified cursor-keys,
kDN5=\E[B, kLFT5=\E[D, kRIT5=\E[C, kUP5=\E[A,
putty+keypad|PuTTY numeric keypad,
kp1=\EOq, kp2=\EOr, kp3=\EOs, kp4=\EOt, kp5=\EOu, kp6=\EOv,
kp7=\EOw, kp8=\EOx, kp9=\EOy, kpADD=\EOl, kpDIV=\EOQ,
kpDOT=\EOn, kpMUL=\EOR, kpNUM=\EOP, kpSUB=\EOS, kpZRO=\EOp,
kp7=\EOw, kp8=\EOx, kp9=\EOy, kpADD=\EOl, kpDOT=\EOn,
kpZRO=\EOp, use=vt100+keypad+emul, use=vt100+keypad,
vt100-putty|Reset PuTTY to pure VT100,
rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
use=vt100,
putty-256color|PuTTY 0.58 with xterm 256-colors,
use=xterm+256setaf, use=putty,
putty-direct|PuTTY terminal emulator with direct colors,
use=xterm+indirect, use=putty,
putty-direct16|PuTTY terminal emulator with direct colors (16 indexed),
use=xterm+indirect16, use=putty,
putty-noapp|putty with cursor keys in normal mode,
kLFT=\EOD, kRIT=\EOC, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
kcuu1=\E[A, kind=\EOB, kri=\EOA, rmkx=\E>, smkx=\E=,
@ -4361,15 +4384,15 @@ mintty+common|shared capabilities for mintty,
kcbt=\E[Z, kent=\EOM, rmm@, rmpch=\E[10m,
rs1=\Ec\E]104\007, rshm=\E[22m, rsubm=\E[75m,
rsupm=\E[75m, smm@, smpch=\E[11m, sshm=\E[1:2m,
ssubm=\E[74m, ssupm=\E[73m, Rmol=\E[55m, Smol=\E[53m,
Smulx=\E[4:%p1%dm, blink2=\E[6m, norm=\E[22m,
opaq=\E[28m, rv=\E\\[>77;[0-9];0c, smul2=\E[21m,
ssubm=\E[74m, ssupm=\E[73m, Smulx=\E[4:%p1%dm,
blink2=\E[6m, norm=\E[22m, opaq=\E[28m,
rv=\E\\[>77;[0-9];0c, smul2=\E[21m,
xr=\EP>\\|mintty ([1-9][.0-9]+)\E\\\\, use=linux+kbs,
use=ansi+rep, use=ecma+strikeout, use=ecma+index,
use=mintty+keypad, use=vt420+lrmm, use=xterm+focus,
use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm+tmux,
use=ecma+italics, use=xterm-basic, use=bracketed+paste,
use=report+version,
use=ansi+rep, use=ecma+overline, use=ecma+strikeout,
use=ecma+index, use=mintty+keypad, use=vt420+lrmm,
use=xterm+focus, use=xterm+sm+1006, use=xterm+pcfkeys,
use=xterm+tmux, use=ecma+italics, use=xterm-basic,
use=bracketed+paste, use=report+version,
mintty+keypad|mintty special numeric keypad,
kbeg=\EOE, kpADD=\EOk, kpDIV=\EOo, kpMUL=\EOj, kpSUB=\EOm,
@ -4815,10 +4838,10 @@ ms+terminal|building block for Windows terminal,
cud1=\E[B, kbeg=\EOE, kcbt=\E[Z, oc@, rmkx=\E[?1l, rmm@,
smkx=\E[?1h, smm@, rv=\E\\[>0;10;1c, use=linux+kbs,
use=bracketed+paste, use=xterm+pcfkeys, use=ansi+rep,
use=xterm+sm+1006, use=ecma+index, use=ecma+italics,
use=ecma+strikeout, use=report+da2, use=vt420+lrmm,
use=xterm-basic, use=xterm+focus, use=xterm+tmux,
use=xterm+sm+1003,
use=xterm+sm+1006, use=ecma+overline, use=ecma+index,
use=ecma+italics, use=ecma+strikeout, use=report+da2,
use=vt420+lrmm, use=xterm-basic, use=xterm+focus,
use=xterm+tmux, use=xterm+sm+1003,
#### Visual Studio
# Visual Studio Code 1.45.0 uses xterm.js 12.8.1 (see https://xtermjs.org/).
@ -4999,7 +5022,7 @@ xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
use=ansi+idc, use=ansi+idl, use=ansi+inittabs,
use=ansi+local, use=ansi+rca2, use=xterm+alt47,
use=xterm+kbs, use=vt100+enq, use=xterm+r5+fkeys,
use=ecma+color, use=vt220+cvis, use=vt220+keypad,
use=ecma+color, use=vt220+cvis, use=vt100+keypad,
use=vt220+pcedit, use=vt220+sfkeys,
# This is the stock xterm entry supplied with XFree86 3.3, which uses VT100
@ -5252,14 +5275,10 @@ xterm+pcf2|fragment with modifyFunctionKeys:2,
kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~,
kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~,
kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R, kf40=\E[1;6S,
kf41=\E[15;6~, kf42=\E[17;6~, kf43=\E[18;6~,
kf44=\E[19;6~, kf45=\E[20;6~, kf46=\E[21;6~,
kf47=\E[23;6~, kf48=\E[24;6~, kf49=\E[1;3P, kf50=\E[1;3Q,
kf51=\E[1;3R, kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
kf58=\E[21;3~, kf59=\E[23;3~, kf60=\E[24;3~,
kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R,
use=vt100+pf1-pf4, use=xterm+nopcfkeys,
kf41=\E[15;6~, kf42=\E[17;6~, kf49=\E[1;3P, kf50=\E[1;3Q,
kf51=\E[1;3R, kf52=\E[1;3S, kf61=\E[1;4P, kf62=\E[1;4Q,
kf63=\E[1;4R, use=vt100+pf1-pf4, use=xterm+nopcfkeys,
use=xterm+pcf0,
#
# Chunks from xterm #230:
xterm+pce2|fragment with modifyCursorKeys:2 editing-keys,
@ -5346,7 +5365,7 @@ xterm+alt+title|xterm 90 and 251 features combined,
xterm+keypad|xterm emulating VT100/VT220 numeric keypad,
kbeg=\EOE, kp5=\EOE, kpADD=\EOk, kpCMA=\EOl, kpDIV=\EOo,
kpDOT=\EOn, kpMUL=\EOj, kpSUB=\EOm, kpZRO=\EOp,
use=vt220+keypad,
use=vt100+keypad,
#
# Those chunks use the new-style (the xterm oldFunctionKeys resource is false).
# Alternatively, the same scheme with old-style function keys as in xterm-r6
@ -5588,6 +5607,16 @@ xterm+direct16|xterm with direct-color indexing (16-color building-block),
%;%;m,
setb@, setf@, use=xterm+direct,
xterm+indirect16|xterm with direct-color indexing (16-color old legacy b-b),
CO#16,
setab=\E[%?%p1%{8}%<%t4%p1%d%e%?%p1%{16}%<%t%p1%{92}%+%d%e48
;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%d
%;%;m,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%?%p1%{16}%<%t%p1%'R'%+%d%e38;
2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%d
%;%;m,
setb@, setf@, use=xterm+direct,
xterm-direct16|xterm with direct-colors and 16 indexed colors,
use=xterm+direct16, use=xterm,
@ -5732,7 +5761,7 @@ xterm-sco|xterm with SCO function keys,
xterm-vt220|xterm emulating VT220,
npc,
kcbt=\E[Z, kend=\E[4~, khome=\E[1~, kmous=\E[M, nel=\EE,
use=xterm+app, use=xterm+edit, use=vt220+keypad,
use=xterm+app, use=xterm+edit, use=vt100+keypad,
use=ecma+italics, use=ecma+index, use=ansi+rep,
use=ecma+strikeout, use=vt220+sfkeys,
use=xterm+r5+fkeys, use=xterm+focus, use=xterm+sm+1006,
@ -6069,7 +6098,7 @@ xtermm|xterm terminal emulator (monochrome),
tbc=\E[3g, use=ansi+apparrows, use=ansi+csr,
use=ansi+cup, use=ansi+erase, use=ansi+idl,
use=ansi+local, use=ansi+sgrso, use=decid+cpr,
use=vt100+fnkeys,
use=vt100+fnkeys-sco,
xtermc|xterm terminal emulator (color),
ncv#7,
@ -6134,7 +6163,7 @@ color_xterm|cx|cx100|color_xterm color terminal emulator for X,
use=ecma+underline, use=ecma+standout,
use=xterm+r5+fkeys, use=ansi+apparrows, use=ansi+csr,
use=ansi+cup, use=ansi+idl, use=ansi+local,
use=decid+cpr, use=ecma+color, use=vt220+keypad,
use=decid+cpr, use=ecma+color, use=vt100+keypad,
# The IRAF source has a terminfo using "xterm-r5", but line-drawing does not
# work in that case. This entry uses xterm+acs, to work around that problem.
@ -6387,9 +6416,9 @@ vte-2018|VTE 0.51.2,
rep=%p1%c\E[%p2%{1}%-%db,
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;
8%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e\017%;,
Rmol=\E[55m, Se=\E[1 q, Smol=\E[53m, Smulx=\E[4:%p1%dm,
use=xterm+alt+title, use=xterm+tmux, use=kitty+setal,
use=vte-2017,
Se=\E[1 q, Smulx=\E[4:%p1%dm, use=xterm+alt+title,
use=xterm+tmux, use=kitty+setal, use=vte-2017,
use=ecma+overline,
# Summarizing as of March 2022, these terminfo-capabilities of xterm are
# absent from VTE:
@ -6497,7 +6526,7 @@ mgt|Multi GNOME Terminal,
# or not is debatable).
kvt|KDE terminal,
bce, km@,
kdch1=^?, kend=\E[F, khome=\E[H, use=linux+kbs,
kdch1=^?, use=linux+kbs, use=vt100+noapp+pc,
use=xterm-color,
# Konsole 1.0.1 (2001/11/25)
@ -6565,11 +6594,11 @@ konsole-base|KDE console window (common),
%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
sgr0=\E[0m\017, smam=\E[?7h, rv=\E\\[>1;115;0c,
xr=\EP>\\|Konsole ([1-9][.0-9])\E\\\\,
use=ecma+underline, use=ecma+standout, use=ansi+rca2,
use=ansi+sgrdim, use=ecma+index, use=xterm+focus,
use=xterm+sm+1006, use=ecma+strikeout,
use=ecma+italics, use=ecma+color, use=xterm-r6,
use=vt220+cvis, use=bracketed+paste,
use=ecma+overline, use=ecma+underline,
use=ecma+standout, use=ansi+rca2, use=ansi+sgrdim,
use=ecma+index, use=xterm+focus, use=xterm+sm+1006,
use=ecma+strikeout, use=ecma+italics, use=ecma+color,
use=xterm-r6, use=vt220+cvis, use=bracketed+paste,
use=report+version, use=xterm+pc+edit,
# The keytab feature was introduced in 0.9.12 (February 2000) with "linux" and
@ -6730,7 +6759,7 @@ mlterm3|multi lingual terminal emulator 3.x,
use=ecma+strikeout, use=xterm+app, use=xterm+pcf2,
use=xterm+pcc2, use=xterm+pce2, use=xterm+meta,
use=xterm+alt+title, use=xterm+sm+1006,
use=vt100+pfkeys, use=bracketed+paste, use=mlterm2,
use=vt100+pfkeys-sco, use=bracketed+paste, use=mlterm2,
use=report+version,
# This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
@ -6834,7 +6863,7 @@ rxvt-basic|rxvt terminal base (X Window System),
use=ecma+underline, use=ecma+standout, use=ansi+csr,
use=ansi+idl, use=ansi+local, use=xterm+alt47,
use=vt100+enq, use=vt100+4bsd, use=rxvt+pcfkeys,
use=vt220+cvis, use=vt220+keypad,
use=vt220+cvis, use=vt100+keypad,
# Key Codes from rxvt reference:
#
@ -7264,7 +7293,7 @@ mvterm|vv100|SwitchTerm aka mvTERM,
%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smkx=\E[?1h\E=, smso=\E[7m, use=ansi+csr,
use=ansi+idl, use=ansi+local, use=ansi+sgrul,
use=xterm+alt47, use=vt100+fnkeys, use=vt100+4bsd,
use=xterm+alt47, use=vt100+fnkeys-sco, use=vt100+4bsd,
use=x10term+sl,
#### MTERM
@ -7493,7 +7522,7 @@ st-0.6|simpleterm 0.6,
use=ecma+standout, use=ansi+apparrows, use=ansi+csr,
use=ansi+enq, use=ansi+idl, use=ansi+inittabs,
use=ansi+local, use=ansi+rca2, use=ansi+sgrbold,
use=vt100+4bsd, use=vt100+pfkeys, use=vt220+pcedit,
use=vt100+4bsd, use=vt100+pfkeys-sco, use=vt220+pcedit,
use=ecma+index, use=xterm+alt1049, use=vt220+cvis,
use=xterm+sl, use=ecma+italics, use=ecma+strikeout,
use=bracketed+paste, use=xterm+pcf2,
@ -8305,6 +8334,10 @@ wezterm|Wez's Terminal Emulator,
use=xterm+alt+title, use=xterm+focus, use=xterm+pcc2,
use=xterm+pce2, use=xterm+pcf2, use=xterm+sl-alt,
use=xterm+sm+1006, use=xterm+tmux,
wezterm-direct|Wez's Terminal Emulator with direct colors,
use=xterm+direct, use=wezterm,
wezterm-direct16|Wez's Terminal Emulator with direct colors (16 indexed),
use=xterm+direct16, use=wezterm,
#### Contour
# https://github.com/contour-terminal/contour
@ -8390,18 +8423,18 @@ contour|contour-latest|Contour Terminal Emulator,
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p5%t;2%;
%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
sgr0=\E(B\E[m, smam=\E[?7h, smkx=\E[?1h,
Cs=\E]12;%p1%s\E\\, E3=\E[3J, Rmol=\E[55m, Se=\E[ q,
Smol=\E[53m, Smulx=\E[4:%p1%dm, Ss=\E[%p1%d q,
Cs=\E]12;%p1%s\E\\, E3=\E[3J, Se=\E[ q,
Smulx=\E[4:%p1%dm, Ss=\E[%p1%d q,
xr=\EP>\\|contour ([0-9]\\.[0-9]\\.[0-9])\E\\\\,
use=ecma+underline, use=ecma+standout,
use=ansi+apparrows, use=ansi+cup, use=ansi+csr,
use=ansi+enq, use=ansi+erase, use=ansi+idc, use=ansi+idl,
use=ansi+inittabs, use=ansi+local, use=ansi+rca2,
use=ansi+sgrbold, use=bracketed+paste, use=dec+sl,
use=ecma+index, use=vt220+cvis, use=ecma+strikeout,
use=xterm+256color, use=xterm+acs, use=xterm+alt1049,
use=xterm+pcc2, use=xterm+pce2, use=xterm+pcf2,
use=report+version,
use=ecma+index, use=ecma+overline, use=vt220+cvis,
use=ecma+strikeout, use=xterm+256color, use=xterm+acs,
use=xterm+alt1049, use=xterm+pcc2, use=xterm+pce2,
use=xterm+pcf2, use=report+version,
contour-direct|Contour terminal with direct colors,
use=xterm+direct, use=contour,
@ -8866,7 +8899,7 @@ screen.rxvt|screen in rxvt,
bw, XT,
cvvis@, flash@, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
kcuu1=\EOA, use=screen+fkeys, use=vt100+enq,
use=rxvt+pcfkeys, use=xterm+x11mouse, use=vt220+keypad,
use=rxvt+pcfkeys, use=xterm+x11mouse, use=vt100+keypad,
use=screen,
screen.Eterm|screen in Eterm,
use=xterm+x11mouse, use=screen+fkeys, use=Eterm,
@ -12493,7 +12526,7 @@ tvi9065|TeleVideo 9065,
dl=\E[%p1%dM, dl1=\ER, dsl=\E_30\r, ech=\E[%p1%d@, ed=\EY,
el=\ET, flash=\Eb$<15>\Ed, fsl=\r, home=^^, ht=^I, hts=\E1,
ich=\E[%p1%d@, if=/usr/share/tabset/stdcrt,
il=\E[%p1%dL, il1=\EE, ind=\n, invis=\EG1, ip=$<3>,
il=\E[%p1%dL, il1=\EE, ind=\n, ip=$<3>,
is1=\E"\E%\E'\E(\EG@\EO\EX\E[=5l\E[=6l\E[=7h\Ed\Er,
is2=\EF2\EG0\E\\L, is3=\E<\E[=4l\E[=8h, kHOM=\E\s\s\s,
kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K,
@ -12505,10 +12538,10 @@ tvi9065|TeleVideo 9065,
pfloc=\E|%p1%{48}%+%c2%p2%s\031,
pfx=\E|%p1%{48}%+%c1%p2%s\031,
pln=\E_%p1%{63}%+%c%p2%s\r, prot=\E&,
rep=\E[%p2%db%p1%c, rev=\EG4,
rf=/usr/share/tabset/stdcrt, ri=\Ej, rmacs=\E%%,
rmam=\E[=7l, rmcup=\E.3\Er\E[1;25r\E[25;0H, rmdc=\0,
rmir=\Er, rmln=\E[4;1v, rmso=\EG0, rmul=\EG0, rmxon=^N,
rep=\E[%p2%db%p1%c, rf=/usr/share/tabset/stdcrt,
ri=\Ej, rmacs=\E%%, rmam=\E[=7l,
rmcup=\E.3\Er\E[1;25r\E[25;0H, rmdc=\0, rmir=\Er,
rmln=\E[4;1v, rmso=\EG0, rmxon=^N,
rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l,
rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=1
3.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=
@ -12520,9 +12553,9 @@ tvi9065|TeleVideo 9065,
%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p8%t\E&%;%?
%p9%t\E$%e\E%%%;,
sgr0=\EG0\E%, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er,
smir=\Eq, smln=\E[4;2v, smso=\EGt, smul=\EG8, smxon=^O,
tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0, use=ansi+local,
use=ecma+index,
smir=\Eq, smln=\E[4;2v, smso=\EGt, smxon=^O, tbc=\E3,
tsl=\E[4;1v\E_30, uc=\EG8\EG0, use=adm+sgr,
use=ansi+local, use=ecma+index,
#### Visual (vi)
#
@ -13324,7 +13357,7 @@ wy75|wyse75|Wyse 75,
smkx=\E[?1l\E[?7h\E=, smso=\E[1t\E[7m, smul=\E[2t\E[4m,
tsl=\E[>\,\001, use=ansi+arrows, use=ansi+cup,
use=ansi+local, use=ansi+pp, use=ansi+tabs,
use=decid+cpr, use=vt220+cvis, use=vt220+keypad,
use=decid+cpr, use=vt220+cvis, use=vt100+keypad,
use=vt220+sfkeys, use=vt220+ufkeys,
#
# This terminal description uses the non-hidden attribute mode
@ -13385,7 +13418,7 @@ wy85|wyse85|Wyse 85,
use=ansi+csr, use=ansi+inittabs, use=ansi+local,
use=ansi+pp, use=ansi+sgrbold, use=decid+cpr,
use=vt100+4bsd, use=vt220+vtedit, use=vt220+cvis,
use=vt220+keypad, use=vt220+sfkeys, use=vt220+ufkeys,
use=vt100+keypad, use=vt220+sfkeys, use=vt220+ufkeys,
#
# Wyse 85 with visual bell.
wy85-vb|wyse85-vb|Wyse 85 with visible bell,
@ -13439,7 +13472,7 @@ wy85-8bit|wyse85-8bit|Wyse 85 in 8-bit mode,
tsl=\E[40h\E7\E[25;%i%p1%dH, use=ansi+csr,
use=ansi+inittabs, use=ansi+local, use=ansi+pp,
use=ansi+sgrbold, use=decid+cpr, use=vt100+4bsd,
use=vt100+pfkeys, use=vt220+cvis,
use=vt100+pfkeys-sco, use=vt220+cvis,
#
# Wyse 185 emulating a VT320 7 bit mode.
#
@ -13476,7 +13509,7 @@ wy185|wyse185|Wyse 185,
use=ecma+underline, use=ecma+standout, use=ansi+arrows,
use=ansi+inittabs, use=ansi+local, use=ansi+pp,
use=ansi+sgrbold, use=decid+cpr, use=vt100+4bsd,
use=vt220+vtedit, use=vt220+keypad, use=vt220+sfkeys,
use=vt220+vtedit, use=vt100+keypad, use=vt220+sfkeys,
use=vt220+ufkeys, use=wyse+cvis,
#
# Wyse 185 with 24 data lines and top status (terminal status)
@ -13675,7 +13708,7 @@ wy370|wyse370|wy370-101k|Wyse 370 with 101 key keyboard,
wy370-105k|Wyse 370 with 105 key keyboard,
kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, lf1=PF1, lf2=PF2,
lf3=PF3, lf4=PF4, use=ansi+arrows, use=vt220+vtedit,
use=wy370-nk, use=vt220+keypad, use=vt220+sfkeys,
use=wy370-nk, use=vt100+keypad, use=vt220+sfkeys,
use=vt220+ufkeys,
#
# Function key set for the PC compatible keyboard
@ -13801,7 +13834,7 @@ wy520|wyse520|Wyse 520,
use=ecma+underline, use=ansi+arrows, use=ansi+csr,
use=ansi+cup, use=ansi+local, use=ansi+pp,
use=ansi+sgrbold, use=ansi+tabs, use=decid+cpr,
use=vt220+vtedit, use=vt220+keypad, use=vt220+sfkeys,
use=vt220+vtedit, use=vt100+keypad, use=vt220+sfkeys,
use=vt220+ufkeys, use=wyse+cvis,
#
# Wyse 520 with 24 data lines and status (terminal status)
@ -14342,7 +14375,7 @@ v5410|att5410 in terms of a VT100,
sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
use=ansi+csr, use=ansi+idl1, use=decid+cpr,
use=vt100+fnkeys,
use=vt100+fnkeys-sco,
#
# Teletype Model 5420 -- A souped up 5410, with multiple windows,
@ -17791,7 +17824,7 @@ ts100|ts100-sp|Falco ts100-sp,
rmkx=\E[?1l\E>,
rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, smam=\E[?7h,
smkx=\E[?1h\E=, use=ansi+csr, use=ansi+local,
use=decid+cpr, use=vt100+4bsd, use=vt100+fnkeys,
use=decid+cpr, use=vt100+4bsd, use=vt100+fnkeys-sco,
ts100-ctxt|Falco ts-100 saving context,
rmcup=\E~_b, smcup=\E~_d\E[2J, use=ts100,
@ -19573,7 +19606,7 @@ ncr260vppp|NCR 2900/260 viewpoint,
cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<5>, cuu1=\032$<2>,
dch1=\EW$<2>, dim=\EGp, dl1=\El$<2>, ed=\Ek$<2>,
el=\EK$<2>, home=\036$<2>, ht=^I, hts=\E1, il1=\EM$<2>,
ind=\n$<2>, invis=\EG1,
ind=\n$<2>,
is2=\Ee6\E~%$<100>\E+\E`:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0
\EcC1\Ee7$<100>,
kDC=\El, kEND=\Ek, kHOM=^A, kPRT=\E7, kRIT=^F, ka1=^A, ka3=\EJ,
@ -19588,12 +19621,12 @@ ncr260vppp|NCR 2900/260 viewpoint,
kf9=^B9\r, khome=^A, kich1=\Eq, knp=\EJ, kpp=\EJ, kprt=\EP,
ll=\001$<5>, mc0=\EP$<100>, mc4=^T, mc5=^R,
mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<5>,
nel=\037$<2>, rev=\EG4, ri=\Ej$<2>, rmacs=\EcB0\EH\003,
rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
nel=\037$<2>, ri=\Ej$<2>, rmacs=\EcB0\EH\003, rmir=\Er,
rmxon=\Ec20,
rs2=\Ee6\E~%$<100>\E+\E`:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0
\EcC1\Ee7$<100>,
sgr0=\EG0\EH\003, smacs=\EcB1\EH\002, smir=\Eq,
smso=\EG4, smul=\EG8, smxon=\Ec21, use=ncr260vp+sl,
smxon=\Ec21, use=adm+sgr, use=ncr260vp+sl,
ncr260vp+sl|NCR 2900/260 viewpoint with status-line,
hs,
@ -19636,7 +19669,7 @@ ncr260vt100an|NCR 2900/260 VT100 with ANSI keyboard,
smkx=\E[?1h\E=, smso=\E[1;7m, tbc=\E[3g,
vpa=\E[%p1%dd$<40>, use=ansi+csr, use=ansi+sgrbold,
use=decid+cpr, use=vt220+vtedit, use=vt220+cvis,
use=vt220+keypad, use=ncr260vt+sl,
use=vt100+keypad, use=ncr260vt+sl,
ncr260vt+sl|NCR 2900/260 VT100 status line,
hs,
@ -19697,7 +19730,7 @@ ncr260vt200an|NCR 2900/260 VT200 with ANSI keyboard,
smir=\E[4h, smkx=\E[?1h\E=, tbc=\E[3g,
vpa=\E[%p1%dd$<40>, use=ecma+underline,
use=ecma+standout, use=ansi+sgrbold, use=decid+cpr,
use=vt220+vtedit, use=vt220+cvis, use=vt220+keypad,
use=vt220+vtedit, use=vt220+cvis, use=vt100+keypad,
use=ncr260vt+sl, use=vt220+sfkeys, use=vt220+ufkeys,
ncr260vt200wan|NCR 2900/260 VT200 wide mode ANSI keyboard,
@ -19752,7 +19785,7 @@ ncr260vt300an|NCR 2900/260 VT300 with ANSI keyboard,
smir=\E[4h, smkx=\E[?1h\E=, tbc=\E[3g,
vpa=\E[%p1%dd$<40>, use=ecma+underline,
use=ecma+standout, use=ansi+sgrbold, use=decid+cpr,
use=vt220+vtedit, use=vt220+cvis, use=vt220+keypad,
use=vt220+vtedit, use=vt220+cvis, use=vt100+keypad,
use=ncr260vt+sl, use=vt220+sfkeys, use=vt220+ufkeys,
ncr260vt300wan|NCR 2900/260 VT300 wide mode ANSI keyboard,
@ -19799,7 +19832,7 @@ ncr260wy325pp|NCR 2900/260 Wyse 325,
cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>,
cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, ed=\Ey$<5>,
el=\Et$<5>, home=\036$<5>, ht=^I, hts=\E1, il1=\EE$<5>,
ind=\n$<5>, invis=\EG1,
ind=\n$<5>,
is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"\Ee4\Ex@\E`9
\Ee7$<100>,
kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ,
@ -19812,8 +19845,8 @@ ncr260wy325pp|NCR 2900/260 Wyse 325,
kf32=^Ao\r, khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP,
mc0=\EP, mc4=^T, mc5=^R,
mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>,
nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH\003\EcB0,
rmam=\Ed., rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
nel=\037$<5>, ri=\Ej$<5>, rmacs=\EH\003\EcB0, rmam=\Ed.,
rmir=\Er, rmxon=\Ec20,
rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"\Ee4\Ex@\E`9
\Ee7$<100>,
setb=\s,
@ -19824,7 +19857,7 @@ ncr260wy325pp|NCR 2900/260 Wyse 325,
%{60}%e%p1%{12}%=%t%{61}%e%p1%{13}%=%t%{62}%e%p1%{14}%=
%t%{63}%e%p1%{15}%=%t%{56}%;\Edy%c11$<100>,
sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH\002\EcB1, smam=\Ed/,
smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0,
smir=\Eq, smso=\EGt, smxon=\Ec21, tbc=\E0, use=adm+sgr,
use=ncr260vp+sl, use=tvi920b+fn, use=ansi+arrows,
use=ansi+apparrows,
ncr260wy325wpp|NCR 2900/260 Wyse 325 wide mode,
@ -19898,7 +19931,7 @@ ncr260wy50+pp|NCR 2900/260 Wyse 50+,
cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<30>, cuu1=\013$<5>,
cvvis=\E`5, dch1=\EW$<50>, dim=\EGp, dl1=\ER$<5>,
ed=\EY$<5>, el=\ET$<5>, home=\036$<10>, ht=\011$<5>,
hts=\E1$<5>, il1=\EE$<5>, ind=\n$<5>, invis=\EG1,
hts=\E1$<5>, il1=\EE$<5>, ind=\n$<5>,
is2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"
\Ee4\Ex@\E`9\Ee7$<100>,
kDC=\ER, kEND=\EY, kHOM=\E{, kPRT=\E7, kRIT=^L, ka1=^^, kbs=^H,
@ -19913,12 +19946,12 @@ ncr260wy50+pp|NCR 2900/260 Wyse 50+,
khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP,
mc0=\EP$<10>, mc4=^T, mc5=^R,
mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>,
nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed.,
rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
nel=\037$<5>, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed., rmir=\Er,
rmxon=\Ec20,
rs2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"
\Ee4\Ex@\E`9\Ee7$<100>,
sgr0=\EG0\EH\003$<15>, smacs=\EH^B, smam=\Ed/, smir=\Eq,
smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<5>,
smso=\EGt, smxon=\Ec21, tbc=\E0$<5>, use=adm+sgr,
use=ncr260vp+sl,
ncr260wy50+wpp|NCR 2900/260 Wyse 50+ wide mode,
cols#132,
@ -19937,7 +19970,7 @@ ncr260wy60pp|NCR 2900/260 Wyse 60,
cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>,
cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, ed=\Ey$<5>,
el=\Et$<5>, home=\036$<25>, ht=\011$<15>, hts=\E1$<15>,
il1=\EE$<5>, ind=\n$<5>, invis=\EG1,
il1=\EE$<5>, ind=\n$<5>,
is2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"
\Ee4\Ex@\E`9\Ee7$<100>,
kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ,
@ -19952,13 +19985,13 @@ ncr260wy60pp|NCR 2900/260 Wyse 60,
kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP, mc0=\EP, mc4=^T, mc5=^R,
mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<30>,
nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed.,
rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
nel=\037$<5>, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed., rmir=\Er,
rmxon=\Ec20,
rs2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"
\Ee4\Ex@\E`9\Ee7$<100>,
sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH^B, smam=\Ed/,
smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<15>,
use=ncr260vp+sl,
smir=\Eq, smso=\EGt, smxon=\Ec21, tbc=\E0$<15>,
use=adm+sgr, use=ncr260vp+sl,
ncr260wy60wpp|NCR 2900/260 Wyse 60 wide mode,
cols#132,
cup=\Ea%i%p1%dR%p2%dC$<30>,
@ -20194,10 +20227,10 @@ ndr9500-25-nl|NDR 9500 with 25 lines and no status line,
ndr9500-mc|NDR 9500 with magic cookies (enables underline inverse video invisible and blink),
msgr@,
xmc#1,
blink=\EG2, invis=\EG1, rev=\EG4, rmso=\EG0, rmul=\EG0,
blink=\EG2, rmso=\EG0,
sgr=\E%%\E(%?%p5%p8%|%t\E)%;%?%p9%t\E$%;\EG%{48}%?%p7%t%{1}
%+%;%?%p4%t%{2}%+%;%?%p3%p1%|%t%{4}%+%;%?%p2%t%{8}%+%;%c,
smso=\EG4, smul=\EG8, use=ndr9500,
smso=\EG4, use=ndr9500, use=adm+sgr,
ndr9500-25-mc|NDR 500 with 25 lines and magic cookies,
lines#25, use=ndr9500-mc,
@ -20531,7 +20564,7 @@ tek4105-30|Tektronix 4015 emulating 30 line VT100,
kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rmam=\E[?7l,
rmkx=\E[?1l\E>, rmso=\E[m$<2>, smam=\E[?7h,
smkx=\E[?1h\E=, use=ansi+csr, use=ansi+local,
use=vt100+4bsd, use=vt100+fnkeys,
use=vt100+4bsd, use=vt100+fnkeys-sco,
# Tektronix 4105 from BRL
# The following setup modes are assumed for normal operation:
@ -24446,7 +24479,7 @@ xtalk|IBM PC with xtalk communication program (versions up to 3.4),
rmkx=\E[?1l\E>, rmso=\E[m\s,
rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m,
smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m\s,
tbc=\E[3g, use=ansi+local, use=vt100+fnkeys,
tbc=\E[3g, use=ansi+local, use=vt100+fnkeys-sco,
# The official PC terminal emulator program of the AT&T Product Centers.
# Note - insert mode commented out - doesn't seem to work on AT&T PC.
@ -25499,7 +25532,7 @@ v3220|LANPAR Vision II model 3220/3221/3222,
# https://invisible-island.net/ncurses/ncurses-netbsd.html
#
# ncurses makes explicit checks for a few user-definable capabilities: AX, E3,
# RGB, U8, XM, which are documented in the user_caps(5) manual page.
# NQ, RGB, U8, XM, xm, which are documented in the user_caps(5) manual page.
#
#### SCREEN Extensions:
#
@ -25575,11 +25608,36 @@ v3220|LANPAR Vision II model 3220/3221/3222,
#
# These are the extended keys defined in this file:
#
# kDC3 kDC4 kDC5 kDC6 kDC7 kDN kDN3 kDN4 kDN5 kDN6 kDN7 kEND3 kEND4 kEND5 kEND6
# kEND7 kHOM3 kHOM4 kHOM5 kHOM6 kHOM7 kIC3 kIC4 kIC5 kIC6 kIC7 kLFT3 kLFT4
# kLFT5 kLFT6 kLFT7 kNXT3 kNXT4 kNXT5 kNXT6 kNXT7 kPRV3 kPRV4 kPRV5 kPRV6 kPRV7
# kRIT3 kRIT4 kRIT5 kRIT6 kRIT7 kUP kUP3 kUP4 kUP5 kUP6 kUP7 kxIN kxOUT ka2 kb1
# kb3 kc2
# alt_{A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z} Alt + key
# kDC{3|4|5|6|7} modifier + delete-character
# kDN shifted cursor-down
# kDN{3|4|5|6|7} modifier + cursor-down
# kEND{3|4|5|6|7|8} modifier + end
# kF{1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16} shifted function-key
# kHOM{3|4|5|6|7|8} modifier + home
# kIC{3|4|5|6|7} modifier + insert-character
# kLFT{3|4|5|6|7} modifier + cursor-left
# kNXT{3|4|5|6|7} modifier + next
# kPRV{3|4|5|6|7} modifier + previous
# kRIT{3|4|5|6|7} modifier + cursor-right
# kUP shifted cursor-up
# kUP{3|4|5|6|7} modifier + cursor-up
# ka2 keypad key between ka1 and ka3
# kb1 keypad key left of kb2
# kb3 keypad key right of kb2
# kc2 keypad key between kc1 and kc3
# kcbt{2} modifier + tab-key
# kp{1|2|3|4|5|6|7|8|9} numbered keypad keys
# kpADD keypad "+"
# kpCMA keypad ","
# kpDIV keypad "/"
# kpDOT keypad "."
# kpMUL keypad "*"
# kpNUM keypad NumLock
# kpSUB keypad "-"
# kpZRO keypad "0"
# kxIN xterm focus-in
# kxOUT xterm focus-out
#
# Bracketed paste is described with these capabilities in vim:
#
@ -27998,4 +28056,27 @@ v3220|LANPAR Vision II model 3220/3221/3222,
# 2025-07-19
# + add xterm+keypad to pccon+base -TD
#
# 2026-01-03
# + cancel ncv in putty (patch by Jakub Horky)
# + add NQ to list of user-definable capabilities in user_caps(5) (patch
# by Jakub Horky)
#
# 2026-01-17
# + provide a generated list of user-defined special keys (adapted from
# patch by Jakub Horky) -TD
# + rename vt100+keypad, etc., to vt100+keypad+sco, etc., to keep
# historical blocks while providing for renaming of vt220+keypad as
# vt100+keypad (prompted by patch by Jakub Horky) -TD
# + use vt100+keypad instead of vt220+keypad (patch by Jakub Horky)
# + use vt100+keypad in putty+keypad, replacing kpXX extension -TD
# + remove vt100+fnkeys-sco from putty -TD
#
# 2026-01-24
# + add xterm+indirect16, vt100+keypad+emul, putty-direct,
# putty-direct16, wezterm-direct, wezterm-direct16
# (patch by Jakub Horky)
# + add Smol/Rmol to ms-terminal, konsole, iTerm2 (report by Jared
# Finder)
# + add ecma+overline -TD
#
######## SHANTIH! SHANTIH! SHANTIH!

View File

@ -1,6 +1,6 @@
# $Id: Makefile.in,v 1.194 2025/10/25 17:29:43 tom Exp $
# $Id: Makefile.in,v 1.198 2026/01/14 08:52:45 tom Exp $
##############################################################################
# Copyright 2018-2024,2025 Thomas E. Dickey #
# Copyright 2018-2025,2026 Thomas E. Dickey #
# Copyright 1998-2017,2018 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -201,14 +201,18 @@ TEST_DEPS = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
TEST_LDFLAGS = @LD_MODEL@ $(TEST_ARGS) @LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
# Unlike the other test-programs, lib_mvcur uses internal functions which
# are not exported when using versioned symbols, as well as objects from
# the progs directory.
TEST_INTERNALS = lib_mvcur$x
TEST_PROGS = \
captoinfo$x \
hardscroll$x \
hashmap$x \
lib_mvcur$x \
link_test$x \
report_ctype$x \
report_hashing$x
report_hashing$x @NO_SHARED@ $(TEST_INTERNALS)
LOCAL_LIBDIR = @top_builddir@/lib
@ -342,12 +346,24 @@ realclean :: distclean
# These rules build test-programs for the modules that have test-drivers
@MAKE_PHONY@.PHONY : test_progs
test_progs : $(TEST_PROGS)
test_clean :
-rm -f $(TEST_PROGS)
CAPTOINFO_DEPS = \
../@DFT_OBJ_SUBDIR@/comp_scan$o
MVCUR_DEPS = \
../@DFT_OBJ_SUBDIR@/captoinfo$o \
../@DFT_OBJ_SUBDIR@/comp_expand$o \
../@DFT_OBJ_SUBDIR@/comp_scan$o \
../@DFT_OBJ_SUBDIR@/dump_entry$o \
../@DFT_OBJ_SUBDIR@/write_entry$o
./link_test.c : $(base)/MKlib_gen.sh ../include/curses.h
FGREP="@FGREP@" $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@
captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS)
@ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
captoinfo$x : $(tinfo)/captoinfo.c $(CAPTOINFO_DEPS) $(TEST_DEPS)
@ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(CAPTOINFO_DEPS) $(TEST_LDFLAGS)
hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
@ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
@ -355,13 +371,14 @@ hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
hashmap$x : $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_DEPS)
@ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS)
lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \
../@DFT_OBJ_SUBDIR@/dump_entry$o
@ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS)
lib_mvcur$x : $(serial)/lib_mvcur.c $(MVCUR_DEPS) $(TEST_DEPS) \
$(INCDIR)/tic.h \
$(srcdir)/../progs/dump_entry.h
@ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c $(MVCUR_DEPS) $(TEST_LDFLAGS)
link_test$x : ./link_test.c $(TEST_DEPS) \
../@DFT_OBJ_SUBDIR@/link_test$o
@ECHO_LD@ $(CC) -o $@ $(CFLAGS_DEFAULT) ../@DFT_OBJ_SUBDIR@/link_test$o $(TEST_LDFLAGS)
@ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) ../@DFT_OBJ_SUBDIR@/link_test$o $(TEST_LDFLAGS)
../@DFT_OBJ_SUBDIR@/dump_entry$o:
( cd ../progs && $(MAKE) ../@DFT_OBJ_SUBDIR@/dump_entry$o )
@ -369,14 +386,14 @@ link_test$x : ./link_test.c $(TEST_DEPS) \
report_ctype$x : \
$(srcdir)/curses.priv.h \
$(srcdir)/report_ctype.c $(TEST_DEPS)
@ECHO_LD@ $(CC) -o $@ $(CFLAGS_DEFAULT) $(srcdir)/report_ctype.c $(TEST_LDFLAGS)
@ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) $(srcdir)/report_ctype.c $(TEST_LDFLAGS)
@echo "... made $@"
./report_ctype$x
report_hashing$x : \
$(srcdir)/curses.priv.h \
$(srcdir)/report_hashing.c $(TEST_DEPS)
@ECHO_LD@ $(CC) -o $@ $(CFLAGS_DEFAULT) $(srcdir)/report_hashing.c $(TEST_LDFLAGS)
@ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) $(srcdir)/report_hashing.c $(TEST_LDFLAGS)
# Verify that each header-file can be compiled without including another.
@MAKE_PHONY@.PHONY : check_headers

View File

@ -2,10 +2,10 @@
#
# MKlib_gen.sh -- generate sources from curses.h macro definitions
#
# ($Id: MKlib_gen.sh,v 1.79 2025/02/23 01:55:06 tom Exp $)
# ($Id: MKlib_gen.sh,v 1.80 2026/01/15 00:40:09 tom Exp $)
#
##############################################################################
# Copyright 2018-2024,2025 Thomas E. Dickey #
# Copyright 2018-2025,2026 Thomas E. Dickey #
# Copyright 1998-2016,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -532,6 +532,53 @@ DECLARATIONS
EOF
# stack values:
# 1 = constant-enabled
# 0 = default enabled (either top-level or non-constant #if/#ifdef)
# -1 = constant-disabled
$AWK 'BEGIN{
level = 0;
stack[level] = 0;
}
/^#ifdef/{
stack[++level] = 0;
print;
next;
}
/^#elif/{
print;
next;
}
/^#if/{
level++;
sub("[ \t]/[*].*","");
if (match($0,"#if[ \t]*1$") > 0)
stack[level] = 1;
else if (match($0,"#if[ \t]*0$") > 0)
stack[level] = -1;
else
stack[level] = 0;
print;
next;
}
/^#else/{
if (stack[level] == 1) {
stack[level] = -1;
} else if (stack[level] == -1) {
stack[level] = 1;
}
print;
next;
}
/^#endif/{
--level;
print;
next;
}
{
if (stack[level] >= 0)
print;
}' | \
sed -n -f $ED1 \
| sed -e 's/NCURSES_EXPORT(\(.*\)) \(.*\) (\(.*\))/\1 \2(\3)/' \
| sed -f $ED2 \

View File

@ -84,7 +84,7 @@
#define CUR SP_TERMTYPE
#endif
MODULE_ID("$Id: lib_mouse.c,v 1.219 2025/12/30 17:23:24 tom Exp $")
MODULE_ID("$Id: lib_mouse.c,v 1.220 2025/12/31 11:45:37 tom Exp $")
#include <tic.h>
@ -389,11 +389,11 @@ init_xterm_mouse(SCREEN *sp)
sp->_mouse_format = MF_X10;
sp->_mouse_xtermcap = tigetstr(UserCap(XM));
if (VALID_STRING(sp->_mouse_xtermcap)) {
char *code = strstr(sp->_mouse_xtermcap, "[?");
const char *code = strstr(sp->_mouse_xtermcap, "[?");
if (code != NULL) {
code += 2;
while ((*code >= '0') && (*code <= '9')) {
char *next = code;
const char *next = code;
while ((*next >= '0') && (*next <= '9')) {
++next;
}

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2024,2025 Thomas E. Dickey *
* Copyright 2018-2025,2026 Thomas E. Dickey *
* Copyright 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -35,7 +35,7 @@
****************************************************************************/
/*
* $Id: curses.priv.h,v 1.741 2025/12/27 21:46:04 tom Exp $
* $Id: curses.priv.h,v 1.744 2026/01/13 08:51:14 tom Exp $
*
* curses.priv.h
*
@ -956,11 +956,14 @@ typedef int (*TYPE_Gpm_GetEvent) (Gpm_Event *);
* the converted path with the MinGW32 base directory.
*/
#if MIXEDCASE_FILENAMES
#define LEAF_FMT "./%c"
#define LEAF_LEN 3
#else
#define LEAF_FMT "%c"
#define LEAF_LEN 1
#elif USE_DOS_PATHS
#define LEAF_FMT "./%02x"
#define LEAF_LEN 4
#else
#define LEAF_FMT "%02x"
#define LEAF_LEN 2
#endif
/*
@ -1833,6 +1836,8 @@ extern NCURSES_EXPORT(const char *) _nc_viscbuf (const NCURSES_CH_T *, int);
#define START_TRACE() /* nothing */
#define USE_TRACEF(mask) 0
#define T(a)
#define TR(n, a)
#define TPUTS_TRACE(s)

View File

@ -1,6 +1,6 @@
# $Id: modules,v 1.133 2025/12/30 15:13:55 tom Exp $
# $Id: modules,v 1.134 2026/01/14 01:21:25 tom Exp $
##############################################################################
# Copyright 2019-2020,2025 Thomas E. Dickey #
# Copyright 2019-2025,2026 Thomas E. Dickey #
# Copyright 1998-2013,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
@ -68,7 +68,7 @@ lib_isendwin lib $(base) $(HEADER_DEPS)
lib_leaveok lib $(base) $(HEADER_DEPS)
lib_mouse lib $(base) $(HEADER_DEPS) $(INCDIR)/tic.h
lib_move lib $(base) $(HEADER_DEPS)
lib_mvcur lib $(serial) $(HEADER_DEPS) $(INCDIR)/tic.h $(srcdir)/../progs/dump_entry.h
lib_mvcur lib $(serial) $(HEADER_DEPS)
lib_mvwin lib $(base) $(HEADER_DEPS)
lib_newterm lib $(base) $(HEADER_DEPS) $(INCDIR)/tic.h
lib_newwin lib $(base) $(HEADER_DEPS)

View File

@ -98,7 +98,7 @@
#include <ctype.h>
#include <tic.h>
MODULE_ID("$Id: captoinfo.c,v 1.109 2025/11/23 20:22:38 tom Exp $")
MODULE_ID("$Id: captoinfo.c,v 1.110 2025/12/31 11:46:29 tom Exp $")
#if 0
#define DEBUG_THIS(p) DEBUG(9, p)
@ -657,7 +657,7 @@ _nc_infotocap(const char *cap GCC_UNUSED, const char *str, int const parameteriz
*str &&
((trimmed == NULL) || (str < trimmed)); str++) {
int c1, c2;
char *cp = NULL;
const char *cp = NULL;
if (str[0] == '^') {
if (str[1] == '\0' || (str + 1) == trimmed) {

View File

@ -48,7 +48,7 @@
#include <tic.h>
MODULE_ID("$Id: comp_parse.c,v 1.141 2025/12/27 12:33:34 tom Exp $")
MODULE_ID("$Id: comp_parse.c,v 1.142 2025/12/31 11:46:54 tom Exp $")
static void sanity_check2(TERMTYPE2 *, bool);
NCURSES_IMPEXP void (NCURSES_API *_nc_check_termtype2) (TERMTYPE2 *, bool) = sanity_check2;
@ -111,7 +111,7 @@ check_collisions(char *n1, char *n2, int counter)
{
const char *pstart;
const char *qstart;
char *pend, *qend;
const char *pend, *qend;
char nc1[NAMEBUFFER_SIZE];
char nc2[NAMEBUFFER_SIZE];

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2020-2023,2024 Thomas E. Dickey *
* Copyright 2020-2024,2026 Thomas E. Dickey *
* Copyright 1999-2010,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -30,7 +30,7 @@
#include <curses.priv.h>
#include <tic.h> /* struct tinfo_fkeys */
MODULE_ID("$Id: init_keytry.c,v 1.22 2024/12/07 18:14:49 tom Exp $")
MODULE_ID("$Id: init_keytry.c,v 1.24 2026/01/18 00:53:15 tom Exp $")
/*
** _nc_init_keytry()
@ -89,6 +89,8 @@ _nc_init_keytry(SCREEN *sp)
* Add any of the extended strings to the tries if their name begins
* with 'k', i.e., they follow the convention of other terminfo key
* names.
*
* The "alt_" is a special case, for djgpp.
*/
{
TERMTYPE *tp = &(sp->_term->type);
@ -96,7 +98,7 @@ _nc_init_keytry(SCREEN *sp)
const char *name = ExtStrname(tp, (int) n, strnames);
const char *value = tp->Strings[n];
if (name != NULL
&& *name == 'k'
&& ((*name == 'k') || !strncmp(name, "alt_", 4))
&& VALID_STRING(value)
&& NCURSES_SP_NAME(key_defined) (NCURSES_SP_ARGx
value) == 0) {

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2024,2025 Thomas E. Dickey *
* Copyright 2018-2025,2026 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -160,7 +160,7 @@
#define CUR SP_TERMTYPE
#endif
MODULE_ID("$Id: lib_mvcur.c,v 1.167 2025/12/27 12:34:03 tom Exp $")
MODULE_ID("$Id: lib_mvcur.c,v 1.168 2026/01/13 08:43:39 tom Exp $")
#define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x] /* desired state */
@ -175,6 +175,29 @@ MODULE_ID("$Id: lib_mvcur.c,v 1.167 2025/12/27 12:34:03 tom Exp $")
static bool profiling = FALSE;
static float diff;
#define tputs TestTPUTS
#define tputs_sp TestTPUTS_sp
#define putp TestPUTP
static unsigned long xmits;
/* these override lib_tputs.c */
static int
NCURSES_SP_NAME(TestTPUTS)(NCURSES_SP_DCLx
const char *string,
int affcnt GCC_UNUSED,
NCURSES_SP_OUTC outc)
/* stub tputs() that dumps sequences in a visible form */
{
(void) SP_PARM;
(void) outc;
if (profiling)
xmits += strlen(string);
else
(void) fputs(_nc_visbuf(string), stdout);
return (OK);
}
#endif /* MAIN */
#undef NCURSES_OUTC_FUNC
@ -1154,39 +1177,6 @@ NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL;
NCURSES_EXPORT_VAR(const char *) _nc_progname = "mvcur";
static unsigned long xmits;
/* these override lib_tputs.c */
NCURSES_EXPORT(int)
tputs(const char *string, int affcnt GCC_UNUSED, int (*outc) (int) GCC_UNUSED)
/* stub tputs() that dumps sequences in a visible form */
{
if (profiling)
xmits += strlen(string);
else
(void) fputs(_nc_visbuf(string), stdout);
return (OK);
}
NCURSES_EXPORT(int)
putp(const char *string)
{
return (tputs(string, 1, _nc_outch));
}
NCURSES_EXPORT(int)
_nc_outch(int ch)
{
putc(ch, stdout);
return OK;
}
NCURSES_EXPORT(int)
delay_output(int ms GCC_UNUSED)
{
return OK;
}
static char tname[PATH_MAX];
static void

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2020,2024 Thomas E. Dickey *
* Copyright 2020-2024,2026 Thomas E. Dickey
* Copyright 2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -28,7 +28,7 @@
****************************************************************************/
#include <curses.priv.h>
MODULE_ID("$Id: wcwidth.c,v 1.5 2024/05/04 18:31:39 tom Exp $")
MODULE_ID("$Id: wcwidth.c,v 1.6 2026/01/03 11:43:50 tom Exp $")
#if USE_WIDEC_SUPPORT
#define mk_wcwidth(ucs) _nc_wcwidth(ucs)
@ -36,11 +36,21 @@ MODULE_ID("$Id: wcwidth.c,v 1.5 2024/05/04 18:31:39 tom Exp $")
#define mk_wcwidth_cjk(ucs) _nc_wcwidth_cjk(ucs)
#define mk_wcswidth_cjk(pwcs, n) _nc_wcswidth_cjk(pwcs, n)
NCURSES_EXPORT(void) mk_wcwidth_init(int);
#include <stddef.h>
typedef enum {
WcUnknown = 0
,WcSoftHyphen = 1 /* soft-hyphen is spacing, e.g., Latin-1 */
,WcPrivateFullwidth = 2 /* private-use codes can be fullwidth in CJK */
,WcEmojiFullwidth = 4 /* Emojis are fullwidth */
} WcModes;
NCURSES_EXPORT(int) mk_wcwidth_init(int);
NCURSES_EXPORT(int) mk_wcwidth(uint32_t);
NCURSES_EXPORT(int) mk_wcswidth(const uint32_t *, size_t);
NCURSES_EXPORT(int) mk_wcwidth_cjk(uint32_t);
NCURSES_EXPORT(int) mk_wcswidth_cjk(const uint32_t *, size_t);
NCURSES_EXPORT(int) mk_is_emoji(wchar_t ucs);
#include <wcwidth.h>
#else

View File

@ -1,8 +1,8 @@
ncurses6td (6.6+20251230) unstable; urgency=low
ncurses6td (6.6+20260124) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Tue, 30 Dec 2025 15:44:53 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 24 Jan 2026 05:50:05 -0500
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -4,7 +4,7 @@ Upstream-Contact: Thomas E. Dickey <dickey@invisible-island.net>
Source: https://invisible-island.net/ncurses/ncurses.html
Files: *
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 2017-2025,2026 by Thomas E. Dickey
1998-2016,2017 Free Software Foundation, Inc.
License: X11 License Distribution Modification Variant
Permission is hereby granted, free of charge, to any person obtaining a
@ -34,7 +34,7 @@ Comment:
https://invisible-island.net/ncurses/ncurses-license.html
Files: aclocal.m4 package
Copyright: 1996-2024,2025 by Thomas E. Dickey
Copyright: 1996-2025,2026 by Thomas E. Dickey
License: X11 License Distribution Modification Variant
Files: doc/html/NCURSES-Programming-HOWTO.html

View File

@ -1,8 +1,8 @@
ncurses6td (6.6+20251230) unstable; urgency=low
ncurses6td (6.6+20260124) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Tue, 30 Dec 2025 15:44:53 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 24 Jan 2026 05:50:05 -0500
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -4,7 +4,7 @@ Upstream-Contact: Thomas E. Dickey <dickey@invisible-island.net>
Source: https://invisible-island.net/ncurses/ncurses.html
Files: *
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 2017-2025,2026 by Thomas E. Dickey
1998-2016,2017 Free Software Foundation, Inc.
License: X11 License Distribution Modification Variant
Permission is hereby granted, free of charge, to any person obtaining a
@ -34,7 +34,7 @@ Comment:
https://invisible-island.net/ncurses/ncurses-license.html
Files: aclocal.m4 package
Copyright: 1996-2024,2025 by Thomas E. Dickey
Copyright: 1996-2025,2026 by Thomas E. Dickey
License: X11 License Distribution Modification Variant
Files: doc/html/NCURSES-Programming-HOWTO.html

View File

@ -1,8 +1,8 @@
ncurses6td (6.6+20251230) unstable; urgency=low
ncurses6td (6.6+20260124) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Tue, 30 Dec 2025 15:44:53 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 24 Jan 2026 05:50:05 -0500
ncurses6 (5.9+20120608) unstable; urgency=low

View File

@ -4,7 +4,7 @@ Upstream-Contact: Thomas E. Dickey <dickey@invisible-island.net>
Source: https://invisible-island.net/ncurses/ncurses.html
Files: *
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 2017-2025,2026 by Thomas E. Dickey
1998-2016,2017 Free Software Foundation, Inc.
License: X11 License Distribution Modification Variant
Permission is hereby granted, free of charge, to any person obtaining a
@ -34,7 +34,7 @@ Comment:
https://invisible-island.net/ncurses/ncurses-license.html
Files: aclocal.m4 package
Copyright: 1996-2024,2025 by Thomas E. Dickey
Copyright: 1996-2025,2026 by Thomas E. Dickey
License: X11 License Distribution Modification Variant
Files: doc/html/NCURSES-Programming-HOWTO.html

View File

@ -1,4 +1,4 @@
# $Id: ncurses6td.lintian-overrides,v 1.3 2025/06/14 19:43:41 tom Exp $
# $Id: ncurses6td.lintian-overrides,v 1.4 2026/01/14 09:51:05 tom Exp $
# This is intentional.
ncurses6td: package-name-doesnt-match-sonames libformw6-6 libmenuw6-6 libncurses++w6-6 libncursesw6-6 libpanelw6-6 libticw6-6 libtinfow6-6
@ -6,6 +6,6 @@ ncurses6td: package-name-doesnt-match-sonames libformw6-6 libmenuw6-6 libncurses
# This is intentional.
ncurses6td: no-manual-page
ncurses6td: non-dev-pkg-with-shlib-symlink
ncurses6td: embedded-library ncurses [usr/lib/x86_64-linux-gnu/libtinfow6.so.6.5]
ncurses6td: embedded-library ncurses [usr/lib/x86_64-linux-gnu/libtinfow6.so.6.6]
# vile: confmode

View File

@ -1,4 +1,4 @@
# $Id: ncursest6td.lintian-overrides,v 1.3 2025/06/14 19:43:41 tom Exp $
# $Id: ncursest6td.lintian-overrides,v 1.4 2026/01/14 09:51:13 tom Exp $
# This is intentional.
ncursest6td: package-name-doesnt-match-sonames libformtw6-6 libmenutw6-6 libncurses++tw6-6 libncursestw6-6 libpaneltw6-6 libtictw6-6 libtinfotw6-6
@ -6,6 +6,6 @@ ncursest6td: package-name-doesnt-match-sonames libformtw6-6 libmenutw6-6 libncur
# This is intentional.
ncursest6td: no-manual-page
ncursest6td: non-dev-pkg-with-shlib-symlink
ncursest6td: embedded-library ncurses [usr/lib/x86_64-linux-gnu/libtinfotw6.so.6.5]
ncursest6td: embedded-library ncurses [usr/lib/x86_64-linux-gnu/libtinfotw6.so.6.6]
# vile: confmode

View File

@ -1,4 +1,4 @@
; $Id: mingw-ncurses.nsi,v 1.740 2025/12/30 20:44:53 tom Exp $
; $Id: mingw-ncurses.nsi,v 1.745 2026/01/24 10:50:05 tom Exp $
; TODO add examples
; TODO bump ABI to 6
@ -9,8 +9,8 @@
!define VERSION_MAJOR "6"
!define VERSION_MINOR "6"
!define VERSION_YYYY "2025"
!define VERSION_MMDD "1230"
!define VERSION_YYYY "2026"
!define VERSION_MMDD "0124"
!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.6
Release: 20251230
Release: 20260124
License: X11 License Distribution Modification Variant
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
@ -144,8 +144,8 @@ popd
%changelog
* Tue Dec 30 2025 Thomas E. Dickey
- testing ncurses 6.6-20251230
* Sat Jan 24 2026 Thomas E. Dickey
- testing ncurses 6.6-20260124
* 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.6
Release: 20251230
Release: 20260124
License: X11 License Distribution Modification Variant
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
@ -134,8 +134,8 @@ rm -f test/ncurses
%changelog
* Tue Dec 30 2025 Thomas E. Dickey
- testing ncurses 6.6-20251230
* Sat Jan 24 2026 Thomas E. Dickey
- testing ncurses 6.6-20260124
* 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.6
Release: 20251230
Release: 20260124
License: X11 License Distribution Modification Variant
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
@ -142,8 +142,8 @@ exit 0
%changelog
* Tue Dec 30 2025 Thomas E. Dickey
- testing ncurses 6.6-20251230
* Sat Jan 24 2026 Thomas E. Dickey
- testing ncurses 6.6-20260124
* Tue Dec 24 2019 Thomas Dickey
- drop custom CC_NORMAL warning flags because setting CFLAGS interferes with

View File

@ -49,7 +49,7 @@
#include <parametrized.h>
#include <transform.h>
MODULE_ID("$Id: tic.c,v 1.334 2025/12/25 21:27:48 tom Exp $")
MODULE_ID("$Id: tic.c,v 1.335 2025/12/31 12:03:37 tom Exp $")
#define STDIN_NAME "<stdin>"
@ -619,7 +619,7 @@ valid_db_path(const char *nominal)
if (leaf) {
char save = result[leaf];
result[leaf] = 0;
if (_nc_is_path_found(result, &sb)
if (_nc_is_path_found(result, &sb)
&& S_ISDIR(sb.st_mode)
&& access(result, R_OK | W_OK | X_OK) == 0) {
result[leaf] = save;

42
test/aclocal.m4 vendored
View File

@ -27,7 +27,7 @@ dnl sale, use or other dealings in this Software without prior written *
dnl authorization. *
dnl***************************************************************************
dnl
dnl $Id: aclocal.m4,v 1.245 2025/12/25 23:50:50 tom Exp $
dnl $Id: aclocal.m4,v 1.248 2026/01/24 19:31:26 tom Exp $
dnl
dnl Author: Thomas E. Dickey
dnl
@ -604,7 +604,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>],[printf("Hello world");])],
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CHECK_CURSES_LIB version: 5 updated: 2025/12/24 13:18:10
dnl CF_CHECK_CURSES_LIB version: 6 updated: 2026/01/24 14:31:00
dnl -------------------
dnl $1 = nominal library name, used also for header lookup
dnl $2 = suffix to append to library name
@ -635,9 +635,9 @@ elif test "x${PKG_CONFIG:=none}" != xnone; then
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <$1.h>],
[(void) $3 ( ]ifelse([$4],,,[[$4]])[ );])],
[AC_TRY_RUN([#include <$1.h>
[AC_RUN_IFELSE([AC_LANG_SOURCE([#include <$1.h>
int main(void)
{ (void) $3 ( ]ifelse([$4],,,[[$4]])[ ); return 0; }],
{ (void) $3 ( ]ifelse([$4],,,[[$4]])[ ); return 0; }])],
[cf_have_curses_lib=yes],
[cf_have_curses_lib=no],
[cf_have_curses_lib=maybe])],
@ -813,7 +813,7 @@ done
test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map,[Define as needed to override ncurses prefix _nc_])
])
dnl ---------------------------------------------------------------------------
dnl CF_CURSES_CHECK_DATA version: 10 updated: 2021/01/04 19:45:09
dnl CF_CURSES_CHECK_DATA version: 12 updated: 2026/01/24 14:31:00
dnl --------------------
dnl Check if curses.h defines the given data/variable.
dnl Use this after CF_NCURSES_CONFIG or CF_CURSES_CONFIG.
@ -839,14 +839,14 @@ if test "$cf_result" = yes ; then
else
AC_MSG_CHECKING(for data $cf_data in library)
# BSD linkers insist on making weak linkage, but resolve at runtime.
AC_TRY_RUN(CF__CURSES_HEAD
AC_RUN_IFELSE([AC_LANG_SOURCE(CF__CURSES_HEAD
[
extern char $cf_data;
int main(void)
{
]CF__CURSES_DATA(foo,$cf_data)[
${cf_cv_main_return:-return}(foo == 0);
}],[cf_result=yes
}])],[cf_result=yes
],[cf_result=no],[
# cross-compiling
AC_LINK_IFELSE([AC_LANG_PROGRAM(CF__CURSES_HEAD
@ -1701,24 +1701,24 @@ fi
AC_SUBST(EXTRA_CFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_FUNC_CURSES_VERSION version: 9 updated: 2023/01/05 18:06:10
dnl CF_FUNC_CURSES_VERSION version: 10 updated: 2026/01/24 14:31:00
dnl ----------------------
dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
dnl It's a character string "SVR4", not documented.
AC_DEFUN([CF_FUNC_CURSES_VERSION],
[
AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#include <${cf_cv_ncurses_header:-curses.h}>
int main(void)
{
char temp[1024];
char temp[[1024]];
sprintf(temp, "%.999s\\n", curses_version());
${cf_cv_main_return:-return}(0);
}]
}])]
,[cf_cv_func_curses_version=yes]
,[cf_cv_func_curses_version=no]
,[cf_cv_func_curses_version=unknown])
@ -2589,7 +2589,7 @@ CF_SUBDIR_PATH($1,$2,lib)
$1="$cf_library_path_list [$]$1"
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_MAKE_PHONY version: 4 updated: 2025/12/24 12:27:29
dnl CF_MAKE_PHONY version: 5 updated: 2025/12/27 13:03:23
dnl -------------
dnl Check if the make-program handles a ".PHONY" target, e.g,. a target which
dnl acts as a placeholder.
@ -2615,7 +2615,7 @@ dnl
dnl + Version 3.8 of the dmake program in January 1992 also implemented this
dnl GNU make extension, but is less well known than the BSD make.
AC_DEFUN([CF_MAKE_PHONY],[
AC_CACHE_CHECK(for \".PHONY\" make-support, cf_cv_make_PHONY,[
AC_CACHE_CHECK(for ".PHONY" make-support, cf_cv_make_PHONY,[
rm -rf conftest*
(
mkdir conftest || exit 1
@ -2829,7 +2829,7 @@ printf("old\\n");
,[$1=no])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_NCURSES_CONFIG version: 30 updated: 2025/12/22 04:16:14
dnl CF_NCURSES_CONFIG version: 31 updated: 2026/01/18 10:40:15
dnl -----------------
dnl Tie together the configure-script macros for ncurses, preferring these in
dnl order:
@ -2869,9 +2869,9 @@ if test "x${PKG_CONFIG:=none}" != xnone; then
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <${cf_cv_ncurses_header:-curses.h}>],
[initscr(); mousemask(0,0); tigetstr((char *)0);])],
[AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}>
[AC_RUN_IFELSE([AC_LANG_SOURCE([#include <${cf_cv_ncurses_header:-curses.h}>
int main(void)
{ const char *xx = curses_version(); return (xx == 0); }],
{ const char *xx = curses_version(); return (xx == 0); }])],
[cf_test_ncuconfig=yes],
[cf_test_ncuconfig=no],
[cf_test_ncuconfig=maybe])],
@ -2896,9 +2896,9 @@ if test "x${PKG_CONFIG:=none}" != xnone; then
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <${cf_cv_ncurses_header:-curses.h}>],
[initscr(); mousemask(0,0); tigetstr((char *)0);])],
[AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}>
[AC_RUN_IFELSE([AC_LANG_SOURCE([#include <${cf_cv_ncurses_header:-curses.h}>
int main(void)
{ const char *xx = curses_version(); return (xx == 0); }],
{ const char *xx = curses_version(); return (xx == 0); }])],
[cf_have_ncuconfig=yes],
[cf_have_ncuconfig=no],
[cf_have_ncuconfig=maybe])],
@ -3194,7 +3194,7 @@ then
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_NCURSES_VERSION version: 19 updated: 2025/12/22 04:16:14
dnl CF_NCURSES_VERSION version: 20 updated: 2026/01/18 10:40:15
dnl ------------------
dnl Check for the version of ncurses, to aid in reporting bugs, etc.
dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
@ -3206,7 +3206,7 @@ AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
cf_cv_ncurses_version=no
cf_tempfile=out$$
rm -f "$cf_tempfile"
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([
$ac_includes_default
#include <${cf_cv_ncurses_header:-curses.h}>
@ -3228,7 +3228,7 @@ int main(void)
# endif
#endif
${cf_cv_main_return:-return}(0);
}],[
}])],[
cf_cv_ncurses_version=`cat $cf_tempfile`],,[
# This will not work if the preprocessor splits the line after the

14
test/configure vendored
View File

@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by Autoconf 2.52.20250126.
# Generated by Autoconf 2.52.20260118.
#
# Copyright 2003-2022,2023 Thomas E. Dickey
# Copyright 2003-2025,2026 Thomas E. Dickey
# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
@ -798,7 +798,7 @@ test -n "$ac_init_help" && exit 0
if "$ac_init_version"; then
cat <<\EOF
Copyright 2003-2022,2023 Thomas E. Dickey
Copyright 2003-2025,2026 Thomas E. Dickey
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@ -812,7 +812,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
generated by GNU Autoconf 2.52.20250126. Invocation command line was
generated by GNU Autoconf 2.52.20260118. Invocation command line was
$ $0 $@
@ -24656,10 +24656,10 @@ EOF
cat >>"$CONFIG_STATUS" <<EOF
ac_cs_version="\\
config.status
configured by $0, generated by GNU Autoconf 2.52.20250126,
configured by $0, generated by GNU Autoconf 2.52.20260118,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
Copyright 2003-2022,2023 Thomas E. Dickey
Copyright 2003-2023,2025 Thomas E. Dickey
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
@ -24739,7 +24739,7 @@ cat >&5 << _ACEOF
## Running config.status. ##
## ----------------------- ##
This file was extended by $as_me 2.52.20250126, executed with
This file was extended by $as_me 2.52.20260118, executed with
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2024,2025 Thomas E. Dickey *
* Copyright 2018-2025,2026 Thomas E. Dickey *
* Copyright 2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -27,7 +27,7 @@
* authorization. *
****************************************************************************/
/*
* $Id: demo_new_pair.c,v 1.34 2025/08/08 15:47:32 tom Exp $
* $Id: demo_new_pair.c,v 1.35 2026/01/10 20:36:29 tom Exp $
*
* Demonstrate the alloc_pair() function.
*/
@ -167,7 +167,7 @@ VERSION_COMMON()
int
main(int argc, char *argv[])
{
static const char *help[] =
static NCURSES_CONST char *help[] =
{
"This program iterates over the possible color combinations,",
"allocating or initializing color pairs. For best results,",

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2019-2024,2025 Thomas E. Dickey *
* Copyright 2019-2025,2026 Thomas E. Dickey *
* Copyright 2005-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -30,7 +30,7 @@
/*
* Author: Thomas E. Dickey
*
* $Id: demo_termcap.c,v 1.75 2025/07/05 15:11:35 tom Exp $
* $Id: demo_termcap.c,v 1.76 2026/01/11 12:03:22 tom Exp $
*
* A simple demo of the termcap interface.
*/
@ -867,7 +867,7 @@ main(int argc, char *argv[])
} else if ((name = getenv("TERM")) != NULL) {
brute_force(name);
} else {
static NCURSES_CONST char dumb[] = "dumb";
static NCURSES_CONST char dumb[] = DEFAULT_TERM_ENV;
brute_force(dumb);
}
}
@ -894,7 +894,7 @@ main(int argc, char *argv[])
} else if ((name = getenv("TERM")) != NULL) {
demo_termcap(name);
} else {
static NCURSES_CONST char dumb[] = "dumb";
static NCURSES_CONST char dumb[] = DEFAULT_TERM_ENV;
demo_termcap(dumb);
}
}

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2019-2024,2025 Thomas E. Dickey *
* Copyright 2019-2025,2026 Thomas E. Dickey *
* Copyright 2009-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -30,7 +30,7 @@
/*
* Author: Thomas E. Dickey
*
* $Id: demo_terminfo.c,v 1.64 2025/07/05 15:11:35 tom Exp $
* $Id: demo_terminfo.c,v 1.65 2026/01/11 12:03:22 tom Exp $
*
* A simple demo of the terminfo interface.
*/
@ -891,7 +891,7 @@ main(int argc, char *argv[])
} else if ((name = getenv("TERM")) != NULL) {
brute_force(name);
} else {
static NCURSES_CONST char dumb[] = "dumb";
static NCURSES_CONST char dumb[] = DEFAULT_TERM_ENV;
brute_force(dumb);
}
}
@ -918,7 +918,7 @@ main(int argc, char *argv[])
} else if ((name = getenv("TERM")) != NULL) {
demo_terminfo(name);
} else {
static NCURSES_CONST char dumb[] = "dumb";
static NCURSES_CONST char dumb[] = DEFAULT_TERM_ENV;
demo_terminfo(dumb);
}
}

View File

@ -4,7 +4,7 @@ Upstream-Contact: Thomas E. Dickey <dickey@invisible-island.net>
Source: https://invisible-island.net/ncurses/ncurses-examples.html
Files: *
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 2017-2025,2026 by Thomas E. Dickey
1998-2016,2017 Free Software Foundation, Inc.
License: X11 License Distribution Modification Variant
Permission is hereby granted, free of charge, to any person obtaining a
@ -34,7 +34,7 @@ Comment:
https://invisible-island.net/ncurses/ncurses-license.html
Files: aclocal.m4 package
Copyright: 2003-2024,2025 by Thomas E. Dickey
Copyright: 2003-2025,2026 by Thomas E. Dickey
License: X11 License Distribution Modification Variant
Files: install-sh

View File

@ -4,7 +4,7 @@ Upstream-Contact: Thomas E. Dickey <dickey@invisible-island.net>
Source: https://invisible-island.net/ncurses/ncurses-examples.html
Files: *
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 2017-2025,2026 by Thomas E. Dickey
1998-2016,2017 Free Software Foundation, Inc.
License: X11 License Distribution Modification Variant
Permission is hereby granted, free of charge, to any person obtaining a
@ -34,7 +34,7 @@ Comment:
https://invisible-island.net/ncurses/ncurses-license.html
Files: aclocal.m4 package
Copyright: 2003-2024,2025 by Thomas E. Dickey
Copyright: 2003-2025,2026 by Thomas E. Dickey
License: X11 License Distribution Modification Variant
Files: install-sh

View File

@ -4,7 +4,7 @@ Upstream-Contact: Thomas E. Dickey <dickey@invisible-island.net>
Source: https://invisible-island.net/ncurses/ncurses-examples.html
Files: *
Copyright: 2017-2024,2025 by Thomas E. Dickey
Copyright: 2017-2025,2026 by Thomas E. Dickey
1998-2016,2017 Free Software Foundation, Inc.
License: X11 License Distribution Modification Variant
Permission is hereby granted, free of charge, to any person obtaining a
@ -34,7 +34,7 @@ Comment:
https://invisible-island.net/ncurses/ncurses-license.html
Files: aclocal.m4 package
Copyright: 2003-2024,2025 by Thomas E. Dickey
Copyright: 2003-2025,2026 by Thomas E. Dickey
License: X11 License Distribution Modification Variant
Files: install-sh

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2019-2024,2025 Thomas E. Dickey *
* Copyright 2019-2025,2026 Thomas E. Dickey *
* Copyright 2000-2013,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -30,7 +30,7 @@
/*
* Author: Thomas E. Dickey - 2000
*
* $Id: railroad.c,v 1.31 2025/12/14 10:58:45 tom Exp $
* $Id: railroad.c,v 1.32 2026/01/11 12:03:22 tom Exp $
*
* A simple demo of the termcap interface.
*/
@ -185,17 +185,13 @@ onsig(int n GCC_UNUSED)
static void
railroad(char **args)
{
NCURSES_CONST char *name = getenv("TERM");
NCURSES_CONST char *name;
char buffer[1024];
char area[1024], *ap = area;
int z;
if (name == NULL)
#ifdef DEFAULT_TERM_ENV
if ((name = getenv("TERM")) == NULL)
name = DEFAULT_TERM_ENV;
#else
name = "dumb";
#endif
InitAndCatch(z = tgetent(buffer, name), onsig);
if (z >= 0) {

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2018-2024,2025 Thomas E. Dickey *
* Copyright 2018-2025,2026 Thomas E. Dickey *
* Copyright 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -30,7 +30,7 @@
/****************************************************************************
* Author: Thomas E. Dickey 1996-on *
****************************************************************************/
/* $Id: test.priv.h,v 1.229 2025/12/06 21:21:06 tom Exp $ */
/* $Id: test.priv.h,v 1.230 2026/01/11 12:03:22 tom Exp $ */
#ifndef __TEST_PRIV_H
#define __TEST_PRIV_H 1
@ -782,6 +782,10 @@ extern int optind;
#define HELP_KEY_1 '?'
#define HELP_KEY_2 KEY_F(1)
#ifndef DEFAULT_TERM_ENV
#define DEFAULT_TERM_ENV "dumb"
#endif
/* our "standard" options for getopt, needed for help2man */
#define OPTS_COMMAND 'c'
#define OPTS_LOGGING 'l'

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2020-2024,2025 Thomas E. Dickey *
* Copyright 2020-2025,2026 Thomas E. Dickey *
* Copyright 2015,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -30,7 +30,7 @@
/*
* Author: Thomas E. Dickey
*
* $Id: test_setupterm.c,v 1.19 2025/07/05 15:21:56 tom Exp $
* $Id: test_setupterm.c,v 1.20 2026/01/11 12:03:22 tom Exp $
*
* A simple demo of setupterm/restartterm.
*/
@ -242,7 +242,7 @@ main(int argc, char *argv[])
if (a_opt) {
static char predef[][12] =
{"vt100", "dumb", "lpr", "unknown", "none-such"};
{"vt100", DEFAULT_TERM_ENV, "lpr", "unknown", "none-such"};
if (optind < argc) {
usage(FALSE);
}

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright 2019-2024,2025 Thomas E. Dickey *
* Copyright 2019-2025,2026 Thomas E. Dickey *
* Copyright 2015-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@ -30,7 +30,7 @@
/*
* Author: Thomas E. Dickey
*
* $Id: test_sgr.c,v 1.28 2025/07/05 15:11:35 tom Exp $
* $Id: test_sgr.c,v 1.29 2026/01/11 12:03:22 tom Exp $
*
* A simple demo of the sgr/sgr0 terminal capabilities.
*/
@ -369,7 +369,7 @@ main(int argc, char *argv[])
} else if ((name = getenv("TERM")) != NULL) {
brute_force(name);
} else {
static const char dumb[] = "dumb";
static const char dumb[] = DEFAULT_TERM_ENV;
brute_force(dumb);
}