-------------------------------------------------------------------------------
--- Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. --
+-- Copyright 2018-2019,2020 Thomas E. Dickey --
+-- Copyright 1998-2017,2018 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- copy of this software and associated documentation files (the --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3416 2019/12/14 21:26:03 tom Exp $
+-- $Id: NEWS,v 1.3530 2020/08/01 21:09:01 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20200801
+ + remove remaining parts of checks for ISC Unix (cf: 20121006).
+ + add user32.lib to LDFLAGS for Visual Studio C++ configuration
+ (discussion with "Maarten Anonymous").
+ + modify MKkey_defs.sh to hide ncurses' definition of KEY_EVENTS to
+ reduce Visual Studio C++ redefinition warnings.
+ + improve/update checks for external functions in test/configure
+
+20200725
+ + set LINK_TESTS in CF_SHARED_OPTS for msvc (patch by
+ "Maarten Anonymous")
+ + improved workaround for redefinition-warnings for KEY_EVENT.
+ + improve man/term.5 section on legacy storage format (report by
+ Florian Weimer).
+
+20200718
+ + reduce redefinition-warnings for KEY_EVENT when building with Visual
+ Studio C++.
+ + define NCURSES_STATIC when compiling programs to link with static
+ libraries, to work with MinGW vs Visual Studio C++.
+ > additional changes for building with Visual Studio C++ and msys2
+ (reports/patches by "Maarten Anonymous")
+ + modify c++/Makefile.in to set the current directory while compiling
+ the main program, so the linker can find related objects.
+ + several changes to allow the c++/demo program to compile/link.
+ + change an ifdef in test-directory, to use VC++ wide-character funcs.
+
+20200711
+ + fix pound-sign mapping in acsc of linux2.6 entry (report by Ingo
+ Bruckl).
+ + additional changes for building with Visual Studio C++ and msys2
+ (reports/patches by "Maarten Anonymous")
+ + build-improvements for Windows 10 and MinGW (patch by Juergen
+ Pfeifer).
+ + fix a typo in curs_printw.3x (patch by William Pursell).
+ + fix two errors in infotocap which allowed indexing outside the
+ buffer (report/testcases by Zhang Gan).
+ + update length of strings in infocmp's usage function to restore a
+ trailing null on the longest string (report/testcase by Zhang Gen).
+
+20200704
+ + modify version-check with Ada generics to use the same pattern as in
+ the check for supported gnat versions (report by Pascal Pignard).
+ > additional changes for building with Visual Studio C++ and msys2
+ (patches by "Maarten Anonymous"):
+ + adjust headers/declarations to provide for "dllimport" vs "dllexport"
+ declarations when constructing DLLs, to worko with Visual Studio C++.
+
+20200627
+ + build-fixes for gnat 10.1.1, whose gnatmake drops integration with
+ gprbuild.
+ + correct buffer-length in test/color_name.h
+
+20200613
+ + update list of functions in ncurses.3x
+ + move dlclose() call from lib_mouse.c to delscreen() to avoid a case
+ in the former which could be called from SIGTSTP handler (Debian
+ #961097).
+
+20200606
+ + add xterm+256color2, xterm+88color2, to deprecate nonstandard usage
+ in xterm+256color, xterm+88color -TD
+ + add shifted Linux console keys in linux+sfkeys entry for
+ screen.linux (report by Alexandre Montaron).
+ + use vt100+enq in screen (report by Alexandre Montaron).
+ + add screen.linux-s alias (suggested by Alexandre Montaron).
+
+20200531
+ + correct configure version-check/warnng for g++ to allow for 10.x
+ + re-enable "bel" in konsole-base (report by Nia Huang)
+ + add linux-s entry (patch by Alexandre Montaron).
+ + drop long-obsolete convert_configure.pl
+ + add test/test_parm.c, for checking tparm changes.
+ + improve parameter-checking for tparm, adding function _nc_tiparm() to
+ handle the most-used case, which accepts only numeric parameters
+ (report/testcase by "puppet-meteor").
+ + use a more conservative estimate of the buffer-size in lib_tparm.c's
+ save_text() and save_number(), in case the sprintf() function
+ passes-through unexpected characters from a format specifier
+ (report/testcase by "puppet-meteor").
+ + add a check for end-of-string in cvtchar to handle a malformed
+ string in infotocap (report/testcase by "puppet-meteor").
+
+20200523
+ + update version-check for gnat to allow for gnat 10.x to 99.x
+ + fix an uninitialized variable in lib_mouse.c changes (cf: 20200502)
+ + add a check in EmitRange to guard against repeat_char emitting digits
+ which could be interpreted as BSD-style padding when --enable-bsdpad
+ is configured (report/patch by Hiltjo Posthuma).
+ + add --disable-pkg-ldflags to suppress EXTRA_LDFLAGS from the
+ generated pkg-config and ncurses*-config files, to simplify
+ configuring in the case where rpath is used but the packager wants
+ to hide the feature (report by Michael Stapelberg).
+ > fixes for building with Visual Studio C++ and msys2 (patches by
+ "Maarten Anonymous"):
+ + modify CF_SHARED_OPTS to generate a script which translates linker
+ options into Visual Studio's dialect.
+ + omit parentheses around function-names in generated lib_gen.c to
+ work around a Visual Studio C++ limitation.
+
+20200516
+ + add notes on termcap.h header in curs_termcap.3x
+ + update notes on vscode / xterm.js -TD
+
+20200509
+ + add "-r" option to the dots test-programs, to help with scripting
+ a performance comparison.
+ + build-fix test/move_field.c for NetBSD curses, whose form headers
+ use different names than SVr4 or ncurses.
+
+20200502
+ + add details on the change to Linux SGR 21 in 2018 -TD
+ + add xterm-direct16 and xterm-direct256 -TD
+ + modify lib_mouse.c to check for out-of-range button numbers, convert
+ those to position reports.
+
+20200425
+ + use vt100+fnkeys in putty -TD
+ + fix a typo in tput.1; "columns" should be "cols".
+
+20200418
+ + improve tracemunch logic for "RUN" compaction.
+ + fix a special case in wresize() where copying the old text did not
+ check if the last cell on a row was the beginning of a fullwidth
+ character (adapted from patch by Benno Schulenberg).
+ + use vt52+keypad in xterm-vt52, from xterm #354 -TD
+ + improve see-also section of user_caps.5
+
+20200411
+ + fix find_pair(), overlooked when refactoring for _nc_reserve_pairs()
+ (report/testcase by Brad Town, cf: 20170812).
+ + add a trailing null for magic-string in putwin, flagged by gcc 10
+ + update check for gcc version versus gnat to work with gcc 10.x
+
+20200404
+ + modify -fvisibility check to work with g++
+ > fixes for building with Visual Studio C++ and msys2 (patches by
+ "Maarten Anonymous"):
+ + add configure option and check for gcc -fvisibility=hidden feature
+ + define NCURSES_NOMACROS in lib_gen.c to work around Visual Studio
+ C++ preprocessor limitations.
+ + modify some of the configure-macros, as well as mk-1st.awk to work
+ with Visual Studio C++ default filenaming.
+
+20200328
+ + correct length of buffer copied in dup_field().
+ + remove "$(srcdir)/" from path of library.gpr, needed for out-of-tree
+ builds of Ada95 (patch by Adam Van Ymeren).
+
+20200321
+ + improve configure-checks to reduce warnings about unused variables.
+ + improve description of error-returns in waddch and waddnstr manual
+ pages (prompted by patch by Benno Schulenberg).
+ + add test/move_field.c to demonstrate move_field(), and a stub for
+ a corresponding demo of dup_field().
+
+20200314
+ + add history note to curs_scanw.3x for <stdarg.h> and <varargs.h>
+ + add history note to curs_printw.3x for <stdarg.h> and <varargs.h>
+ + add portability note to ncurses.3x regarding <stdarg.h>
+
+20200308
+ + update copyright notices in test-packages.
+ + modify tracemunch to guard against errors in its known_p1 table.
+ + add several --with-xxx-libname options, to help with pkgsrc (prompted
+ by discussion with Thomas Klausner).
+
+20200301
+ + modify wbkgd() and wbkgrnd() to avoid storing a null in the
+ background character, because it may be used in cases where the
+ corresponding 0x80 is not treated as a null (report by Marc Rechte,
+ cf: 20181208).
+
+20200229
+ + modify CF_NCURSES_CONFIG to work around xcode's c99 "-W" option,
+ which conflicts with conventional use for passing linker options.
+ > fixes for building with Visual Studio C++ and msys2 (patches by
+ "Maarten Anonymous"):
+ + check for pcre2posix.h instead of pcre2-posix.h
+ + add case in CF_SHARED_OPTS for msys2 + msvc
+ + add fallback definition for STDIN_FILENO in progs.priv.h
+ + modify win_driver.c to use _alloca() rather than gcc's variable
+ length array feature.
+ + add NCURSES_IMPEXP to ncurses wrapped-variable declarations
+ + remove NCURSES_IMPEXP from class variables in c++/cursslk.h
+ + remove fallback prototype for exit() from c++/etip.h.in
+ + use configured check for <sys/time.h> in a couple of places
+ + conditionally include winsock.h in ncurses/win32con/gettimeofday.c,
+ because Visual Studio needs this for the timestruct declaration.
+ + adjust syntax in a couple of files using the NCURSES_API symbol.
+
+20200222
+ + expanded note in ncurses.3x regarding automatically-included headers
+ + improve vt50h and vt52 based on DECScope manual -TD
+ + add/use vt52+keypad and vt52-basic -TD
+ + check/workaround for line-too-long in Ada95 generate utility when
+ building out-of-tree.
+ + improve/update HEADER_DEPS in */Makefile.in
+ + add "check" rule to include/Makefile, to demonstrate that the headers
+ include all of the required headers for the types used.
+
+20200215
+ + improve manual page for panel library, extending the portability
+ section as well as documenting error-returns.
+ + show tic's version when installing terminal database in run_tic.sh
+ + correct check for gcc vs other compilers used in ncurses 6.0, from
+ FreeBSD patch by Kyle Evans (cf: 20150725).
+ + add notes for 6.2 to INSTALL.
+
+20200212 6.2 release for upload to ftp.gnu.org
+ + update release notes
+ + minor build-fixes, mostly to test-package scripts
+
+20200208
+ + modify check for sizeof(wchar_t) to ensure it gives useful result
+ when cross-compiling.
+ + drop assumption in configure script that Cygwin's linker is broken.
+ + define NCURSES_BROKEN_LINKER if the broken-linker feature is used,
+ to simplify configure-checks for ncurses-examples.
+
+20200202
+ + reassert copyright on ncurses, per discussion in ncurses FAQ:
+ https://invisible-island.net/ncurses/ncurses.faq.html#relicensed
+
+20200201
+ + modify comparison in make_hash.c to correct a special case in
+ collision handling for Caps-hpux11
+ + add testing utility report_hashing to check hash-tables used for
+ terminfo and termcap names.
+ + fix a missing prototype for _nc_free_and_exit().
+ + update a few comments about tack 1.07
+ + use an awk script to split too-long pathnames used in Ada95 sample
+ programs for explain.txt
+
+20200118
+ + expanded description of XM in user_caps.5
+ + improve xm example for xterm+x11mouse, xterm+sm+1006 -TD
+ + add history section to curs_slk.3x and curs_terminfo.3x manpages.
+ + update alacritty entries for 0.4.0 (prompted by patch by
+ Christian Durr) -TD
+ + correct spelling errors found with codespell.
+ + fix for test/configure, from xterm #352.
+
+20200111
+ + improve configure macros which check for the X11/Intrinsic.h header,
+ to accommodate recent MacOS changes.
+ + suppress gcc's -Winline warning; it has not been useful for some time
+ + update config.guess, config.sub
+
+20200104
+ + modify a couple of macros in aclocal.m4 to allow autoconf 2.69 to
+ "work", to help illustrate discussion in
+ https://invisible-island.net/autoconf/my-autoconf.html
+ + fix some warnings from autoheader-252
+
+20191228
+ + in gen-pkgconfig.in, move the RPATH_LIST and PRIVATE_LIBS assignments
+ past the various prefix/libdir assignments, to allow for using those
+ symbols, e.g., as done via CF_SHARED_OPTS.
+ + improve ncurses*-config and pc-files by filtering out linker-specs.
+ + modify test-package to more closely match Fedora's configuration
+ for PIE/PIC feature and debug-packages.
+
+20191221
+ + correct pathname used in Ada95 sample programs for explain.txt, to
+ work with test-packages.
+ + improve tracemunch:
+ + keep track of TERMINAL* values
+ + if tracing was first turned on after initialization, attempt to
+ show distinct screen, window and terminal names anyway.
+ + ensure that GCC_NORETURN is defined in term.h, because the prototype
+ for exit_terminfo() uses it (report by Werner Fink).
+
20191214
+ add exit_curses() and exit_terminfo() to replace internal symbols for
leak-checking.
+ modify several test-programs which call use_default_colors() to
consistently do this only if "-d" option is given.
+ additional changes to test with non-standard variants of curses:
- + modify a loop limit in firework.c to work around absense of limit
+ + modify a loop limit in firework.c to work around absence of limit
checks in some libraries.
+ fill the last row of a window with "?" in firstlast if waddch does
not return ERR on the lower-right corner.
+ updated termcap manpage to document legacy termcap behavior for
matching capability names.
+ modify name-comparison for tgetstr, etc., to accommodate legacy
- applications as well as to improve compatbility with BSD 4.2
+ applications as well as to improve compatibility with BSD 4.2
termcap implementations (Debian #698299) (cf: 980725).
20130112
+ modify stat() calls to ignore the st_size member
+ drop mk-dlls.sh script.
+ change recommended regular expression library.
- + modify rain.c to allow for threaded configuraton.
+ + modify rain.c to allow for threaded configuration.
+ modify tset.c to allow for case when size-change logic is not used.
20111231
when weak-symbols are used, allowing the pthread configuration to
more closely match the non-thread naming (report by Werner Fink).
+ modify configure check for tic program, used for fallbacks, to a
- warning if not found. This makes it simpler to use additonal
+ warning if not found. This makes it simpler to use additional
scripts to bootstrap the fallbacks code using tic from the build
tree (report by Werner Fink).
+ fix several places in configure script using ${variable-value} form.
current directory (reported by Mike Castle <dalgoda@ix.netcom.com>).
+ modify terminfo/termcap translation to suppress acsc before trying
sgr if the entry would be too large (patch by Todd C Miller).
- + document a special case of incompatiblity between ncurses 4.2 and
+ + document a special case of incompatibility between ncurses 4.2 and
5.0, add a section for this in INSTALL.
+ add TRACE_DATABASE flag for trace().
+ resolve ambiguity of kend/kll/kslt and khome/kfnd/kich1 strings in
xterm and ncsa terminfo entries by removing the unneeded ones. Note
that some entries will return kend & khome versus kslt and kfnd, for
- PC-style keyboards versus strict vt220 compatiblity - TD
+ PC-style keyboards versus strict vt220 compatibility - TD
+ add function keybound(), which returns the definition associated with
a given keycode.
+ modify define_key() to undefine the given string when no keycode is
+ add configure --with-shlib-version option to allow installing shared
libraries named according to release or ABI versions. This
parameterizes some existing logic in the configure script, and is
- intended for compatiblity upgrades on Digital Unix, which used
+ intended for compatibility upgrades on Digital Unix, which used
versioned libraries in ncurses 4.2, but no longer does (cf: 980425).
+ resync configure script against autoconf 2.13 + patches
+ minor improvements for teraterm terminfo entry based on the program's
980523
+ correct maxx/maxy expression for num_columns/num_lines in derwin
(patch by Alexander V Lukyanov).
- + add /usr/share/lib/terminfo and /usr/lib/terminfo as compatibilty
+ + add /usr/share/lib/terminfo and /usr/lib/terminfo as compatibility
fallbacks to _nc_read_entry(), along with --with-terminfo-dirs
configure option (suggested by Mike Hopkirk).
+ modify config.guess to recognize Unixware 2.1 and 7 (patch by Mike
+ remove spurious trailing blanks in glibc addon-scripts (patch by
H.J.Lu).
+ insert a few braces at locations where gcc-2.8.x asks to use them to
- avoid ambigous else's, use -fpic rather than -fPIC for Linux (patch
+ avoid ambiguous else's, use -fpic rather than -fPIC for Linux (patch
by Juergen Pfeifer).
980404
> patch by Juergen Pfeifer:
+ factor lib_menu and lib_form into smaller modules
+ clean up the interface between panel and SCREEN
- + minor changes to the Ada95 mouse support implemenation
+ + minor changes to the Ada95 mouse support implementation
+ minor bugfix in C++ binding to ripoff windows
+ fix a few Ada95 html documentation pages
+ Enhance form/frm_driver.c: Allow growth of dynamic fields also on
navigation requests.
+ Fixed a bug in form/fty_enum.c: wrong position of postincrement in
- case-insensitiva comparision routine.
+ case-insensitiva comparison routine.
+ Enhanced form/lib_adabind.c with function _nc_get_field() to get a
forms field by index.
+ Enhanced menu/m_adabind.c with function _nc_get_item() to get a menus
4. correctly handle input errors (i.e., EINTR) without loss of raw
keys
5. recognize ESC KEY_LEFT and similar
- 6. correctly handle the case of receiption of KEY_MOUSE from gpm
+ 6. correctly handle the case of reception of KEY_MOUSE from gpm
+ correct off-by-one indexing error in _nc_mouse_parse(), that caused
single mouse events (press/release) to be ignored in favor of
composed events (click). Improves on a fix from integrating gpm
than total lines (patch by Alexander V. Lukyanov).
+ correct loop limits for table-lookup of enumerated value in form
(patch by Juergen Pfeifer).
- + improve threshhold computation for determining when to call ClrToEOL
+ + improve threshold computation for determining when to call ClrToEOL
(patch by Alexander V. Lukyanov).
970531
* tset(1) added
* mouse support for xterm.
* most data tables are now const and accordingly live in shareable text space.
-* Obey the XPG4/SVr4 practice that echo() is initally off.
+* Obey the XPG4/SVr4 practice that echo() is initially off.
* tic is much better at translating XENIX and AIX termcap entries now.
* tic can interpret ko capabilities now.
* integrated Juergen Pfeifer's forms library.
* Fixed a ^Z-handling bug that was tanking lynx(1).
* HJ Lu's patches for ELF shared libraries under Linux
* terminfo.src 9.8.2
-* tweaks for compiling in seperate directories.
+* tweaks for compiling in separate directories.
* Thomas Dickey's patches to support NeXT's brain-dead linker
* Eric Raymond's patches to fix problems with long termcap entries.
* more support for shared libraries under SunOS and IRIX.
* tic can understand termcap now, especially if it is called captoinfo.
* The Linux Standard Console terminfo entry is called linux insead of console.
It also uses the kernel's new method of changing charsets.
-* initscr() will EXIT upon error (as the docs say) This wil mostly happen if
+* initscr() will EXIT upon error (as the docs say) This will mostly happen if
you try to run on an undefined terminal.
* I can get things running on AIX but tic can't compile terminfo. I have to
compile entries on another machine. Volunteers to hunt this bug are welcome.
* cleaned up vidputs()
* general cleanup of the code
* more attention to portability to other systems
-* added terminfos for hp70092 (wont work until changes to lib_update.c are
+* added terminfos for hp70092 (won't work until changes to lib_update.c are
made) and 386BSD pcvt drivers.
Thanks to Hellmuth Michaelis for his help.