ncurses 6.2 - patch 20200418
[ncurses.git] / NEWS
diff --git a/NEWS b/NEWS
index bae5f746ee155d084dbd7ec5ebdc293b4e473707..abc1f01b7963ce097252e746de27255c2bcea83a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,6 @@
 -------------------------------------------------------------------------------
--- 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             --
@@ -25,7 +26,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3359 2019/08/03 22:31:47 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
@@ -45,6 +46,284 @@ 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.
 
+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 configure-checks for gnat to identify each of the tools path
+         and version.
+
+20190914
+       + build-fixes for Ada95 configure-script and corresponding test package
+
+20190907
+       + add --with-ada-libname option and modify Ada95 configuration to 
+         allow renaming the "AdaCurses" library (prompted by proposed changes
+         by Pascal Pignard).
+       + modify configure script to distinguish gcc from icc and clang when
+         the --enable-warnings option is not used, to avoid unnecessary
+         warnings about unrecognized inline options (report by Sven Joachim).
+
+20190831
+       + build-fixes for configuration using --program-suffix with Ada95,
+         noticed with MacOS but applicable to other platforms without
+         libpanelw, etc.
+
+20190824
+       + fix some cppcheck warnings, mostly style, in ncurses test-programs.
+
+20190817
+       + amend 20181208 changes for wbkgd() and wbkgrnd(), fixing a few
+         details where it still differed from SVr4.
+       + fix some cppcheck warnings, mostly style, in ncurses test-programs.
+
+20190810
+       + fix a few more coverity warnings.
+
 20190803
        + improve loop limits in _nc_scroll_window() to handle a case where
          the scrolled data is a pad which is taller than the window (patch
@@ -925,7 +1204,7 @@ it is not possible to add this information.
        + 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.
@@ -3036,7 +3315,7 @@ it is not possible to add this information.
        + 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
@@ -3554,7 +3833,7 @@ it is not possible to add this information.
          + 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
@@ -4174,7 +4453,7 @@ it is not possible to add this information.
          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.
@@ -9906,7 +10185,7 @@ it is not possible to add this information.
          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().
 
@@ -10480,7 +10759,7 @@ it is not possible to add this information.
        + 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
@@ -10567,7 +10846,7 @@ it is not possible to add this information.
        + 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
@@ -11048,7 +11327,7 @@ it is not possible to add this information.
 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
@@ -11134,7 +11413,7 @@ it is not possible to add this information.
        + 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
@@ -11584,7 +11863,7 @@ it is not possible to add this information.
        > 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
 
@@ -11795,7 +12074,7 @@ it is not possible to add this information.
        + 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
@@ -11906,7 +12185,7 @@ it is not possible to add this information.
          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
@@ -12147,7 +12426,7 @@ it is not possible to add this information.
          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
@@ -13382,7 +13661,7 @@ it is not possible to add this information.
 * 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.
@@ -13398,7 +13677,7 @@ it is not possible to add this information.
 * 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.
@@ -13479,7 +13758,7 @@ it is not possible to add this information.
 * 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.
@@ -13718,7 +13997,7 @@ Other changes and notes from 1.8.2 include:
 * 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.