ncurses 5.6 - patch 20080223
[ncurses.git] / NEWS
diff --git a/NEWS b/NEWS
index 624827f4b6e0ab4876eaba13335572d4d3c0e831..5634dbc392d4f409f2064fde6ad05c82efac8190 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
 -------------------------------------------------------------------------------
--- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.               --
+-- Copyright (c) 1998-2007,2008 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 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1106 2007/03/24 22:58:37 tom Exp $
+-- $Id: NEWS,v 1.1208 2008/02/23 21:26:58 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,12 +45,396 @@ 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.
 
+20080223
+       + fix a size-difference in _nc_globals which caused hanging of mutex
+         lock/unlock when termlib was built separately.
+
+20080216
+       + avoid using nanosleep() in threaded configuration since that often
+         is implemented to suspend the entire process.
+
+20080209
+       + update test programs to build/work with various UNIX curses for
+         comparisons.  This was to reinvestigate statement in X/Open curses
+         that insnstr and winsnstr perform wrapping.  None of the Unix-branded
+         implementations do this, as noted in manpage (cf: 20040228).
+
+20080203
+       + modify _nc_setupscreen() to set the legacy-coding value the same
+         for both narrow/wide models.  It had been set only for wide model,
+         but is needed to make unctrl() work with locale in the narrow model.
+       + improve waddch() and winsch() handling of EILSEQ from mbrtowc() by
+         using unctrl() to display illegal bytes rather than trying to append
+         further bytes to make up a valid sequence (reported by Andrey A
+         Chernov).
+       + modify unctrl() to check codes in 128-255 range versus isprint().
+         If they are not printable, and locale was set, use a "M-" or "~"
+         sequence.
+
+20080126
+       + improve threading in test/worm.c (wrap refresh calls, and KEY_RESIZE
+         handling).  Now it hangs in napms(), no matter whether nanosleep()
+         or poll() or select() are used on Linux.
+
+20080119
+       + fixes to build with --disable-ext-funcs
+       + add manpage for use_window and use_screen.
+       + add set_tabsize() and set_escdelay() functions.
+
+20080112
+       + remove recursive-mutex definitions, finish threading demo for worm.c
+       + remove a redundant adjustment of lines in resizeterm.c's
+         adjust_window() which caused occasional misadjustment of stdscr when
+         softkeys were used.
+
+20080105
+       + several improvements to terminfo entries based on xterm #230 -TD
+       + modify MKlib_gen.sh to handle keyname/key_name prototypes, so the
+         "link_test" builds properly.
+       + fix for toe command-line options -u/-U to ensure filename is given.
+       + fix allocation-size for command-line parsing in infocmp from 20070728
+         (report by Miroslav Lichvar)
+       + improve resizeterm() by moving ripped-off lines, and repainting the
+         soft-keys (report by Katarina Machalkova)
+       + add clarification in wclear's manpage noting that the screen will be
+         cleared even if a subwindow is cleared (prompted by Christer Enfors
+         question).
+       + change test/ncurses.c soft-key tests to work with KEY_RESIZE.
+
+20071222
+       + continue implementing support for threading demo by adding mutex
+         for delwin().
+
+20071215
+       + add several functions to C++ binding which wrap C functions that
+         pass a WINDOW* parameter (request by Chris Lee).
+
+20071201
+       + add note about configure options needed for Berkeley database to the
+         INSTALL file.
+       + improve checks for version of Berkeley database libraries.
+       + amend fix for rpath to not modify LDFLAGS if the platform has no
+         applicable transformation (report by Christian Ebert, cf: 20071124).
+
+20071124
+       + modify configure option --with-hashed-db to accept a parameter which
+         is the install-prefix of a given Berkeley Database (prompted by
+         pierre4d2 comments).
+       + rewrite wrapper for wcrtomb(), making it work on Solaris.  This is
+         used in the form library to determine the length of the buffer needed
+         by field_buffer (report by Alfred Fung).
+       + remove unneeded window-parameter from C++ binding for wresize (report
+         by Chris Lee).
+
+20071117
+       + modify the support for filesystems which do not support mixed-case to
+         generate 2-character (hexadecimal) codes for the lower-level of the
+         filesystem terminfo database (request by Michail Vidiassov).
+       + add configure option --enable-mixed-case, to allow overriding the
+         configure script's check if the filesystem supports mixed-case
+         filenames.
+       + add wresize() to C++ binding (request by Chris Lee).
+       + define NCURSES_EXT_FUNCS and NCURSES_EXT_COLORS in curses.h to make
+         it simpler to tell if the extended functions and/or colors are
+         declared.
+
+20071103
+       + update memory-leak checks for changes to names.c and codes.c
+       + correct acsc strings in h19, z100 (patch by Benjamin C W Sittler).
+
+20071020
+       + continue implementing support for threading demo by adding mutex
+         for use_window().
+       + add mrxvt terminfo entry, add/fix xterm building blocks for modified
+         cursor keys -TD
+       + compile with FreeBSD "contemporary" TTY interface (patch by
+         Rong-En Fan).
+
+20071013
+       + modify makefile rules to allow clear, tput and tset to be built
+         without libtic.  The other programs (infocmp, tic and toe) rely on
+         that library.
+       + add/modify null-pointer checks in several functions for SP and/or
+         the WINDOW* parameter (report by Thorben Krueger).
+       + fixes for field_buffer() in formw library (see Redhat Bugzilla
+         #310071, patches by Miroslav Lichvar).
+       + improve performance of NCURSES_CHAR_EQ code (patch by Miroslav
+         Lichvar).
+       + update/improve mlterm and rxvt terminfo entries, e.g., for
+         the modified cursor- and keypad-keys -TD
+
+20071006
+       + add code to curses.priv.h ifdef'd with NCURSES_CHAR_EQ, which
+         changes the CharEq() macro to an inline function to allow comparing
+         cchar_t struct's without comparing gaps in a possibly unpacked
+         memory layout (report by Miroslav Lichvar).
+
+20070929
+       + add new functions to lib_trace.c to setup mutex's for the _tracef()
+         calls within the ncurses library.
+       + for the reentrant model, move _nc_tputs_trace and _nc_outchars into
+         the SCREEN.
+       + start modifying test/worm.c to provide threading demo (incomplete).
+       + separated ifdef's for some BSD-related symbols in tset.c, to make
+         it compile on LynxOS (report by Greg Gemmer).
+20070915
+       + modify Ada95/gen/Makefile to use shlib script, to simplify building
+         shared-library configuration on platforms lacking rpath support.
+       + build-fix for Ada95/src/Makefile to reflect changed dependency for
+         the terminal-interface-curses-aux.adb file which is now generated.
+       + restructuring test/worm.c, for use_window() example.
+
+20070908
+       + add use_window() and use_screen() functions, to develop into support
+         for threaded library (incomplete).
+       + fix typos in man/curs_opaque.3x which kept the install script from
+         creating symbolic links to two aliases created in 20070818 (report by
+         Rong-En Fan).
+
+20070901
+       + remove a spurious newline from output of html.m4, which caused links
+         for Ada95 html to be incorrect for the files generated using m4.
+       + start investigating mutex's for SCREEN manipulation (incomplete).
+       + minor cleanup of codes.c/names.c for --enable-const
+       + expand/revise "Routine and Argument Names" section of ncurses manpage
+         to address report by David Givens in newsgroup discussion.
+       + fix interaction between --without-progs/--with-termcap configure
+         options (report by Michail Vidiassov).
+       + fix typo in "--disable-relink" option (report by Michail Vidiassov).
+
+20070825
+       + fix a sign-extension bug in infocmp's repair_acsc() function
+         (cf: 971004).
+       + fix old configure script bug which prevented "--disable-warnings"
+         option from working (patch by Mike Frysinger).
+
+20070818
+       + add 9term terminal description (request by Juhapekka Tolvanen) -TD
+       + modify comp_hash.c's string output to avoid misinterpreting a null
+         "\0" followed by a digit.
+       + modify MKnames.awk and MKcodes.awk to support big-strings.
+         This only applies to the cases (broken linker, reentrant) where
+         the corresponding arrays are accessed via wrapper functions.
+       + split MKnames.awk into two scripts, eliminating the shell redirection
+         which complicated the make process and also the bogus timestamp file
+         which was introduced to fix "make -j".
+       + add test/test_opaque.c, test/test_arrays.c
+       + add wgetscrreg() and wgetparent() for applications that may need it
+         when NCURSES_OPAQUE is defined (prompted by Bryan Christ).
+
+20070812
+       + amend treatment of infocmp "-r" option to retain the 1023-byte limit
+         unless "-T" is given (cf: 981017).
+       + modify comp_captab.c generation to use big-strings.
+       + make _nc_capalias_table and _nc_infoalias_table private accessed via
+         _nc_get_alias_table() since the tables are used only within the tic
+         library.
+       + modify configure script to skip Intel compiler in CF_C_INLINE.
+       + make _nc_info_hash_table and _nc_cap_hash_table private accessed via
+         _nc_get_hash_table() since the tables are used only within the tic
+         library.
+
+20070728
+       + make _nc_capalias_table and _nc_infoalias_table private, accessed via
+         _nc_get_alias_table() since they are used only by parse_entry.c
+       + make _nc_key_names private since it is used only by lib_keyname.c
+       + add --disable-big-strings configure option to control whether
+         unctrl.c is generated using the big-string optimization - which may
+         use strings longer than supported by a given compiler.
+       + reduce relocation tables for tic, infocmp by changing type of
+         internal hash tables to short, and make those private symbols.
+       + eliminate large fixed arrays from progs/infocmp.c
+
+20070721
+       + change winnstr() to stop at the end of the line (cf: 970315).
+       + add test/test_get_wstr.c
+       + add test/test_getstr.c
+       + add test/test_inwstr.c
+       + add test/test_instr.c
+
+20070716
+       + restore a call to obtain screen-size in _nc_setupterm(), which
+         is used in tput and other non-screen applications via setupterm()
+         (Debian #433357, reported by Florent Bayle, Christian Ohm,
+         cf: 20070310).
+
+20070714
+       + add test/savescreen.c test-program
+       + add check to trace-file open, if the given name is a directory, add
+         ".log" to the name and try again.
+       + add konsole-256color entry -TD
+       + add extra gcc warning options from xterm.
+       + minor fixes for ncurses/hashmap test-program.
+       + modify configure script to quiet c++ build with libtool when the
+         --disable-echo option is used.
+       + modify configure script to disable ada95 if libtool is selected,
+         writing a warning message (addresses FreeBSD ports/114493).
+       + update config.guess, config.sub
+
+20070707
+       + add continuous-move "M" to demo_panels to help test refresh changes.
+       + improve fix for refresh of window on top of multi-column characters,
+         taking into account some split characters on left/right window
+         boundaries.
+
+20070630
+       + add "widec" row to _tracedump() output to help diagnose remaining
+         problems with multi-column characters.
+       + partial fix for refresh of window on top of multi-column characters
+         which are partly overwritten (report by Sadrul H Chowdhury).
+       + ignore A_CHARTEXT bits in vidattr() and vid_attr(), in case
+         multi-column extension bits are passed there.
+       + add setlocale() call to demo_panels.c, needed for wide-characters.
+       + add some output flags to _nc_trace_ttymode to help diagnose a bug
+         report by Larry Virden, i.e., ONLCR, OCRNL, ONOCR and ONLRET,
+
+20070623
+       + add test/demo_panels.c
+       + implement opaque version of setsyx() and getsyx().
+
+20070612
+       + corrected xterm+pcf2 terminfo modifiers for F1-F4, to match xterm
+         #226 -TD
+       + split-out key_name() from MKkeyname.awk since it now depends upon
+         wunctrl() which is not in libtinfo (report by Rong-En Fan).
+
+20070609
+       + add test/key_name.c
+       + add stdscr cases to test/inchs.c and test_inch_wide.c
+       + update test/configure
+       + correct formatting of DEL (0x7f) in _nc_vischar().
+       + null-terminate result of wunctrl().
+       + add null-pointer check in key_name() (report by Andreas Krennmair,
+         cf: 20020901).
+
+20070602
+       + adapt mouse-handling code from menu library in form-library
+         (discussion with Clive Nicolson).
+       + add a modification of test/dots.c, i.e., test/dots_mvcur.c to
+         illustrate how to use mvcur().
+       + modify wide-character flavor of SetAttr() to preserve the
+         WidecExt() value stored in the .attr field, e.g., in case it
+         is overwritten by chgat (report by Aleksi Torhamo).
+       + correct buffer-size for _nc_viswbuf2n() (report by Aleksi Torhamo).
+       + build-fixes for Solaris 2.6 and 2.7 (patch by Peter O'Gorman).
+
+20070526
+       + modify keyname() to use "^X" form only if meta() has been called, or
+         if keyname() is called without initializing curses, e.g., via
+         initscr() or newterm() (prompted by LinuxBase #1604).
+       + document some portability issues in man/curs_util.3x
+       + add a shadow copy of TTY buffer to _nc_prescreen to fix applications
+         broken by moving that data into SCREEN (cf: 20061230).
+
+20070512
+       + add 'O' (wide-character panel test) in ncurses.c to demonstrate a
+         problem reported by Sadrul H Chowdhury with repainting parts of
+         a fullwidth cell.
+       + modify slk_init() so that if there are preceding calls to
+         ripoffline(), those affect the available lines for soft-keys (adapted
+         from patch by Clive Nicolson).
+       + document some portability issues in man/curs_getyx.3x
+
+20070505
+       + fix a bug in Ada95/samples/ncurses which caused a variable to
+         become uninitialized in the "b" test.
+       + fix Ada95/gen/Makefile.in adahtml rule to account for recent
+         movement of files, fix a few incorrect manpage references in the
+         generated html.
+       + add Ada95 binding to _nc_freeall() as Curses_Free_All to help with
+         memory-checking.
+       + correct some functions in Ada95 binding which were using return value
+         from C where none was returned:  idcok(), immedok() and wtimeout().
+       + amend recent changes for Ada95 binding to make it build with
+         Cygwin's linker, e.g., with configure options
+               --enable-broken-linker --with-ticlib
+
+20070428
+       + add a configure check for gcc's options for inlining, use that to
+         quiet a warning message where gcc's default behavior changed from
+         3.x to 4.x.
+       + improve warning message when checking if GPM is linked to curses
+         library by not warning if its use of "wgetch" is via a weak symbol.
+       + add loader options when building with static libraries to ensure that
+         an installed shared library for ncurses does not conflict.  This is
+         reported as problem with Tru64, but could affect other platforms
+         (report Martin Mokrejs, analysis by Tim Mooney).
+       + fix build on cygwin after recent ticlib/termlib changes, i.e.,
+         + adjust TINFO_SUFFIX value to work with cygwin's dll naming
+         + revert a change from 20070303 which commented out dependency of
+           SHLIB_LIST in form/menu/panel/c++ libraries.
+       + fix initialization of ripoff stack pointer (cf: 20070421).
+
+20070421
+       + move most static variables into structures _nc_globals and
+         _nc_prescreen, to simplify storage.
+       + add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding
+         type for data manipulated by signal handlers (prompted by comments
+         in mailing.openbsd.bugs newsgroup).
+       + modify CF_WITH_LIBTOOL to allow one to pass options such as -static
+         to the libtool create- and link-operations.
+
+20070414
+       + fix whitespace in curs_opaque.3x which caused a spurious ';' in
+         the installed aliases (report by Peter Santoro).
+       + fix configure script to not try to generate adacurses-config when
+         Ada95 tree is not built.
+
+20070407
+       + add man/curs_legacy.3x, man/curs_opaque.3x
+       + fix acs_map binding for Ada95 when --enable-reentrant is used.
+       + add adacurses-config to the Ada95 install, based on version from
+         FreeBSD port, in turn by Juergen Pfeifer in 2000 (prompted by
+         comment on comp.lang.ada newsgroup).
+       + fix includes in c++ binding to build with Intel compiler
+         (cf: 20061209).
+       + update install rule in Ada95 to use mkdirs.sh
+       > other fixes prompted by inspection for Coverity report:
+       + modify ifdef's for c++ binding to use try/catch/throw statements
+       + add a null-pointer check in tack/ansi.c request_cfss()
+       + fix a memory leak in ncurses/base/wresize.c
+       + corrected check for valid memu/meml capabilities in
+         progs/dump_entry.c when handling V_HPUX case.
+       > fixes based on Coverity report:
+       + remove dead code in test/bs.c
+       + remove dead code in test/demo_defkey.c
+       + remove an unused assignment in progs/infocmp.c
+       + fix a limit check in tack/ansi.c tools_charset()
+       + fix tack/ansi.c tools_status() to perform the VT320/VT420
+         tests in request_cfss().  The function had exited too soon.
+       + fix a memory leak in tic.c's make_namelist()
+       + fix a couple of places in tack/output.c which did not check for EOF.
+       + fix a loop-condition in test/bs.c
+       + add index checks in lib_color.c for color palettes
+       + add index checks in progs/dump_entry.c for version_filter() handling
+         of V_BSD case.
+       + fix a possible null-pointer dereference in copywin()
+       + fix a possible null-pointer dereference in waddchnstr()
+       + add a null-pointer check in _nc_expand_try()
+       + add a null-pointer check in tic.c's make_namelist()
+       + add a null-pointer check in _nc_expand_try()
+       + add null-pointer checks in test/cardfile.c
+       + fix a double-free in ncurses/tinfo/trim_sgr0.c
+       + fix a double-free in ncurses/base/wresize.c
+       + add try/catch block to c++/cursesmain.cc
+
+20070331
+       + modify Ada95 binding to build with --enable-reentrant by wrapping
+         global variables (bug: acs_map does not yet work).
+       + modify Ada95 binding to use the new access-functions, allowing it
+         to build/run when NCURSES_OPAQUE is set.
+       + add access-functions and macros to return properties of the WINDOW
+         structure, e.g., when NCURSES_OPAQUE is set.
+       + improved install-sh's quoting.
+       + use mkdirs.sh rather than mkinstalldirs, e.g., to use fixes from
+         other programs.
+
 20070324
        + eliminate part of the direct use of WINDOW data from Ada95 interface.
        + fix substitutions for termlib filename to make configure option
          --enable-reentrant work with --with-termlib.
        + change a constructor for NCursesWindow to allow compiling with
-         NCURSES_OPAQUE defined, since we cannot pass a reference to
+         NCURSES_OPAQUE set, since we cannot pass a reference to
          an opaque pointer.
 
 20070317