-------------------------------------------------------------------------------
--- 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.3376 2019/09/21 23:47:04 tom Exp $
+-- $Id: NEWS,v 1.3477 2020/04/18 23:57:32 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.
+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.
+
+20191207
+ + fix a few warnings for test-package builds
+ + add curses_trace(), to replace trace().
+
+20191130
+ + add portability section to curs_getcchar manpage (prompted by
+ discussion with Nick Black).
+ + improve portability discussion of ACS characters in curs_addch
+ manpage.
+ + improve typography for double-quotes in manpages.
+
+20191123
+ + fix typo for MinGW rpm test-package.
+ + workaround in rpm specs for NFS problems in Fedora 31.
+
+20191116
+ + modify ncurses/Makefile.in to fix a case where Debian/testing changes
+ to the ld --as-needed configuration broke ncurses-examples test
+ packages.
+ + drop library-dependency on psapi for MinGW port, since win_driver.c
+ defines PSAPI_VERSION to 2, making it use GetProcessImageFileName
+ from kernel32.dll (prompted by patch by Simon Sobish, cf: 20140503).
+
+20191109
+ + add warning-check in tic for terminals with parm_dch vs parm_ich.
+ + drop ich1 from rxvt-basic, Eterm and mlterm to improve compatibility
+ with old non-curses programs -TD
+ + reviewed st 0.8.2, updated some details -TD
+ + use ansi+rep several places -TD
+ + corrected tic's check for ich1 (report by Sebastian J. Bronner,
+ cf: 20020901).
+
+20191102
+ + check parameter of set_escdelay, return ERR if negative.
+ + check parameter of set_tabsize, return ERR if not greater than zero
+ (report/patch by Anthony Sottile).
+ + revise CF_ADD_LIBS macro to prepend rather than append libraries.
+ + add "xterm-mono" to help packagers (report by Sven Joachim) -TD
+
+20191026
+ + add a note in man/curs_add_wch.3x about Unicode terminology for the
+ line-drawing characters (report by Nick Black).
+ + improve comment in lib_tgoto.c regarding the use of \200 where a
+ \0 would be intended by the caller (report by "64 bit", cf: 20000923).
+ + modify linux-16color to accommodate Linux console driver change in
+ early 2018 (report by Dino Petrucci).
+
+20191019
+ + modify make_hash to not require --disable-leaks, to simplify building
+ with address-sanitizer.
+ + modify tic to exit if it cannot remove a conflicting name, because
+ treating that as a partial success can cause an infinite loop in
+ use-resolution (report/testcase by Hongxu Chen, cf: 20111001).
+
+20191015
+ + improve buffer-checks in captoinfo.c, for some cases when the
+ input string is shorter than expected.
+ > fix two errata in tic (report/testcases by Hongxu Chen):
+ + check for missing character after backslash in write_it
+ + check for missing characters after "%>" when converting from termcap
+ syntax (cf: 980530).
+
+20191012
+ + amend recent changes to ncurses*-config and pc-files to filter out
+ Debian linker-flags (report by Sven Joachim, cf: 20150516).
+ + clarify relationship between tic, infocmp and captoinfo in manpage.
+ + check for invalid hashcode in _nc_find_type_entry and
+ _nc_find_name_entry.
+ > fix several errata in tic (reports/testcases by "zjuchenyuan"):
+ + check for invalid hashcode in _nc_find_entry.
+ + check for missing character after backslash in fmt_entry
+ + check for acsc with odd length in dump_entry in check for one-one
+ mapping (cf: 20060415);
+ + check length when converting from old AIX box_chars_1 capability,
+ overlooked in changes to eliminate strcpy (cf: 20001007).
+
+20191005
+ + modify the ncurse*-config and pc-files to more closely match for the
+ -I and -l options.
+
+20190928
+ + amend the ncurses*-config and pc-files to take into account the rpath
+ hack which differed between those files.
+ + improve -L option filtering in ncurses*-config
+ + improve recovery from error when reading command-character in
+ test/ncurses.c, showing the relevant error message and not exiting on
+ EINTR (cf: 20180922)
+
20190921
+ add a note in resizeterm manpage about top-level windows which touch
the screen's borders.
+ 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.