-------------------------------------------------------------------------------
--- 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 --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1181 2007/11/03 21:08:20 tom Exp $
+-- $Id: NEWS,v 1.1245 2008/06/14 23:08:10 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.
+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).
+ 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.
+ 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).
(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).
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).