ncurses 5.6 - patch 20080804
[ncurses.git] / NEWS
diff --git a/NEWS b/NEWS
index 4d4a20e430cf4369e781a7a21bc70011f5129fc7..d554a553cbb7f48bcf4eb12776db9ec84b07cced 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
 -------------------------------------------------------------------------------
--- Copyright (c) 1998-2006,2007 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.1134 2007/06/09 22:47:59 tom Exp $
+-- $Id: NEWS,v 1.1261 2008/08/04 18:22:11 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,424 @@ 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.
 
+20080804
+       + modify _nc_panelhook() data to account for a permanent memory leak.
+       + fix memory leaks in test/demo_menus
+       + fix most warnings from Klocwork tool (report by Larry Zhou).
+       + modify configure script CF_XOPEN_SOURCE macro to add case for
+         "dragonfly" from xterm #236 changes.
+       + modify configure script --with-hashed-db to let $LIBS override the
+         search for the db library (prompted by report by Samson Pierre).
+
+20080726
+       + build-fixes for gcc 4.3.1 (changes to gnat "warnings", and C inlining
+         thresholds).
+
+20080713
+       + build-fix (reports by Christian Ebert, Funda Wang).
+
+20080712
+       + compiler-warning fixes for Solaris.
+
+20080705
+       + use NCURSES_MOUSE_MASK() in definition of BUTTON_RELEASE(), etc., to
+         make those work properly with the "--enable-ext-mouse" configuration
+         (cf: 20050205).
+       + improve documentation of build-cc options in INSTALL.
+       + work-around a bug in gcc 4.2.4 on AIX, which does not pass the
+         -static/-dynamic flags properly to linker, causing test/bs to
+         not link.
+
+20080628
+       + correct some ifdef's needed for the broken-linker configuration.
+       + make debugging library's $BAUDRATE feature work for termcap
+         interface.
+       + make $NCURSES_NO_PADDING feature work for termcap interface (prompted
+         by comment on FreeBSD mailing list).
+       + add screen.mlterm terminfo entry -TD
+       + improve mlterm and mlterm+pcfkeys terminfo entries -TD
+
+20080621
+       + regenerated html documentation.
+       + expand manpage description of parameters for form_driver() and
+         menu_driver() (prompted by discussion with Adam Spragg).
+       + add null-pointer checks for cur_term in baudrate() and
+         def_shell_mode(), def_prog_mode()
+       + fix some memory leaks in delscreen() and wide acs.
+
+20080614
+       + modify test/ditto.c to illustrate multi-threaded use_screen().
+       + change CC_SHARED_OPTS from -KPIC to -xcode=pic32 for Solaris.
+       + add "-shared" option to MK_SHARED_LIB for gcc on Solaris (report
+         by Poor Yorick).
+
+20080607
+       + finish changes to wgetch(), making it switch as needed to the
+         window's actual screen when calling wrefresh() and wgetnstr().  That
+         allows wgetch() to get used concurrently in different threads with
+         some minor restrictions, e.g., the application should not delete a
+         window which is being used in a wgetch().
+       + simplify mutex's, combining the window- and screen-mutex's.
+
+20080531
+       + modify wgetch() to use the screen which corresponds to its window
+         parameter rather than relying on SP; some dependent functions still
+         use SP internally.
+       + factor out most use of SP in lib_mouse.c, using parameter.
+       + add internal _nc_keyname(), replacing keyname() to associate with a
+         particular SCREEN rather than the global SP.
+       + add internal _nc_unctrl(), replacing unctrl() to associate with a
+         particular SCREEN rather than the global SP.
+       + add internal _nc_tracemouse(), replacing _tracemouse() to eliminate
+         its associated global buffer _nc_globals.tracemse_buf now in SCREEN.
+       + add internal _nc_tracechar(), replacing _tracechar() to use SCREEN in
+         preference to the global _nc_globals.tracechr_buf buffer.
+
+20080524
+       + modify _nc_keypad() to make it switch temporarily as needed to the
+         screen which must be updated.
+       + wrap cur_term variable to help make _nc_keymap() thread-safe, and
+         always set the screen's copy of this variable in set_curterm().
+       + restore curs_set() state after endwin()/refresh() (report/patch
+         Miroslav Lichvar)
+
+20080517
+       + modify configure script to note that --enable-ext-colors and
+         --enable-ext-mouse are not experimental, but extensions from
+         the ncurses ABI 5.
+       + corrected manpage description of setcchar() (discussion with
+         Emanuele Giaquinta).
+       + fix for adding a non-spacing character at the beginning of a line
+         (report/patch by Miroslav Lichvar).
+
+20080503
+       + modify screen.* terminfo entries using new screen+fkeys to fix
+         overridden keys in screen.rxvt (Debian #478094) -TD
+       + modify internal interfaces to reduce wgetch()'s dependency on the
+         global SP.
+       + simplify some loops with macros each_screen(), each_window() and
+         each_ripoff().
+
+20080426
+       + continue modifying test/ditto.c toward making it demonstrate
+         multithreaded use_screen(), using fifos to pass data between screens.
+       + fix typo in form.3x (report by Mike Gran).
+
+20080419
+       + add screen.rxvt terminfo entry -TD
+       + modify tic -f option to format spaces as \s to prevent them from
+         being lost when that is read back in unformatted strings.
+       + improve test/ditto.c, using a "talk"-style layout.
+
+20080412
+       + change test/ditto.c to use openpty() and xterm.
+       + add locks for copywin(), dupwin(), overlap(), overlay() on their
+         window parameters.
+       + add locks for initscr() and newterm() on updates to the SCREEN
+         pointer.
+       + finish table in curs_thread.3x manpage.
+
+20080405
+       + begin table in curs_thread.3x manpage describing the scope of data
+         used by each function (or symbol) for threading analysis.
+       + add null-pointer checks to setsyx() and getsyx() (prompted by
+         discussion by Martin v. Lowis and Jeroen Ruigrok van der Werven on
+         python-dev2 mailing list).
+
+20080329
+       + add null-pointer checks in set_term() and delscreen().
+       + move _nc_windows into _nc_globals, since windows can be pads, which
+         are not associated with a particular screen.
+       + change use_screen() to pass the SCREEN* parameter rather than
+         stdscr to the callback function.
+       + force libtool to use tag for 'CC' in case it does not detect this,
+         e.g., on aix when using CC=powerpc-ibm-aix5.3.0.0-gcc
+         (report/patch by Michael Haubenwallner).
+       + override OBJEXT to "lo" when building with libtool, to work on
+         platforms such as AIX where libtool may use a different suffix for
+         the object files than ".o" (report/patch by Michael Haubenwallner).
+       + add configure --with-pthread option, for building with the POSIX
+         thread library.
+
+20080322
+       + fill in extended-color pair two more places in wbkgrndset() and
+         waddch_nosync() (prompted by Sedeno's patch).
+       + fill in extended-color pair in _nc_build_wch() to make colors work
+         for wide-characters using extended-colors (patch by Alejandro R
+         Sedeno).
+       + add x/X toggles to ncurses.c C color test to test/demo
+         wide-characters with extended-colors.
+       + add a/A toggles to ncurses.c c/C color tests.
+       + modify test/ditto.c to use use_screen().
+       + finish modifying test/rain.c to demonstrate threads.
+
+20080308
+       + start modifying test/rain.c for threading demo.
+       + modify test/ncurses.c to make 'f' test accept the f/F/b/F/</> toggles
+         that the 'F' accepts.
+       + modify test/worm.c to show trail in reverse-video when other threads
+         are working concurrently.
+       + fix a deadlock from improper nesting of mutexes for windowlist and
+         window.
+
+20080301
+       + fixes from 20080223 resolved issue with mutexes; change to use
+         recursive mutexes to fix memory leak in delwin() as called from
+         _nc_free_and_exit().
+
+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
@@ -59,7 +477,7 @@ it is not possible to add this information.
          (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 
+       + 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).
@@ -129,7 +547,7 @@ it is not possible to add this information.
 
 20070407
        + add man/curs_legacy.3x, man/curs_opaque.3x
-       + fix acs_map binding for Ada95 when --enable-reentrant is used. 
+       + 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).