-------------------------------------------------------------------------------
--- 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.1127 2007/05/12 22:31:49 tom Exp $
+-- $Id: NEWS,v 1.1228 2008/04/19 23:03:52 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.
+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
+ + 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
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).