]> ncurses.scripts.mit.edu Git - ncurses.git/blob - NEWS
04bc845696090aefcfa19f0b36b83a953d9c3886
[ncurses.git] / NEWS
1 -- $Id: NEWS,v 1.929 2005/10/09 14:17:59 tom Exp $
2
3 This is a log of changes that ncurses has gone through since Zeyd started
4 working with Pavel Curtis' original work, pcurses, in 1992.
5
6 Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim.
7 Changes since 1.9.9e are recorded by Thomas Dickey.
8
9 20051010 5.5 release for upload to ftp.gnu.org
10
11 20051008
12         + document in demo_forms.c some portability issues.
13
14 20051001
15         + document side-effect of werase() which sets the cursor position.
16         + save/restore the current position in form field editing to make
17           overlay mode work.
18
19 20050924
20         + correct header dependencies in progs, allowing parallel make (report
21           by Daniel Jacobowitz).
22         + modify CF_BUILD_CC to ensure that pre-setting $BUILD_CC overrides
23           the configure check for --with-build-cc (report by Daniel Jacobowitz).
24         + modify CF_CFG_DEFAULTS to not use /usr as the default prefix for
25           NetBSD.
26         + update config.guess and config.sub from
27                 http://subversions.gnu.org/cgi-bin/viewcvs/config/config/
28
29 20050917
30         + modify sed expression which computes path for /usr/lib/terminfo
31           symbolic link in install to ensure that it does not change unexpected
32           levels of the path (Gentoo #42336).
33         + modify default for --disable-lp64 configure option to reduce impact
34           on existing 64-bit builds.  Enabling the _LP64 option may change the
35           size of chtype and mmask_t.  However, for ABI 6, it is enabled by
36           default (report by Mike Frysinger).
37         + add configure script check for --enable-ext-mouse, bump ABI to 6 by
38           default if it is used.
39         + improve configure script logic for bumping ABI to omit this if the
40           --with-abi-version option was used.
41         + update address for Free Software Foundation in tack's source.
42         + correct wins_wch(), which was not marking the filler-cells of
43           multi-column characters (cf:  20041023).
44
45 20050910
46         + modify mouse initialization to ensure that Gpm_Open() is called only
47           once.  Otherwise GPM gets confused in its initialization of signal
48           handlers (Debian #326709).
49
50 20050903
51         + modify logic for backspacing in a multiline form field to ensure that
52           it works even when the preceding line is full (report by Frank van
53           Vugt).
54         + remove comment about BUGS section of ncurses manpage (Debian #325481)
55
56 20050827
57         + document some workarounds for shared and libtool library
58           configurations in INSTALL (see --with-shared and --with-libtool).
59         + modify CF_GCC_VERSION and CF_GXX_VERSION macros to accommodate
60           cross-compilers which emit the platform name in their version
61           message, e.g.,
62                 arm-sa1100-linux-gnu-g++ (GCC) 4.0.1
63           (report by Frank van Vugt).
64
65 20050820
66         + start updating documentation for upcoming 5.5 release.
67         + fix to make libtool  and libtinfo work together again (cf: 20050122).
68         + fixes to allow building traces into libtinfo
69         + add debug trace to tic that shows if/how ncurses will write to the
70           lower corner of a terminal's screen.
71         + update llib-l* files.
72
73 20050813
74         + modify initializers in c++ binding to build with old versions of g++.
75         + improve special case for 20050115 repainting fix, ensuring that if
76           the first changed cell is not a character that the range to be
77           repainted is adjusted to start at a character's beginning (Debian
78           #316663).
79
80 20050806
81         + fixes to build on QNX 6.1
82         + improve configure script checks for Intel 9.0 compiler.
83         + remove #include's for libc.h (obsolete).
84         + adjust ifdef's in curses.priv.h so that when cross-compiling to
85           produce comp_hash and make_keys, no dependency on wchar.h is needed.
86           That simplifies the build-cppflags (report by Frank van Vugt).
87         + move modules related to key-binding into libtinfo to fix linkage
88           problem caused by 20050430 changes to MKkeyname.sh (report by
89           Konstantin Andreev).
90  
91 20050723
92         + updates/fixes for configure script macros from vile.
93         + make prism9's sgr string agree with the rest of the terminfo -TD
94         + make vt220's sgr0 string consistent with sgr string, do this for
95           several related cases -TD
96         + improve translation to termcap by filtering the 'me' (sgr0) strings
97           as in the runtime call to tgetent() (prompted by a discussion with
98           Thomas Klausner).
99         + improve tic check for sgr0 versus sgr(0), to help ensure that sgr0
100           resets line-drawing.
101
102 20050716
103         + fix special cases for trimming sgr0 for hurd and vt220 (Debian
104           #318621).
105         + split-out _nc_trim_sgr0() from modifications made to tgetent(), to
106           allow it to be used by tic to provide information about the runtime
107           changes that would be made to sgr0 for termcap applications.
108         + modify make_sed.sh to make the group-name in the NAME section of
109           form/menu library manpage agree with the TITLE string when renaming
110           is done for Debian (Debian #78866).
111
112 20050702
113         + modify parameter type in c++ binding for insch() and mvwinsch() to
114           be consistent with underlying ncurses library (was char, is chtype).
115         + modify treatment of Intel compiler to allow _GNU_SOURCE to be defined
116           on Linux.
117         + improve configure check for nanosleep(), checking that it works since
118           some older systems such as AIX 4.3 have a nonworking version.
119
120 20050625
121         + update config.guess and config.sub from
122                 http://subversions.gnu.org/cgi-bin/viewcvs/config/config/
123         + modify misc/shlib to work in test-directory.
124         + suppress $suffix in misc/run_tic.sh when cross-compiling.  This
125           allows cross-compiles to use the host's tic program to handle the
126           "make install.data" step.
127         + improve description of $LINES and $COLUMNS variables in manpages
128           (prompted by report by Dave Ulrick).
129         + improve description of cross-compiling in INSTALL
130         + add NCURSES-Programming-HOWTO.html by Pradeep Padala
131           (see http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/).
132         + modify configure script to obtain soname for GPM library (discussion
133           with Daniel Jacobowitz).
134         + modify configure script so that --with-chtype option will still
135           compute the unsigned literals suffix for constants in curses.h
136           (report by Daniel Jacobowitz:
137         + patches from Daniel Jacobowitz:
138           + the man_db.renames entry for tack.1 was backwards.
139           + tack.1 had some 1m's that should have been 1M's.
140           + the section for curs_inwstr.3 was wrong.
141
142 20050619
143         + correction to --with-chtype option (report by Daniel Jacobowitz).
144
145 20050618
146         + move build-time edit_man.sh and edit_man.sed scripts to top directory
147           to simplify reusing them for renaming tack's manpage (prompted by a
148           review of Debian package).
149         + revert minor optimization from 20041030 (Debian #313609).
150         + libtool-specific fixes, tested with libtool 1.4.3, 1.5.0, 1.5.6,
151           1.5.10 and 1.5.18 (all work except as noted previously for the c++
152           install using libtool 1.5.0):
153           + modify the clean-rule in c++/Makefile.in to work with IRIX64 make
154             program.
155           + use $(LIBTOOL_UNINSTALL) symbol, overlooked in 20030830
156         + add configure options --with-chtype and --with-mmask-t, to allow
157           overriding of the non-LP64 model's use of the corresponding types.
158         + revise test for size of chtype (and mmask_t), which always returned
159           "long" due to an uninitialized variable (report by Daniel Jacobowitz).
160
161 20050611
162         + change _tracef's that used "%p" format for va_list values to ignore
163           that, since on some platforms those are not pointers.
164         + fixes for long-formats in printf's due to largefile support.
165
166 20050604
167         + fixes for termcap support:
168           + reset pointer to _nc_curr_token.tk_name when the input stream is
169             closed, which could point to free memory (cf: 20030215).
170           + delink TERMTYPE data which is used by the termcap reader, so that
171             extended names data will be freed consistently.
172           + free pointer to TERMTYPE data in _nc_free_termtype() rather than
173             its callers.
174           + add some entrypoints for freeing permanently allocated data via
175             _nc_freeall() when NO_LEAKS is defined.
176         + amend 20041030 change to _nc_do_color to ensure that optimization is
177           applied only when the terminal supports back_color_erase (bce).
178
179 20050528
180         + add sun-color terminfo entry -TD
181         + correct a missing assignment in c++ binding's method
182           NCursesPanel::UserPointer() from 20050409 changes.
183         + improve configure check for large-files, adding check for dirent64
184           from vile.
185         + minor change to configure script to improve linker options for the
186           Ada95 tree.
187
188 20050515
189         + document error conditions for ncurses library functions (report by
190           Stanislav Ievlev).
191         + regenerated html documentation for ada binding.
192           see ftp://invisible-island.net/ncurses/patches/gnathtml 
193
194 20050507
195         + regenerated html documentation for manpages.
196         + add $(BUILD_EXEEXT) suffix to invocation of make_keys in
197           ncurses/Makefile (Gentoo #89772).
198         + modify c++/demo.cc to build with g++ -fno-implicit-templates option
199           (patch by Mike Frysinger).
200         + modify tic to filter out long extended names when translating to
201           termcap format.  Only two characters are permissible for termcap
202           capability names.
203
204 20050430
205         + modify terminfo entries xterm-new and rxvt to add strings for
206           shift-, control-cursor keys.
207         + workaround to allow c++ binding to compile with g++ 2.95.3, which
208           has a broken implementation of static_cast<> (patch by Jeff Chua).
209         + modify initialization of key lookup table so that if an extended
210           capability (tic -x) string is defined, and its name begins with 'k',
211           it will automatically be treated as a key.
212         + modify test/keynames.c to allow for the possibility of extended
213           key names, e.g., via define_key(), or via "tic -x".
214         + add test/demo_termcap.c to show the contents of given entry via the
215           termcap interface.
216
217 20050423
218         + minor fixes for vt100/vt52 entries -TD
219         + add configure option --enable-largefile
220         + corrected libraries used to build Ada95/gen/gen, found in testing
221           gcc 4.0.0.
222
223 20050416
224         + update config.guess, config.sub
225         + modify configure script check for _XOPEN_SOURCE, disable that on
226           Darwin whose header files have problems (patch by Chris Zubrzycki).
227         + modify form library Is_Printable_String() to use iswprint() rather
228           than wcwidth() for determining if a character is printable.  The
229           latter caused it to reject menu items containing non-spacing
230           characters.
231         + modify ncurses test program's F-test to handle non-spacing characters
232           by combining them with a reverse-video blank.
233         + review/fix several gcc -Wconversion warnings.
234
235 20050409
236         + correct an off-by-one error in m_driver() for mouse-clicks used to
237           position the mouse to a particular item.
238         + implement test/demo_menus.c
239         + add some checks in lib_mouse to ensure SP is set.
240         + modify C++ binding to make 20050403 changes work with the configure
241           --enable-const option.
242
243 20050403
244         + modify start_color() to return ERR if it cannot allocate memory.
245         + address g++ compiler warnings in C++ binding by adding explicit
246           member initialization, assignment operators and copy constructors.
247           Most of the changes simply preserve the existing semantics of the
248           binding, which can leak memory, etc., but by making these features
249           visible, it provides a framework for improving the binding.
250         + improve C++ binding using static_cast, etc.
251         + modify configure script --enable-warnings to add options to g++ to
252           correspond to the gcc --enable-warnings.
253         + modify C++ binding to use some C internal functions to make it
254           compile properly on Solaris (and other platforms).
255
256 20050327
257         + amend change from 20050320 to limit it to configurations with a
258           valid locale.
259         + fix a bug introduced in 20050320 which broke the translation of
260           nonprinting characters to uparrow form (report by TAKAHASHI Tamotsu).
261
262 20050326
263         + add ifdef's for _LP64 in curses.h to avoid using wasteful 64-bits for
264           chtype and mmask_t, but add configure option --disable-lp64 in case
265           anyone used that configuration.
266         + update misc/shlib script to account for Mac OS X (report by Michail
267           Vidiassov).
268         + correct comparison for wrapping multibyte characters in
269           waddch_literal() (report by TAKAHASHI Tamotsu).
270
271 20050320
272         + add -c and -w options to tset to allow user to suppress ncurses'
273           resizing of the terminal emulator window in the special case where it
274           is not able to detect the true size (report by Win Delvaux, Debian
275           #300419).
276         + modify waddch_nosync() to account for locale zn_CH.GBK, which uses
277           codes 128-159 as part of multibyte characters (report by WANG
278           WenRui, Debian #300512).
279
280 20050319
281         + modify ncurses.c 'd' test to make it work with 88-color
282           configuration, i.e., by implementing scrolling.
283         + improve scrolling in ncurses.c 'c' and 'C' tests, e.g., for 88-color
284           configuration.
285
286 20050312
287         + change tracemunch to use strict checking.
288         + modify ncurses.c 'p' test to test line-drawing within a pad.
289         + implement environment variable NCURSES_NO_UTF8_ACS to support
290           miscellaneous terminal emulators which ignore alternate character
291           set escape sequences when in UTF-8 mode.
292
293 20050305
294         + change NCursesWindow::err_handler() to a virtual function (request by
295           Steve Beal).
296         + modify fty_int.c and fty_num.c to handle wide characters (report by
297           Wolfgang Gutjahr).
298         + adapt fix for fty_alpha.c to fty_alnum.c, which also handled normal
299           and wide characters inconsistently (report by Wolfgang Gutjahr).
300         + update llib-* files to reflect internal interface additions/changes.
301
302 20050226
303         + improve test/configure script, adding tests for _XOPEN_SOURCE, etc.,
304           from lynx.
305         + add aixterm-16color terminfo entry -TD
306         + modified xterm-new terminfo entry to work with tgetent() changes -TD
307         + extended changes in tgetent() from 20040710 to allow the substring of
308           sgr0 which matches rmacs to be at the beginning of the sgr0 string
309           (request by Thomas Wolff, who says the visual effect in combination
310           with pre-20040710 ncurses is improved).
311         + fix off-by-one in winnstr() call which caused form field validation
312           of multibyte characters to ignore the last character in a field.
313         + correct logic in winsch() for inserting multibyte strings; the code
314           would clear cells after the insertion rather than push them to the
315           right (cf: 20040228).
316         + fix an inconsistency in Check_Alpha_Field() between normal and wide
317           character logic (report by Wolfgang Gutjahr).
318
319 20050219
320         + fix a bug in editing wide-characters in form library: deleting a
321           nonwide character modified the previous wide-character.
322         + update manpage to describe NCURSES_MOUSE_VERSION 2.
323         + correct manpage description of mouseinterval() (Debian #280687).
324         + add a note to default_colors.3x explaining why this extension was
325           added (Debian #295083).
326         + add traces to panel library.
327
328 20050212
329         + improve editing of wide-characters in form library:  left/right
330           cursor movement, and single-character deletions work properly.
331         + disable GPM mouse support when $TERM happens to be prefixed with
332           "xterm".  Gpm_Open() would otherwise assert that it can deal with
333           mouse events in this case.
334         + modify GPM mouse support so it closes the server connection when
335           the caller disables the mouse (report by Stanislav Ievlev).
336
337 20050205
338         + add traces for callback functions in form library.
339         + add experimental configure option --enable-ext-mouse, which defines
340           NCURSES_MOUSE_VERSION 2, and modifies the encoding of mouse events to
341           support wheel mice, which may transmit buttons 4 and 5.  This works
342           with xterm and similar X terminal emulators (prompted by question by
343           Andreas Henningsson, this is also related to Debian #230990).
344         + improve configure macros CF_XOPEN_SOURCE and CF_POSIX_C_SOURCE to
345           avoid redefinition warnings on cygwin.
346
347 20050129
348         + merge remaining development changes for extended colors (mostly
349           complete, does not appear to break other configurations).
350         + add xterm-88color.dat (part of extended colors testing).
351         + improve _tracedump() handling of color pairs past 96. 
352         + modify return-value from start_color() to return OK if colors have
353           already been started.
354         + modify curs_color.3x list error conditions for init_pair(),
355           pair_content() and color_content().
356         + modify pair_content() to return -1 for consistency with init_pair()
357           if it corresponds to the default-color.
358         + change internal representation of default-color to allow application
359           to use color number 255.  This does not affect the total number of
360           color pairs which are allowed.
361         + add a top-level tags rule.
362
363 20050122
364         + add a null-pointer check in wgetch() in case it is called without
365           first calling initscr().
366         + add some null-pointer checks for SP, which is not set by libtinfo.
367         + modify misc/shlib to ensure that absolute pathnames are used.
368         + modify test/Makefile.in, etc., to link test programs only against the
369           libraries needed, e.g., omit form/menu/panel library for the ones
370           that are curses-specific.
371         + change SP->_current_attr to a pointer, adjust ifdef's to ensure that
372           libtinfo.so and libtinfow.so have the same ABI.  The reason for this
373           is that the corresponding data which belongs to the upper-level
374           ncurses library has a different size in each model (report by
375           Stanislav Ievlev).
376
377 20050115
378         + minor fixes to allow test-compiles with g++.
379         + correct column value shown in tic's warnings, which did not account
380           for leading whitespace.
381         + add a check in _nc_trans_string() for improperly ended strings, i.e.,
382           where a following line begins in column 1.
383         + modify _nc_save_str() to return a null pointer on buffer overflow.
384         + improve repainting while scrolling wide-character data (Eungkyu Song).
385
386 20050108
387         + merge some development changes to extend color capabilities.
388
389 20050101
390         + merge some development changes to extend color capabilities.
391         + fix manpage typo (FreeBSD report docs/75544).
392         + update config.guess, config.sub
393         > patches by Albert Chin-A-Young (for configure script):
394         + improved fix to make mbstate_t recognized on HPUX 11i (cf: 
395           20030705), making vsscanf() prototype visible on IRIX64.  Tested for
396           on HP-UX 11i, Solaris 7, 8, 9, AIX 4.3.3, 5.2, Tru64 UNIX 4.0D, 5.1,
397           IRIX64 6.5, Redhat Linux 7.1, 9, and RHEL 2.1, 3.0.
398         + print the result of the --disable-home-terminfo option.
399         + use -rpath when compiling with SGI C compiler.
400
401 20041225
402         + add trace calls to remaining public functions in form and menu
403           libraries.
404         + fix check for numeric digits in test/ncurses.c 'b' and 'B' tests.
405         + fix typo in test/ncurses.c 'c' test from 20041218.
406
407 20041218
408         + revise test/ncurses.c 'c' color test to improve use for xterm-88color
409           and xterm-256color, added 'C' test using the wide-character color_set
410           and attr_set functions.
411
412 20041211
413         + modify configure script to work with Intel compiler.
414         + fix an limit-check in wadd_wchnstr() which caused labels in the
415           forms-demo to be one character short.
416         + fix typo in curs_addchstr.3x (Jared Yanovich).
417         + add trace calls to most functions in form and menu libraries.
418         + update working-position for adding wide-characters when window is
419           scrolled (prompted by related report by Eungkyu Song).
420
421 20041204
422         + replace some references on Linux to wcrtomb() which use it to obtain
423           the length of a multibyte string with _nc_wcrtomb, since wcrtomb() is
424           broken in glibc (see Debian #284260).
425         + corrected length-computation in wide-character support for
426           field_buffer().
427         + some fixes to frm_driver.c to allow it to accept multibyte input.
428         + modify configure script to work with Intel 8.0 compiler.
429
430 20041127
431         + amend change to setupterm() in 20030405 which would reuse the value
432           of cur_term if the same output was selected.  This now reuses it only
433           when setupterm() is called from tgetent(), which has no notion of
434           separate SCREENs.  Note that tgetent() must be called after initscr()
435           or newterm() to use this feature (Redhat Bugzilla #140326).
436         + add a check in CF_BUILD_CC macro to ensure that developer has given
437           the --with-build-cc option when cross-compiling (report by Alexandre
438           Campo).
439         + improved configure script checks for _XOPEN_SOURCE and
440           _POSIX_C_SOURCE (fix for IRIX 5.3 from Georg Schwarz, _POSIX_C_SOURCE
441           updates from lynx).
442         + cosmetic fix to test/gdc.c to recolor the bottom edge of the box
443           for consistency (comment by Dan Nelson).
444
445 20041120
446         + update wsvt25 terminfo entry -TD
447         + modify test/ins_wide.c to test all flavors of ins_wstr().
448         + ignore filler-cells in wadd_wchnstr() when adding a cchar_t array
449           which consists of multi-column characters, since this function
450           constructs them (cf: 20041023).
451         + modify winnstr() to return multibyte character strings for the
452           wide-character configuration.
453
454 20041106
455         + fixes to make slk_set() and slk_wset() accept and store multibyte
456           or multicolumn characters.
457
458 20041030
459         + improve color optimization a little by making _nc_do_color() check
460           if the old/new pairs are equivalent to the default pair 0.
461         + modify assume_default_colors() to not require that
462           use_default_colors() be called first.
463
464 20041023
465         + modify term_attrs() to use termattrs(), add the extended attributes
466           such as enter_horizontal_hl_mode for WA_HORIZONTAL to term_attrs().
467         + add logic in waddch_literal() to clear orphaned cells when one
468           multi-column character partly overwrites another.
469         + improved logic for clearing cells when a multi-column character
470           must be wrapped to a new line.
471         + revise storage of cells for multi-column characters to correct a
472           problem with repainting.  In the old scheme, it was possible for
473           doupdate() to decide that only part of a multi-column character
474           should be repainted since the filler cells stored only an attribute
475           to denote them as fillers, rather than the character value and the
476           attribute.
477
478 20041016
479         + minor fixes for traces.
480         + add SP->_screen_acs_map[], used to ensure that mapping of missing
481           line-drawing characters is handled properly.  For example, ACS_DARROW
482           is absent from xterm-new, and it was coincidentally displayed the
483           same as ACS_BTEE.
484
485 20041009
486         + amend 20021221 workaround for broken acs to reset the sgr, rmacs
487           and smacs strings as well.  Also modify the check for screen's
488           limitations in that area to allow the multi-character shift-in
489           and shift-out which seem to work.
490         + change GPM initialization, using dl library to load it dynamically
491           at runtime (Debian #110586).
492
493 20041002
494         + correct logic for color pair in setcchar() and getcchar() (patch by
495           Marcin 'Qrczak' Kowalczyk).
496         + add t/T commands to ncurses b/B tests to allow a different color to
497           be tested for the attrset part of the test than is used in the
498           background color.
499
500 20040925
501         + fix to make setcchar() to work when its wchar_t* parameter is
502           pointing to a string which contains more data than can be converted.
503         + modify wget_wstr() and example in ncurses.c to work if wchar_t and
504           wint_t are different sizes (report by Marcin 'Qrczak' Kowalczyk).
505
506 20040918
507         + remove check in wget_wch() added to fix an infinite loop, appears to
508           have been working around a transitory glibc bug, and interferes
509           with normal operation (report by Marcin 'Qrczak' Kowalczyk).
510         + correct wadd_wch() and wecho_wch(), which did not pass the rendition
511           information (report by Marcin 'Qrczak' Kowalczyk).
512         + fix aclocal.m4 so that the wide-character version of ncurses gets
513           compiled as libncursesw.5.dylib, instead of libncurses.5w.dylib
514           (adapted from patch by James J Ramsey).
515         + change configure script for --with-caps option to indicate that it
516           is no longer experimental.
517         + change configure script to reflect the fact that --enable-widec has
518           not been "experimental" since 5.3 (report by Bruno Lustosa).
519
520 20040911
521         + add 'B' test to ncurses.c, to exercise some wide-character functions.
522
523 20040828
524         + modify infocmp -i option to match 8-bit controls against its table
525           entries, e.g., so it can analyze the xterm-8bit entry.
526         + add morphos terminfo entry, improve amiga-8bit entry (Pavel Fedin).
527         + correct translation of "%%" in terminfo format to termcap, e.g.,
528           using "tic -C" (Redhat Bugzilla #130921).
529         + modified configure script CF_XOPEN_SOURCE macro to ensure that if
530           it defines _POSIX_C_SOURCE, that it defines it to a specific value
531           (comp.os.stratus newsgroup comment).
532
533 20040821
534         + fixes to build with Ada95 binding with gnat 3.4 (all warnings are
535           fatal, and gnat does not follow the guidelines for pragmas).
536           However that did find a coding error in Assume_Default_Colors().
537         + modify several terminfo entries to ensure xterm mouse and cursor
538           visibility are reset in rs2 string:  hurd, putty, gnome,
539           konsole-base, mlterm, Eterm, screen (Debian #265784, #55637).  The
540           xterm entries are left alone - old ones for compatibility, and the
541           new ones do not require this change. -TD
542
543 20040814
544         + fake a SIGWINCH in newterm() to accommodate buggy terminal emulators
545           and window managers (Debian #265631).
546         > terminfo updates -TD
547         + remove dch/dch1 from rxvt because they are implemented inconsistently
548           with the common usage of bce/ech
549         + remove khome from vt220 (vt220's have no home key)
550         + add rxvt+pcfkeys
551
552 20040807
553         + modify test/ncurses.c 'b' test, adding v/V toggles to cycle through
554           combinations of video attributes so that for instance bold and
555           underline can be tested.  This made the legend too crowded, added
556           a help window as well.
557         + modify test/ncurses.c 'b' test to cycle through default colors if
558           the -d option is set.
559         + update putty terminfo entry (Robert de Bath).
560
561 20040731
562         + modify test/cardfile.c to allow it to read more data than can be
563           displayed.
564         + correct logic in resizeterm.c which kept it from processing all
565           levels of window hierarchy (reports by Folkert van Heusden,
566           Chris Share).
567
568 20040724
569         + modify "tic -cv" to ignore delays when comparing strings.  Also
570           modify it to ignore a canceled sgr string, e.g., for terminals which
571           cannot properly combine attributes in one control sequence.
572         + corrections for gnome and konsole entries (Redhat Bugzilla #122815,
573           patch by Hans de Goede)
574         > terminfo updates -TD
575         + make ncsa-m rmacs/smacs consistent with sgr
576         + add sgr, rc/sc and ech to syscons entries
577         + add function-keys to decansi
578         + add sgr to mterm-ansi
579         + add sgr, civis, cnorm to emu
580         + correct/simplify cup in addrinfo
581
582 20040717
583         > terminfo updates -TD
584         + add xterm-pc-fkeys
585         + review/update gnome and gnome-rh90 entries (prompted by Redhat
586           Bugzilla #122815).
587         + review/update konsole entries
588         + add sgr, correct sgr0 for kterm and mlterm
589         + correct tsl string in kterm
590
591 20040711
592         + add configure option --without-xterm-new
593
594 20040710
595         + add check in wget_wch() for printable bytes that are not part of a
596           multibyte character.
597         + modify wadd_wchnstr() to render text using window's background
598           attributes.
599         + improve tic's check to compare sgr and sgr0.
600         + fix c++ directory's .cc.i rule.
601         + modify logic in tgetent() which adjusts the termcap "me" string
602           to work with ISO-2022 string used in xterm-new (cf: 20010908).
603         + modify tic's check for conflicting function keys to omit that if
604           converting termcap to termcap format.
605         + add -U option to tic and infocmp.
606         + add rmam/smam to linux terminfo entry (Trevor Van Bremen)
607         > terminfo updates -TD
608         + minor fixes for emu
609         + add emu-220
610         + change wyse acsc strings to use 'i' map rather than 'I'
611         + fixes for avatar0
612         + fixes for vp3a+
613
614 20040703
615         + use tic -x to install terminfo database -TD
616         + add -x to infocmp's usage message.
617         + correct field used for comparing O_ROWMAJOR in set_menu_format()
618           (report/patch by Tony Li).
619         + fix a missing nul check in set_field_buffer() from 20040508 changes.
620         > terminfo updates -TD
621           + make xterm-xf86-v43 derived from xterm-xf86-v40 rather than
622             xterm-basic -TD
623           + align with xterm patch #192's use of xterm-new -TD
624           + update xterm-new and xterm-8bit for cvvis/cnorm strings -TD
625           + make xterm-new the default "xterm" entry -TD
626
627 20040626
628         + correct BUILD_CPPFLAGS substitution in ncurses/Makefile.in, to allow
629           cross-compiling from a separate directory tree (report/patch by
630           Dan Engel).
631         + modify is_term_resized() to ensure that window sizes are nonzero,
632           as documented in the manpage (report by Ian Collier).
633         + modify CF_XOPEN_SOURCE configure macro to make Hurd port build
634           (Debian #249214, report/patch by Jeff Bailey).
635         + configure-script mods from xterm, e.g., updates to CF_ADD_CFLAGS
636         + update config.guess, config.sub
637         > terminfo updates -TD
638           + add mlterm
639           + add xterm-xf86-v44
640           + modify xterm-new aka xterm-xfree86 to accommodate luit, which
641             relies on G1 being used via an ISO-2022 escape sequence (report by
642             Juliusz Chroboczek)
643           + add 'hurd' entry
644
645 20040619
646         + reconsidered winsnstr(), decided after comparing other
647           implementations that wrapping is an X/Open documentation error.
648         + modify test/inserts.c to test all flavors of insstr().
649
650 20040605
651         + add setlocale() calls to a few test programs which may require it:
652           demo_forms.c, filter.c, ins_wide.c, inserts.c
653         + correct a few misspelled function names in ncurses-intro.html (report
654           by Tony Li).
655         + correct internal name of key_defined() manpage, which conflicted with
656           define_key().
657
658 20040529
659         + correct size of internal pad used for holding wide-character
660           field_buffer() results.
661         + modify data_ahead() to work with wide-characters.
662
663 20040522
664         + improve description of terminfo if-then-else expressions (suggested
665           by Arne Thomassen).
666         + improve test/ncurses.c 'd' test, allow it to use external file for
667           initial palette (added xterm-16color.dat and linux-color.dat), and
668           reset colors to the initial palette when starting/ending the test.
669         + change limit-check in init_color() to allow r/g/b component to
670           reach 1000 (cf: 20020928).
671
672 20040516
673         + modify form library to use cchar_t's rather than char's in the
674           wide-character configuration for storing data for field buffers.
675         + correct logic of win_wchnstr(), which did not work for more than
676           one cell.
677
678 20040508
679         + replace memset/memcpy usage in form library with for-loops to
680           simplify changing the datatype of FIELD.buf, part of wide-character
681           changes.
682         + fix some inconsistent use of #if/#ifdef (report by Alain Guibert).
683
684 20040501
685         + modify menu library to account for actual number of columns used by
686           multibyte character strings, in the wide-character configuration
687           (adapted from patch by Philipp Tomsich).
688         + add "-x" option to infocmp like tic's "-x", for use in "-F"
689           comparisons.  This modifies infocmp to only report extended
690           capabilities if the -x option is given, making this more consistent
691           with tic.  Some scripts may break, since infocmp previous gave this
692           information without an option.
693         + modify termcap-parsing to retain 2-character aliases at the beginning
694           of an entry if the "-x" option is used in tic.
695
696 20040424
697         + minor compiler-warning and test-program fixes.
698
699 20040417
700         + modify tic's missing-sgr warning to apply to terminfo only.
701         + free some memory leaks in tic.
702         + remove check in post_menu() that prevented menus from extending
703           beyond the screen (request by Max J. Werner).
704         + remove check in newwin() that prevents allocating windows
705           that extend beyond the screen.  Solaris curses does this.
706         + add ifdef in test/color_set.c to allow it to compile with older
707           curses.
708         + add napms() calls to test/dots.c to make it not be a CPU hog.
709
710 20040403
711         + modify unctrl() to return null if its parameter does not correspond
712           to an unsigned char.
713         + add some limit-checks to guard isprint(), etc., from being used on
714           values that do not fit into an unsigned char (report by Sami Farin).
715
716 20040328
717         + fix a typo in the _nc_get_locale() change.
718
719 20040327
720         + modify _nc_get_locale() to use setlocale() to query the program's
721           current locale rather than using getenv().  This fixes a case in tin
722           which relies on legacy treatment of 8-bit characters when the locale
723           is not initialized (reported by Urs Jansen).
724         + add sgr string to screen's and rxvt's terminfo entries -TD.
725         + add a check in tic for terminfo entries having an sgr0 but no sgr
726           string.  This confuses Tru64 and HPUX curses when combined with
727           color, e.g., making them leave line-drawing characters in odd places.
728         + correct casts used in ABSENT_BOOLEAN, CANCELLED_BOOLEAN, matches the
729           original definitions used in Debian package to fix PowerPC bug before
730           20030802 (Debian #237629).
731
732 20040320
733         + modify PutAttrChar() and PUTC() macro to improve use of
734           A_ALTCHARSET attribute to prevent line-drawing characters from
735           being lost in situations where the locale would otherwise treat the
736           raw data as nonprintable (Debian #227879).
737
738 20040313
739         + fix a redefinition of CTRL() macro in test/view.c for AIX 5.2 (report
740           by Jim Idle).
741         + remove ".PP" after ".SH NAME" in a few manpages; this confuses
742           some apropos script (Debian #237831).
743
744 20040306
745         + modify ncurses.c 'r' test so editing commands, like inserted text,
746           set the field background, and the state of insert/overlay editing
747           mode is shown in that test.
748         + change syntax of dummy targets in Ada95 makefiles to work with pmake.
749         + correct logic in test/ncurses.c 'b' for noncolor terminals which
750           did not recognize a quit-command (cf: 20030419).
751
752 20040228
753         + modify _nc_insert_ch() to allow for its input to be part of a
754           multibyte string.
755         + split out lib_insnstr.c, to prepare to rewrite it.  X/Open states
756           that this function performs wrapping, unlike all of the other
757           insert-functions.  Currently it does not wrap.
758         + check for nl_langinfo(CODESET), use it if available (report by
759           Stanislav Ievlev).
760         + split-out CF_BUILD_CC macro, actually did this for lynx first.
761         + fixes for configure script CF_WITH_DBMALLOC and CF_WITH_DMALLOC,
762           which happened to work with bash, but not with Bourne shell (report
763           by Marco d'Itri via tin-dev).
764
765 20040221
766         + some changes to adapt the form library to wide characters, incomplete
767           (request by Mike Aubury).
768         + add symbol to curses.h which can be used to suppress include of
769           stdbool.h, e.g.,
770                 #define NCURSES_ENABLE_STDBOOL_H 0
771                 #include <curses.h>
772           (discussion on XFree86 mailing list).
773
774 20040214
775         + modify configure --with-termlib option to accept a value which sets
776           the name of the terminfo library.  This would allow a packager to
777           build libtinfow.so renamed to coincide with libtinfo.so (discussion
778           with Stanislav Ievlev).
779         + improve documentation of --with-install-prefix, --prefix and
780           $(DESTDIR) in INSTALL (prompted by discussion with Paul Lew).
781         + add configure check if the compiler can use -c -o options to rename
782           its output file, use that to omit the 'cd' command which was used to
783           ensure object files are created in a separate staging directory
784           (prompted by comments by Johnny Wezel, Martin Mokrejs).
785
786 20040208 5.4 release for upload to ftp.gnu.org
787         + update TO-DO.
788
789 20040207 pre-release
790         + minor fixes to _nc_tparm_analyze(), i.e., do not count %i as a param,
791           and do not count %d if it follows a %p.
792         + correct an inconsistency between handling of codes in the 128-255
793           range, e.g., as illustrated by test/ncurses.c f/F tests.  In POSIX
794           locale, the latter did not show printable results, while the former
795           did.
796         + modify MKlib_gen.sh to compensate for broken C preprocessor on Mac
797           OS X, which alters "%%" to "% % " (report by Robert Simms, fix
798           verified by Scott Corscadden).
799
800 20040131 pre-release
801         + modify SCREEN struct to align it between normal/wide curses flavors
802           to simplify future changes to build a single version of libtinfo
803           (patch by Stanislav Ievlev).
804         + document handling of carriage return by addch() in manpage.
805         + document special features of unctrl() in manpage.
806         + documented interface changes in INSTALL.
807         + corrected control-char test in lib_addch.c to account for locale
808           (Debian #230335, cf: 971206).
809         + updated test/configure.in to use AC_EXEEXT and AC_OBJEXT.
810         + fixes to compile Ada95 binding with Debian gnat 3.15p-4 package.
811         + minor configure-script fixes for older ports, e.g., BeOS R4.5.
812
813 20040125 pre-release
814         + amend change to PutAttrChar() from 20030614 which computed the number
815           of cells for a possibly multi-cell character.  The 20030614 change
816           forced the cell to a blank if the result from wcwidth() was not
817           greater than zero.  However, wcwidth() called for parameters in the
818           range 128-255 can give this return value.  The logic now simply
819           ensures that the number of cells is greater than zero without
820           modifying the displayed value.
821
822 20040124 pre-release
823         + looked good for 5.4 release for upload to ftp.gnu.org (but see above)
824         + modify configure script check for ranlib to use AC_CHECK_TOOL, since
825           that works better for cross-compiling.
826
827 20040117 pre-release
828         + modify lib_get_wch.c to prefer mblen/mbtowc over mbrlen/mbrtowc to
829           work around core dump in Solaris 8's locale support, e.g., for
830           zh_CN.GB18030 (report by Saravanan Bellan).
831         + add includes for <stdarg.h> and <stdio.h> in configure script macro
832           to make <wchar.h> check work with Tru64 4.0d.
833         + add terminfo entry for U/Win -TD
834         + add terminfo entries for SFU aka Interix aka OpenNT (Federico
835           Bianchi).
836         + modify tput's error messages to prefix them with the program name
837           (report by Vincent Lefevre, patch by Daniel Jacobowitz, Debian
838           #227586).
839         + correct a place in tack where exit_standout_mode was used instead of
840           exit_attribute_mode (patch by Jochen Voss, Debian #224443).
841         + modify c++/cursesf.h to use const in the Enumeration_Field method.
842         + remove an ambiguous (actually redundant) method from c++/cursesf.h
843         + make $HOME/.terminfo update optional (suggested by Stanislav Ievlev).
844         + improve sed script which extracts libtool's version in the
845           CF_WITH_LIBTOOL macro.
846         + add ifdef'd call to AC_PROG_LIBTOOL to CF_WITH_LIBTOOL macro (to
847           simplify local patch for Albert Chin-A-Young)..
848         + add $(CXXFLAGS) to link command in c++/Makefile.in (adapted from
849           patch by Albert Chin-A-Young)..
850         + fix a missing substitution in configure.in for "$target" needed for
851           HPUX .so/.sl case.
852         + resync CF_XOPEN_SOURCE configure macro with lynx; fixes IRIX64 and
853           NetBSD 1.6 conflicts with _XOPEN_SOURCE.
854         + make check for stdbool.h more specific, to ensure that including it
855           will actually define/declare bool for the configured compiler.
856         + rewrite ifdef's in curses.h relating NCURSES_BOOL and bool.  The
857           intention of that is to #define NCURSES_BOOL as bool when the
858           compiler declares bool, and to #define bool as NCURSES_BOOL when it
859           does not (reported by Jim Gifford, Sam Varshavchik, cf: 20031213).
860
861 20040110 pre-release
862         + change minor version to 4, i.e., ncurses 5.4
863         + revised/improved terminfo entries for tvi912b, tvi920b (Benjamin C W
864           Sittler).
865         + simplified ncurses/base/version.c by defining the result from the
866           configure script rather than using sprintf (suggested by Stanislav
867           Ievlev).
868         + remove obsolete casts from c++/cursesw.h (reported by Stanislav
869           Ievlev).
870         + modify configure script so that when configuring for termlib, programs
871           such as tic are not linked with the upper-level ncurses library
872           (suggested by Stanislav Ievlev).
873         + move version.c from ncurses/base to ncurses/tinfo to allow linking
874           of tic, etc., using libtinfo (suggested by Stanislav Ievlev).
875
876 20040103
877         + adjust -D's to build ncursesw on OpenBSD.
878         + modify CF_PROG_EXT to make OS/2 build with EXEEXT.
879         + add pecho_wchar().
880         + remove <wctype.h> include from lib_slk_wset.c which is not needed (or
881           available) on older platforms.
882
883 20031227
884         + add -D's to build ncursew on FreeBSD 5.1.
885         + modify shared library configuration for FreeBSD 4.x/5.x to add the
886           soname information (request by Marc Glisse).
887         + modify _nc_read_tic_entry() to not use MAX_ALIAS, but PATH_MAX only
888           for limiting the length of a filename in the terminfo database.
889         + modify termname() to return the terminal name used by setupterm()
890           rather than $TERM, without truncating to 14 characters as documented
891           by X/Open (report by Stanislav Ievlev, cf:  970719).
892         + re-add definition for _BSD_TYPES, lost in merge (cf: 20031206).
893
894 20031220
895         + add configure option --with-manpage-format=catonly to address
896           behavior of BSDI, allow install of man+cat files on NetBSD, whose
897           behavior has diverged by requiring both to be present.
898         + remove leading blanks from comment-lines in manlinks.sed script to
899           work with Tru64 4.0d.
900         + add screen.linux terminfo entry (discussion on mutt-users mailing
901           list).
902
903 20031213
904         + add a check for tic to flag missing backslashes for termcap
905           continuation lines.  ncurses reads the whole entry, but termcap
906           applications do not.
907         + add configure option "--with-manpage-aliases" extending
908           "--with-manpage-aliases" to provide the option of generating ".so"
909           files rather than symbolic links for manpage aliases.
910         + add bool definition in include/curses.h.in for configurations with no
911           usable C++ compiler (cf: 20030607).
912         + fix pathname of SigAction.h for building with --srcdir (reported by
913           Mike Castle).
914
915 20031206
916         + folded ncurses/base/sigaction.c into includes of ncurses/SigAction.h,
917           since that header is used only within ncurses/tty/lib_tstp.c, for
918           non-POSIX systems (discussion with Stanislav Ievlev).
919         + remove obsolete _nc_outstr() function (report by Stanislav Ievlev
920           <inger@altlinux.org>).
921         + add test/background.c and test/color_set.c
922         + modify color_set() function to work with color pair 0 (report by
923           George Andreou <gbandreo@tem.uoc.gr>).
924         + add configure option --with-trace, since defining TRACE seems too
925           awkward for some cases.
926         + remove a call to _nc_free_termtype() from read_termtype(), since the
927           corresponding buffer contents were already zeroed by a memset (cf:
928           20000101).
929         + improve configure check for _XOPEN_SOURCE and related definitions,
930           adding special cases for Solaris' __EXTENSIONS__ and FreeBSD's
931           __BSD_TYPES (reports by Marc Glisse <marc.glisse@normalesup.org>).
932         + small fixes to compile on Solaris and IRIX64 using cc.
933         + correct typo in check for pre-POSIX sort options in MKkey_defs.sh
934           (cf: 20031101).
935
936 20031129
937         + modify _nc_gettime() to avoid a problem with arithmetic on unsigned
938           values (Philippe Blain).
939         + improve the nanosleep() logic in napms() by checking for EINTR and
940           restarting (Philippe Blain).
941         + correct expression for "%D" in lib_tgoto.c (Juha Jarvi
942           <mooz@welho.com>).
943
944 20031122
945         + add linux-vt terminfo entry (Andrey V Lukyanov <land@long.yar.ru>).
946         + allow "\|" escape in terminfo; tic should not warn about this.
947         + save the full pathname of the trace-file the first time it is opened,
948           to avoid creating it in different directories if the application
949           opens and closes it while changing its working directory.
950         + modify configure script to provide a non-empty default for
951           $BROKEN_LINKER
952
953 20031108
954         + add DJGPP to special case of DOS-style drive letters potentially
955           appearing in TERMCAP environment variable.
956         + fix some spelling in comments (reports by jmc, Jonathon Gray).
957         + update config.guess, config.sub
958
959 20031101
960         + fix a memory leak in error-return from setupterm() (report by
961           Stanislav Ievlev <inger@altlinux.org>).
962         + use EXEEXT and OBJEXT consistently in makefiles.
963         + amend fixes for cross-compiling to use separate executable-suffix
964           BUILD_EXEEXT (cf: 20031018).
965         + modify MKkey_defs.sh to check for sort utility that does not
966           recognize key options, e.g., busybox (report by Peter S Mazinger
967           <ps.m@gmx.net>).
968         + fix potential out-of-bounds indexing in _nc_infotocap() (found by
969           David Krause using some of the new malloc debugging features
970           under OpenBSD, patch by Ted Unangst).
971         + modify CF_LIB_SUFFIX for Itanium releases of HP-UX, which use a
972           ".so" suffix (patch by Jonathan Ward <Jonathan.Ward@hp.com>).
973
974 20031025
975         + update terminfo for xterm-xfree86 -TD
976         + add check for multiple "tc=" clauses in a termcap to tic.
977         + check for missing op/oc in tic.
978         + correct _nc_resolve_uses() and _nc_merge_entry() to allow infocmp and
979           tic to show cancelled capabilities.  These functions were ignoring
980           the state of the target entry, which should be untouched if cancelled.
981         + correct comment in tack/output.c (Debian #215806).
982         + add some null-pointer checks to lib_options.c (report by Michael
983           Bienia).
984         + regenerated html documentation.
985         + correction to tar-copy.sh, remove a trap command that resulted in
986           leaving temporary files (cf: 20030510).
987         + remove contact/maintainer addresses for Juergen Pfeifer (his request).
988
989 20031018
990         + updated test/configure to reflect changes for libtool (cf: 20030830).
991         + fix several places in tack/pad.c which tested and used the parameter-
992           and parameterless strings inconsistently, i.e., in pad_rin(),
993           pad_il(), pad_indn() and pad_dl() (Debian #215805).
994         + minor fixes for configure script and makefiles to cleanup executables
995           generated when cross-compiling for DJGPP.
996         + modify infocmp to omit check for $TERM for operations that do not
997           require it, e.g., "infocmp -e" used to build fallback list (report by
998           Koblinger Egmont).
999
1000 20031004
1001         + add terminfo entries for DJGPP.
1002         + updated note about maintainer in ncurses-intro.html
1003
1004 20030927
1005         + update terminfo entries for gnome terminal.
1006         + modify tack to reset colors after each color test, correct a place
1007           where exit_standout_mode was used instead of exit_attribute_mode.
1008         + improve tack's bce test by making it set colors other than black
1009           on white.
1010         + plug a potential recursion between napms() and _nc_timed_wait()
1011           (report by Philippe Blain).
1012
1013 20030920
1014         + add --with-rel-version option to allow workaround to allow making
1015           libtool on Darwin generate the "same" library names as with the
1016           --with-shared option.  The Darwin ld program does not work well
1017           with a zero as the minor-version value (request by Chris Zubrzycki).
1018         + modify CF_MIXEDCASE_FILENAMES macro to work with cross-compiling.
1019         + modify tack to allow it to run from fallback terminfo data.
1020         > Philippe Blain:
1021         + improve PutRange() by adjusting call to EmitRange() and corresponding
1022           return-value to not emit unchanged characters on the end of the
1023           range.
1024         + improve a check for changed-attribute by exiting a loop when the
1025           change is found.
1026         + improve logic in TransformLine(), eliminating a duplicated comparison
1027           in the clr_bol logic.
1028
1029 20030913
1030         > Philippe Blain:
1031         + in ncurses/tty/lib_mvcur.c,
1032           move the label 'nonlocal' just before the second gettimeofday() to
1033           be able to compute the diff time when 'goto nonlocal' used.
1034           Rename 'msec' to 'microsec' in the debug-message.
1035         + in ncurses/tty/lib_mvcur.c,
1036           Use _nc_outch() in carriage return/newline movement instead of
1037           putchar() which goes to stdout.  Move test for xold>0 out of loop.
1038         + in ncurses/tinfo/setbuf.c,
1039           Set the flag SP->_buffered at the end of operations when all has been
1040           successful (typeMalloc can fail).
1041         + simplify NC_BUFFERED macro by moving check inside _nc_setbuf().
1042
1043 20030906
1044         + modify configure script to avoid using "head -1", which does not
1045           work if POSIXLY_CORRECT (sic) is set.
1046         + modify run_tic.in to avoid using wrong shared libraries when
1047           cross-compiling (Dan Kegel).
1048
1049 20030830
1050         + alter configure script help message to make it clearer that
1051           --with-build-cc does not specify a cross-compiler (suggested by Dan
1052           Kegel <dank@kegel.com>).
1053         + modify configure script to accommodate libtool 1.5, as well as add an
1054           parameter to the "--with-libtool" option which can specify the
1055           pathname of libtool (report by Chris Zubrzycki).  We note that
1056           libtool 1.5 has more than one bug in its C++ support, so it is not
1057           able to install libncurses++, for instance, if $DESTDIR or the option
1058           --with-install-prefix is used.
1059
1060 20030823
1061         > Philippe Blain:
1062         + move assignments to SP->_cursrow, SP->_curscol into online_mvcur().
1063         + make baudrate computation in delay_output() consistent with the
1064           assumption in _nc_mvcur_init(), i.e., a byte is 9 bits.
1065
1066 20030816
1067         + modify logic in waddch_literal() to take into account zh_TW.Big5
1068           whose multibyte sequences may contain "printable" characters, e.g.,
1069           a "g" in the sequence "\247g" (Debian #204889, cf: 20030621).
1070         + improve storage used by _nc_safe_strcpy() by ensuring that the size
1071           is reset based on the initialization call, in case it were called
1072           after other strcpy/strcat calls (report by Philippe Blain).
1073         > Philippe Blain:
1074         + remove an unused ifdef for REAL_ATTR & WANT_CHAR
1075         + correct a place where _cup_cost was used rather than _cuu_cost
1076
1077 20030809
1078         + fix a small memory leak in _nc_free_termtype().
1079         + close trace-file if trace() is called with a zero parameter.
1080         + free memory allocated for soft-key strings, in delscreen().
1081         + fix an allocation size in safe_sprintf.c for the "*" format code.
1082         + correct safe_sprintf.c to not return a null pointer if the format
1083           happens to be an empty string.  This applies to the "configure
1084           --enable-safe-sprintf" option (Redhat #101486).
1085
1086 20030802
1087         + modify casts used for ABSENT_BOOLEAN and CANCELLED_BOOLEAN (report by
1088           Daniel Jacobowitz).
1089         > Philippe Blain:
1090         + change padding for change_scroll_region to not be proportional to
1091           the size of the scroll-region.
1092         + correct error-return in _nc_safe_strcat().
1093
1094 20030726
1095         + correct limit-checks in _nc_scroll_window() (report and test-case by
1096           Thomas Graf <graf@dms.at> cf: 20011020).
1097         + re-order configure checks for _XOPEN_SOURCE to avoid conflict with
1098           _GNU_SOURCE check.
1099
1100 20030719
1101         + use clr_eol in preference to blanks for bce terminals, so select and
1102           paste will have fewer trailing blanks, e.g., when using xterm
1103           (request by Vincent Lefevre).
1104         + correct prototype for wunctrl() in manpage.
1105         + add configure --with-abi-version option (discussion with Charles
1106           Wilson).
1107         > cygwin changes from Charles Wilson:
1108           + aclocal.m4: on cygwin, use autodetected prefix for import
1109             and static lib, but use "cyg" for DLL.
1110           + include/ncurses_dll.h: correct the comments to reflect current
1111             status of cygwin/mingw port.  Fix compiler warning.
1112           + misc/run_tic.in: ensure that tic.exe can find the uninstalled
1113             DLL, by adding the lib-directory to the PATH variable.
1114           + misc/terminfo.src (nxterm|xterm-color): make xterm-color
1115             primary instead of nxterm, to match XFree86's xterm.terminfo
1116             usage and to prevent circular links.
1117             (rxvt): add additional codes from rxvt.org.
1118             (rxvt-color): new alias
1119             (rxvt-xpm): new alias
1120             (rxvt-cygwin): like rxvt, but with special acsc codes.
1121             (rxvt-cygwin-native): ditto.  rxvt may be run under XWindows, or
1122             with a "native" MSWin GUI.  Each takes different acsc codes,
1123             which are both different from the "normal" rxvt's acsc.
1124             (cygwin): cygwin-in-cmd.exe window.  Lots of fixes.
1125             (cygwinDBG): ditto.
1126           + mk-1st.awk: use "cyg" for the DLL prefix, but "lib" for import
1127             and static libs.
1128
1129 20030712
1130         + update config.guess, config.sub
1131         + add triples for configuring shared libraries with the Debian
1132           GNU/FreeBSD packages (patch by Robert Millan <zeratul2@wanadoo.es>).
1133
1134 20030705
1135         + modify CF_GCC_WARNINGS so it only applies to gcc, not g++.  Some
1136           platforms have installed g++ along with the native C compiler, which
1137           would not accept gcc warning options.
1138         + add -D_XOPEN_SOURCE=500 when configuring with --enable-widec, to
1139           get mbstate_t declaration on HPUX 11.11 (report by David Ellement).
1140         + add _nc_pathlast() to get rid of casts in _nc_basename() calls.
1141         + correct a sign-extension in wadd_wch() and wecho_wchar() from
1142           20030628 (report by Tomohiro KUBOTA).
1143         + work around omission of btowc() and wctob() from wide-character
1144           support (sic) in NetBSD 1.6 using mbtowc() and wctomb() (report by
1145           Gabor Z Papp).
1146         + add portability note to curs_get_wstr.3x (Debian #199957).
1147
1148 20030628
1149         + rewrite wadd_wch() and wecho_wchar() to call waddch() and wechochar()
1150           respectively, to avoid calling waddch_noecho() with wide-character
1151           data, since that function assumes its input is 8-bit data.
1152           Similarly, modify waddnwstr() to call wadd_wch().
1153         + remove logic from waddnstr() which transformed multibyte character
1154           strings into wide-characters.  Rewrite of waddch_literal() from
1155           20030621 assumes its input is raw multibyte data rather than wide
1156           characters (report by Tomohiro KUBOTA).
1157
1158 20030621
1159         + write getyx() and related 2-return macros in terms of getcury(),
1160           getcurx(), etc.
1161         + modify waddch_literal() in case an application passes bytes of a
1162           multibyte character directly to waddch().  In this case, waddch()
1163           must reassemble the bytes into a wide-character (report by Tomohiro
1164           KUBOTA <kubota@debian.org>).
1165
1166 20030614
1167         + modify waddch_literal() in case a multibyte value occupies more than
1168           two cells.
1169         + modify PutAttrChar() to compute the number of character cells that
1170           are used in multibyte values.  This fixes a problem displaying
1171           double-width characters (report/test by Mitsuru Chinen
1172           <mchinen@yamato.ibm.com>).
1173         + add a null-pointer check for result of keyname() in _tracechar()
1174         + modify _tracechar() to work around glibc sprintf bug.
1175
1176 20030607
1177         + add a call to setlocale() in cursesmain.cc, making demo display
1178           properly in a UTF-8 locale.
1179         + add a fallback definition in curses.priv.h for MB_LEN_MAX (prompted
1180           by discussion with Gabor Z Papp).
1181         + use macros NCURSES_ACS() and NCURSES_WACS() to hide cast needed to
1182           appease -Wchar-subscript with g++ 3.3 (Debian #195732).
1183         + fix a redefinition of $RANLIB in the configure script when libtool
1184           is used, which broke configure on Mac OS X (report by Chris Zubrzycki
1185           <beren@mac.com>).
1186         + simplify ifdef for bool declaration in curses.h.in (suggested by
1187           Albert Chin-A-Young).
1188         + remove configure script check to allow -Wconversion for older
1189           versions of gcc (suggested by Albert Chin-A-Young).
1190
1191 20030531
1192         + regenerated html manpages.
1193         + modify ifdef's in curses.h.in that disabled use of __attribute__()
1194           for g++, since recent versions implement the cases which ncurses uses
1195           (Debian #195230).
1196         + modify _nc_get_token() to handle a case where an entry has no
1197           description, and capabilities begin on the same line as the entry
1198           name.
1199         + fix a typo in ncurses_dll.h reported by gcc 3.3.
1200         + add an entry for key_defined.3x to man_db.renames.
1201
1202 20030524
1203         + modify setcchar() to allow converting control characters to complex
1204           characters (report/test by Mitsuru Chinen <mchinen@yamato.ibm.com>).
1205         + add tkterm entry -TD
1206         + modify parse_entry.c to allow a terminfo entry with a leading
1207           2-character name (report by Don Libes).
1208         + corrected acsc in screen.teraterm, which requires a PC-style mapping.
1209         + fix trace statements in read_entry.c to use lseek() rather than
1210           tell().
1211         + fix signed/unsigned warnings from Sun's compiler (gcc should give
1212           these warnings, but it is unpredictable).
1213         + modify configure script to omit -Winline for gcc 3.3, since that
1214           feature is broken.
1215         + modify manlinks.sed to add a few functions that were overlooked since
1216           they return function pointers:  field_init, field_term, form_init,
1217           form_term, item_init, item_term, menu_init and menu_term.
1218
1219 20030517
1220         + prevent recursion in wgetch() via wgetnstr() if the connection cannot
1221           be switched between cooked/raw modes because it is not a TTY (report
1222           by Wolfgang Gutjahr <gutw@knapp.com>).
1223         + change parameter of define_key() and key_defined() to const (prompted
1224           by Debian #192860).
1225         + add a check in test/configure for ncurses extensions, since there
1226           are some older versions, etc., which would not compile with the
1227           current test programs.
1228         + corrected demo in test/ncurses.c of wgetn_wstr(), which did not
1229           convert wchar_t string to multibyte form before printing it.
1230         + corrections to lib_get_wstr.c:
1231           + null-terminate buffer passed to setcchar(), which occasionally
1232             failed.
1233           + map special characters such as erase- and kill-characters into
1234             key-codes so those will work as expected even if they are not
1235             mentioned in the terminfo.
1236         + modify PUTC() and Charable() macros to make wide-character line
1237           drawing work for POSIX locale on Linux console (cf: 20021221).
1238
1239 20030510
1240         + make typography for program options in manpages consistent (report
1241           by Miloslav Trmac <mitr@volny.cz>).
1242         + correct dependencies in Ada95/src/Makefile.in, so the builds with
1243           "--srcdir" work (report by Warren L Dodge).
1244         + correct missing definition of $(CC) in Ada95/gen/Makefile.in
1245           (reported by Warren L Dodge <warrend@mdhost.cse.tek.com>).
1246         + fix typos and whitespace in manpages (patch by jmc
1247           <jmc@prioris.mini.pw.edu.pl>).
1248
1249 20030503
1250         + fix form_driver() cases for REQ_CLR_EOF, REQ_CLR_EOL, REQ_DEL_CHAR,
1251           REQ_DEL_PREV and REQ_NEW_LINE, which did not ensure the cursor was at
1252           the editing position before making modifications.
1253         + add test/demo_forms and associated test/edit_field.c demos.
1254         + modify test/configure.in to use test/modules for the list of objects
1255           to compile rather than using the list of programs.
1256
1257 20030419
1258         + modify logic of acsc to use the original character if no mapping is
1259           defined, noting that Solaris does this.
1260         + modify ncurses 'b' test to avoid using the acs_map[] array since
1261           20021231 changes it to no longer contain information from the acsc
1262           string.
1263         + modify makefile rules in c++, progs, tack and test to ensure that
1264           the compiler flags (e.g., $CFLAGS or $CCFLAGS) are used in the link
1265           command (report by Jose Luis Rico Botella <informatica@serpis.com>).
1266         + modify soft-key initialization to use A_REVERSE if A_STANDOUT would
1267           not be shown when colors are used, i.e., if ncv#1 is set in the
1268           terminfo as is done in "screen".
1269
1270 20030412
1271         + add a test for slk_color(), in ncurses.c
1272         + fix some issues reported by valgrind in the slk_set() and slk_wset()
1273           code, from recent rewrite.
1274         + modify ncurses 'E' test to use show previous label via slk_label(),
1275           as in 'e' test.
1276         + modify wide-character versions of NewChar(), NewChar2() macros to
1277           ensure that the whole struct is initialized.
1278
1279 20030405
1280         + modify setupterm() to check if the terminfo and terminal-modes have
1281           already been read.  This ensures that it does not reinvoke
1282           def_prog_mode() when an application calls more than one function,
1283           such as tgetent() and initscr() (report by Olaf Buddenhagen).
1284
1285 20030329
1286         + add 'E' test to ncurses.c, to exercise slk_wset().
1287         + correct handling of carriage-return in wgetn_wstr(), used in demo of
1288           slk_wset().
1289         + first draft of slk_wset() function.
1290
1291 20030322
1292         + improved warnings in tic when suppressing items to fit in termcap's
1293           1023-byte limit.
1294         + built a list in test/README showing which externals are being used
1295           by either programs in the test-directory or via internal library
1296           calls.
1297         + adjust include-options in CF_ETIP_DEFINES to avoid missing
1298           ncurses_dll.h, fixing special definitions that may be needed for
1299           etip.h (reported by Greg Schafer <gschafer@zip.com.au>).
1300
1301 20030315
1302         + minor fixes for cardfile.c, to make it write the updated fields to
1303           a file when ^W is given.
1304         + add/use _nc_trace_bufcat() to eliminate some fixed buffer limits in
1305           trace code.
1306
1307 20030308
1308         + correct a case in _nc_remove_string(), used by define_key(), to avoid
1309           infinite loop if the given string happens to be a substring of other
1310           strings which are assigned to keys (report by John McCutchan).
1311         + add key_defined() function, to tell which keycode a string is bound
1312           to (discussion with John McCutchan <ttb@tentacle.dhs.org>).
1313         + correct keybound(), which reported definitions in the wrong table,
1314           i.e., the list of definitions which are disabled by keyok().
1315         + modify demo_keydef.c to show the details it changes, and to check
1316           for errors.
1317
1318 20030301
1319         + restructured test/configure script, make it work for libncursesw.
1320         + add description of link_fieldtype() to manpage (report by
1321           L Dee Holtsclaw <dee@sunbeltsoft.com>).
1322
1323 20030222
1324         + corrected ifdef's relating to configure check for wchar_t, etc.
1325         + if the output is a socket or other non-tty device, use 1 millisecond
1326           for the cost in mvcur; previously it was 9 milliseconds because the
1327           baudrate was not known.
1328         + in _nc_get_tty_mode(), initialize the TTY buffer on error, since
1329           glibc copies uninitialized data in that case, as noted by valgrind.
1330         + modify tput to use the same parameter analysis as tparm() does, to
1331           provide for user-defined strings, e.g., for xterm title, a
1332           corresponding capability might be
1333                 title=\E]2;%p1%s^G,
1334         + modify MKlib_gen.sh to avoid passing "#" tokens through the C
1335           preprocessor.  This works around Mac OS X's preprocessor, which
1336           insists on adding a blank on each side of the token (report/analysis
1337           by Kevin Murphy <murphy@genome.chop.edu>).
1338
1339 20030215
1340         + add configure check for wchar_t and wint_t types, rather than rely
1341           on preprocessor definitions.  Also work around for gcc fixinclude
1342           bug which creates a shadow copy of curses.h if it sees these symbols
1343           apparently typedef'd.
1344         + if database is disabled, do not generate run_tic.sh
1345         + minor fixes for memory-leak checking when termcap is read.
1346
1347 20030208
1348         + add checking in tic for incomplete line-drawing character mapping.
1349         + update configure script to reflect fix for AC_PROG_GCC_TRADITIONAL,
1350           which is broken in autoconf 2.5x for Mac OS X 10.2.3 (report by
1351           Gerben Wierda <Sherlock@rna.nl>).
1352         + make return value from _nc_printf_string() consistent.  Before,
1353           depending on whether --enable-safe-sprintf was used, it might not be
1354           cached for reallocating.
1355
1356 20030201
1357         + minor fixes for memory-leak checking in lib_tparm.c, hardscroll.c
1358         + correct a potentially-uninitialized value if _read_termtype() does
1359           not read as much data as expected (report by Wolfgang Rohdewald
1360           <wr6@uni.de>).
1361         + correct several places where the aclocal.m4 macros relied on cache
1362           variable names which were incompatible (as usual) between autoconf
1363           2.13 and 2.5x, causing the test for broken-linker to give incorrect
1364           results (reports by Gerben Wierda <Sherlock@rna.nl> and Thomas Esser
1365           <te@dbs.uni-hannover.de>).
1366         + do not try to open gpm mouse driver if standard output is not a tty;
1367           the gpm library does not make this check (from bug report for dialog
1368           by David Oliveira <davidoliveira@develop.prozone.ws>).
1369
1370 20030125
1371         + modified emx.src to correspond more closely to terminfo.src, added
1372           emx-base to the latter -TD
1373         + add configure option for FreeBSD sysmouse, --with-sysmouse, and
1374           implement support for that in lib_mouse.c, lib_getch.c
1375
1376 20030118
1377         + revert 20030105 change to can_clear_with(), does not work for the
1378           case where the update is made on cells which are blanks with
1379           attributes, e.g., reverse.
1380         + improve ifdef's to guard against redefinition of wchar_t and wint_t
1381           in curses.h (report by Urs Jansen).
1382
1383 20030111
1384         + improve mvcur() by checking if it is safe to move when video
1385           attributes are set (msgr), and if not, reset/restore attributes
1386           within that function rather than doing it separately in the GoTo()
1387           function in tty_update.c (suggested by Philippe Blain).
1388         + add a message in run_tic.in to explain more clearly what does not
1389           work when attempting to create a symbolic link for /usr/lib/terminfo
1390           on OS/2 and other platforms with no symbolic links (report by John
1391           Polterak).
1392         + change several sed scripts to avoid using "\+" since it is not a BRE
1393           (basic regular expression).  One instance caused terminfo.5 to be
1394           misformatted on FreeBSD (from a FreeBSD bug report by Kazuo Horikawa
1395           <horikawa@FreeBSD.org>).
1396         + correct misspelled 'wint_t' in curs_get_wch.3x (Michael Elkins).
1397
1398 20030105
1399         + improve description of terminfo operators, especially static/dynamic
1400           variables (comments by Mark I Manning IV <mark4th@earthlink.net>).
1401         + demonstrate use of FIELDTYPE by modifying test/ncurses 'r' test to
1402           use the predefined TYPE_ALPHA field-type, and by defining a
1403           specialized type for the middle initial/name.
1404         + fix MKterminfo.sh, another workaround for POSIXLY_CORRECT misfeature
1405           of sed 4.0
1406         > Philippe Blain:
1407         + optimize can_clear_with() a little by testing first if the parameter
1408           is indeed a "blank".
1409         + simplify ClrBottom() a little by allowing it to use clr_eos to clear
1410           sections as small as one line.
1411         + improve ClrToEOL() by checking if clr_eos is available before trying
1412           to use it.
1413         + use tputs() rather than putp() in a few cases in tty_update.c since
1414           the corresponding delays are proportional to the number of lines
1415           affected: repeat_char, clr_eos, change_scroll_region.
1416
1417 20021231
1418         + rewrite of lib_acs.c conflicts with copying of SCREEN acs_map to/from
1419           global acs_map[] array; removed the lines that did the copying.
1420
1421 20021228
1422         + change some overlooked tputs() calls in scrolling code to use putp()
1423           (report by Philippe Blain).
1424         + modify lib_getch.c to avoid recursion via wgetnstr() when the input
1425           is not a tty and consequently mode-changes do not work (report by
1426           <R.Chamberlin@querix.com>).
1427         + rewrote lib_acs.c to allow PutAttrChar() to decide how to render
1428           alternate-characters, i.e., to work with Linux console and UTF-8
1429           locale.
1430         + correct line/column reference in adjust_window(), needed to make
1431           special windows such as curscr track properly when resizing (report
1432           by Lucas Gonze <lgonze@panix.com>).
1433         > Philippe Blain:
1434         + correct the value used for blank in ClrBottom() (broken in 20000708).
1435         + correct an off-by-one in GoTo() parameter in _nc_scrolln().
1436
1437 20021221
1438         + change several tputs() calls in scrolling code to use putp(), to
1439           enable padding which may be needed for some terminals (patch by
1440           by Philippe Blain).
1441         + use '%' as sed substitute delimiter in run_tic script to avoid
1442           problems with pathname delimiters such as ':' and '@' (report by John
1443           Polterak).
1444         + implement a workaround so that line-drawing works with screen's
1445           crippled UTF-8 support (tested with 3.9.13).  This only works with
1446           the wide-character support (--enable-widec); the normal library will
1447           simply suppress line-drawing when running in a UTF-8 locale in screen.
1448
1449 20021214
1450         + allow BUILD_CC and related configure script variables to be
1451           overridden from the environment.
1452         + make build-tools variables in ncurses/Makefile.in consistent with
1453           the configure script variables (report by Maciej W Rozycki).
1454         + modify ncurses/modules to allow
1455                 configure --disable-leaks --disable-ext-funcs
1456           to build (report by Gary Samuelson).
1457         + fix a few places in configure.in which lacked quotes (report by
1458           Gary Samuelson <gary.samuelson@verizon.com>).
1459         + correct handling of multibyte characters in waddch_literal() which
1460           force wrapping because they are started too late on the line (report
1461           by Sam Varshavchik).
1462         + small fix for CF_GNAT_VERSION to ignore the help-message which
1463           gnatmake adds to its version-message.
1464         > Maciej W Rozycki <macro@ds2.pg.gda.pl>:
1465         + use AC_CHECK_TOOL to get proper values for AR and LD for cross
1466           compiling.
1467         + use $cross_compiling variable in configure script rather than
1468           comparing $host_alias and $target alias, since "host" is
1469           traditionally misused in autoconf to refer to the target platform.
1470         + change configure --help message to use "build" rather than "host"
1471           when referring to the --with-build-XXX options.
1472
1473 20021206
1474         + modify CF_GNAT_VERSION to print gnatmake's version, and to allow for
1475           possible gnat versions such as 3.2 (report by Chris Lingard
1476           <chris@stockwith.co.uk>).
1477         + modify #define's for CKILL and other default control characters in
1478           tset to use the system's default values if they are defined.
1479         + correct interchanged defaults for kill and interrupt characters
1480           in tset, which caused it to report unnecessarily (Debian #171583).
1481         + repair check for missing C++ compiler, which is broken in autoconf
1482           2.5x by hardcoding it to g++ (report by Martin Mokrejs).
1483         + update config.guess, config.sub (2002-11-30)
1484         + modify configure script to skip --with-shared, etc., when the
1485           --with-libtool option is given, since they would be ignored anyway.
1486         + fix to allow "configure --with-libtool --with-termlib" to build.
1487         + modify configure script to show version number of libtool, to help
1488           with bug reports.  libtool still gets confused if the installed
1489           ncurses libraries are old, since it ignores the -L options at some
1490           point (tested with libtool 1.3.3 and 1.4.3).
1491         + reorder configure script's updating of $CPPFLAGS and $CFLAGS to
1492           prevent -I options in the user's environment from introducing
1493           conflicts with the build -I options (may be related to reports by
1494           Patrick Ash and George Goffe).
1495         + rename test/define_key.c to test/demo_defkey.c, test/keyok.c to
1496           test/demo_keyok.c to allow building these with libtool.
1497
1498 20021123
1499         + add example program test/define_key.c for define_key().
1500         + add example program test/keyok.c for keyok().
1501         + add example program test/ins_wide.c for wins_wch() and wins_wstr().
1502         + modify wins_wch() and wins_wstr() to interpret tabs by using the
1503           winsch() internal function.
1504         + modify setcchar() to allow for wchar_t input strings that have
1505           more than one spacing character.
1506
1507 20021116
1508         + fix a boundary check in lib_insch.c (patch by Philippe Blain).
1509         + change type for *printw functions from NCURSES_CONST to const
1510           (prompted by comment by Pedro Palhoto Matos <plpm@mega.ist.utl.pt>,
1511           but really from a note on X/Open's website stating that either is
1512           acceptable, and the latter will be used in a future revision).
1513         + add xterm-1002, xterm-1003 terminfo entries to demonstrate changes in
1514           lib_mouse.c (20021026) -TD
1515         + add screen-bce, screen-s entries from screen 3.9.13 (report by
1516           Adam Lazur <zal@debian.org>) -TD
1517         + add mterm terminfo entries -TD
1518
1519 20021109
1520         + split-out useful fragments in terminfo for vt100 and vt220 numeric
1521           keypad, i.e., vt100+keypad, vt100+pfkeys, vt100+fnkeys and
1522           vt220+keypad.  The last as embedded in various entries had ka3 and
1523           kb2 interchanged (report/discussion with Leonard den Ottolander
1524           <leonardjo@hetnet.nl>).
1525         + add check in tic for keypads consistent with vt100 layout.
1526         + improve checks in tic for color capabilities
1527
1528 20021102
1529         + check for missing/empty/illegal terminfo name in _nc_read_entry()
1530           (report by Martin Mokrejs, where $TERM was set to an empty string).
1531         + rewrote lib_insch.c, combining it with lib_insstr.c so both handle
1532           tab and other control characters consistently (report by Philippe
1533           Blain).
1534         + remove an #undef for KEY_EVENT from curses.tail used in the
1535           experimental NCURSES_WGETCH_EVENTS feature.  The #undef confuses
1536           dpkg's build script (Debian #165897).
1537         + fix MKlib_gen.sh, working around the ironically named POSIXLY_CORRECT
1538           feature of GNU sed 4.0 (reported by Ervin Nemeth <airwin@inf.bme.hu>).
1539
1540 20021026
1541         + implement logic in lib_mouse.c to handle position reports which are
1542           generated when XFree86 xterm is initialized with private modes 1002
1543           or 1003.  These are returned to the application as the
1544           REPORT_MOUSE_POSITION mask, which was not implemented.  Tested both
1545           with ncurses 'a' menu (prompted by discussion with Larry Riedel
1546           <Larry@Riedel.org>).
1547         + modify lib_mouse.c to look for "XM" terminfo string, which allows
1548           one to override the escape sequence used to enable/disable mouse
1549           mode.  In particular this works for XFree86 xterm private modes
1550           1002 and 1003.  If "XM" is missing (note that this is an extended
1551           name), lib_mouse uses the conventional private mode 1000.
1552         + correct NOT_LOCAL() macro in lib_mvcur.c to refer to screen_columns
1553           where it used screen_lines (report by Philippe Blain).
1554         + correct makefile rules for the case when both --with-libtool and
1555           --with-gpm are given (report by Mr E_T <troll@logi.net.au>).
1556         + add note to terminfo manpage regarding the differences between
1557           setaf/setab and setf/setb capabilities (report by Pavel Roskin).
1558
1559 20021019
1560         + remove redundant initialization of TABSIZE in newterm(), since it is
1561           already done in setupterm() (report by Philippe Blain).
1562         + add test/inserts.c, to test winnstr() and winsch().
1563         + replace 'sort' in dist.mk with script that sets locale to POSIX.
1564         + update URLs in announce.html.in (patch by Frederic L W Meunier).
1565         + remove glibc add-on files, which are no longer needed (report by
1566           Frederic L W Meunier).
1567
1568 20021012 5.3 release for upload to ftp.gnu.org
1569         + modify ifdef's in etip.h.in to allow the etip.h header to compile
1570           with gcc 3.2 (patch by Dimitar Zhekov <jimmy@is-vn.bg>).
1571         + add logic to setupterm() to make it like initscr() and newterm(),
1572           by checking for $NCURSES_TRACE environment variable and enabling
1573           the debug trace in that case.
1574         + modify setupterm() to ensure that it initializes the baudrate, for
1575           applications such as tput (report by Frank Henigman).
1576         + modify definition of bits used for command-line and library debug
1577           traces to avoid overlap, using new definition TRACE_SHIFT to relate
1578           the two.
1579         + document tput's interpretation of parameterized strings according to
1580           whether parameters are given, etc. (discussion with Robert De Bath).
1581
1582 20021005 pre-release
1583         + correct winnwstr() to account for non-character cells generated when
1584           a double-width character is added (report by Michael Bienia
1585           <michael@vorlon.ping.de>).
1586         + modify _nc_viswbuf2n() to provide better results using wctomb().
1587         + correct logic in _nc_varargs() which broke tracing of parameters for
1588           formats such as "%.*s".
1589         + correct scale factor in linux-c and linux-c-nc terminfo entries
1590           (report Floyd Davidson).
1591         + change tic -A option to -t, add the same option to infocmp for
1592           consistency.
1593         + correct "%c" implementation in lib_tparm.c, which did not map a null
1594           character to a 128 (cf: 980620) (patch by Frank Henigman
1595           <fjhenigman@mud.cgl.uwaterloo.ca>).
1596
1597 20020928 pre-release
1598         + modify MKkey_defs.sh to check for POSIX sort -k option, use that if
1599           it is found, to accommodate newer utility which dropped the
1600           compatibility support for +number options (reported by Andrey A
1601           Chernov).
1602         + modify linux terminfo entry to use color palette feature from
1603           linux-c-nc entry (comments by Tomasz Wasiak and Floyd Davidson).
1604         + restore original color definitions in endwin() if init_color() was
1605           used, and resume those colors on the next doupdate() or refresh()
1606           (report by Tomasz Wasiak <tjwasiak@komputom.com.pl>).
1607         + improve debug-traces by modifying MKlib_gen.sh to generate calls
1608           to returnBool() and returnAttr().
1609         + add/use _nc_visbufn() and _nc_viswbufn() to limit the debug trace
1610           of waddnstr() and similar functions to match the parameters as used.
1611         + add/use _nc_retrace_bool() and _nc_retrace_unsigned().
1612         + correct type used by _nc_retrace_chtype().
1613         + add debug traces to some functions in lib_mouse.c
1614         + modify lib_addch.c to handle non-spacing characters.
1615         + correct parameter of RemAttr() in lib_bkgd.c, which caused the c++
1616           demo's boxes to lose the A_ALTCHARSET flag (broken in 20020629).
1617         + correct width computed in _tracedump(), which did not account for
1618           the attributes (broken in 20010602).
1619         + modify test/tracemunch to replace addresses for windows other than
1620           curscr, newscr and stdscr with window0, window1, etc.
1621
1622 20020921 pre-release
1623         + redid fix for edit_man.sed path.
1624         + workaround for Cygwin bug which makes subprocess writes to stdout
1625           result in core dump.
1626         + documented getbegx(), etc.
1627         + minor fixes to configure script to use '%' consistently as a sed
1628           delimiter rather than '@'.
1629         > Philippe Blain:
1630         + add check in lib_overlay.c to ensure that the windows to be merged
1631           actually overlap, and in copywin(), limit the area to be touched
1632           to the lines given for the destination window.
1633
1634 20020914 pre-release
1635         + modified curses.h so that if the wide-character version is installed
1636           overwriting /usr/include/curses.h, and if it relied on libutf8.h,
1637           then applications that use that header for wide-character support
1638           must define HAVE_LIBUTF8_H.
1639         + modify putwin(), getwin() and dupwin() to allow them to operate on
1640           pads (request by Philippe Blain).
1641         + correct attribute-merging in wborder(), broken in 20020216 (report
1642           by Tomasz Wasiak <tjwasiak@grubasek.komputom.com.pl>).
1643         > Philippe Blain:
1644         + corrected pop-counts in tparam_internal() to '!' and '~' cases.
1645         + use sizeof(NCURSES_CH_T) in one place that used sizeof(chtype).
1646         + remove some unused variables from mvcur test-driver.
1647
1648 20020907 pre-release
1649         + change configure script to allow install of widec-character
1650           (ncursesw) headers to overwrite normal (ncurses) headers, since the
1651           latter is a compatible subset of the former.
1652         + fix path of edit_man.sed in configure script, needed to regenerate
1653           html manpages on Debian.
1654         + fix mismatched enums in vsscanf.c, which caused warning on Solaris.
1655         + update README.emx to reflect current patch used for autoconf.
1656         + change web- and ftp-site to invisible-island.net
1657         > Philippe Blain:
1658         + change case for 'P' in tparam_internal() to indicate that it pops
1659           a variable from the stack.
1660         + correct sense of precision and width in parse_format(), to avoid
1661           confusion.
1662         + modify lib_tparm.c, absorb really_get_space() into get_space().
1663         + modify getwin() and dupwin() to copy the _notimeout, _idlok and
1664           _idcok window fields.
1665         + better fix for _nc_set_type(), using typeMalloc().
1666
1667 20020901 pre-release
1668         + change minor version to 3, i.e., ncurses 5.3
1669         + update config.guess, config.sub
1670         + retest build with each configure option; minor ifdef fixes.
1671         + make keyname() return a null pointer rather than "UNKNOWN STRING" to
1672           match XSI.
1673         + modify handling of wide line-drawing character functions to use the
1674           normal line-drawing characters when not in UTF-8 locale.
1675         + add check/fix to comp_parse.c to suppress warning about missing acsc
1676           string.  This happens in configurations where raw termcap information
1677           is processed; tic already does this and other checks.
1678         + modify tic's check for ich/ich1 versus rmir/smir to only warn about
1679           ich1, to match xterm patch #70 notes.
1680         + moved information for ripped-off lines into SCREEN struct to allow
1681           use in resizeterm().
1682         + add experimental wgetch_events(), ifdef'd with NCURSES_WGETCH_EVENTS
1683           (adapted from patch by Ilya Zakharevich - see ncurses/README.IZ).
1684         + amend check in kgetch() from 20020824 to look only for function-keys,
1685           otherwise escape sequences are not resolved properly.
1686         > Philippe Blain:
1687         + removed redundant assignment to SP->_checkfd from newterm().
1688         + check return-value of setupterm() in restartterm().
1689         + use sizeof(NCURSES_CH_T) in a few places that used sizeof(chtype).
1690         + prevent dupwin() from duplicating a pad.
1691         + prevent putwin() from writing a pad.
1692         + use typeRealloc() or typeMalloc() in preference to direct calls on
1693           _nc_doalloc().
1694
1695 20020824
1696         + add a check in kgetch() for cooked characters in the fifo to avoid
1697           calling fifo_push() when a KEY_RESIZE is available (report/analysis
1698           by Sam Varshavchik <mrsam@courier-mta.com>).
1699         + fix an overlooked case for bugzilla #68199 (Philippe Blain).
1700         + ensure clearerr() is called before using ferror() e.g., in
1701           lib_screen.c (report by Philippe Blain).
1702
1703 20020817
1704         + modify lib_screen.c and lib_newwin.c to maintain the SCREEN-specific
1705           pointers for curscr/stdscr/newscr when scr_save() and scr_restore()
1706           modify the global curscr/stdscr/newscr variables.  Fixes Redhat
1707           bugzilla #68199 dated 2002-07-07.
1708         + add checks for null pointer in calls to tparm() and tgoto() based on
1709           FreeBSD bug report.  If ncurses were built with termcap support, and
1710           the first call to tgoto() were a zero-length string, the result would
1711           be a null pointer, which was not handled properly.
1712         + correct a typo in terminfo.head, which gave the octal code for colon
1713           rather than comma.
1714         + remove the "tic -u" option from 20020810, since it did not account
1715           for nested "tc=" clauses, and when that was addressed, was still
1716           unsatisfactory.
1717
1718 20020810
1719         + add tic -A option to suppress capabilities which are commented out
1720           when translating to termcap.
1721         + add tic -u option to provide older behavior of "tc=" clauses.
1722         + modified tic to expand all but the final "tc=" clause in a termcap
1723           entry, to accommodate termcap libraries which do not handle multiple
1724           tc clauses.
1725         + correct typo in curs_inopts.3x regarding CS8/CS7 usage (report by
1726           Philippe Blain).
1727         + remove a couple of redundant uses of A_ATTRIBUTES in expressions
1728           using AttrOf(), which already incorporates that mask (report by
1729           Philippe Blain).
1730         + document TABSIZE variable.
1731         + add NCURSES_ASSUMED_COLORS environment variable, to allow users to
1732           override compiled-in default black-on-white assumption used in
1733           assume_default_colors().
1734         + correct an off-by-one comparison against max_colors in COLORFGBG
1735           logic.
1736         + correct a use of uninitialized memory found by valgrind (reported by
1737           Olaf Buddenhagen <olafBuddenhagen@web.de>).
1738         + modified wresize() to ensure that a failed realloc will not corrupt
1739           the window structure, and to make subwindows fit within the resized
1740           window (completes Debian #87678, #101699)
1741
1742 20020803
1743         + fix an off-by-one in lib_pad.c check for limits of pad (patch by
1744           Philippe Blain).
1745         + revise logic for BeOS in lib_twait.c altered in 20011013 to restore
1746           logic used by lib_getch.c's support for GPM or EMX mouse (report by
1747           Philippe Blain)
1748         + remove NCURSES_CONST from several prototypes in curses.wide, to make
1749           the --enable-const --enable-widec configure options to work together
1750           (report by George Goffe <grgoffe@yahoo.com>).
1751
1752 20020727
1753         + finish no-leak checking in cardfile.c, using this for testing changes
1754           to resizeterm().
1755         + simplify _nc_freeall() using delscreen().
1756
1757 20020720
1758         + check error-return from _nc_set_tty_mode() in _nc_initscr() and
1759           reset_prog_mode() (report/patch by Philippe Blain).
1760         + regenerate configure using patch for autoconf 2.52, to address
1761           problem with identifying C++ bool type.
1762         + correct/improve logic to produce an exit status for errors in tput,
1763           which did not exit with an error when told to put a string not in the
1764           current terminfo entry (report by David Gomez <david@pleyades.net>).
1765         + modify configure script AC_OUTPUT() call to work around defect in
1766           autoconf 2.52 which adds an ifdef'd include to the generated
1767           configure definitions.
1768         + remove fstat() check from scr_init(), which also fixes a missing
1769           include for <sys/stat.h> from 20020713 (reported by David Ellement,
1770           fix suggested by Philippe Blain).
1771         + update curs_scanw.3x manpage to note that XSI curses differs from
1772           SVr4 curses: return-values are incompatible.
1773         + correct several prototypes in manpages which used const
1774           inconsistently with the curses.h file, and removed spurious const's
1775           in a few places from curses.h, e.g., for wbkgd() (report by Glenn
1776           Maynard <glenn@zewt.org>).
1777         + change internal type used by tparm() to long, to work with LP64 model.
1778         + modify nc_alloc.h to allow building with g++, for testing.
1779
1780 20020713
1781         + add resize-handling to cardfile.c test program.
1782         + altered resizeterm() to avoid having it fail when a child window
1783           cannot be resized because it would be larger than its parent.  (More
1784           work must be done on this, but it works well enough to integrate).
1785         + improve a limit-check in lib_refresh.c
1786         + remove check in lib_screen.c relating dumptime to file's modification
1787           times, since that would not necessarily work for remotely mounted
1788           filesystems.
1789         + modify lrtest to simplify debugging changes to resizeterm, e.g.,
1790           t/T commands to enable/disable tracing.
1791         + updated status of multibyte support in TO-DO.
1792         + update contact info in source-files (patch by Juergen Pfeifer).
1793
1794 20020706
1795         + add Caps.hpux11, as an example.
1796         + modify version_filter(), used to implement -R option for tic and
1797           infocmp, to use computed array offsets based on the Caps.* file which
1798           is actually configured, rather than constants which correspond to
1799           the Caps file.
1800         + reorganized lib_raw.c to avoid updating SP and cur_term state if the
1801           functions fail (reported by Philippe Blain).
1802         + add -Wundef to gcc warnings, adjust a few ifdef's to accommodate gcc.
1803
1804 20020629
1805         + correct parameters to setcchar() in ncurses.c (cf: 20020406).
1806         + set locale in most test programs (view.c and ncurses.c were the
1807           only ones).
1808         + add configure option --with-build-cppflags (report by Maksim A
1809           Nikulin <M.A.Nikulin@inp.nsk.su>).
1810         + correct a typo in wide-character logic for lib_bkgnd.c (Philippe
1811           Blain).
1812         + modify lib_wacs.c to not cancel the acsc, smacs, rmacs strings when
1813           in UTF-8 locale.  Wide-character functions use Unicode values, while
1814           narrow-character functions use the terminfo data.
1815         + fix a couple of places in Ada95/samples which did not compile with
1816           gnat 3.14
1817         + modify mkinstalldirs so the DOS-pathname case is locale-independent.
1818         + fix locale problem in MKlib_gen.sh by forcing related variables to
1819           POSIX (C), using same approach as autoconf (set variables only if
1820           they were set before).  Update MKterminfo.sh and MKtermsort.sh to
1821           match.
1822
1823 20020622
1824         + add charset to generated html.
1825         + add mvterm entry, adapted from a FreeBSD bug-report by Daniel Rudy
1826           <dcrudy@pacbell.net> -TD
1827         + add rxvt-16color, ibm+16color entries -TD
1828         + modify check in --disable-overwrite option so that it is used by
1829           default unless the --prefix/$prefix value is not /usr, in attempt to
1830           work around packagers, e.g., for Sun's freeware, who do not read the
1831           INSTALL notes.
1832
1833 20020615
1834         + modify wgetch() to allow returning ungetch'd KEY_RESIZE as a function
1835           key code in get_wch().
1836         + extended resize-handling in test/ncurses 'a' menu to the entire
1837           stack of windows created with 'w' commands.
1838         + improve $COLORFGBG feature by interpreting an out-of-range color
1839           value as an SGR 39 or 49, for foreground/background respectively.
1840         + correct a typo in configure --enable-colorfgbg option, and move it
1841           to the experimental section (cf: 20011208).
1842
1843 20020601
1844         + add logic to dump_entry.c to remove function-key definitions that do
1845           not fit into the 1023-byte limit for generated termcaps.  This makes
1846           hds200 fit.
1847         + more improvements to tic's warnings, including logic to ignore
1848           differences between delay values in sgr strings.
1849         + move definition of KEY_RESIZE into MKkeydefs.sh script, to
1850           accommodate Caps.osf1r5 which introduced a conflicting definition.
1851
1852 20020525
1853         + add simple resize-handling in test/ncurses.c 'a' menu.
1854         + fixes in keyname() and _tracechar() to handle negative values.
1855         + make tic's warnings about mismatches in sgr strings easier to follow.
1856         + correct tic checks for number of parameters in smgbp and smglp.
1857         + improve scoansi terminfo entry, and add scoansi-new entry -TD
1858         + add pcvt25-color terminfo entry -TD
1859         + add kf13-kf48 strings to cons25w terminfo entry (reported by Stephen
1860           Hurd <deuce@lordlegacy.org> in newsgroup lucky.freebsd.bugs) -TD
1861         + add entrypoint _nc_trace_ttymode(), use this to distinguish the
1862           Ottyb and Nttyb members of terminal (aka cur_term), for tracing.
1863
1864 20020523
1865         + correct and simplify logic for lib_pad.c change in 20020518 (reported
1866           by Mike Castle).
1867
1868 20020518
1869         + fix lib_pad.c for case of drawing a double-width character which
1870           falls off the left margin of the pad (patch by Kriang Lerdsuwanakij
1871           <lerdsuwa@users.sourceforge.net>)
1872         + modify configure script to work around broken gcc 3.1 "--version"
1873           option, which adds unnecessary trash to the requested information.
1874         + adjust ifdef's in case SIGWINCH is not defined, e.g., with DJGPP
1875           (reported by Ben Decker <deckerben@freenet.de>).
1876
1877 20020511
1878         + implement vid_puts(), vid_attr(), term_attrs() based on the narrow-
1879           character versions as well.
1880         + implement erasewchar(), killwchar() based on erasechar() and
1881           killchar().
1882         + modify erasechar() and killchar() to return ERR if the value was
1883           VDISABLE.
1884         + correct a bug in wresize() in handling subwindows (based on patch by
1885           Roger Gammans <rgammans@computer-surgery.co.uk>, report by Scott Beck
1886           <scott@gossamer-threads.com>).
1887         + improve test/tclock.c by making the second-hand update more often
1888           if gettimeofday() is available.
1889
1890 20020429
1891         + workaround for Solaris sed with MKlib_gen.sh (reported by Andy
1892           Tsouladze <andyt@mypoints.com>).
1893
1894 20020427
1895         + correct return-value from getcchar(), making it consistent with
1896           Solaris and Tru64.
1897         + reorder loops that generate makefile rules for different models vs
1898           subsets so configure --with-termlib works again.  This was broken by
1899           logic added to avoid duplicate rules in changes to accommodate cygwin
1900           dll's (reported by George.R.Goffe@seagate.com).
1901         + update config.guess, config.sub
1902
1903 20020421
1904         + modify ifdef's in write_entry.c to allow use of symbolic links on
1905           platforms with no hard links, e.g., BeOS.
1906         + modify a few includes to allow compile with BeOS, which has stdbool.h
1907           with a conflicting definition for 'bool' versus its OS.h definition.
1908         + amend MKlib_gen.sh to work with gawk, which defines 'func' as an
1909           alias for 'function'.
1910
1911 20020420
1912         + correct form of prototype for ripoffline().
1913         + modify MKlib_gen.sh to test that all functions marked as implemented
1914           can be linked.
1915
1916 20020413
1917         + add manpages: curs_get_wstr.3x, curs_in_wchstr.3x
1918         + implement wgetn_wstr().
1919         + implement win_wchnstr().
1920         + remove redefinition of unget_wch() in lib_gen.c (reported by
1921           Jungshik Shin <jshin@jtan.com>).
1922
1923 20020406
1924         + modified several of the test programs to allow them to compile with
1925           vendor curses implementations (Solaris, AIX).
1926
1927 20020323
1928         + modified test/configure to allow configuring against ncursesw.
1929         + change WACS_xxx definition to use address, to work like Tru64 curses.
1930
1931 20020317
1932         + add 'e' and 'm' toggles to 'a', 'A' tests in ncurses.c to demonstrate
1933           effect of echo/noecho and meta modes.
1934         + add 'A' test to ncurses.c to demonstrate wget_wch() and related
1935           functions.
1936         + add manpage: curs_get_wch.3x
1937         + implement unget_wch().
1938         + implement wget_wch().
1939
1940 20020310
1941         + regenerated html manpages.
1942         + add manpages: curs_in_wch.3x, curs_ins_wch.3x, curs_ins_wstr.3x
1943         + implement wins_wch().
1944         + implement win_wch().
1945         + implement wins_nwstr(), wins_wstr().
1946
1947 20020309
1948         + add manpages: curs_addwstr.3x, curs_winwstr.3x
1949         + implement winnwstr(), winwstr().
1950
1951 20020223
1952         + add manpages: curs_add_wchstr.3x, curs_bkgrnd.3x
1953         + document wunctrl, key_name.
1954         + implement key_name().
1955         + remove const's in lib_box.c incorrectly leftover after splitting off
1956           lib_box_set.c
1957         + update llib-lncurses, llib-ncursesw, fix configure script related to
1958           these.
1959
1960 20020218
1961         + remove quotes on "SYNOPSIS" in man/curs_box_set.3x, which resulted
1962           in spurious symlinks on install.
1963
1964 20020216
1965         + implement whline_set(), wvline_set(), add manpage curs_border_set.
1966         + add subtest 'b' to 'F' and 'f' in ncurses.c to demonstrate use of
1967           box() and box_set() functions.
1968         + add subtest 'u' to 'F' in ncurses.c, to demonstrate use of addstr()
1969           given UTF-8 string equivalents of WACS_xxx symbols.
1970         + minor fixes to several manpages based on groff -ww output.
1971         + add descriptions of external variables of termcap interface to
1972           the manpage (report by Bruce Evans <bde@zeta.org.au>).
1973         > patches by Bernhard Rosenkraenzer:
1974         + correct configure option --with-bool, which was executed as
1975           --with-ospeed.
1976         + add quotes for parameters of --with-bool and --with-ospeed configure
1977           options.
1978         > patch by Sven Verdoolaege (report by Gerhard Haering
1979           <haering_linux@gmx.de>):
1980         + correct typos in definitions of several wide-character macros:
1981           waddwstr, wgetbkgrnd, mvaddwstr, mvwadd_wchnstr, mvwadd_wchnstr,
1982           mvwaddwstr.
1983         + pass $(CPPFLAGS) to MKlib_gen.sh, thereby fixing a missing definition
1984           of _XOPEN_SOURCE_EXTENDED, e.g., on Solaris
1985
1986 20020209
1987         + implement wide-acs characters for UTF-8 locales.  When in UTF-8
1988           locale, ignore narrow version of acs.  Add 'F' test to test/ncurses.c
1989           to demonstrate.
1990         + correct prototype in keybound manpage (noted from a Debian mailing
1991           list item).
1992
1993 20020202
1994         + add several cases to the wscanw() example in testcurs.c, showing the
1995           format.
1996         + implement a simple vsscanf() fallback function which uses the %n
1997           conversion to help parse the input data (prompted by discussion with
1998           Albert Chin-A-Young).
1999         + modify mk-1st.awk and test/Makefile.in to add $(LDFLAGS) when making
2000           shared libraries, and to use $(CFLAGS) when linking test programs
2001           (patch by Albert Chin-A-Young).
2002         + add a call to _nc_keypad() in keypad() to accommodate applications
2003           such as nvi, which use curses for output but not for input (fixes
2004           Debian #131263, cf: 20011215).
2005         + add entrypoints to resizeterm.c which provide better control over the
2006           process:  is_term_resized() and resize_term().  The latter restores
2007           the original design of resizeterm() before KEY_RESIZE was added in
2008           970906.  Do this to accommodate 20010922 changes to view.c, but allow
2009           for programs with their own sigwinch handler, such as lynx (reported
2010           by Russell Ruby <russ@math.orst.edu>).
2011
2012 20020127
2013         + fix a typo in change to mk-1st.awk, which broke the shared-library
2014           makefile rules (reported by Martin Mokrejs).
2015
2016 20020126
2017         + update config.guess, config.sub
2018         + finish changes needed to build dll's on cygwin.
2019         + fix a typo in mvwchat() macro (reported by Cy <yam@homerow.net).
2020
2021 20020119
2022         + add case in lib_baudrate.c for B921600 (patch by Andrey A Chernov).
2023         + correct missing sed-editing stage in manpage installs which is used
2024           to rename manpages, broken in 20010324 fix for Debian #89939 (Debian
2025           #78866).
2026         + remove -L$(libdir) from linker flags, probably not needed any more
2027           since HPUX is handled properly (reported by NIIBE Yutaka
2028           <gniibe@m17n.org>).
2029         + add configure check for mbstate_t, needed for wide-character
2030           configuration.  On some platforms we must include <wchar.h> to
2031           define this (reported by Daniel Jacobowitz).
2032         + incorporate some of the changes needed to build dll's on cygwin.
2033
2034 20020112a
2035         + workaround for awk did not work with mawk, adjusted shell script.
2036
2037 20020112
2038         + add Caps.osf1r5, as an example.
2039         + modify behavior of can_clear_with() so that if an application is
2040           running in a non-bce terminals with default colors enabled, it
2041           returns true, allowing the user to select/paste text without picking
2042           up extraneous trailing blanks (adapted from patch by Daniel
2043           Jacobowitz <dmj+@andrew.cmu.edu>).
2044         + modify generated curses.h to ifdef-out prototypes for extensions if
2045           they are disabled, and to define curses_version() as a string in that
2046           case.  This is needed to make the programs such as tic build in that
2047           configuration.
2048         + modified generated headers.sh to remove a gzip'd version of the
2049           target file if it exists, in case non-gzip'd manpages are installed
2050           into a directory where gzip'd ones exist.  In that case, the latter
2051           would be found.
2052         + corrected a redundant initialization of signal handlers from 20010922
2053           changes.
2054         + clarified bug-reporting address in terminfo.src (report by John H
2055           DuBois III <spcecdt@armory.com>).
2056         > several fixes from Robert Joop:
2057         + do not use "-v" option of awk in MKkey_defs.sh because it does not
2058           work with SunOS nawk.
2059         + modify definitions for libutf8 in curses.h to avoid redefinition
2060           warnings for mblen
2061         + quoted references to compiler in shell command in misc/Makefile, in
2062           case it uses multiple tokens.
2063
2064 20011229
2065         + restore special case from 20010922 changes to omit SA_RESTART when
2066           setting up SIGWINCH handler, which is needed to allow wgetch() to be
2067           interrupted by that signal.
2068         + update configure macro CF_WITH_PATHLIST, to omit some double quotes
2069           not needed with autoconf 2.52
2070         + revert configure script to autoconf 2.13 patched with
2071                 autoconf-2.13-19990117.patch.gz (or later)
2072           from
2073                 ftp://invisible-island.net/autoconf/
2074           because autoconf 2.52 macro AC_PROG_AWK does not work on HPUX 11.0
2075           (report by David Ellement <ellement@sdd.hp.com>).  This also fixes a
2076           different problem configuring with Mac OS X (reported by Marc Smith
2077           <marc.a.smith@home.com>).
2078
2079 20011222
2080         + modify include/edit_cfg.h to eliminate BROKEN_LINKER symbol from
2081           term.h
2082         + move prototype for _nc_vsscanf() into curses.h.in to omit
2083           HAVE_VSSCANF symbol from curses.h, which was dependent upon the
2084           ncurses_cfg.h file which is not installed.
2085         + use ACS_LEN rather than SIZEOF(acs_map) in trace code of lib_acs.c,
2086           to work with broken linker configuration, e.g., cygwin (report by
2087           Robert Joop <rj@rainbow.in-berlin.de>).
2088         + make napms() call _nc_timed_wait() rather than poll() or select(),
2089           to work around broken implementations of these on cygwin.
2090
2091 20011218
2092         + drop configure macro CF_WIDEC_SHIFT, since that was rendered obsolete
2093           by Sven Verdoolaege's rewrite of wide-character support.  This makes
2094           libncursesw incompatible again, but makes the header files almost the
2095           same as in the narrow-character configuration.
2096         + simplify definitions that combine wide/narrow versions of bkgd, etc.,
2097           to eliminate differences between the wide/narrow versions of curses.h
2098         + correct typo in configure macro CF_FUNC_VSSCANF
2099         + correct location of call to _nc_keypad() from 20011215 changes which
2100           prevented keypad() from being disabled (reported by Lars Hecking).
2101
2102 20011215
2103         + rewrote ncurses 'a' test to exercise wgetch() and keypad() functions
2104           better, e.g., by adding a 'w' command to create new windows which
2105           may have different keypad() settings.
2106         + corrected logic of keypad() by adding internal screen state to track
2107           whether the terminal's keypad-mode has been set.  Use this in
2108           wgetch() to update the keypad-mode according to whether the
2109           associated window's keypad-mode has been set with keypad().  This
2110           corrects a related problem restoring terminal state after handling
2111           SIGTSTP (reported by Mike Castle).
2112         + regenerate configure using patch for autoconf 2.52
2113                 autoconf-2.52-patch.gz
2114           at
2115                 ftp://invisible-island.net/autoconf/
2116         + update config.guess, config.sub from
2117                 http://subversions.gnu.org/cgi-bin/viewcvs/config/config/
2118         + minor changes to quoting in configure script to allow it to work
2119           with autoconf 2.52
2120
2121 20011208
2122         + modify final checks in lib_setup.c for line and col values, making
2123           them independent.
2124         + modify acs_map[] if configure --broken-linker is specified, to make
2125           it use a function rather than an array (prompted by an incorrect
2126           implementation in cygwin package).
2127         + correct spelling of configure option --enable-colorfgbg, which
2128           happened to work if --with-develop was set (noted in cygwin package
2129           for ncurses).
2130         + modify ifdef for genericerror() to compile with SUNWspro Sun WorkShop
2131           6 update 1 C++ 5.2 (patch by Sullivan N Beck <sbeck@cise.ufl.edu>).
2132         + add configure checks to see if ncurses' fallback vsscanf() will
2133           compile either of the special cases for FILE structs, and if not,
2134           force it to the case which simply returns an error (report by
2135           Sullivan N Beck <sbeck@cise.ufl.edu> indicates that Solaris 8 with
2136           64-bits does not allow access to FILE's fields).
2137         + modify ifdef's for c++/cursesw.cc to use the fallback vsscanf() in
2138           the ncurses library if no better substitute for this can be found
2139           in the C++ runtime.
2140         + modify the build to name dynamic libraries according to the
2141           convention used on OS X and Darwin.  Rather than something like
2142           libncurses.dylib.5.2, Darwin would name it libncurses.  5.dylib.
2143           There are a few additional minor fixes, such as setting the library
2144           version and compatibility version numbers (patch by Jason Evans
2145           <jevans@apple.com>).
2146         + use 'sh' to run mkinstalldirs, to work around problems with buggy
2147           versions of 'make' on OS/2 (report by John Polterak <jp@eyup.org>).
2148         + correct typo in manpage description of curs_set() (Debian #121548).
2149         + replace the configure script existence-check for mkstemp() by one
2150           that checks if the function works, needed for older glibc and
2151           AmigaOS.
2152
2153 20011201
2154         + modify script that generates fallbacks.c to compile a temporary
2155           copy of the terminfo source in case the host does not contain all of
2156           the entries requested for fallbacks (request by Greg Roelofs).
2157         + modify configure script to accommodate systems such as Mac OS X whose
2158           <stdbool.h> header defines a 'bool' type inconsistent with ncurses,
2159           which normally makes 'bool' consistent with C++.  Include <stdbool.h>
2160           from curses.h to force consistent usage, define a new type
2161           NCURSES_BOOL and related that to the exported 'bool' as either a
2162           typedef or definition, according to whether <stdbool.h> is present
2163           (based on a bug report for tin 1.5.9 by Aaron Adams <adamsa@mac.com>).
2164
2165 20011124
2166         + added/updated terminfo entries for M$ telnet and KDE konsole -TD
2167
2168 20011117
2169         + updated/expanded Apple_Terminal and Darwin PowerPC terminfo entries
2170           (Benjamin C W Sittler).
2171         + add putty terminfo entry -TD
2172         + if configuring for wide-curses, define _XOPEN_SOURCE_EXTENDED, since
2173           this may not otherwise be defined to make test/view.c compile.
2174
2175 20011110
2176         + review/correct several missing/generated items in curses.wide, sorted
2177           the lists to make subsequent diff's easier to track.
2178
2179 20011103
2180         + add manual pages for add_wch(), echo_wchar(), getcchar(),
2181           mvadd_wch(), mvwadd_wch(), setcchar(), wadd_wch() and wecho_wchar().
2182         + implement wecho_wchar()
2183         + modify _tracedump() to handle wide-characters by mapping them to '?'
2184           and control-characters to '.', to make the trace file readable.  Also
2185           dynamically allocate the buffer used by _tracedump() for formatting
2186           the results.
2187         + modify T_CALLED/T_RETURN macros to ease balancing call/return lines
2188           in a trace by using curly braces.
2189         + implement _nc_viscbuf(), for tracing cchar_t arrays.
2190         + correct trace-calls in setcchar() and getcchar() functions, which
2191           traced the return values but not the entry to each function.
2192         + correct usage message in test/view.c, which still mentioned -u flag.
2193
2194 20011027
2195         + modify configure script to allow building with termcap only, or with
2196           fallbacks only.  In this case, we do not build tic and toe.
2197         + add configure --with-termpath option, to override default TERMPATH
2198           value of /etc/termcap:/usr/share/misc/termcap.
2199         + cosmetic change to tack: make menu descriptions agree with menu
2200           titles.
2201
2202 20011020
2203         + rewrote limit-checks in wscrl() and associated _nc_scroll_window(),
2204           to ensure that if the parameter of wscrl() is larger than the size of
2205           the scrolling region, then the scrolling region will be cleared
2206           (report by Ben Kohlen <bckohlen@yahoo.com>).
2207         + add trace/varargs.c, using this to trace parameters in lib_printw.c
2208         + implement _tracecchar_t2() and _tracecchar_t().
2209         + split-out trace/visbuf.c
2210         + correct typo in lib_printw.c changes from 20010922 (report by Mike
2211           Castle).
2212
2213 20011013
2214         + modify run_tic.sh to check if the build is a cross-compile.  In that
2215           case, do not use the build's tic to install the terminfo database
2216           (report by Rafael Rodriguez Velilla <rrv@tid.es>).
2217         + modify mouse click resolution so that mouseinterval(-1) will disable
2218           it, e.g., to handle touchscreens via a slow connection (request by
2219           Byron Stanoszek <gandalf@winds.org>).
2220         + correct mouseinterval() default value shown in curs_mouse.3x
2221         + remove conflicting definition of mouse_trafo() (reported by Lars
2222           Hecking, using gcc 2.95.3).
2223
2224 20011001
2225         + simpler fix for signal_name(), to replace the one overlooked in
2226           20010929 (reported by Larry Virden).
2227
2228 20010929
2229         + add -i option to view.c, to test ncurses' check for non-default
2230           signal handler for SIGINT, etc.
2231         + add cases for shared-libraries on Darwin/OS X (patch by Rob Braun
2232           <bbraun@synack.net>).
2233         + modify tset to restore original I/O modes if an error is encountered.
2234           Also modify to use buffered stderr consistently rather than mixing
2235           with write().
2236         + change signal_name() function to use if-then-else rather than case
2237           statement, since signal-values aren't really integers (reported by
2238           Larry Virden).
2239         + add limit checks in wredrawln(), fixing a problem where lynx was
2240           repainting a pad which was much larger than the screen.
2241
2242 20010922
2243         + fix:  PutRange() was counting the second part of a wide character as
2244           part of a run, resulting in a cursor position that was one too far
2245           (patch by Sven Verdoolaege).
2246         + modify resizeterm() to not queue a KEY_RESIZE if there was no
2247           SIGWINCH, thereby separating the two styles of SIGWINCH handling
2248           in test/view.c
2249         + simplified lib_tstp.c, modify it to use SA_RESTART flag for SIGWINCH.
2250         + eliminate several static buffers in the terminfo compiler, using
2251           allocated buffers.
2252         + modify MKkeyname.awk so that keyname() does not store its result into
2253           a static buffer that is overwritten by the next call.
2254         + reorganize the output of infocmp -E and -e options to compile cleanly
2255           with gcc -Wwrite-strings warnings.
2256         + remove redefinition of chgat/wchgat/mvwchgat from curses.wide
2257
2258 20010915
2259         + add label to test/view.c, showing the name of the last key or signal
2260           that made the screen repaint, to make it clearer when a sigwinch
2261           does this.
2262         + use ExitProgram() consistently in the test-programs to make it
2263           simpler to test leaks with dmalloc, etc.
2264         + move hashtab static data out of hashmap.c into SCREEN struct.
2265         + make NO_LEAK code compile with revised WINDOWLIST structs.
2266
2267 20010908
2268         + modify tgetent() to check if exit_attribute_mode resets the alternate
2269           character set, and if so, attempt to adjust the copy of the termcap
2270           "me" string which it will return to eliminate that part.  In
2271           particular, 'screen' would lose track of line-drawing characters
2272           (report by Frederic L W Meunier <0@pervalidus.net>, analysis by
2273           Michael Schroeder).
2274
2275 20010901
2276         + specify DOCTYPE in html manpages.
2277         + add missing macros for several "generated" functions:  attr_get(),
2278           attr_off(), attr_on(), attr_set(), chgat(), mvchgat(), mvwchgat() and
2279           mouse_trafo().
2280         + modify view.c to agree with non-experimental status of ncurses'
2281           sigwinch handler:
2282           + change the sense of the -r option, making it default to ncurses'
2283             sigwinch handler.
2284           + add a note explaining what functions are unsafe in a signal
2285             handler.
2286           + add a -c option, to set color display, for testing.
2287         + unset $data variable in MKterminfo.sh script, to address potential
2288           infinite loop if shell malfunction (report by Samuel Mikes
2289           <smikes@cubane.com>, for bash 2.05.0 on a Linux 2.0.36 system).
2290         + change kbs in mach terminfo entries to ^?  (Marcus Brinkmann
2291           <Marcus.Brinkmann@ruhr-uni-bochum.de>).
2292         + correct logic for COLORFGBG environment variable: if rxvt is compiled
2293           with xpm support, the variable has three fields, making it slightly
2294           incompatible with itself.  In either case, the background color is
2295           the last field.
2296
2297 20010825
2298         + move calls to def_shell_mode() and def_prog_mode() before loop with
2299           callbacks in lib_set_term.c, since the c++ demo otherwise initialized
2300           the tty modes before saving them (patch by John David Anglin
2301           <dave@hiauly1.hia.nrc.ca>).
2302         + duplicate logic used to initialize trace in newterm(), in initscr()
2303           to avoid confusing trace of initscr().
2304         + simplify allocation of WINDOW and WINDOWLIST structs by making the
2305           first a part of the second rather than storing a pointer.  This saves
2306           a call to malloc for each window (discussion with Philippe Blain).
2307         + remove unused variable 'used_ncv' from lib_vidattr.c (Philippe
2308           Blain).
2309         + modify c++/Makefile.in to accommodate archive programs that are
2310           different for C++ than for C, and add cases for vendor's C++
2311           compilers on Solaris and IRIX (report by Albert Chin-A-Young).
2312         + correct manpage description of criteria for deciding if the terminal
2313           supports xterm mouse controls.
2314         + add several configure script options to aid with cross-compiling:
2315           --with-build-cc, --with-build-cflags, --with-build-ldflags, and
2316           --with-build-libs (request by Greg Roelofs).
2317         + change criteria for deciding if configure is cross-compiling from
2318           host/build mismatch to host/target mismatch (request by Greg Roelofs
2319           <greg.roelofs@philips.com>).
2320         + correct logic for infocmp -e and -E options which writes the data for
2321           the ext_Names[] array.  This is needed if one constructs a fallback
2322           table for a terminfo entry which uses extended termcap names, e.g.,
2323           AX in a color xterm.
2324         + fix undefined NCURSES_PATHSEP when configure --disable-database
2325           option is given.
2326
2327 20010811
2328         + fix for VALID_BOOLEAN() macro when char is not signed.
2329         + modify 'clean' rule for C++ binding to work with Sun compiler, which
2330           caches additional information in a subdirectory of the objects.
2331         + added llib-ncursesw.
2332
2333 20010804
2334         + add Caps.keys example for experimental extended function keys
2335           (adapted from a patch by Ilya Zakharevich).
2336         + correct parameter types of vidputs() and vidattr() to agree with
2337           header files (report by William P Setzer).
2338         + fix typos in several man-pages (patch by William P Setzer).
2339         + remove unneeded ifdef for __GNUG__ in CF_CPP_VSCAN_FUNC configure
2340           macro, which made ncurses C++ binding fail to build with other
2341           C++ compilers such as HPUX 11.x (report by Albert Chin-A-Young).
2342         + workaround for bug in HPUX 11.x C compiler: add a blank after
2343           NCURSES_EXPORT macro in form.h (report by Albert Chin-A-Young)
2344         + ignore blank lines in Caps* files in MKkey_defs.sh script (report by
2345           Albert Chin-A-Young).
2346         + correct definition of key_end in Caps.aix4, which left KEY_END
2347           undefined (report by Albert Chin-A-Young).
2348         + remove a QNX-specific fallback prototype for vsscanf(), which is
2349           obsolete with QNX RTP.
2350         + review/fix some of the T() and TR() macro calls, having noticed that
2351           there was no data for delwin() in a trace of dialog because there was
2352           no returnVoid call for wtimeout().  Also, traces in lib_twait.c are
2353           now selected under TRACE_IEVENT rather than TRACE_CALLS.
2354
2355 20010728
2356         + add a _nc_access() check before opening files listed via $TERMPATH.
2357         + using modified man2html, regenerate some of the html manpages to fix
2358           broken HREF's where the link was hyphenated.
2359
2360 20010721
2361         + add some limit/pointer checks to -S option of tputs.
2362         + updated/expanded Apple_Terminal and Darwin PowerPC terminfo entries
2363           (Benjamin C W Sittler).
2364         + add a note in curs_termcap.3x regarding a defect in the XSI
2365           description of tgetent (based on a discussion with Urs Jansen
2366           regarding the HPUX 11.x implementation, whose termcap interface is
2367           not compatible with existing termcap programs).
2368         + modify manhtml rule in dist.mk to preserve copyright notice on the
2369           generated files, as well as to address HTML style issues reported by
2370           tidy and weblint.  Regenerated/updated corresponding html files.
2371         + comment out use of Protected_Character and related rarely used
2372           attributes in ncurses Ada95 test/demo to compile with wide-character
2373           configuration.
2374
2375 20010714
2376         + implement a simple example in C++ demo to test scanw().
2377         + corrected stdio function used to implement scanw() in cursesw.cc
2378         + correct definition of RemAttr() macro from 20010602 changes, which
2379           caused C++ SillyDemo to not show line-drawing characters.
2380         + modify C++ binding, adding getKey() which can be overridden by user
2381           to substitute functions other than getch() for keyboard processing
2382           of forms and menus (patch by Juergen Pfeifer).
2383
2384 20010707
2385         + fix some of the trace calls which needed modification to work with
2386           new wide-character structures.
2387         + modify magic-cookie code in tty_update.c to compile with new
2388           wide-character structures (report by <George.R.Goffe@seagate.com>).
2389         + ensure that _XOPEN_SOURCE_EXTENDED is defined in curses.priv.h if
2390           compiling for wide-character configuration.
2391         + make addwnstr() handle non-spacing characters (patch by Sven
2392           Verdoolaege).
2393
2394 20010630
2395         + add configure check to define _GNU_SOURCE, needed to prop up glibc
2396           header files.
2397         + split-out include/curses.wide to solve spurious redefinitions caused
2398           by defining _GNU_SOURCE, and move includes for <signal.h> before
2399           <curses.h> to work around misdefinition of ERR in glibc 2.1.3 header
2400           file.
2401         + extended ospeed change to NetBSD and OpenBSD -TD
2402         + modify logic in lib_baudrate.c for ospeed, for FreeBSD to make it
2403           work properly for termcap applications (patch by Andrey A Chernov).
2404
2405 20010623
2406         + correct an overlooked CharOf/UChar instance (reports by Eugene Lee
2407           <eugene@anime.net>, Sven Verdoolaege).
2408         + correct unneeded ifdef for wunctrl() (reported by Sven Verdoolaege)
2409
2410 20010618
2411         + change overlooked several CharOf/UChar instances.
2412         > several patches from Sven Verdoolaege:
2413         + correct a typo in wunctrl(), which made it appear that botwc() was
2414           needed (no such function: use btowc()).
2415         + reimplement wide-character demo in test/view.c, using new functions.
2416         + implement getcchar(), setcchar(), wadd_wchnstr() and related macros.
2417         + fix a syntax problem with do/if/while in PUTC macro (curses.priv.h).
2418
2419 20010616
2420         + add parentheses in macros for malloc in test.priv.h, fixes an
2421           expression in view.c (report by Wolfgang Gutjahr <gutw@knapp.co.at>).
2422         + add Caps.uwin, as an example.
2423         + change the way curses.h is generated, making the list of function
2424           key definitions extracted from the Caps file.
2425         + add #undef's before possible redefinition of ERR and OK in curses.h
2426         + modify logic in tic, toe, tput and tset which checks for basename of
2427           argv[0] to work properly on systems such as OS/2 which have
2428           case-independent filenames and/or program suffixes, e.g., ".ext".
2429
2430 20010609
2431         + add a configure check, if --enable-widec is specified, for putwc(),
2432           which may be in libutf8.
2433         + remove some unnecessary text from curs_extend.3x and
2434           default_colors.3x which caused man-db to make incorrect symbolic
2435           links (Debian bug report #99550).
2436         + add configure check if cast for _IO_va_list is needed to compile
2437           C++ vscan code (Debian bug report #97945).
2438         > several patches from Sven Verdoolaege:
2439         + correct code that used non-standard auto-initialization of a struct,
2440           which gcc allows (report by Larry Virden).
2441         + use putwc() in PUTC() macro.
2442         + make addstr() work for the special case where the codeset is
2443           non-stateful (eg. UTF-8), as well as stateful codesets.
2444
2445 20010603
2446         + correct loop expression in NEXT_CHAR macro for lib_addstr.c changes
2447           from 20010602 (report by Mike Castle).
2448
2449 20010602
2450         + modify mvcur() to avoid emitting newline characters when nonl() mode
2451           is set.  Normally this is not a problem since the actual terminal
2452           mode is set to suppress nl/crlf translations, however it is useful to
2453           allow the caller to manipulate the terminal mode to avoid staircasing
2454           effects after spawning a process which writes messages (for lynx
2455           2.8.4) -TD
2456         > several patches from Sven Verdoolaege <skimo@kotnet.org>:
2457         + remove redundant type-conversion in fifo_push()
2458         + correct definition of addwstr() macro in curses.h.in
2459         + remove _nc_utf8_outch()
2460         + rename most existing uses of CharOf() to UChar(), e.g., where it is
2461           used to prevent sign-extension in ctype macros.
2462         + change some chtype's to attr_t's where the corresponding variables
2463           are used to manipulate attributes.
2464         + UpdateAttr() was applied to both attributes (attr_t) and characters
2465           (chtype).  Modify macro and calls to it to make these distinct.
2466         + add CharEq() macro, use in places where wide-character configuration
2467           implementation uses a struct for cchar_t.
2468         + moved struct ldat into curses.priv.h, to hide implementation details.
2469         + change CharOf() macro to use it for masking A_CHARTEXT data from
2470           chtype's.
2471         + add L() macro to curses.priv.h, for long-character literals.
2472         + replace several assignments from struct ldat entries to chtype or
2473           char values with combinations of CharOf() and AttrOf() macros.
2474         + add/use intermediate ChAttrOf() and ChCharOf() macros where we know
2475           we are using chtype data.
2476         + add/use lowlevel attribute manipulation macros AddAttr(), RemAttr()
2477           and SetAttr().
2478         + add/use SetChar() macro, to change a cchar_t based on a character and
2479           attributes.
2480         + convert most internal use of chtype to NCURSES_CH_T, to simplify use
2481           of cchar_t for wide-character configuration.  Similarly, use ARG_CH_T
2482           where a pointer would be more useful.
2483         + add stubs for tracing cchar_t values.
2484         + add/use macro ISBLANK()
2485         + add/use constructors for cchar_t's: NewChar(), NewChar2().
2486         + add/use macros CHREF(), CHDEREF(), AttrOfD(), CharOfD() to facilitate
2487           passing cchar_t's by address.
2488         + add/use PUTC_DATA, PUTC() macros.
2489         + for wide-character configuration, move the window background data to
2490           the end of the WINDOW struct so that whether _XOPEN_SOURCE_EXTENDED
2491           is defined or not, the offsets in the struct will not change.
2492         + modify addch() to work with wide-characters.
2493         + mark several wide-character functions as generated in curses.h.in
2494         + implement wunctrl(), wadd_wch(), wbkgrndset(), wbkgrnd(),
2495           wborder_set() and waddnwstr().
2496
2497 20010526
2498         + add experimental --with-caps=XXX option to customize to similar
2499           terminfo database formats such as AIX 4.x
2500         + add Caps.aix4 as an example.
2501         + modify Caps to add columns for the the KEY_xxx symbols.
2502         + modify configure --with-widec to suppress overwrite of libcurses.so
2503           and curses.h
2504         + add checks to toe.c to avoid being confused by files and directories
2505           where we would expect the reverse, e.g., source-files in the
2506           top-level terminfo levels as is the case for AIX.
2507
2508 20010519
2509         + add top-level 'depend' rule for the C sources, assuming that the
2510           makedepend program is available.  As a side-effect, this makes
2511           the generated sources, as in "make sources" (prompted by a report
2512           by Mike Castle that "make -j" fails because the resulting parallel
2513           processes race to generate ncurses/names.c).
2514         + modify configure script so that --disable-overwrite option's action
2515           to add a symbolic link for libcurses applies to the static library as
2516           well as the shared library when both are configured (report by Felix
2517           Natter <f.natter@ndh.net>).
2518         + add ELKS terminfo entries (Federico Bianchi
2519           <bianchi@www.arte.unipi.it>)
2520         + add u6 (CSR) to Eterm (Michael Jennings).
2521
2522 20010512
2523         + modify test/ncurses.c to work with xterm-256color, which has fewer
2524           color pairs than colors*colors (report by David Ellement
2525           <ellement@sdd.hp.com>).
2526
2527 20010505
2528         + corrected screen.xterm-xfree86 entry.
2529         + update comment in Caps regarding IBM (AIX) function-key definitions.
2530
2531 20010421
2532         + modify c++/Makefile.in to link with libncurses++w.a when configured
2533           for wide-characters (patch by Sven Verdoolaege).
2534         + add check in _nc_trace_buf() to refrain from freeing a null pointer.
2535         + improve CF_PROG_INSTALL macro using CF_DIRNAME.
2536         + update config.guess, config.sub from autoconf 2.49e (alpha).
2537
2538 20010414
2539         + add secondary check in tic.c, similar_sgr() to see if the reason
2540           for mismatch was that the individual capabilities used a time-delay
2541           while sgr did not.  Used this to cleanup mismatches, e.g., in vt100,
2542           and remove time-delay from Apple_Terminal entries.
2543         + add Apple_Terminal terminfo entries (Benjamin C W Sittler
2544           <bsittler@iname.com>).
2545         + correct definitions of shifted editing keys for xterm-xfree86 -TD
2546         + fix a bug in test/bs.c from 20010407 (patch by Erik Sigra).
2547         + prevent relative_move() from doing an overwrite if it detects 8-bit
2548           characters when configured for UTF-8 (reported by Sven Verdoolaege
2549           <skimo@kotnet.org>).
2550
2551 20010407
2552         + add configure checks for strstream.h vscan function, and similar
2553           stdio-based function which may be used in C++ binding for gcc 3.0
2554           (reports by George Goffe, Lars Hecking, Mike Castle).
2555         + rewrite parts of configure.in which used changequote().  That feature
2556           is broken in the latest autoconf alphas (e.g., 2.49d).
2557         + add a missing pathname for ncurses_dll.h, needed when building in
2558           a directory outside the source tree (patch by Sven Verdoolaege
2559           <skimo@kotnet.org>).
2560         > fix 2 bugs in test/bs.c (patch by Erik Sigra <sigra@home.se>):
2561         + no ships were ever placed in the last row or in the last column.
2562           This made the game very easy to win, because you never had to waste
2563           any shots there, but the computer did.
2564         + the squares around a sunken ship that belonged to the player were not
2565           displayed as already hit by the computer, like it does for the
2566           player.
2567
2568 20010331
2569         + add some examples of customizing screen's terminfo:
2570           screen.xterm-xfree86, screen.xterm-r6, screen.teraterm -TD
2571         + modify screen's terminfo entry to match the khome/kend in screen
2572           3.09.08 (Debian bug report #92215).
2573         + correct a memory leak in forms library (report by Stefan Vogtner
2574           <stefan@vogtner.de>, patch by Juergen Pfeifer).
2575
2576 20010324
2577         + change symbols used to guard against repeated includes to begin
2578           consistently with "NCURSES_" rather than a leading underscore.  There
2579           are other symbols defined in the header files which begin with a
2580           leading underscore, but they are part of the legacy interface.
2581         + reorder includes in c++ binding so that rcs identifiers can be
2582           compiled-in.
2583         + add .cc.ii rule to c++ makefile, to get preprocessor output for
2584           debugging.
2585         + correct configure script handling of @keyword@ substitutions when the
2586           --with-manpage-renames option is given (cf:  20000715, fixes Debian
2587           bug #89939).
2588         + report stack underflow/overflow in tparm() when tic -cv option is
2589           given.
2590         + remove spurious "%|" operator from xterm-xfree86 terminfo entry,
2591           (reported by Adam Costello <amc@cs.berkeley.edu>, Debian bug #89222).
2592
2593 20010310
2594         + cleanup of newdemo.c, fixing some ambiguous expressions noted by gcc
2595           2.95.2, and correcting some conflicting color pair initializations.
2596         + add missing copyright notice for cursesw.h
2597         + review, make minor fixes for use of '::' for referring to C-language
2598           interface from C++ binding.
2599         + modify configure check for g++ library slightly to accommodate
2600           nonstandard version number, e.g., <vendor>-2.7 (report by Ronald Ho
2601           <rho@mipos2.intel.com>).
2602         + add configure check for c++ <sstream> header, replace hardcoded
2603           ifdef.
2604         + workaround for pre-release of gcc 3.0 libstdc++, which has dropped
2605           vscan from strstreambuf to follow standard, use wrapper for C vscanf
2606           instead (report by George Goffe <grgoffe@excite.com> and Matt Taggart
2607           <taggart@carmen.fc.hp.com>, fixes Debian .
2608
2609 20010303
2610         + modify interface of _nc_get_token() to pass 'silent' parameter to it,
2611           to make quieter loading of /etc/termcap (patch by Todd C Miller).
2612         + correct a few typos in curs_slk.3x and curs_outopts.3x manpages
2613           (patch by Todd C Miller).
2614
2615 20010224
2616         + compiler-warning fixes (reported by Nelson Beebe).
2617
2618 20010210
2619         + modify screen terminfo entry to use new 3.9.8 feature allowing xterm
2620           mouse controls -TD
2621
2622 20010203
2623         + broaden patterns used to match OS/2 EMX in configure script to cover
2624           variant used in newer config.guess/config.sub
2625         + remove changequote() calls from configure script, since this feature
2626           is broken in the autoconf 2.49c alpha, maintainers decline to fix.
2627         + remove macro callPutChar() from tty_update.c, since this is no longer
2628           needed (reported by Philippe Blain).
2629         + add a null-pointer check in tic.c to handle the case when the input
2630           file is really empty.  Modify the next_char() function in comp_scan.c
2631           to allow arbitrarily long lines, and incidentally supply a newline to
2632           files that do not end in a newline.  These changes improve tic's
2633           recovery from attempts to read binary files, e.g., its output from
2634           the terminfo database (reported by Bernhard Rosenkraenzer).
2635
2636 20010127
2637         + revert change to c++/demo.cc from 20001209, which changed definition
2638           of main() apparently to accommodate cygwin linker, but broke the demo
2639           program.
2640         + workaround for broken egcs 2.91.66 which calls member functions
2641           (i.e., lines() and colors() of NCursesWindow before calling its
2642           constructor.  Add calls to initialize() in a few constructors which
2643           did not do this already.
2644         + use the GNAT preprocessor to make the necessary switch between TRACE
2645           and NO_TRACE configurations (patch by Juergen Pfeifer).
2646         > patches by Bernhard Rosenkraenzer:
2647         + modify kterm terminfo entry to use SCS sequence to support alternate
2648           character set (it does not work with SI/SO).
2649         + --with-ospeed=something didn't work.  configure.in checked for a
2650           $enableval where it should check for $withval.  Also,
2651           ncurses/llib-lncurses still had a hardcoded short.
2652
2653 20010114
2654         + correction to my merge of Tom Riddle's patch that broke tic in some
2655           conditions (reported by Enoch Wexler <enoch@wexler.co.il>) -TD
2656
2657 20010113
2658         + modify view.c to test halfdelay().  Like other tests, this recognizes
2659           the 's' and space commands for stopping/starting polled input, shows
2660           a freerunning clock in the header.  If given a parameter to 's', that
2661           makes view.c use halfdelay() with that parameter rather than
2662           nodelay().
2663         + fix to allow compile with the experimental configure option
2664           --disable-hashmap.
2665         + modify postprocess_termcap() to avoid overwriting key_backspace,
2666           key_left, key_down when processing a non-base entry (report/patch by
2667           Tom Riddle).
2668         + modify _nc_wrap_entry(), adding option to reallocate the string
2669           table, needed in _nc_merge_entry() when merging termcap entries.
2670           (adapted from report/patch by Tom Riddle <ftr@oracom.com>).
2671         + modify a few configure script macros to keep $CFLAGS used only for
2672           compiler options, preprocessor options in $CPPFLAGS.
2673
2674 20001230
2675         + correct marker positions in lrtest.c after receiving a sigwinch.
2676         + fix ifdef's in ncurses.c to build against pre-5.2 for testing.
2677         + fixes to tclock for resizing behavior, redundant computation (report
2678           and patch by A M Kuchling <akuchlin@mems-exchange.org>).
2679
2680 20001216
2681         + improved scoansi terminfo entry -TD
2682         + modify configure script and makefile in Ada95/src to compile a stub
2683           for the trace functions when ncurses does not provide those.
2684
2685 20001209
2686         + add ncurses_dll.h and related definitions to support generating DLL's
2687           with cygwin (adapted from a patch by Charles Wilson
2688           <cwilson@ece.gatech.edu>, changed NCURSES_EXPORT macro to make it
2689           work with 'indent').
2690
2691 20001202
2692         + correct prototypes for some functions in curs_termcap.3x, matching
2693           termcap.h, which matches X/Open.
2694         > patch by Juergen Pfeifer:
2695         + a revised version of the Ada enhancements sent in by "H.
2696           Nanosecond", aka Eugene V Melaragno <aldomel@ix.netcom.com>.  This
2697           patch includes
2698           - small fixes to the existing ncurses binding
2699           - addition of some more low-level functions to the binding, including
2700             termcap and terminfo functions
2701           - An Ada implementation of the "ncurses" test application originally
2702             written in C.
2703
2704 20001125
2705         + modify logic in lib_setup.c to allow either lines or columns value
2706           from terminfo to be used if the screen size cannot be determined
2707           dynamically rather than requiring both (patch by Ehud Karni
2708           <ehud@unix.simonwiesel.co.il>).
2709         + add check in lib_tgoto.c's is_termcap() function to reject null or
2710           empty strings (reported by Valentin Nechayev <netch@netch.kiev.ua> to
2711           freebsd-bugs).
2712         + add definition from configure script that denotes the path-separator,
2713           which is normally a colon.  The path-separator is a semicolon on
2714           OS/2 EMX and similar systems which may use a colon within pathnames.
2715         + alter logic to set default for --disable-overwrite option to set it
2716           to 'yes' if the --prefix/$prefix value is not /usr/local, thereby
2717           accommodating the most common cause of problems: gcc's nonstandard
2718           search rules.  Other locations such as /usr/local/ncurses will
2719           default to overwriting (report by Lars Hecking <lhecking@nmrc.ie>).
2720
2721 20001118
2722         + modify default for --disable-overwrite configure option to disable
2723           if the --prefix or $prefix value is not /usr.
2724         + add cygwin to systems for which ncurses is installed by default into
2725           /usr rather than /usr/local.
2726
2727 20001111
2728         + minor optimization in comp_error.c and lib_termname.c, using
2729           strncat() to replace strncpy() (patch by Solar Designer).
2730         + add a use_terminfo_vars() check for $HOME/.termcap, and check for
2731           geteuid() to use_terminfo_vars() (patch by Solar Designer
2732           <solar@false.com>).
2733         + improved cygwin terminfo entry, based on patch by
2734           <ernie_boyd@yahoo.com>.
2735         + modify _nc_write_entry() to allow for the possibility that linking
2736           aliases on a filesystem that ignores case would not succeed because
2737           the source and destination differ only by case, e.g., NCR260VT300WPP0
2738           on cygwin (report by Neil Zanella).
2739         + fix a typo in the curs_deleteln.3x man page (patch by Bernhard
2740           Rosenkraenzer <bero@redhat.de>).
2741
2742 20001104
2743         + add configure option --with-ospeed to assist packagers in transition
2744           to 5.3 change to ospeed type.
2745         + add/use CharOf() macro to suppress sign-extension of char type on
2746           platforms where this is a problem in ctype macros, e.g., Solaris.
2747         + change trace output to binary format.
2748         + correct a missing quote adjustment in CF_PATH_SYNTAX autoconf
2749           macro, for OS/2 EMX configuration.
2750         + rearrange a few configure macros, moving preprocessor options to
2751           $CPPFLAGS (a now-obsolete version of autoconf did not consistently
2752           use $CPPFLAGS in both the compile and preprocessor checks).
2753         + add a check in relative_move() to guard against buffer overflow in
2754           the overwrite logic.
2755
2756 20001028
2757         + add message to configure script showing g++ version.
2758         + resync config.guess, config.sub
2759         + modify lib_delwin.c, making it return ERR if the window did not exist
2760           (suggested by Neil Zanella).
2761         + add cases for FreeBSD 3.1 to tdlint and makellib scripts, used this
2762           to test/review ncurses library.  (Would use lclint, but it doesn't
2763           work).
2764         + reorganized knight.c to avoid forward references.  Correct screen
2765           updates when backtracking, especially to the first cell.  Add F/B/a
2766           commands.
2767
2768 20001021 5.2 release for upload to ftp.gnu.org
2769         + update generated html files from manpages.
2770         + modify dist.mk to use edit_man.sh to substitute autoconf'd variables
2771           in html manpages.
2772         + fix an uninitialized pointer in read_termcap.c (report by Todd C
2773           Miller, from report/patch by Philip Guenther <guenther@gac.edu>).
2774         + correct help-message and array limit in knight.c (patch by Brian
2775           Raiter <breadbox@muppetlabs.com>).
2776         > patch by Juergen Pfeifer:
2777         + fix to avoid warning by GNAT-3.13p about use of inconsistent casing
2778           for some identifiers defined in the standard package.
2779         + cosmetic change to forms/fty_enum.c
2780
2781 20001014
2782         + correct an off-by-one position in test/railroad.c which could cause
2783           wrapping at the right margin.
2784         + test/repair some issues with libtool configuration.  Make
2785           --disable-echo force libtool --silent.  (Libtool does not work for
2786           OS/2 EMX, works partly for SCO - libtool is still very specific to
2787           gcc).
2788         + change default of --with-manpage-tbl to "no", since for most of the
2789           platforms which do have tbl installed, the system "man" program
2790           understands how to run tbl automatically.
2791         + minor improvement to force_bar() in comp_parse.c (Bernhard
2792           Rosenkraenzer <bero@redhat.de>).
2793         + modify lib_tparm.c to use get_space() before writing terminating
2794           null character, both for consistency as well as to ensure that if
2795           save_char() was called immediately before, that the allocated memory
2796           is enough (patch by Sergei Ivanov).
2797         + add note about termcap ML capability which is duplicated between two
2798           different capabilities:  smgl and smglr (reported by Sergei Ivanov
2799           <svivanov@pdmi.ras.ru>).
2800         + correct parameter counts in include/Caps for dclk as well as some
2801           printer-specific capabilities: csnm, defc, scs, scsd, smgtp, smglp.
2802         > patch by Johnny C Lam <lamj@stat.cmu.edu>:
2803         + add support for building with libtool (apparently version 1.3.5,
2804           since old versions do not handle -L../lib), using new configure
2805           option --with-libtool.
2806         + add configure option --with-manpage-tbl, which causes the manpages to
2807           be preprocessed by tbl(1) prior to installation,
2808         + add configure option --without-curses-h, which causes the
2809           installation process to install curses.h as ncurses.h and make
2810           appropriate changes to headers and manpages.
2811
2812 20001009
2813         + correct order of options/parameters in run_tic.in invocation of tic,
2814           which did not work with standard getopt() (reported by Ethan
2815           Butterfield <primus@veris.org>).
2816         + correct logic for 'reverse' variable in lib_vidattr.c, which was
2817           setting it true without checking if newmode had A_REVERSE set, e.g.,
2818           using $TERM=ansi on OS/2 EMX (see 20000917).
2819         > patch by Todd Miller:
2820         + add a few missing use_terminfo_vars() and fixes up _nc_tgetent().
2821           Previously, _nc_cgetset() would still get called on cp so the
2822           simplest thing is to set cp to NULL if !use_terminfo_vars().
2823         + added checks for an empty $HOME environment variable.
2824         > patches by Ilya Zakharevich for OS/2 EMX:
2825         + modify convert_configure.pl to support INSTALL.  Change compiler
2826           options in that script to use multithreading, needed for the mouse.
2827         + modify OS/2 mouse support, retrying as a 2-button mouse if code fails
2828           to set up a 3-button mouse.
2829         + improve code for OS/2 mouse support, using _nc_timed_wait() to
2830           replace select() call.
2831
2832 20001007
2833         + change type of ospeed variable back to short to match its use in
2834           legacy applications (reported by Andrey A Chernov).
2835         + add case to configure script for --enable-rpath on IRIX (patch by
2836           Albert Chin-A-Young).
2837         + minor fix to position_check() function, to ensure it gets the whole
2838           cursor report before decoding.
2839         + add configure option --disable-assumed-color, to allow pre-5.1
2840           convention of default colors used for color-pair 0 to be configured
2841           (see assume_default_colors()).
2842         + rename configure option --enable-hashmap --disable-hashmap, and
2843           reorder the configure options, splitting the experimental and
2844           development
2845         + add configure option --disable-root-environ, which tells ncurses to
2846           disregard $TERMINFO and similar environment variables if the current
2847           user is root, or running setuid/setgid (based on discussion with
2848           several people).
2849         + modified misc/run_tic.in to use tic -o, to eliminate dependency on
2850           $TERMINFO variable for installs.
2851         + add table entry for plab_norm to tput, so it passes in strings
2852           for that capability.
2853         + modify parse_format() in lib_tparm.c to ignore precision if it is
2854           longer than 10000 (report by Jouko Pynnonen).
2855         + rewrote limit checks in lib_mvcur.c using new functions
2856           _nc_safe_strcat(), etc.  Made other related changes to check lengths
2857           used for strcat/strcpy (report by Jouko Pynnonen
2858           <jouko@solutions.fi>).
2859
2860 20000930
2861         + modify several descriptions, including those for setaf, setab, in
2862           include/Caps to indicate that the entries are parameterized.  This
2863           information is used to tell which strings are translated when
2864           converting to termcap.  Fixes a problem where the generated termcap
2865           would contain a spurious "%p1" for the terminfo "%p1%d".
2866         + modify ld -rpath options (e.g., Linux, and Solaris) to use an
2867           absolute pathname for the build tree's lib directory (prompted by
2868           discussion with Albert Chin-A-Young).
2869         + modify "make install.man" and "make uninstall.man" to include tack's
2870           man-page.
2871         + various fixes for install scripts used to support configure --srcdir
2872           and --with-install-prefix (reported by Matthew Clarke
2873           <Matthew_Clarke@mindlink.bc.ca>).
2874         + make configure script checks on variables $GCC and $GXX consistently
2875           compare against 'yes' rather than test if they are nonnull, since
2876           either may be set to the corresponding name of the C or C++ compiler
2877           (report/patch by Albert Chin-A-Young).
2878
2879 20000923
2880         + modify rs2 capability in xterm-r6 and similar where cursor
2881           save/restore bracketed the sequence for resetting video attributes.
2882           The cursor restore would undo that (from a NetBSD bug report by John
2883           Hawkinson <jhawk@MIT.EDU>).
2884         + using parameter check added to tic, corrected 27 typos in
2885           terminfo.src -TD
2886         + modify tic to verify that its inputs are really files, in case
2887           someone tries to read a directory (or /dev/zero).
2888         + add a check for empty buffers returned by fgets() in comp_scan.c
2889           next_char() function, in case tic is run on a non-text file (fixes
2890           a core dump reported by Aaron Campbell <aaron@cs.dal.ca>).
2891         + add to railroad.c some code exercising tgoto(), providing an
2892           alternate form of display if the terminal supports cursor addressing.
2893         + split-out tgoto() again, this time into new file lib_tgoto.c, and
2894           implement a conventional BSD-style tgoto() which is used if the
2895           capability string does not contain terminfo-style padding or
2896           parameters (requested by Andrey A Chernov).
2897         + add check to tic which reports capabilities that do not reference
2898           the expected number of parameters.
2899         + add error checking to infocmp's -v and -m options to ensure that
2900           the option value is indeed a number.
2901         + some cleanup of logic in _nc_signal_handler() to verify if SIGWINCH
2902           handler is setup.  Separated the old/new sigaction data for SIGTSTP
2903           from the other signals.
2904
2905 20000917
2906         + add S0, E0 extensions to screen's terminfo entry, which is another
2907           way to solve the misconfiguration issue -TD
2908         + completed special case for tgoto from 20000916
2909
2910 20000916
2911         + update xterm terminfo entries to match XFree86 xterm patch #146 -TD
2912         + add Matrix Orbital terminfo entries (from Eric Z Ayers
2913           <eric@ale.org>).
2914         + add special case to lib_tparm.c to allow 'screen' program to use a
2915           termcap-style parameter "%." to tgoto() for switching character sets.
2916         + use LN_S substitution in run_tic.in, to work on OS/2 EMX which has
2917           no symbolic links.
2918         + updated notes in README.emx regarding autoconf patches.
2919         + replace a lookup table in lib_vidattr.c used to decode no_color_video
2920           with a logic expression (suggested by Philippe Blain).
2921         + add a/A toggle to ncurses.c 'b' test, which clears/sets alternate
2922           character set attribute from the displayed text.
2923         + correct inequality in parameter analysis of rewritten lib_tparm.c
2924           which had the effect of ignoring p9 in set_attributes (sgr), breaking
2925           alternate character set (reported by Piotr Majka <charvel@link.pl>).
2926         + correct ifdef'ing for GCC_PRINTF, GCC_SCANF which would not compile
2927           with Sun WorkShop compilers since these tokens were empty (cf:
2928           20000902, reported by Albert Chin-A-Young).
2929
2930 20000909
2931         + correct an uninitialized parameter to open_tempfile() in tic.c which
2932           made "tic -I" give an ambiguous error message about tmpnam.
2933         + add special case in lib_vidattr.c to reset underline and standout for
2934           devices that have no sgr0 defined (patch by Don Lewis
2935           <Don.Lewis@tsc.tdk.com>).  Note that this will not work for bold
2936           mode, since there is no exit-bold-mode capability.
2937         + improved patch for Make_Enum_Type (patch by Juergen Pfeifer).
2938         + modify tparm to disallow arithmetic on strings, analyze the varargs
2939           list to read strings as strings and numbers as numbers.
2940         + modify tparm's internal function spop() to treat a null pointer as
2941           an empty string.
2942         + modify tput program so it can be renamed or invoked via a link as
2943           'reset' or 'init', producing the same effect as 'tput reset' or 'tput
2944           init'.
2945         + add private entrypoint _nc_basename(), use to consolidate related
2946           code in progs, as well as accommodating OS/2 EMX pathnames.
2947         + remove NCURSES_CONST line from edit_cfg.sh to compensate for its
2948           removal (except via AC_SUBST) from configure.in, making
2949           --enable-const work again (reported by Juergen Pfeifer).
2950         + regen'd configure to pick up "hpux*" change from 20000902.
2951
2952 20000902
2953         + modify tset.c to check for transformed "reset" program name, if any.
2954         + add a check for null pointer in Make_Enum_Type() (reported by Steven
2955           W Orr <steveo@world.std.com>).
2956         + change functions _nc_parse_entry() and postprocess_termcap() to avoid
2957           using strtok(), because it is non-reentrant (reported by Andrey A
2958           Chernov <ache@nagual.pp.ru>).
2959         + remove "hpux10.*" case from CF_SHARED_OPTS configure script macro.
2960           This differed from the "hpux*" case by using reversed symbolic
2961           links, which made the 5.1 version not match the configuration of
2962           5.0 shared libraries (reported by Albert Chin-A-Young).
2963         + correct a dependency in Ada95/src/Makefile.in which prevented
2964           building with configure --srcdir (patch by H Nanosecond
2965           <aldomel@ix.netcom.com>).
2966         + modify ifdef's in curses.h.in to avoid warning if GCC_PRINTF or
2967           GCC_SCANF was not previously defined (reported by Pavel Roskin
2968           <proski@gnu.org>).
2969         + add MKncurses_def.sh to generate fallback definitions for
2970           ncurses_cfg.h, to quiet gcc -Wundef warnings, modified ifdef's in
2971           code to consistently use "#if" rather than "#ifdef".
2972
2973 20000826
2974         + add QNX qansi entries to terminfo -TD
2975         + add os2 entry to misc/emx.src (<jmcoopr@webmail.bmi.net>).
2976         + add configure option --with-database to allow specifying a different
2977           terminfo source-file to install.  On OS/2 EMX, this defaults to
2978           misc/emx.src
2979         + change misc/run_tic.sh to derive it from misc/run_tic.in, to simplify
2980           setting .exe extension on OS/2 EMX.
2981         + add .exe extension in Ada95/gen/Makefile.in,
2982           Ada95/samples/Makefile.in, for OS/2 EMX (reported by
2983           <jmcoopr@webmail.bmi.net>).
2984         + add configure check for filesystems (such as OS/2 EMX) which do not
2985           distinguish between upper/lowercase filenames, use this to fix tags
2986           rules in makefiles.
2987         + initialize fds[] array to 0's in _nc_timed_wait(); apparently poll()
2988           only sets the revents members of that array when there is activity
2989           corresponding to the related file (report by Glenn Cooper
2990           <gcooper@qantas.com.au>, using Purify on Solaris 5.6).
2991         + change configure script to use AC_CANONICAL_SYSTEM rather than
2992           AC_CANONICAL_HOST, which means that configure --target will set
2993           a default program-prefix.
2994         + add note on cross-compiling to INSTALL (which does not rely on the
2995           AC_CANONICAL_* macros).
2996
2997 20000819
2998         + add cases for EMX OS/2 to config.guess, config.sub
2999         + new version of config.guess, config.sub from lynx 2.8.4dev.7
3000         + add definitions via transform.h to allow tic and tput to check for
3001           the transformed aliases rather than the original infotocap, etc.
3002         + simplify transform-expressions in progs/Makefile.in, make the
3003           uninstall rule work for transformed program names.
3004         + change symbol used by --install-prefix configure option from
3005           INSTALL_PREFIX to DESTDIR (the latter has become common usage
3006           although the name is misleading).
3007         + modify programs to use curses_version() string to report the version
3008           of ncurses with which they are compiled rather than the
3009           NCURSES_VERSION string.  The function returns the patch level in
3010           addition to the major and minor version numbers.
3011
3012 20000812
3013         + modify CF_MAN_PAGES configure macro to make transformed program names
3014           a parameter to that macro rather than embedding them in the macro.
3015         + newer config.guess, config.sub (reference version used in lynx
3016           2.8.4dev.7).
3017         + add configure option --with-default-terminfo-dir=DIR to allow
3018           specifying the default terminfo database directory (request by Albert
3019           Chin-A-Young).
3020         + minor updates for terminfo.src from FreeBSD termcap change-history.
3021         + correct notes in README and INSTALL regarding documentation files
3022           that were moved from misc directory to doc (report by Rich Kulawiec
3023           <rsk@gsp.org>).
3024         + change most remaining unquoted parameters of 'test' in configure
3025           script to use quotes, for instance fixing a problem in the
3026           --disable-database option (reported by Christian Mondrup
3027           <scancm@biobase.dk>).
3028         + minor adjustments to work around some of the incompatibilities/bugs
3029           in autoconf 2.29a alpha.
3030         + add -I/usr/local/include when --with-ncurses option is used in
3031           test/configure script.
3032         + correct logic in adjust_cancels(), which did not check both
3033           alternatives when reclassifying an extended name between boolean,
3034           number and string, causing an infinite loop in tic.
3035
3036 20000730
3037         + correct a missing backslash in curses.priv.h
3038
3039 20000729
3040         + change handling of non_dest_scroll_region in tty_update.c to clear
3041           text after it is shifted in rather than before shifting out.  Also
3042           correct row computation (reported by Ruediger Kuhlmann
3043           <uck4@rz.uni-karlsruhe.de>).
3044         + add/use new trace function to display chtype values from winch() and
3045           getbkgd().
3046         + add trace mask TRACE_ATTRS, alter several existing _tracef calls that
3047           trace attribute changes under TRACE_CALLS to use this.
3048         + modify MKlib_gen.sh so that functions returning chtype will call
3049           returnChar().
3050         + add returnChar() trace, for functions returning chtype.
3051         + change indent.pro to line up parenthesis.
3052
3053 20000722
3054         + fix a heap problem with the c++ binding (report by
3055           <alexander_liberson@ninewest.com>, patch by Juergen Pfeifer).
3056         + minor adjustment to ClrToEOL() to handle an out-of-bounds parameter.
3057         + modify the check for big-core to force a couple of memory accesses,
3058           which may work as needed for older/less-capable machines (if not,
3059           there's still the explicit configure option).
3060         > fixes based on diff's for Amiga and BeOS found at
3061           http://www.mathematik.uni-karlsruhe.de/~kuhlmann/cross/ncurses/
3062         + alter definition of NCURSES_CONST to make it non-empty.
3063         + add amiga-vnc terminfo entry.
3064         + redefine 'TEXT' in menu.h for AMIGA, since it is reported to have
3065           an (unspecified) symbol conflict.
3066         + replaced case-statement in _nc_tracebits() for CSIZE with a table to
3067           simplify working around implementations that define random
3068           combinations of the related macros to zero.
3069         + modify configure test for tcgetattr() to allow for old
3070           implementations, e.g., on BeOS, which only defined it as a macro.
3071         > patches by Bruno Haible:
3072         + when checking LC_ALL/LC_CTYPE/LANG environment variables for UTF-8
3073           locale, ignore those which are set to an empty value, as per SUSV2.
3074         + encode 0xFFFD in UTF-8 with 3 bytes, not 2.
3075         + modify _nc_utf8_outch() to avoid sign-extension when checking for
3076           out-of-range value.
3077
3078 20000715
3079         + correct manlinks.sed script to avoid using ERE "\+", which is not
3080           understood by older versions of sed (patch by Albert Chin-A-Young).
3081         + implement configure script options that transform installed program
3082           names, e.g., --program-prefix, including the manpage names and cross
3083           references (patch by Albert Chin-A-Young <china@thewrittenword.com>).
3084         + correct several mismatches between manpage filename and ".TH"
3085           directives, renaming dft_fgbg.3x to default_colors.3x and
3086           menu_attribs.3x to menu_attributes.3x (report by Todd C Miller).
3087         + correct missing includes for <string.h> in several places, including
3088           the C++ binding.  This is not noted by gcc unless we use the
3089           -fno-builtin option (reported by Igor Schein <igor@txc.com>).
3090         + modified progs/tset.c and tack/sysdep.c to build with sgttyb
3091           interface if neither termio or termios is available.  Tested this
3092           with FreeBSD 2.1.5 (which does have termios - but the sgttyb does
3093           work).
3094
3095 20000708 5.1 release for upload to ftp.gnu.org
3096         + document configure options in INSTALL.
3097         + add man-page for ncurses trace functions.
3098         + correct return value shown in curs_touch.3x for is_linetouched() and
3099           is_wintouched(), in curs_initscr.3x for isendwin(), and in
3100           curs_termattr.3x for has_ic() and has_il().
3101         + add prototypes for touchline() and touchwin(), adding them to the
3102           list of generated functions.
3103         + modify fifo_push() to put ERR into the fifo just like other values to
3104           return from wgetch().  It was returning without doing that, making
3105           end-of-file condition incorrectly return a 0 (reported by Todd C
3106           Miller).
3107         + uncomment CC_SHARED_OPTS for progs and tack (see 971115), since they
3108           are needed for SCO OpenServer.
3109         + move _nc_disable_period from free_ttype.c to comp_scan.c to appease
3110           dynamic loaders on SCO and IRIX64.
3111         + add "-a" option to test/ncurses.c to invoke assume_default_colors()
3112           for testing.
3113         + correct assignment in assume_default_colors() which tells ncurses
3114           whether to use default colors, or the assumed ones (reported by Gary
3115           Funck <gary@Intrepid.Com>).
3116         + review/correct logic in mk-1st.awk for making symbolic links for
3117           shared libraries, in particular for FreeBSD, etc.
3118         + regenerate misc/*.def files for OS/2 EMX dll's.
3119         + correct quoting of values for CC_SHARED_OPTS in aclocal.m4 for
3120           cases openbsd2*, openbsd*, freebsd* and netbsd* (patch by Peter
3121           Wemm) (err in 20000610).
3122         + minor updates to release notes, as well as adding/updating URLs for
3123           examples cited in announce.html
3124         > several fixes from Philippe Blain <philippe.blain2@freesbee.fr>:
3125         + correct placement of ifdef for NCURSES_XNAMES in function
3126           _nc_free_termtype(), fixes a memory leak.
3127         + add a call to _nc_synchook() to the end of function whline() like
3128           that in wvline() (difference was in 1.9.4).
3129         + make ClearScreen() a little faster by moving two instances of
3130           UpdateAttr() out of for-loops.
3131         + simplify ClrBottom() by eliminating the tstLine data, using for-loops
3132           (cf: 960428).
3133
3134 20000701 pre-release
3135         + change minor version to 1, i.e., ncurses 5.1
3136         + add experimental configure option --enable-colorfgbg to check for
3137           $COLORTERM variable as set by rxvt/aterm/Eterm.
3138         + add Eterm terminfo entry (Michael Jennings <mej@valinux.com>).
3139         + modify manlinks.sed to pick aliases from the SYNOPSIS section, and
3140           several manpages so manlinks.sed can find aliases for creating
3141           symbolic links.
3142         + add explanation to run_tic.sh regarding extended terminal
3143           capabilities.
3144         + change message format for edit_cfg.sh, since some people interpret
3145           it as a warning.
3146         + correct unescaped '$' in sysv5uw7*|unix_sv* rule for CF_SHARED_OPTS
3147           configure macro (report by Thanh Ma <Thanh.Ma@casi-rusco.com>).
3148         + correct logic in lib_twait.c as used by lib_mouse.c for GPM mouse
3149           support when poll() is used rather than select() (prompted by
3150           discussion with David Allen <DAllen24@aol.com>).
3151
3152 20000624 pre-release
3153         + modify TransformLine() to check for cells with different color pairs
3154           that happen to render the same display colors.
3155         + apply $NCURSES_NO_PADDING to cost-computation in mvcur().
3156         + improve cost computation in PutRange() by accounting for the use
3157           of parm_right_cursor in mvcur().
3158         + correct cost computation in EmitRange(), which was not using the
3159           normalized value for cursor_address.
3160         + newer config.guess, config.sub (reference version used in TIN 1.5.6).
3161
3162 20000617
3163         + update config.guess, config.sub (reference version used in PCRE 3.2).
3164         + resync changes to gnathtml against version 1.22, regenerated html
3165           files under doc/html/ada using this (1.22.1.1).
3166         + regenerated html files under doc/html/man after correcting top and
3167           bottom margin options for man2html in dist.mk
3168         + minor fixes to test programs ncurses 'i' and testcurs program to make
3169           the subwindow's background color cover the subwindow.
3170         + modify configure script so AC_MSG_ERROR is temporarily defined to a
3171           warning in AC_PROG_CXX to make it recover from a missing C++ compiler
3172           without requiring user to add --without-cxx option (from comment by
3173           Akim Demaille <akim@epita.fr> to autoconf mailing list).
3174         + modify headers.sh to avoid creating temporary files in the build
3175           directory when installing headers (reported by Sergei Pokrovsky
3176           <pok@nbsp.nsk.su>)
3177
3178 20000610
3179         + regenerated the html files under doc/html/ada/files and
3180           doc/html/ada/funcs with a slightly-improved gnathtml.
3181         + add kmous capability to linux terminfo entry to allow it to use
3182           xterm-style events provided by gpm patch by Joerg Schoen.
3183         + make the configure macro CF_SHARED_OPTS a little smarter by testing
3184           if -fPIC is supported by gcc rather than -fpic.  The former option
3185           allows larger symbol tables.
3186         + update config.guess and config.sub (patches by
3187           Kevin Buettner <kev@primenet.com> for elf64_ia64
3188           Bernd Kuemmerlen <bkuemmer@mevis.de> and MacOS X).
3189         + add warning for 'tic -cv' about use of '^?' in terminfo source, which
3190           is an extension.
3191
3192 20000527
3193         + modify echo() behavior of getch() to match Solaris curses for
3194           carriage return and backspace (reported by Neil Zanella).
3195         + change _nc_flush() to a function.
3196         + modify delscreen() to check if the output stream has been closed, and
3197           if so, free the buffer allocated for setbuf (this provides an
3198           ncurses-specific way to avoid a memory leak when repeatedly calling
3199           newterm reported by Chipp C <at_1@zdnetonebox.com>).
3200         + correct typo in curs_getch.3x manpage regarding noecho (reported by
3201           David Malone <dwmalone@maths.tcd.ie>).
3202         + add a "make libs" rule.
3203         + make the Ada95 interface build with configure --enable-widec.
3204         + if the configure --enable-widec option is given, append 'w' to names
3205           of the generated libraries (e.g., libncursesw.so) to avoid conflict
3206           with existing ncurses libraries.
3207
3208 20000520
3209         + modify view.c to make a rudimentary viewer of UTF-8 text if ncurses
3210           is configured with the experimental wide-character support.
3211         + add a simple UTF-8 output driver to the experimental wide-character
3212           support.  If any of the environment variables LC_ALL, LC_CTYPE or
3213           LANG contain the string "UTF-8", this driver will be used to
3214           translate the output to UTF-8.  This works with XFree86 xterm.
3215         + modify configure script to allow building shared libraries on BeOS
3216           (from a patch by by Valeriy E Ushakov).
3217         + modify lib_addch.c to allow repeated update to the lower-right
3218           corner, rather than displaying only the first character written until
3219           the cursor is moved.  Recent versions of SVr4 curses can update the
3220           lower-right corner, and behave this way (reported by Neil Zanella).
3221         + add a limit-check in _nc_do_color(), to avoid using invalid color
3222           pair value (from bug report by Brendan O'Dea <bod@compusol.com.au>).
3223
3224 20000513
3225         + the tack program knows how to use smcup and rmcup but the "show caps
3226           that can be tested" feature did not reflect this knowledge.  Correct
3227           the display in the menu tack/test/edit/c (patch by Daniel Weaver).
3228         + xterm-16color does allow bold+colors, removed ncv#32 from that
3229           terminfo entry.
3230
3231 20000506
3232         + correct assignment to SP->_has_sgr_39_49 in lib_dft_fgbg.c, which
3233           broke check for screen's AX capability (reported by Valeriy E Ushakov
3234           <uwe@ptc.spbu.ru>).
3235         + change man2html rule in dist.mk to workaround bug in some
3236           man-programs that ignores locale when rendering hyphenation.
3237         + change web- and ftp-site to dickey.his.com
3238
3239 20000429
3240         + move _nc_curr_token from parse_entry.c to comp_scan.c, to work around
3241           problem linking tack on MacOS X DP3.
3242         + include <sys/time.h> in lib_napms.c to compile on MacOS X DP3
3243           (reported by Gerben Wierda <wierda@holmes.nl>).
3244         + modify lib_vidattr.c to check for ncv fixes when pair-0 is not
3245           default colors.
3246         + add -d option to ncurses.c, to turn on default-colors for testing.
3247         + add a check to _nc_makenew() to ensure that newwin() and newpad()
3248           calls do not silently fail by passing too-large limits.
3249         + add symbol NCURSES_SIZE_T to use rather than explicit 'short' for
3250           internal window and pad sizes.  Note that since this is visible in
3251           the WINDOW struct, it would be an ABI change to make this an 'int'
3252           (prompted by a question by Bastian Trompetter
3253           <btrompetter@firemail.de>, who attempted to create a 96000-line pad).
3254
3255 20000422
3256         + add mgterm terminfo entry from NetBSD, minor adjustments to sun-ss5,
3257           aixterm entries -TD
3258         + modify tack/ansi.c to make it more tolerant of bad ANSI replies.  An
3259           example of an illegal ANSI resonse can be found using Microsoft's
3260           Telnet client.  A correct display can be found using a VT-4xx
3261           terminal or XFree86 xterm with:
3262                 XTerm*VT100*decTerminalID:  450
3263           (patch by Daniel Weaver).
3264         + modify gdc.c to recognize 'q' for quit, 's' for single-step and ' '
3265           for resume.  Add '-n' option to force gdc's standard input to
3266           /dev/null, to both illustrate the use of newterm() for specifying
3267           alternate inputs as well as for testing signal handling.
3268         + minor fix for configure option --with-manpage-symlinks, for target
3269           directories that contain a period ('.') (reported by Larry Virden).
3270
3271 20000415
3272         + minor additions to beterm entry (feedback from Rico Tudor) -TD
3273         + corrections/updates for some IBM terminfo entries -TD
3274         + modify _nc_screen_wrap() so that when exiting curses mode with
3275           non-default colors, the last line on the screen will be cleared to
3276           the screen's default colors (request by Alexander Lukyanov).
3277         + modify ncurses.c 'r' example to set nonl(), allowing control/M to be
3278           read for demonstrating the REQ_NEW_LINE operation (prompted by a
3279           question by Tony L Keith" <tlkeith@keithconsulting.com>).
3280         + modify ncurses.c 'r' example of field_info() to work on Solaris 2.7,
3281           documented extension of ncurses which allows a zero pointer.
3282         + modify fmt_complex() to avoid buffer overflow in case of excess
3283           recursion, and to recognize "%e%?" as a synonym for else-if, which
3284           means that it will not recur for that special case.
3285         + add logic to support $TERMCAP variable in case the USE_GETCAP symbol
3286           is defined (patch by Todd C Miller).
3287         + modify one of the m4 files used to generate the Ada95 sources,
3288           to avoid using the token "symbols" (patch by Juergen Pfeifer).
3289
3290 20000408
3291         + add terminfo entries bsdos-pc-m, bsdos-pc-mono (Jeffrey C Honig)
3292         + correct spelling error in terminfo entry name:  bq300-rv was given as
3293           bg300-rv in esr's version.
3294         + modify redrawwin() macro so its parameter is fully parenthesized
3295           (fixes Debian bug report #61088).
3296         + correct formatting error in dump_entry() which set incorrect column
3297           value when no newline trimming was needed at the end of an entry,
3298           before appending "use=" clauses (cf: 960406).
3299
3300 20000401
3301         + add configure option --with-manpage-symlinks
3302         + change unctrl() to render C1 characters (128-159) as ~@, ~A, etc.
3303         + change makefiles so trace() function is provided only if TRACE is
3304           defined, e.g., in the debug library.  Modify related calls to
3305           _tracechar() to use unctrl() instead.
3306
3307 20000325
3308         + add screen's AX capability (for ECMA SGR 39 and 49) to applicable
3309           terminfo entries, use presence of this as a check for a small
3310           improvement in setting default colors.
3311         + improve logic in _nc_do_color() implementing assume_default_colors()
3312           by passing in previous color pair info to eliminate redundant call to
3313           set_original_colors().  (Part of this is from a patch by Alexander
3314           Lukyanov).
3315         + modify warning in _nc_trans_string() about a possibly too-long string
3316           to do this once only rather than for each character past the
3317           threshold (600).  Change interface of _nc_trans_string() to allow
3318           check for buffer overflow.
3319         + correct use of memset in _nc_read_entry_source() to initialize ENTRY
3320           struct each time before reading new data into it, rather than once
3321           per loop (cf:  990301).  This affects multi-entry in-core operations
3322           such as "infocmp -Fa".
3323
3324 20000319
3325         + remove a spurious pointer increment in _nc_infotocap() changes from
3326           20000311.  Add check for '.' in format of number, since that also
3327           is not permitted in termcap.
3328         + correct typo in rxvt-basic terminfo from temporary change made while
3329           integrating 20000318.
3330
3331 20000318
3332         + revert part of the vt220 change (request by Todd C Miller).
3333         + add ansi-* terminfo entries from Eric's version.
3334         + add -a option to tic and infocmp, which retains commented-out
3335           capabilities during source translation/comparison, e.g., captoinfo
3336           and infotocap.
3337         + modify cardfile.c to display an empty card if no input data file is
3338           found, fixes a core dump in that case (reported by Bruno Haible).
3339         + correct bracketing in CF_MATH_LIB configure macro, which gave wrong
3340           result for OS/2 EMX.
3341         + supply required parameter for _nc_resolve_uses() call in
3342           read_termcap.c, overlooked in 20000311 (reported by Todd C Miller).
3343         > patches by Bruno Haible <haible@ilog.fr>:
3344         + fix a compiler warning in fty_enum.c
3345         + correct LIB_PREFIX expression for DEPS_CURSES in progs, tack
3346           makefiles, which resulted in redundant linking (cf: 20000122).
3347
3348 20000311
3349         + make ifdef's for BROKEN_LINKER consistent (patch by Todd C Miller).
3350         + improved tack/README (patch by Daniel Weaver).
3351         + modify tput.c to ensure that unspecified parameters are passed to
3352           tparm() as 0's.
3353         + add a few checks in infocmp to guard against buffer overflow when
3354           displaying string capabilities.
3355         + add check for zero-uses in infocmp's file_comparison() function
3356           before calling _nc_align_termtype().  Otherwise one parameter is
3357           indexed past the end of the uses-array.
3358         + add an option -q to infocmp to specify the less verbose output,
3359           keeping the existing format as the default, though not retaining the
3360           previous behavior that made the -F option compare each entry to
3361           itself.
3362         + adapted patch by Eric Raymond to make infocmp -F less verbose
3363           (the submitted patch was unusable because it did not compile
3364           properly):
3365           + modify write_entry.c to ensure that absent or cancelled booleans
3366             are written as FALSE, for consistency with infocmp which now
3367             assumes this.  Note that for the small-core configuration, tic
3368             may not produce the same result as before.
3369           + change some private library interfaces used by infocmp, e.g.,
3370             _nc_resolve_uses().
3371           + add a check in _nc_infotocap() to ensure that cm-style capabilities
3372             accept only %d codes when converting the format from terminfo to
3373             termcap.
3374           + modify ENTRY struct to separate the data in 'parent' into the name
3375             and link values (the original idea to merge both into 'parent' was
3376             not good).
3377           + discard repair_acsc(tterm);
3378         > patch by Juergen Pfeifer:
3379         + drop support for gnat 3.10
3380         + move generated documentation and html files under ./doc directory,
3381           adding makefile rules for this to dist.mk
3382
3383 20000304
3384         + correct conflicting use of tparm() in 20000226 change to tic, which
3385           made it check only one entry at a time.
3386         + fix errors in ncurses-intro.html and hackguide.html shown by Dave
3387           Raggett's tidy.
3388         + make the example in ncurses-intro.html do something plausible, and
3389           corrected misleading comment (reported by Neil Zanella).
3390         + modify pnoutrefresh() to set newscr->_leaveok as wnoutrefresh() does,
3391           to fix a case where the cursor position was not updated as in
3392           Solaris  (patch by David Mosberger <davidm@hpl.hp.com>).
3393         + add a limit-check for wresize() to ensure that a subwindow does not
3394           address out of bounds.
3395         + correct offsets used for subwindows in wresize() (patch by Michael
3396           Andres <ma@suse.de>).
3397         + regenerate html'ized manual pages with man2html 3.0.1 (patch by
3398           Juergen Pfeifer).  This generated a file with a space in its name,
3399           which I removed.
3400         + fix a few spelling errors in tack.
3401         + modify tack/Makefile.in to match linker options of progs/Makefile.in;
3402           otherwise it does not build properly for older HPUX shared library
3403           configurations.
3404         + add several terminfo entries from esr's "11.0".
3405
3406 20000226
3407         + make 'tput flash' work properly for xterm by flushing output in
3408           delay_output() when using napms(), and modifying xterm's terminfo to
3409           specify no padding character.  Otherwise, xterm's reported baud rate
3410           can mislead ncurses into producing too few padding characters
3411           (Debian #58530).
3412         + add a check to tic for consistency between sgr and the separate
3413           capabilities such as smso, use this to check/correct several
3414           terminfo entries (Debian #58530).
3415         + add a check to tic if cvvis is the same as cnorm, adjusted several
3416           terminfo entries to remove the conflict (Debian #58530).
3417         + correct prototype shown in attr_set()/wattr_set() manpages (fixes
3418           Debian #53962).
3419         + minor clarification for curs_set() and leaveok() manpages.
3420         + use mkstemp() for creating temporary file for tic's processing of
3421           $TERMCAP contents (fixes Debian #56465).
3422         + correct two errors from integrating Alexander's changes:  did not
3423           handle the non-bce case properly in can_erase_with() (noted by
3424           Alexander), and left fg/bg uninitialized in the pair-zero case of
3425           _nc_do_color() (reported by Dr Werner Fink <werner@suse.de> and
3426           Ismael Cordeiro <ismael@cordeiro.com>).
3427
3428 20000219
3429         + store default-color code consistently as C_MASK, even if given as
3430           -1 for convenience (adapted from patches by Alexander Lukyanov).
3431         > patches by Alexander Lukyanov:
3432         + change can_clear_with() macro to accommodate logic for
3433           assume_default_colors(), making most of the FILL_BCE logic
3434           unnecessary.  Made can_clear_with() an inline function to make it
3435           simpler to read.
3436
3437 20000212
3438         + corrected form of recent copyright dates.
3439         + minor corrections to xterm-xf86-v333 terminfo entry -TD
3440         > patches by Alexander Lukyanov:
3441         + reworded dft_fgbg.3x to avoid assuming that the terminal's default
3442           colors are white on black.
3443         + fix initialization of tstLine so that it is filled with current blank
3444           character in any case.  Previously it was possible to have it filled
3445           with old blank.  The wrong over-optimization was introduced in 991002
3446           patch.  (it is not very critical as the only bad effect is not using
3447           clr_eos for clearing if blank has changed).
3448
3449 20000205
3450         + minor corrections/updates to several terminfo entries: rxvt-basic,
3451           vt520, vt525, ibm5151, xterm-xf86-v40 -TD
3452         + modify ifdef's for poll() to allow it to use <sys/poll.h>, thereby
3453           allowing poll() to be used on Linux.
3454         + add CF_FUNC_POLL macro to check if poll() is able to select from
3455           standard input.  If not we will not use it, preferring select()
3456           (adapted from patch by Michael Pakovic <mpakovic@fdn.com>).
3457         + update CF_SHARED_OPTS macro for SCO Unixware 7.1 to allow building
3458           shared libraries (reported/tested by Thanh <thanhma@mediaone.net>).
3459         + override $LANGUAGE in build to avoid incorrect ordering of keynames.
3460         + correct CF_MATH_LIB parameter, must be sin(x), not sqrt(x).
3461
3462 20000122
3463         + resync CF_CHECK_ERRNO and CF_LIB_PREFIX macros from tin and xterm.
3464         + modify CF_MATH_LIB configure macro to parameterize the test function
3465           used, for reuse in dialog and similar packages.
3466         + correct tests for file-descriptors in OS/2 EMX mouse support.  A
3467           negative value could be used by FD_SET, causing the select() call
3468           to wait indefinitely.
3469
3470 20000115
3471         + additional fixes for non-bce terminals (handling of delete_character)
3472           to work when assume_default_colors() is not specified.
3473         + modify warning message from _nc_parse_entry() regarding extended
3474           capability names to print only if tic/infocmp/toe have the -v flag
3475           set, and not at all in ordinary user applications.  Otherwise, this
3476           warning would be shown for screen's extended capabilities in programs
3477           that use the termcap interface (reported by Todd C Miller).
3478         + modify use of _nc_tracing from programs such as tic so their debug
3479           level is not in the same range as values set by trace() function.
3480         + small panel header cleanup (patch by Juergen Pfeifer).
3481         + add 'railroad' demo for termcap interface.
3482         + modify 'tic' to write its usage message to stderr (patch by Todd C
3483           Miller).
3484
3485 20000108
3486         + add prototype for erase() to curses.h.in, needed to make test
3487           programs build with c++/g++.
3488         + add .c.i and .c.h suffix rules to generated makefiles, for debugging.
3489         + correct install rule for tack.1; it assumed that file was in the
3490           current directory (reported by Mike Castle <dalgoda@ix.netcom.com>).
3491         + modify terminfo/termcap translation to suppress acsc before trying
3492           sgr if the entry would be too large (patch by Todd C Miller).
3493         + document a special case of incompatiblity between ncurses 4.2 and
3494           5.0, add a section for this in INSTALL.
3495         + add TRACE_DATABASE flag for trace().
3496
3497 20000101
3498         + update mach, add mach-color terminfo entries based on Debian diffs
3499           for ncurses 5.0 -TD
3500         + add entries for xterm-hp, xterm-vt220, xterm-vt52 and xterm-noapp
3501           terminfo entries -TD
3502         + change OTrs capabilities to rs2 in terminfo.src -TD
3503         + add obsolete and extended capabilities to 'screen' terminfo -TD
3504         + corrected conversion from terminfo rs2 to termcap rs (cf: 980704)
3505         + make conversion to termcap ug (underline glitch) more consistently
3506           applied.
3507         + fix out-of-scope use of 'personal[]' buffer in 'toe' (this error
3508           was in the original pre-1.9.7 version, when $HOME/.terminfo was
3509           introduced).
3510         + modify 'toe' to ignore terminfo directories to which it has no
3511           permissions.
3512         + modify read_termtype(), fixing 'toe', which could dump core when it
3513           found an incomplete entry such as "dumb" because it did not
3514           initialize its buffer for _nc_read_file_entry().
3515         + use -fPIC rather than -fpic for shared libraries on Linux, not
3516           needed for i386 but some ports (from Debian diffs for 5.0).
3517         + use explicit VALID_NUMERIC() checks in a few places that had been
3518           overlooked, and add a check to ensure that init_tabs is nonzero,
3519           to avoid divide-by-zero (reported by Todd C Miller).
3520         + minor fix for CF_ANSI_CC_CHECK configure macro, for HPUX 10.x (from
3521           tin).
3522
3523 19991218
3524         + reorder tests during mouse initialization to allow for gpm to run in
3525           xterm, or for xterm to be used under OS/2 EMX.  Also drop test for
3526           $DISPLAY in favor of kmous=\E[M or $TERM containing "xterm" (report
3527           by Christian Weisgerber <naddy@mips.rhein-neckar.de>).
3528         + modify raw() and noraw() to clear/restore IEXTEN flag which affects
3529           stty lnext on systems such as FreeBSD (report by Bruce Evans
3530           <bde@zeta.org.au>, via Jason Evans <jasone@canonware.com>).
3531         + fix a potential (but unlikely) buffer overflow in failed() function
3532           of tset.c (reported by Todd C Miller).
3533         + add manual-page for ncurses extensions, documented curses_version(),
3534           use_extended_names().
3535
3536 19991211
3537         + treat as untranslatable to termcap those terminfo strings which
3538           contain non-decimal formatting, e.g., hexadecimal or octal.
3539         + correct commented-out capabilities that cannot be translated to
3540           termcap, which did not check if a colon must be escaped.
3541         + correct termcap translation for "%>" and "%+", which did not check
3542           if a colon must be escaped, for instance.
3543         + use save_string/save_char for _nc_captoinfo() to eliminate fixed
3544           buffer (originally for _nc_infotocap() in 960301 -TD).
3545         + correct expression used for terminfo equivalent of termcap %B,
3546           adjust regent100 entry which uses this.
3547         + some cleanup and commenting of ad hoc cases in _nc_infotocap().
3548         + eliminate a fixed-buffer in tic, used for translating comments.
3549         + add manpage for infotocap
3550
3551 19991204
3552         + add kvt and gnome terminfo entries -TD
3553         + correct translation of "%%" by infotocap, which was emitted as "%".
3554         + add "obsolete" termcap strings to terminfo.src
3555         + modify infocmp to default to showing obsolete capabilities rather
3556           than terminfo only.
3557         + modify write_entry.c so that if extended names (i.e., configure
3558           --enable-tcap-names) are active, then tic will also write "obsolete"
3559           capabilities that are present in the terminfo source.
3560         + modify tic so that when running as captoinfo or infotocap, it
3561           initializes the output format as in -C and -I options, respectively.
3562         + improve infocmp and tic -f option by splitting long strings that do
3563           not have if-then-else construct, but do have parameters, e.g., the
3564           initc for xterm-88color.
3565         + refine MKtermsort.sh slightly by using bool for the *_from_termcap
3566           arrays.
3567
3568 19991127
3569         + additional fixes for non-bce terminals (handling of clear_screen,
3570           clr_eol, clr_eos, scrolling) to work when assume_default_colors() is
3571           not specified.
3572         + several small changes to xterm terminfo entries -TD.
3573         + move logic for _nc_windows in lib_freeall.c inside check for nonnull
3574           SP, since it is part of that struct.
3575         + remove obsolete shlib-versions, which was unintentionally re-added
3576           in 970927.
3577         + modify infocmp -e, -E options to ensure that generated fallback.c
3578           type for Booleans agrees with term.h (reported by Eric Norum
3579           <eric@cls.usask.ca>).
3580         + correct configure script's use of $LIB_PREFIX, which did not work
3581           for installing the c++ directory if $libdir did not end with "/lib"
3582           (reported by Huy Le <huyle@ugcs.caltech.edu>).
3583         + modify infocmp so -L and -f options work together.
3584         + modify the initialization of SP->_color_table[] in start_color() so
3585           that color_content() will return usable values for COLORS greater
3586           than 8.
3587         + modify ncurses 'd' test in case COLORS is greater than 16, e.g., for
3588           xterm-88color, to limit the displayed/computed colors to 16.
3589         > patch by Juergen Pfeifer:
3590         + simplify coding of the panel library according to suggestions by
3591           Philippe Blain.
3592         + improve macro coding for a few macros in curses.priv.h
3593
3594 19991113
3595         + modify treatment of color pair 0 so that if ncurses is configured
3596           to support default colors, and they are not active, then ncurses
3597           will set that explicitly, not relying on orig_colors or orig_pair.
3598         + add new extension, assume_default_colors() to provide better control
3599           over the use of default colors.
3600         + modify test programs to use more-specific ifdef's for existence of
3601           wresize(), resizeterm() and use_default_colors().
3602         + modify configure script to add specific ifdef's for some functions
3603           that are included when --enable-ext-funcs is in effect, so their
3604           existence can be ifdef'd in the test programs.
3605         + reorder some configure options, moving those extensions that have
3606           evolved from experimental status into a new section.
3607         + change configure --enable-tcap-names to enable this by default.
3608
3609 19991106
3610         + install tack's manpage (reported by Robert Weiner
3611           <robert@progplus.com>)
3612         + correct worm.c's handling of KEY_RESIZE (patch by Frank Heckenbach).
3613         + modify curses.h.in, undef'ing some symbols to avoid conflict with C++
3614           STL (reported by Matt Gerassimoff <mgeras@ticon.net>)
3615
3616 19991030
3617         + modify linux terminfo entry to indicate that dim does not mix with
3618           color (reported by Klaus Weide <kweide@enteract.com>).
3619         + correct several typos in terminfo entries related to missing '['
3620           in CSI's -TD
3621         + fix several compiler warnings in c++ binding (reported by Tim
3622           Mooney for alphaev56-dec-osf4.0f
3623         + rename parameter of _nc_free_entries() to accommodate lint.
3624         + correct lint rule for tack, used incorrect list of source files.
3625         + add case to config.guess, config.sub for Rhapsody.
3626         + improve configure tests for libg++ and libstdc++ by omitting the
3627           math library (which is missing on Rhapsody), and improved test for
3628           the math library itself (adapted from path by Nelson H. F. Beebe).
3629         + explicitly initialize to zero several data items which were
3630           implicitly initialized, e.g., cur_term.  If not explicitly
3631           initialized, their storage type is C (common), and causes problems
3632           linking on Rhapsody 5.5 using gcc 2.7.2.1 (reported by Nelson H. F.
3633           Beebe).
3634         + modify Ada95 binding to not include the linker option for Ada
3635           bindings in the Ada headers, but in the Makefiles instead (patch by
3636           Juergen Pfeifer).
3637
3638 19991023 5.0 release for upload to ftp.gnu.org
3639         + effective with release of 5.0, change NCURSES_VERSION_PATCH to
3640           4-digit year.
3641         + add function curses_version(), to return ncurses library version
3642           (request by Bob van der Poel).
3643         + remove rmam, smam from cygwin terminfo entry.
3644         + modify FreeBSD cons25 terminfo entry to add cnorm and cvvis, as well
3645           as update ncv to indicate that 'dim' conflicts with colors.
3646         + modify configure script to use symbolic links for FreeBSD shared
3647           libraries by default.
3648         + correct ranf() function in rain and worm programs to ensure it does
3649           not return 1.0
3650         + hide the cursor in hanoi.c if it is running automatically.
3651         + amend lrtest.c to account for optimizations that exploit margin
3652           wrapping.
3653         + add a simple terminfo demo, dots.c
3654         + modify SIGINT/SIGQUIT handler to set a flag used in _nc_outch() to
3655           tell it to use write() rather than putc(), since the latter is not
3656           safe in a signal handler according to POSIX.
3657         + add/use internal macros _nc_flush() and NC_OUTPUT to hide details
3658           of output-file pointer in ncurses library.
3659         + uncomment CC_SHARED_OPTS (see 971115), since they are needed for SCO
3660           OpenServer.
3661         + correct CC_SHARED_OPTS for building shared libraries for SCO
3662           OpenServer.
3663         + remove usleep() from alternatives in napms(), since it may interact
3664           with alarm(), causing a process to be interrupted by SIGALRM (with
3665           advice from Bela Lubkin).
3666         + modify terminal_interface-curses-forms.ads.m4 to build/work with
3667           GNAT 3.10 (patch by Juergen Pfeifer).
3668         + remove part of CF_GPP_LIBRARY configure-script macro, which did not
3669           work with gcc 2.7.2.3
3670         + minor fix to test/tclock.c to avoid beeping more than once per second
3671         + add 's' and ' ' decoding to test/rain.c
3672
3673 991016  pre-release
3674         + corrected BeOS code for lib_twait.c, making nodelay() function work.
3675
3676 991009  pre-release
3677         + correct ncurses' value for cursor-column in PutCharLR(), which was
3678           off-by-one in one case (patch by Ilya Zakharevich).
3679         + fix some minor errors in position_check() debugging code, found while
3680           using this to validate the PutCharLR() patch.
3681         + modify firework, lrtest, worm examples to be resizable, and to
3682           recognize 'q' for quit, 's' for single-step and ' ' for resume.
3683         + restore reverted change to  terminal_interface-curses-forms.ads.m4,
3684           add a note on building with gnat 3.10p to Ada95/TODO.
3685         + add a copy of the standalone configure script for the test-directory
3686           to simplify testing on SCO and Solaris.
3687
3688 991002  pre-release
3689         + minor fixes for _nc_msec_cost(), color_content(), pair_content(),
3690           _nc_freewin(), ClrBottom() and onscreen_mvcur() (analysis by Philippe
3691           Blain, comments by Alexander Lukyanov).
3692         + simplify definition of PANEL and eliminate internal functions
3693           _nc_calculate_obscure(), _nc_free_obscure() and _nc_override(),
3694           (patch by Juergen Pfeifer, based on analysis by Philippe Blain
3695           <bledp@voila.fr>)).
3696         + change renaming of dft_fgbg.3x to use_default_colors.3ncurses in
3697           man_db.renames, since Debian is not concerned with 14-character
3698           filename limitation (from Debian bug report by Josip Rodin
3699           <joy@cibalia.gkvk.hr>).
3700         + corrected scoansi terminfo entry by testing with scoterm and console.
3701         + revert change from 990614 to terminal_interface-curses-forms.ads.m4,
3702           since this does not work for gnat 3.10p
3703         + modify tclock example to be resizable (if ncurses' sigwinch handler
3704           is used), and in color.
3705         + use $(CC) rather than 'gcc' in MK_SHARED_LIB symbols, used for Linux
3706           shared library rules.
3707
3708 990925  pre-release
3709         + add newer NetBSD console terminfo entries
3710         + add amiga-8bit terminfo entry (from Henning 'Faroul' Peters
3711           <Faroul@beyond.kn-bremen.de>)
3712         + remove -lcurses -ltermcap from configure script's check for the gpm
3713           library, since they are not really necessary (a properly configured
3714           gpm library has no dependency on any curses library), and if the
3715           curses library is not installed, this would cause the test to fail.
3716         + modify tic's -C option so that terminfo "use=" clauses are translated
3717           to "tc=" clauses even when running it as captoinfo.
3718         + modify CF_STDCPP_LIBRARY configure macro to perform its check only
3719           for GNU C++, since that library conflicts with SGI's libC on IRIX-6.2
3720         + modify CF_SHARED_OPTS configure macro to support build on NetBSD with
3721           ELF libraries (patch by Bernd Ernesti <bernd@arresum.inka.de>).
3722         + correct a problem in libpanel, where the _nc_top_panel variable was
3723           not set properly when bottom_panel() is called to hide a panel which
3724           is the only one on the stack (report/analysis by Michael Andres
3725           <ma@suse.de>, patch by Juergen Pfeifer).
3726
3727 990918  pre-release
3728         + add acsc string to HP 70092 terminfo entry (patch by Joerg Wunsch
3729           <j@interface-business.de>).
3730         + add top-level uninstall.data and uninstall.man makefile rules.
3731         + correct logic of CF_LINK_FUNCS configure script, from BeOS changes so
3732           that hard-links work on Unix again.
3733         + change default value of cf_cv_builtin_bool to 1 as suggested by
3734           Jeremy Buhler, making it less likely that a conflicting declaration
3735           of bool will be seen when compiling with C++.
3736
3737 990911  pre-release
3738         + improved configure checks for builtin.h
3739         + minor changes to C++ binding (remove static initializations, and make
3740           configure-test for parameter initializations) for features not
3741           allowed by vendor's C++ compilers (reported by Martin Mokrejs, this
3742           applies to SGI, though I found SCO has the same characteristics).
3743         + corrected quoting of ETIP_xxx definitions which support old versions
3744           of g++, e.g., those using -lg++
3745         + remove 'L' code from safe_sprintf.c, since 'long double' is not
3746           widely portable.  safe_sprintf.c is experimental, however, and
3747           exists mainly as a fallback for systems without snprintf (reported
3748           by Martin Mokrejs <mmokrejs@natur.cuni.cz>, for IRIX 6.2)
3749         + modify definition of _nc_tinfo_fkeys in broken-linker configuration
3750           so that it is not unnecessarily made extern (Jeffrey C Honig).
3751
3752 990904  pre-release
3753         + move definition for builtin.h in configure tests to specific check
3754           for libg++, since qt uses the same filename incompatibly.
3755         + correct logic of lib_termcap.c tgetstr function, which did not copy
3756           the result to the buffer parameter.  Testing shows Solaris does
3757           update this, though of course tgetent's buffer is untouched (from
3758           mpc.lists.freebsd.current newsgroup item by Peter Edwards
3759           <peter.edwards@ireland.com>).
3760         + corrected beterm terminfo entry, which lists some capabilities which
3761           are not actually provided by the BeOS Terminal.
3762         + add special logic to replace select() calls on BeOS, whose select()
3763           function works only for sockets.
3764         + correct missing escape in mkterm.h.awk.in, which caused part
3765           of the copyright noticed to be omitted (reported by Peter
3766           Wemm <peter@netplex.com.au>).
3767         > several small changes to make the c++ binding and demo work on OS/2
3768           EMX (related to a clean reinstall of EMX):
3769         + correct library-prefix for c++ binding; none is needed.
3770         + add $x suffix to make_hash and make_keys so 'make distclean' works.
3771         + correct missing $x suffix for tack, c++ demo executables.
3772         + split CF_CXX_LIBRARY into CF_GPP_LIBRARY (for -lg++) and
3773           CF_STDCPP_LIBRARY (for -lstdc++)
3774
3775 990828  pre-release
3776         + add cygwin terminfo entry -TD
3777         + modify CF_PROG_EXT configure macro to set .exe extension for cygwin.
3778         + add configure option --without-cxx-binding, modifying the existing
3779           --without-cxx option to check only for the C++ compiler
3780           characteristics.  Whether or not the C++ binding is needed, the
3781           configure script checks for the size/type of bool, to make ncurses
3782           match.  Otherwise C++ applications cannot use ncurses.
3783
3784 990821  pre-release
3785         + updated configure macros CF_MAKEFLAGS, CF_CHECK_ERRNO
3786         + minor corrections to beterm terminfo entry.
3787         + modify lib_setup.c to reject values of $TERM which have a '/' in
3788           them.
3789         + add ifdef's to guard against CS5, CS6, CS7, CS8 being zero, as more
3790           than one is on BeOS.  That would break a switch statement.
3791         + add configure macro CF_LINK_FUNCS to detect and work around BeOS's
3792           nonfunctional link().
3793         + improved configure macros CF_BOOL_DECL and CF_BOOL_SIZE to detect
3794           BeOS's bool, which is declared as an unsigned char.
3795
3796 990814  pre-release
3797         + add ms-vt100 terminfo entry -TD
3798         + minor fixes for misc/emx.src, based on testing with tack.
3799         + minor fix for test/ncurses.c, test 'a', in case ncv is not set.
3800
3801 990731  pre-release
3802         + minor correction for 'screen' terminfo entry.
3803         + clarify description of errret values for setupterm in manpage.
3804         + modify tput to allow it to emit capabilities for hardcopy terminals
3805           (patch by Goran Uddeborg <goeran@uddeborg.pp.se>).
3806         + modify the 'o' (panel) test in ncurses.c to show the panels in color
3807           or at least in bold, to test Juergen's change to wrefresh().
3808         > patches by Juergen Pfeifer:
3809         + Fixes a problem using wbkgdset() with panels.  It has actually
3810           nothing to with panels but is a problem in the implementation of
3811           wrefresh().  Whenever a window changes its background attribute to
3812           something different than newscr's background attribute, the whole
3813           window is touched to force a copy to newscr.  This is an unwanted
3814           side-effect of wrefresh() and it is actually not necessary.  A
3815           changed background attribute affects only further outputs of
3816           background it doesn't mean anything to the current content of the
3817           window.  So there is no need to force a copy.  (reported by Frank
3818           Heckenbach <frank@g-n-u.de>).
3819         + an upward compatible enhancement of the NCursesPad class in the C++
3820           binding.  It allows one to add a "viewport" window to a pad and then
3821           to use panning to view the pad through the viewport window.
3822
3823 990724  pre-release
3824         + suppress a call to def_prog_mode() in the SIGTSTP handler if the
3825           signal was received while not in curses mode, e.g., endwin() was
3826           called in preparation for spawning a shell command (reported by Frank
3827           Heckenbach <frank@g-n-u.de>)
3828         + corrected/enhanced xterm-r5, xterm+sl, xterm+sl-twm terminfo entries.
3829         + change test for xterm mouse capability:  it now checks only if the
3830           user's $DISPLAY variable is set in conjunction with the kmous
3831           capability being present in the terminfo.  Before, it checked if any
3832           of "xterm", "rxvt" or "kterm" were substrings of the terminal name.
3833           However, some emulators which are incompatible with xterm in other
3834           ways do support the xterm mouse capability.
3835         + reviewed and made minor changes in ncurses to quiet g++ warnings
3836           about shadowed or uninitialized variables.  g++ incorrectly warns
3837           about uninitialized variables because it does not take into account
3838           short-circuit expression evaluation.
3839         + change ncurses 'b' test to start in color pair 0 and to show in the
3840           right margin those attributes which are suppressed by no_color_video,
3841           i.e., "(NCV)".
3842         + modify ifdef's in curses.h so that __attribute__ is not redefined
3843           when compiling with g++, but instead disabled the macros derived for
3844           __attribute__ since g++ does not consistently recognize the same
3845           keywords as gcc (reported by Stephan K Zitz <zitz@erf.net>).
3846         + update dependencies for term.h in ncurses/modules (reported by
3847           Ilya Zakharevich).
3848
3849 990710  pre-release
3850         + modify the form demo in ncurses.c to illustrate how to manipulate the
3851           field appearance, e.g, for highlighting or translating the field
3852           contents.
3853         + correct logic in write_entry from split-out of home_terminfo in
3854           980919, which prevented update of $HOME/.terminfo (reported by Philip
3855           Spencer <pspencer@fields.utoronto.ca>).
3856
3857 990703  pre-release
3858         + modify linux terminfo description to make use of kernel 2.2.x mods
3859           that support cursor style, e.g., to implement cvvis (patch by Frank
3860           Heckenbach <frank@g-n-u.de>)
3861         + add special-case in setupterm to retain previously-saved terminal
3862           settings in cur_term, which happens when curses and termcap calls are
3863           mixed (from report by Bjorn Helgaas <helgaas@dhc.net>).
3864         + suppress initialization of key-tries in _nc_keypad() if we are only
3865           disabling keypad mode, e.g., in endwin() called when keypad() was
3866           not.
3867         + modify the Ada95 makefile to ensure that always the Ada files from
3868           the development tree are used for building and not the eventually
3869           installed ones (patch by Juergen Pfeifer).
3870
3871 990626  pre-release
3872         + use TTY definition in tack/sysdep.c rather than struct termios
3873           (reported by Philippe De Muyter).
3874         + add a fallback for strstr, used in lib_mvcur.c and tack/edit.c,
3875           not present on sysV68 (reported by Philippe De Muyter).
3876         + correct definition in comp_hash.c to build with configure
3877           --with-rcs-ids option.
3878
3879 990619  pre-release
3880         + modified ifdef's for sigaction and sigvec to ensure we do not try to
3881           handle SIGTSTP if neither is available (from report by Philippe De
3882           Muyter).
3883         > patch by Philippe De Muyter:
3884         + in tic.c, use `unlink' if `remove' is not available.
3885         + use only `unsigned' as fallback value for `speed_t'.  Some files used
3886           `short' instead.
3887
3888 990616  pre-release
3889         + fix some compiler warnings in tack.
3890         + add a check for predefined bool type in CC, based on report that
3891           BeOS predefines a bool type.
3892         + correct logic for infocmp -e option (i.e., the configure
3893           --with-fallbacks option), which I'd not updated when implementing
3894           extended names (cf:  990301).  The new implementation adds a -E
3895           option to infocmp.
3896         > patch by Juergen Pfeifer:
3897         + introduce the private type Curses_Bool in the Ada95 binding
3898           implementation.  This is to clearly represent the use of "bool" also
3899           in the binding.  It should have no effect on the generated code.
3900         + improve the man page for field_buffer() to tell the people, that the
3901           whole buffer including leading/trailing spaces is returned.  This is
3902           a common source of confusion, so it's better to document it clearly.
3903
3904 990614  pre-release
3905         > patch by Juergen Pfeifer:
3906         + use pragma PreElaborate in several places.
3907         + change a few System.Address uses to more specific types.
3908         + change interface version-number to 1.0
3909         + regenerate Ada95 HTML files.
3910
3911 990612  pre-release
3912         + modify lib_endwin.c to avoid calling reset_shell_mode(), return ERR
3913           if it appears that curses was never initialized, e.g., by initscr().
3914           For instance, this guards against setting the terminal modes to
3915           strange values if endwin() is called after setupterm().  In the same
3916           context, Solaris curses will dump core.
3917         + modify logic that avoids a conflict in lib_vidattr.c between sgr0 and
3918           equivalent values in rmso or rmul by ensuring we do not modify the
3919           data which would be returned by the terminfo or termcap interfaces
3920           (reported by Brad Pepers <brad@linuxcanada.com>, cf:  960706).
3921         + add a null-pointer check for SP in lib_vidattr.c to logic that checks
3922           for magic cookies.
3923         + improve fallback declaration of 'bool' when the --without-cxx option
3924           is given, by using a 'char' on i386 and related hosts (from
3925           discussion with Alexander Lukyanov).
3926
3927 990605  pre-release
3928         + include time.h in lib_napms.c if nanosleep is used (patch by
3929           R Lindsay Todd <toddr@rpi.edu>).
3930         + add an "#undef bool" to curses.h, in case someone tries to define it,
3931           e.g., perl.
3932         + add check to tparm to guard against divide by zero (reported by Aaron
3933           Campbell <aaron@ug.cs.dal.ca>).
3934
3935 990516  pre-release
3936         + minor fix to build tack on CLIX (mismatched const).
3937         > patch by Juergen Pfeifer:
3938         + change Juergen's old email address with new one in the files where it
3939           is referenced.  The Ada95 HTML pages are regenerated.
3940         + update MANIFEST to list the tack files.
3941
3942 990509  pre-release
3943         + minor fixes to make 'tack' build/link on NeXT (reported by Francisco
3944           A. Tomei Torres).
3945
3946 990417  pre-release
3947         + add 'tack' program (which is GPL'd), updating it to work with the
3948           modified TERMTYPE struct and making a fix to support setaf/setab
3949           capabilities.  Note that the tack program is not part of the
3950           ncurses libraries, but an application which can be distributed with
3951           ncurses.  The configure script will ignore the directory if it is
3952           omitted, however.
3953         + modify gpm mouse support so that buttons 2 and 3 are used for
3954           select/paste only when shift key is pressed, making them available
3955           for use by an application (patch by Klaus Weide).
3956         + add complete list of function keys to scoansi terminfo entry - TD
3957
3958 990410  pre-release
3959         + add a simple test program cardfile.c to illustrate how to read form
3960           fields, and showing forms within panels.
3961         + change shared-library versioning for the Hurd to be like Linux rather
3962           than *BSD (patch by Mark Kettenis <kettenis@wins.uva.nl>).
3963         + add linux-lat terminfo entry.
3964         + back-out _nc_access check in read_termcap.c (both incorrect and
3965           unnecessary, except to guard against a small window where the file's
3966           ownership may change).
3967
3968 990403  pre-release
3969         + remove conflicting _nc_free_termtype() function from test module
3970           lib_freeall.c
3971         + use _nc_access check in read_termcap.c for termpaths[] array (noted
3972           by Jeremy Buhler, indicating that Alan Cox made a similar patch).
3973         > patch by Juergen Pfeifer:
3974         + modify menu creation to not inherit status flag from the default menu
3975           which says that the associated marker string has been allocated and
3976           should be freed (bug reported by Marek Paliwoda"
3977           <paliwoda@kki.net.pl>)
3978
3979 990327  pre-release (alpha.gnu.org:/gnu/ncurses-5.0-beta1.tar.gz)
3980         + minor fixes to xterm-xfree86 terminfo entry - TD.
3981         + split up an expression in configure script check for ldconfig to
3982           workaround limitation of BSD/OS sh (reported by Jeff Haas
3983           <jmh@mail.msen.com>).
3984         + correct a typo in man/form_hook.3x (Todd C Miller).
3985
3986 990318  pre-release
3987         + parenthesize and undef 'index' symbol in c++ binding and demo, to
3988           accommodate its definition on NeXT (reported by Francisco A. Tomei
3989           Torres).
3990         + add sigismember() to base/sigaction.c compatibility to link on NeXT
3991           (reported by Francisco A. Tomei Torres).
3992         + further refinements to inequality in hashmap.c to cover a case with
3993           ^U in nvi (patch by Alexander Lukyanov).
3994
3995 990316  pre-release
3996         + add fallback definition for getcwd, to link on NeXT.
3997         + add a copy of cur_term to tic.c to make it link properly on NeXT
3998           (reported by Francisco A. Tomei Torres).
3999         + change inequality in hashmap.c which checks the distance traveled by
4000           a chunk so that ^D command in nvi (scrolls 1/2 screen) will use
4001           scrolling logic (patch by Alexander Lukyanov, reported by Jeffrey
4002           C Honig).
4003
4004 990314  pre-release
4005         + modify lib_color.c to handle a special case where the curscr
4006           attributes have been made obsolete (patch by Alexander Lukyanov).
4007         + update BSD/OS console terminfo entries to use klone+sgr and
4008           klone+color (patch by Jeffrey C Honig).
4009         + update glibc addon configure script for extended capabilities.
4010         + correct a couple of warnings in the --enable-const configuration.
4011         + make comp_hash build properly with _nc_strdup(), on NeXT (reported by
4012           Francisco A. Tomei Torres <francisco.tomei@cwix.com>).
4013
4014 990313  pre-release
4015         + correct typos in linux-c initc string - TD
4016         + add 'crt' terminfo entry, update xterm-xfree86 entry - TD
4017         + remove a spurious argument to tparm() in lib_sklrefr.c (patch by
4018           Alexander Lukyanov).
4019
4020 990307  pre-release
4021         + back-out change to wgetch because it causes a problem with ^Z
4022           handling in lynx (reported by Kim DeVaughn).
4023
4024 990306  pre-release
4025         + add -G option to tic and infocmp, to reverse the -g option.
4026         + recode functions in name_match.c to avoid use of strncpy, which
4027           caused a 4-fold slowdown in tic (cf: 980530).
4028         + correct a few warnings about sign-extension in recent changes.
4029         > patch by Juergen Pfeifer:
4030         + fixes suggested by Jeff Bradbury <jibradbury@lucent.com>:
4031           + improved parameter checking in new_fieldtype().
4032           + fixed a typo in wgetch() timeout handling.
4033           + allow slk_init() to be called per newterm call.  The internal SLK
4034             state is stored in the SCREEN struct after every newterm() and then
4035             reset for the next newterm.
4036           + fix the problem that a slk_refresh() refreshes stdscr if the
4037             terminal has true SLKs.
4038         + update HTML documentation for Ada binding.
4039
4040 990301  pre-release
4041         + remove 'bool' casts from definitions of TRUE/FALSE so that statements
4042           such as "#if TRUE" work.  This was originally done to allow for a C++
4043           compiler which would warn of implicit conversions between enum and
4044           int, but is not needed for g++ (reported by Kim DeVaughn).
4045         + add use_extended_names() function to allow applications to suppress
4046           read of the extended capabilities.
4047         + add configure option --enable-tcap-names to support logic which
4048           allows ncurses' tic to define new (i.e., extended) terminal
4049           capabilities.  This is activated by the tic -x switch.  The infocmp
4050           program automatically shows or compares extended capabilities.
4051           Note:  This changes the Strings and similar arrays in the TERMTYPE
4052           struct so that applications which manipulate it must be recompiled.
4053         + use macros typeMalloc, typeCalloc and typeRealloc consistently
4054           throughout ncurses library.
4055         + add _nc_strdup() to doalloc.c.
4056         + modify define_key() to allow multiple strings to be bound to the
4057           same keycode.
4058         + correct logic error in _nc_remove_string, from 990220.
4059         > patch by Juergen Pfeifer, for Ada95 binding:
4060         + regenerate some of the html documentation
4061         + minor cleanup in terminal_interface-curses.adb
4062
4063 990220  pre-release
4064         + resolve ambiguity of kend/kll/kslt and khome/kfnd/kich1 strings in
4065           xterm and ncsa terminfo entries by removing the unneeded ones.  Note
4066           that some entries will return kend & khome versus kslt and kfnd, for
4067           PC-style keyboards versus strict vt220 compatiblity - TD
4068         + add function keybound(), which returns the definition associated with
4069           a given keycode.
4070         + modify define_key() to undefine the given string when no keycode is
4071           given.
4072         + modify keyok() so it works properly if there is more than one string
4073           defined for a keycode.
4074         + add check to tic to warn about terminfo descriptions that contain
4075           more than one key assigned to the same string.  This is shown only if
4076           the verbose (-v) option is given.  Moved related logic (tic -v) from
4077           comp_parse.c into the tic program.
4078         + add/use _nc_trace_tries() to show the function keys that will be
4079           recognized.
4080         + rename init_acs to _nc_init_acs (request by Alexander Lukyanov).
4081         > patch by Juergen Pfeifer, for Ada95 binding:
4082         + remove all the *_adabind.c from ncurses, menu and form projects.
4083           Those little helper routines have all been implemented in Ada and are
4084           no longer required.
4085         + The option handling routines in menu and form have been made more
4086           save.  They now make sure that the unused bits in options are always
4087           zero.
4088         + modify configuration scripts to
4089           + use gnatmake as default compiler name.  This is a safer choice than
4090             gcc, because some GNAT implementations use other names for the
4091             compilerdriver to avoid conflicts.
4092           + use new default installation locations for the Ada files according
4093             to the proposed GNU Ada filesystem standard (for Linux).
4094         + simplify the Makefiles for the Ada binding
4095         + rename ada_include directory to src.
4096
4097 990213
4098         + enable sigwinch handler by default.
4099         + disable logic that allows setbuf to be turned off/on, because some
4100           implementations will overrun the buffer after it has been disabled
4101           once.
4102
4103 990206
4104         + suppress sc/rc capabilities from terminal description if they appear
4105           in smcup/rmcup.  This affects only scrolling optimization, to fix a
4106           problem reported by several people with xterm's alternate screen,
4107           though the problem is more general.
4108         > patch by Juergen Pfeifer, for Ada95 binding:
4109         + removed all pragma Preelaborate() stuff, because the just released
4110           gnat-3.11p complains on some constructs.
4111         + fixed some upper/lower case notations because gnat-3.11p found
4112           inconsistent use.
4113         + used a new method to generate the HTML documentation of the Ada95
4114           binding.  This invalidates nearly the whole ./Ada95/html subtree.
4115           Nearly all current files in this subtree are removed
4116
4117 990130
4118         + cache last result from _nc_baudrate, for performance (suggested by
4119           Alexander Lukyanov).
4120         + modify ClrUpdate() function to workaround a problem in nvi, which
4121           uses redrawwin in SIGTSTP handling.  Jeffrey C Honig reported that
4122           ncurses repainted the screen with nulls before resuming normal
4123           operation (patch by Alexander Lukyanov).
4124         + generalize is_xterm() function a little by letting xterm/rxvt/kterm
4125           be any substring rather than the prefix.
4126         + modify lib_data.c to initialize SP.  Some linkers, e.g., IBM's, will
4127           not link a module if the only symbols exported from the module are
4128           uninitialized ones (patch by Ilya Zakharevich, who says that he has
4129           seen messages claiming this behaviour conforms to the standard.)
4130         + move call on _nc_signal_handler past _nc_initscr, to avoid a small
4131           window where Nttyb hasn't yet been filled (reported by Klaus Weide).
4132         + modify lib_tstp.c to block SIGTTOU when handling SIGTSTP, fixes a
4133           problem where ncurses applications which were run via a shell script
4134           would hang when given a ^Z.  Also, check if the terminal's process
4135           group is consistent, i.e., a shell has not taken ownership of it,
4136           before deciding to save the current terminal settings in the SIGTSTP
4137           handler (patch by Klaus Weide).
4138         + correct spelling of ACS_ names in curs_border.3x (reported by Bob van
4139           der Poel <bvdpoel@kootenay.com>).
4140         + correct a couple of typos in the macros supporting the configure
4141           --with-shlib-version option.
4142
4143 990123
4144         + modify fty_regex.c to compile on HAVE_REGEXPR_H_FUNCS machine (patch
4145           by Kimio Ishii <ishii@csl.sony.co.jp>).
4146         + rename BSDI console terminfo entries:  bsdos to bsdos-pc-nobold, and
4147           bsdos-bold to bsdos-pc (patch by Jeffrey C Honig).
4148         + modify tput to accept termcap names as an alternative to terminfo
4149           names (patch by Jeffrey C Honig).
4150         + correct a typo in term.7 (Todd C Miller).
4151         + add configure --with-shlib-version option to allow installing shared
4152           libraries named according to release or ABI versions.  This
4153           parameterizes some existing logic in the configure script, and is
4154           intended for compatiblity upgrades on Digital Unix, which used
4155           versioned libraries in ncurses 4.2, but no longer does (cf:  980425).
4156         + resync configure script against autoconf 2.13 + patches
4157         + minor improvements for teraterm terminfo entry based on the program's
4158           source distribution.
4159
4160 990116
4161         + change default for configure --enable-big-core to assume machines do
4162           have enough memory to resolve terminfo.src in-memory.
4163         + correct name of ncurses library in TEST_ARGS when configuring with
4164           debug library.
4165         + minor fixes to compile ncurses library with broken-linker with g++.
4166         + add --enable-broken-linker configure option, default to environment
4167           variable $BROKEN_LINKER (request by Jeffrey C Honig).
4168         + change key_names[] array to static since it is not part of the curses
4169           interface (reported by Jeffrey C Honig <jch@bsdi.com>).
4170
4171 990110
4172         + add Tera Term terminfo entry - TD
4173
4174 990109
4175         + reviewed/corrected macros in curses.h as per XSI document.
4176         + provide support for termcap PC variable by copying it from terminfo
4177           data and using it as the padding character in tputs (reported by
4178           Alexander Lukyanov).
4179         + corrected iris-ansi and iris-ansi-ap terminfo entries for kent and
4180           kf9-kf12 capabilities, as well as adding kcbt.
4181         + document the mouse handling mechanism in menu_driver and make a small
4182           change in menu_driver's return codes to provide more consistency
4183           (patch by Juergen Pfeifer).
4184         + add fallback definition for NCURSES_CONST to termcap.h.in (reported
4185           by Uchiyama Yasushi <uch@nop.or.jp>).
4186         + move lib_restart.c to ncurses/base, since it uses curses functions
4187           directly, and therefore cannot be used in libtinfo.so
4188         + rename micro_char_size to micro_col_size, adding #define to retain
4189           old name.
4190         + add set_a_attributes and set_pglen_inch to terminfo structure, as per
4191           XSI and Solaris 2.5.
4192         + minor makefile files to build ncurses test_progs
4193         + update html files in misc directory to reflect changes since 4.2
4194
4195 990102
4196         + disable scroll hints when hashmap is enabled (patch by Alexander
4197           Lukyanov).
4198         + move logic for tic's verify of -e option versus -I and -C so that the
4199           terminfo data is not processed if we cannot handle -e (reported by
4200           Steven Schwartz <steves@unitrends.com>.
4201         + add test-driver traces to terminfo and termcap functions.
4202         + provide support for termcap ospeed variable by copying it from the
4203           internal cur_term member, and using ospeed as the baudrate reference
4204           for the delay_output and tputs functions.  If an application does not
4205           set ospeed, the library behaves as before, except that _nc_timed_wait
4206           is no longer used, or needed, since ospeed always has a value.  But
4207           the application can modify ospeed to adjust the output of padding
4208           characters (from a bug report for screen 3.7.6 and email from Michael
4209           Schroeder <Michael.Schroeder@informatik.uni-erlangen.de>).
4210         + removed some unused ifdef's as part of Alexander's restructuring.
4211         + reviewed/updated curses.h, term.h against X/Open Curses Issue 4
4212           Version 2.  This includes making some parameters NCURSES_CONST
4213           rather than const, e.g., in termcap.h.
4214         + change linux terminfo entry to use ncv#2, since underline does not
4215           work with color
4216
4217 981226
4218         + miscellaneous corrections for curses.h to match XSI.
4219         + change --enable-no-padding configure option to be normally enabled.
4220         + add section to ncurses manpage for environment variables.
4221         + investigated Debian bug report that pertains to screen 3.7.4/3.7.6
4222           changes, found no sign of problems on Linux (or on SunOS, Solaris)
4223           running screen built with ncurses.
4224         + check if tmp_fp is opened in tic.c before closing it (patch by Pavel
4225           Roskin <pavel_roskin@geocities.com>).
4226         + correct several font specification typos in man-pages.
4227
4228 981220
4229         + correct default value for BUILD_CC (reported by Larry Virden).
4230
4231 981219
4232         + modify _nc_set_writedir() to set a flag in _nc_tic_dir() to prevent
4233           it from changing the terminfo directory after chdir'ing to it.
4234           Otherwise, a relative path in $TERMINFO would confuse tic (from a
4235           Debian bug report).
4236         + correct/update ncsa terminfo entry (report by Larry Virden).
4237         + update xterm-xfree86 terminfo to current (patch 90), smcur/rmcur
4238           changes
4239         + add Mathew Vernon's mach console entries to terminfo.src
4240         + more changes, moving functions, as part of Alexander's restructuring.
4241         + modify configure script for GNU/Hurd share-library support, introduce
4242           BUILD_CC variable for cross compiling (patch by Uchiyama Yasushi
4243           <uch@nop.or.jp>)
4244
4245 981212
4246         + add environment variable NCURSES_NO_SETBUF to allow disabling the
4247           setbuf feature, for testing purposes.
4248         + correct ifdef's for termcap.h versus term.h that suppress redundant
4249           declarations of prototypes (reported by H.J.Lu).
4250         + modify Makefile.os2 to add linker flags which allow multiple copies
4251           of an application to coexist (reported by Ilya Zakharevich).
4252         + update Makefile.glibc and associated configure script so that ncurses
4253           builds as a glibc add-on with the new directory configuration
4254           (reported by H.J.Lu).
4255
4256 981205
4257         + modify gen_reps() function in gen.c to work properly on SunOS
4258           (sparc), which is a left-to-right architecture.
4259         + modify relative_move and tputs to avoid an interaction with the
4260           BSD-style padding.  The relative_move function could produce a string
4261           to replace on the screen which began with a numeric character, which
4262           was then interpreted by tputs as padding.  Now relative_move will not
4263           generate a string with a leading digit in that case (overwrite).
4264           Also, tputs will only interpret padding if the string begins with a
4265           digit; as coded it permitted a string to begin with a decimal point
4266           or asterisk (reported by Larry Virden).
4267         > patches by Juergen Pfeifer:
4268         + fix a typo in m_driver.c mouse handling and improves the error
4269           handling.
4270         + fix broken mouse handling in the Ada95 binding
4271         + make the Ada95 sample application menus work with the new menu mouse
4272           support
4273         + improve the mouse handling introduced by Ilya; it now handles menus
4274           with spacing.
4275         + repair a minor bug in the menu_driver code discovered during this
4276           rework.
4277         + add new function wmouse_trafo() to hide implementation details of
4278           _yoffset member of WINDOW struct needed for mouse coordinate
4279           transformation.
4280
4281 981128
4282         + modify Ada95/gen/gen.c to avoid using return-value of sprintf, since
4283           some older implementations (e.g., SunOS 4.x) return the buffer
4284           address rather than its length.
4285         > patch by Rick Ohnemus:
4286         + modify demo.cc to get it to compile with newer versions of egcs.
4287         + trim a space that appears at the end of the table preprocessor lines
4288           ('\" t).  This space prevents some versions of man from displaying
4289           the pages - changed to remove all trailing whitespace (TD)
4290         + finally, 'make clean' does not remove panel objects.
4291         > patches by Ilya Zakharevich:
4292         + allow remapping of OS/2 mouse buttons using environment variable
4293           MOUSE_BUTTONS_123 with the default value 132.
4294         + add mouse support to ncurses menus.
4295
4296 981121
4297         + modify misc/makedef.cmd to report old-style .def file symbols, and to
4298           generate the .def files sorted by increasing names rather than the
4299           reverse.
4300         + add misc/*.ref which are J.J.G.Ripoll's dll definition files (renamed
4301           from misc/*.old), and updated based on the entrypoint coding he used
4302           for an older version of ncurses.
4303         + add README.emx, to document how to build on OS/2 EMX.
4304         + updates for config.guess, config.sub from Lynx
4305         > patches by Ilya Zakharevich:
4306         + minor fixes for mouse handling mode:
4307           a) Do not initialize mouse if the request is to have no mouse;
4308           b) Allow switching of OS/2 VIO mouse on and off.
4309         + modify Makefile.os2 to support alternative means of generating
4310           configure script, by translating Unix script with Perl.
4311         > patches by Juergen Pfeifer:
4312         + Updates MANIFEST to reflect changes in source structure
4313         + Eliminates a problem introduced with my last patch for the C++
4314           binding in the panels code.  It removes the update() call done in the
4315           panel destructor.
4316         + Changes in the Ada95 binding to better support systems where
4317           sizeof(chtype)!=sizeof(int) (e.g.  DEC Alpha).
4318
4319 981114
4320         + modify install-script for manpages to skip over .orig and .rej files
4321           (request by Larry Virden).
4322         > patches/discussion by Alexander Lukyanov:
4323         + move base-library sources into ncurses/base and tty (serial terminal)
4324           sources into ncurses/tty, as part of Alexander Lukyanov's proposed
4325           changes to ncurses library.
4326         + copy _tracemouse() into ncurses.c so that lib_tracemse.c need not
4327           be linked into the normal ncurses library.
4328         + move macro winch to a function, to hide details of struct ldat
4329         > patches by Juergen Pfeifer:
4330         + fix a potential compile problem in cursesw.cc
4331         + some Ada95 cosmetics
4332         + fix a gen.c problem when compiling on 64-Bit machines
4333         + fix Ada95/gen/Makefile.in "-L" linker switch
4334         + modify Ada95 makefiles to use the INSTALL_PREFIX setting.
4335
4336 981107
4337         + ifdef'd out lib_freeall.c when not configured.
4338         + rename _tracebits() to _nc_tracebits().
4339         + move terminfo-library sources into ncurses/tinfo, and trace-support
4340           functions into ncurses/trace as part of Alexander Lukyanov's proposed
4341           changes to ncurses library.
4342         + modify generated term.h to always specify its own definitions for
4343           HAVE_TERMIOS_H, etc., to guard against inclusion by programs with
4344           broken configure scripts.
4345
4346 981031
4347         + modify terminfo parsing to accept octal and hexadecimal constants,
4348           like Solaris.
4349         + remove an autoconf 2.10 artifact from the configure script's check
4350           for "-g" compiler options.  (Though harmless, this confused someone
4351           at Debian, who recently issued a patch that results in the opposite
4352           effect).
4353         + add configure option --with-ada-compiler to accommodate installations
4354           that do not use gcc as the driver for GNAT (patch by Juergen
4355           Pfeifer).
4356
4357 981017
4358         + ensure ./man exists in configure script, needed when configuring
4359           with --srcdir option.
4360         + modify infocmp "-r" option to remove limit on formatted termcap
4361           output, which makes it more like Solaris' version.
4362         + modify captoinfo to treat no-argument case more like Solaris'
4363           version, which uses the contents of $TERMCAP as the entry to format.
4364         + modify mk-2nd.awk to handle subdirectories, e.g., ncurses/tty
4365           (patch by Alexander V Lukyanov).
4366
4367 981010
4368         + modify --with-terminfo-dirs option so that the default value is the
4369           ${datadir} value, unless $TERMINFO_DIRS is already set.  This gets
4370           rid of a hardcoded list of candidate directories in the configure
4371           script.
4372         + add some error-checking to _nc_read_file_entry() to ensure that
4373           strings are properly terminated (Todd C Miller).
4374         + rename manpage file curs_scr_dmp.3x to curs_scr_dump.3x, to
4375           correspond with contents (reported by Neil Zanella
4376           <nzanella@cs.mun.ca>).
4377         + remove redundant configure check for C++ which did not work when $CXX
4378           was specified with a full pathname (reported by Andreas Jaeger).
4379         + corrected bcopy/memmove check; the macro was not standalone.
4380
4381 981003
4382         + remove unnecessary portion of OS/2 EMX mouse change from
4383           check_pending() (reported by Alexander V Lukyanov).
4384
4385 980926
4386         + implement mouse support for OS/2 EMX (adapted from patch against
4387           4.2(?) by Ilya Zakharevich).
4388         + add configure-check for bcopy/memmove, for 980919 changes to hashmap.
4389         + merge Data General terminfo from Hasufin <hasufin@vidnet.net> - TD
4390         + merge AIX 3.2.5 terminfo descriptions for IBM terminals, replaces
4391           some older entries - TD
4392         + modify tic to compile into %'char' form in preference to %{number},
4393           since that is a little more efficient.
4394         + minor correction to infocmp to avoid displaying "difference" between
4395           two capabilities that are rendered in equivalent forms.
4396         + add -g option to tic/infocmp to force character constants to be
4397           displayed in quoted form.  Otherwise their decimal values are shown.
4398         + modify setupterm so that cancelled strings are treated the same as
4399           absent strings, cancelled and absent booleans false (does not affect
4400           tic, infocmp).
4401         + modify tic, infocmp to discard redundant i3, r3 strings when output
4402           to termcap format.
4403         > patch by Alexander V Lukyanov:
4404         + improve performance of tparm, now it takes 19% instead of 25% when
4405           profiling worm.
4406         + rename maxlen/minlen to prec/width for better readability.
4407         + use format string for printing strings.
4408         + use len argument correctly in save_text, and pass it to save_number.
4409
4410 980919
4411         + make test_progs compile (but hashmap does not function).
4412         + correct NC_BUFFERED macro, used in lib_mvcur test-driver, modify
4413           associated logic to avoid freeing the SP->_setbuf data.
4414         + add modules home_terminfo and getenv_num to libtinfo.
4415         + move write_entry to libtinfo, to work with termcap caching.
4416         + minor fixes to blue.c to build with atac.
4417         + remove softscroll.c module; no longer needed for testing.
4418         > patches by Todd C Miller:
4419         + use strtol(3) instead of atoi(3) when parsing env variables so we can
4420           detect a bogus (non-numeric) value.
4421         + check for terminal names > MAX_NAME_SIZE in a few more places when
4422           dealing with env variables again.
4423         + fix a MAX_NAME_SIZE that should be MAX_NAME_SIZE+1
4424         + use sizeof instead of strlen(3) on PRIVATE_INFO since it is a fixed
4425           string #define (compile time vs runtime).
4426         + when setting errno to ENOMEM, set it right before the return, not
4427           before code that could, possibly, set errno to a different value.
4428         > patches by Alexander V Lukyanov:
4429         + use default background in update_cost_from_blank()
4430         + disable scroll-hints when hashmap is configured.
4431         + improve integration of hashmap scrolling code, by adding oldhash and
4432           newhash data to SP struct.
4433         + invoke del_curterm from delscreen.
4434         + modify del_curterm to set cur_term to null if it matches the
4435           function's parameter which is deleted.
4436         + modify lib_doupdate to prefer parm_ich to the enter_insert_mode and
4437           exit_insert_mode combination, adjusting InsCharCost to check
4438           enter_insert_mode, exit_insert_mode and insert_padding.  Add
4439           insert_padding in insert mode after each char.  This adds new costs
4440           to the SP struct.
4441
4442 980912
4443         + modify test-driver in lib_mvcur.s to use _nc_setbuffer, for
4444           consistent treatment.
4445         + modify ncurses to restore output to unbuffered on endwin, and resume
4446           buffering in refresh (see lib_set_term.c and NC_BUFFERED macro).
4447         + corrected HTML version numbers (according to the W3C validator, they
4448           never were HTML 2.0-compliant, but are acceptable 3.0).
4449
4450 980905
4451         + modify MKterminfo.sh to generate terminfo.5 with tables sorted by
4452           capability name, as in SVr4.
4453         + modified term.h, termcap.h headers to avoid redundant declarations.
4454         + change 'u_int' type in tset.c to unsigned, making this compile on
4455           Sequent PRX 4.1 (reported by Michael Sterrett <msterret@coat.com>).
4456
4457 980829
4458         + corrections to mailing addresses, and moving the magic line that
4459           causes the man program to invoke tbl to the first line of each
4460           manpage (patch by Rick Ohnemus <rick@ecompcon.com>).
4461         + add Makefile.os2 and supporting scripts to generate dll's on OS/2 EMX
4462           (from J.J.G.Ripoll, with further integration by TD).
4463         + correct a typo in icl6404 terminfo entry.
4464         + add xtermm and xtermc terminfo entries.
4465         > from esr's terminfo version:
4466         + Added Francesco Potorti's tuned Wyse 99 entries.
4467         + dtterm enacs correction from Alexander V Lukyanov.
4468         + Add ncsa-ns, ncsa-m-ns and ncsa-m entries from esr version.
4469
4470 980822
4471         + document AT&T acs characters in terminfo.5 manpage.
4472         + use EMX _scrsize() function if terminfo and environment do not
4473           declare the screen size (reported by Ilya Zakharevich
4474           <ilya@math.ohio-state.edu>).
4475         + remove spurious '\' characters from eterm and osborne terminfo
4476           entries (prompted by an old Debian bug report).
4477         + correct reversed malloc/realloc calls in _nc_doalloc (reported by
4478           Hans-Joachim Widmaier <hjwidmai@foxboro.com>).
4479         + correct misplaced parenthesis which caused file-descriptor from
4480           opening termcap to be lost, from 980725 changes (reported by Andreas
4481           Jaeger).
4482
4483 980815
4484         + modify lib_setup.c to eliminate unneeded include of <sys/ioctl.h>
4485           when termios is not used (patch by Todd C Miller).
4486         + add function _nc_doalloc, to ensure that failed realloc calls do not
4487           leak memory (reported by Todd C Miller).
4488         + improved ncsa-telnet terminfo entry.
4489
4490 980809
4491         + correct missing braces around a trace statement in read_entry.c,
4492           from 980808 (reported by Kim DeVaughn <kimdv@best.com> and Liviu
4493           Daia).
4494
4495 980808
4496         + fix missing include <errno.h> in ditto.c (reported by Bernhard
4497           Rosenkraenzer <bero@k5.sucks.eu.org>)
4498         + add NCSA telnet terminfo entries from Francesco Potorti
4499           <F.Potorti@cnuce.cnr.it>, from Debian bug reports.
4500         + make handling of $LINES and $COLUMNS variables more compatible with
4501           Solaris by allowing them to individually override the window size
4502           as obtained via ioctl.
4503
4504 980801
4505         + modify lib_vidattr.c to allow for terminal types (e.g., xterm-color)
4506           which may reset all attributes in the 'op' capability, so that colors
4507           are set before turning on bold and other attributes, but still after
4508           turning attributes off.
4509         + add 'ditto.c' to test directory to illustrate use of newterm for
4510           initializing multiple screens.
4511         + modify _nc_write_entry() to recover from failed attempt to link alias
4512           for a terminfo on a filesystem which does not preserve character case
4513           (reported by Peter L Jordan <PJordan@chla.usc.edu>).
4514
4515 980725
4516         + updated versions of config.guess and config.sub based on automake 1.3
4517         + change name-comparisons in lib_termcap to compare no more than 2
4518           characters (gleaned from Debian distribution of 1.9.9g-8.8, verified
4519           with Solaris curses).
4520         + fix typo in curs_insstr.3x (patch by Todd C Miller)
4521         + use 'access()' to check if ncurses library should be permitted to
4522           open or modify files with fopen/open/link/unlink/remove calls, in
4523           case the calling application is running in setuid mode (request by
4524           Cristian Gafton <gafton@redhat.com>, responding to Duncan Simpson
4525           <dps@io.stargate.co.uk>).
4526         + arm100 terminfo entries from Dave Millen <dmill@globalnet.co.uk>).
4527         + qnxt2 and minitel terminfo entries from esr's version.
4528
4529 980718
4530         + use -R option with ldconfig on FreeBSD because otherwise it resets
4531           the search path to /usr/lib (reported by Dan Nelson).
4532         + add -soname option when building shared libraries on OpenBSD 2.x
4533           (request by QingLong).
4534         + add configure options --with-manpage-format and
4535           --with-manpage-renames (request by QingLong).
4536         + correct conversion of CANCELLED_NUMERIC in write_object(), which was
4537           omitting the high-order byte, producing a 254 in the compiled
4538           terminfo.
4539         + modify return-values of tgetflag, tgetnum, tgetstr, tigetflag,
4540           tigetnum and tigetstr to be compatible with Solaris (gleaned from
4541           Debian distribution of 1.9.9g-8.8).
4542         + modify _nc_syserr_abort to abort only when compiled for debugging,
4543           otherwise simply exit with an error.
4544
4545 980711
4546         + modify Ada95 'gen' program to use appropriate library suffix (e.g.,
4547           "_g" for a debug build).
4548         + update Ada95 'make clean' rule to include generics .ali files
4549         + add a configure test to ensure that if GNAT is found, that it can
4550           compile/link working Ada95 program.
4551         + flush output in beep and flash functions, fixing a problem with
4552           getstr (patch by Alexander V Lukyanov)
4553         + fix egcs 1.0.2 warning for etip.h (patch by Chris Johns).
4554         + correct ifdef/brace nesting in lib_sprintf.c (patch by Bernhard
4555           Rosenkraenzer <bero@Pool.Informatik.RWTH-Aachen.DE>).
4556         + correct typo in wattr_get macro from 980509 fixes (patch by Dan
4557           Nelson).
4558
4559 980704
4560         + merge changes from current XFree86 xterm terminfo descriptions.
4561         + add configure option '--without-ada'.
4562         + add a smart-default for termcap 'ac' to terminfo 'acs_chars' which
4563           corresponds to vt100.
4564         + change translation for termcap 'rs' to terminfo 'rs2', which is
4565           the documented equivalent, rather than 'rs1'.
4566
4567 980627
4568         + slow 'worm' down a little, for very fast machines.
4569         + corrected firstchar/lastchar computation in lib_hline.c
4570         + simplify some expressions with CHANGED_CELL, CHANGED_RANGE and
4571           CHANGED_TO_EOL macros.
4572         + modify init_pair so that if a color-pair is reinitialized, we will
4573           repaint the areas of the screen whose color changes, like SVr4 curses
4574           (reported by Christian Maurer <maurer@inf.fu-berlin.de>).
4575         + modify getsyx/setsyx macros to comply with SVr4 man-page which
4576           says that leaveok() affects their behavior (report by Darryl Miles,
4577           patch by Alexander V Lukyanov).
4578
4579 980620
4580         + review terminfo.5 against Solaris 2.6 curses version, corrected
4581           several minor errors/omissions.
4582         + implement tparm %l format.
4583         + implement tparm printf-style width and precision for %s, %d, %x, %o
4584           as per XSI.
4585         + implement tparm dynamic variables (reported by Xiaodan Tang).
4586
4587 980613
4588         + update man-page for for wattr_set, wattr_get (cf:  980509)
4589         + correct limits in hashtest, which would cause nonprinting characters
4590           to be written to large screens.
4591         + correct configure script, when --without-cxx was specified:  the
4592           wrong variable was used for cf_cv_type_of_bool.  Compilers up to gcc
4593           2.8 tolerated the missing 'int'.
4594         + remove the hardcoded name "gcc" for the GNU Ada compiler.  The
4595           compiler's name might be something like "egcs" (patch by Juergen
4596           Pfeifer).
4597         + correct curs_addch.3x, which implied that echochar could directly
4598           display control characters (patch by Alexander V Lukyanov).
4599         + fix typos in ncurses-intro.html (patch by Sidik Isani
4600           <isani@cfht.hawaii.edu>)
4601
4602 980606
4603         + add configure test for conflicting use of exception in math.h and
4604           other headers.
4605         + minor optimization to 'hash()' function in hashmap.c, reduces its
4606           time by 10%.
4607         + correct form of LD_SHARED_OPTS for HP-UX 10.x (patch by Tim Mooney).
4608         + fix missing quotes for 'print' in MKunctrl.awk script (reported by
4609           Mihai Budiu <mihaib@gs41.sp.cs.cmu.edu>).
4610         > patch by Alexander V Lukyanov:
4611         + correct problem on Solaris (with poll() function) where getch could
4612           hang indefinitely even if timeout(x) was called.  This turned out to
4613           be because milliseconds was not updated before 'goto retry' in
4614           _nc_timed_wait.
4615         + simplified the function _nc_timed_wait and fixed another bug, which
4616           was the assumption of !GOOD_SELECT && HAVE_GETTIMEOFDAY in *timeleft
4617           assignment.
4618         + removed the cycle on EINTR, as it seems to be useless.
4619
4620 980530
4621         + add makefile-rule for test/keynames
4622         + modify run_tic.sh and shlib to ensure that user's .profile does not
4623           override the $PATH used to run tic (patch by Tim Mooney).
4624         + restore LD_SHARED_OPTS to $(LD_SHARED_FLAGS) when linking programs,
4625           needed for HP-UX shared-library path (recommended by Tim Mooney).
4626         + remove special case of HP-UX -L options, use +b options to embed
4627           $(libdir) in the shared libraries (recommended by Tim Mooney).
4628         + add checks for some possible buffer overflows and unchecked
4629           malloc/realloc/calloc/strdup return values (patch by Todd C Miller
4630           <Todd.Miller@courtesan.com>)
4631
4632 980523
4633         + correct maxx/maxy expression for num_columns/num_lines in derwin
4634           (patch by Alexander V Lukyanov).
4635         + add /usr/share/lib/terminfo and /usr/lib/terminfo as compatibilty
4636           fallbacks to _nc_read_entry(), along with --with-terminfo-dirs
4637           configure option (suggested by Mike Hopkirk).
4638         + modify config.guess to recognize Unixware 2.1 and 7 (patch by Mike
4639           Hopkirk <hops@sco.com>).
4640         + suppress definition of CC_SHARED_OPTS in LDFLAGS_SHARED in c++
4641           Makefile.in, since this conflicts when g++ is used with HP-UX
4642           compiler (reported by Tim Mooney).
4643         + parenthesize 'strcpy' calls in c++ binding to workaround redefinition
4644           in some C++ implementations (reported by several people running
4645           egcs with glibc 2.0.93, analysis by Andreas Jaeger.
4646
4647 980516
4648         + modify write_entry.c so that it will not attempt to link aliases
4649           with embedded '/', but give only a warning.
4650         + put -L$(libdir) first when linking programs, except for HP-UX.
4651         + modify comp_scan.c to handle SVr4 terminfo description for att477,
4652           which contains a colon in the description field.
4653         + modify configure script to support SCO osr5.0.5 shared libraries
4654           (from comp.unix.sco.programmer newsgroup item by Mike Hopkirk
4655           <hops@sco.com>).
4656         + eliminate extra GoTo call in lib_doupdate.c (patch by Alexander V.
4657           Lukyanov).
4658         + minor adjustments of const/NCURSES_CONST from IRIX compile.
4659         + add updates based on esr's 980509 version of terminfo.src.
4660
4661 980509
4662         + correct macros for wattr_set, wattr_get, separate wattrset macro from
4663           these to preserve behavior that allows attributes to be combined with
4664           color pair numbers.
4665         + add configure option --enable-no-padding, to allow environment
4666           variable $NCURSES_NO_PADDING to eliminate non-mandatory padding,
4667           thereby making terminal emulators (e.g., for vt100) a little more
4668           efficient (request by Daniel Eisenbud <eisenbud@cs.swarthmore.edu>).
4669         + modify configure script to embed ABI in shared libraries for HP-UX
4670           10.x (detailed request by Tim Mooney).
4671         + add test/example of the 'filter()' function.
4672         + add nxterm and xterm-color terminfo description (request by Cristian
4673           Gafton <gafton@redhat.com>).
4674         + modify rxvt terminfo description to clear alternate screen before
4675           switching back to normal screen, for compatibility with applications
4676           which use xterm (reported by Manoj Kasichainula <manojk@io.com>).
4677         + modify linux terminfo description to reset color palette (reported
4678           by Telford Tendys <telford@eng.uts.edu.au>).
4679         + correction to doupdate, for case where terminal does not support
4680           insert/delete character.  The logic did not check that there was a
4681           difference in alignment of changes to old/new screens before
4682           repainting the whole non-blank portion of the line.  Modified to fall
4683           through into logic that reduces by the portion which does not differ
4684           (reported by Daniel Eisenbud <eisenbud@cs.swarthmore.edu>).
4685         + minor performance improvement to wnoutrefresh by moving some
4686           comparisons out of inner loop.
4687
4688 980425
4689         + modify configure script to substitute NCURSES_CONST in curses.h
4690         + updated terminfo entries for xterm-xf86-v40, xterm-16color,
4691           xterm-8bit to correspond to XFree86 3.9Ag.
4692         + remove restriction that forces ncurses to use setaf/setab if the
4693           number of colors is greater than 8.  (see 970524 for xterm-16color).
4694         + change order of -L options (so that $(libdir) is searched first) when
4695           linking tic and other programs, to workaround HP's linker.
4696           Otherwise, the -L../lib is embedded when linking against shared
4697           libraries and the installed program does not run (reported by Ralf
4698           Hildebrandt).
4699         + modify configuration of shared libraries on Digital Unix so that
4700           versioning is embedded in the library, rather than implied by
4701           links (patch by Tim Mooney).
4702
4703 980418
4704         + modify etip.h to avoid conflict with math.h on HP-UX 9.03 with gcc
4705           2.8.1 which redefines 'exception' (reported by Ralf Hildebrandt
4706           <R.Hildebrandt@tu-bs.de>).
4707         + correct configure tests in CF_SHARED_OPTS which used $CC value to
4708           check for gcc, rather than autoconf's $GCC value.  This did not
4709           work properly if the full pathname of the compiler were given
4710           (reported by Michael Yount <yount@csf.Colorado.edu>).
4711         + revise check for compiler options to force ANSI mode since repeating
4712           an option such as -Aa causes HP's compiler to fail on its own headers
4713           (reported by Clint Olsen <olsenc@ichips.intel.com>).
4714
4715 980411
4716         + ifdef'd has_key() and mcprint() as extended functions.
4717         + modified several prototypes to correspond with 1997 version of
4718           X/Open Curses (affects ABI since developers have used attr_get).
4719         + remove spurious trailing blanks in glibc addon-scripts (patch by
4720           H.J.Lu).
4721         + insert a few braces at locations where gcc-2.8.x asks to use them to
4722           avoid ambigous else's, use -fpic rather than -fPIC for Linux (patch
4723           by Juergen Pfeifer).
4724
4725 980404
4726         + split SHLIB_LIST into SHLIB_DIRS/SHLIB_LIST to keep -L options
4727           before -l to accommodate Solaris' linker (reported by Larry Virden).
4728
4729 980328
4730         + modify lib_color.c to eliminate dependency on orig_colors and
4731           orig_pair, since SVr4 curses does not require these either, but
4732           uses them when they are available.
4733         + add detailed usage-message to infocmp.
4734         + correct a typo in att6386 entry (a "%?" which was "?").
4735         + add -f option to infocmp and tic, which formats the terminfo
4736           if/then/else/endif so that they are readable (with newlines and
4737           tabs).
4738         + fixes for glibc addon scripts (patch by H.J.Lu).
4739
4740 980321
4741         + revise configure macro CF_SPEED_TYPE so that termcap.h has speed_t
4742           declared (from Adam J. Richter <adam@yggdrasil.com>)
4743         + remove spurious curs_set() call from leaveok() (J.T.Conklin).
4744         + corrected handling leaveok() in doupdate() (patch by Alexander V.
4745           Lukyanov).
4746         + improved version of wredrawln (patch by Alexander V. Lukyanov).
4747         + correct c++/Makefile.in so install target do not have embedded ../lib
4748           to confuse it (patch by Thomas Graf <graf@essi.fr>).
4749         + add warning to preinstall rule which checks if the installer would
4750           overwrite a curses.h or termcap.h that is not derived from ncurses.
4751           (The recommended configuration for developers who need both is to
4752           use --disable-overwrite).
4753         + modify preinstall rule in top-level Makefile to avoid implicit
4754           use of 'sh', to accommodate Ultrix 4.4 (reported by Joao Palhoto
4755           Matos <jmatos@math.ist.utl.pt>, patch by Thomas Esser
4756           <te@informatik.uni-hannover.de>)
4757         + refine ifdef's for TRACE so that libncurses has fewer dependencies
4758           on libtinfo when TRACE is disabled.
4759         + modify configure script so that if the --with-termlib option is used
4760           to generate a separate terminfo library, we chain it to the ncurses
4761           library with a "-l" option (reported by Darryl Miles and Ian T.
4762           Zimmerman).
4763
4764 980314
4765         + correct limits and window in wredrawln function (reported/analysis by
4766           Alexander V. Lukyanov).
4767         + correct sed expression in configure script for --with-fallback
4768           option (patch by Jesse Thilo).
4769         + correct some places in configure script where $enableval was used
4770           rather than $withval (patch by Darryl Miles <dlm@g7led.demon.co.uk>).
4771         + modify some man-pages so no '.' or '..' falls between TH and SH
4772           macros, to accommodate man_db program (reported by Ian T. Zimmerman
4773           <itz@rahul.net>).
4774         + terminfo.src 10.2.1 from Eric's webpage.
4775         > several changes by Juergen Pfeifer:
4776         + add copyright notices (and rcs id's) on remaining man-pages.
4777         + corrected prototypes for slk_* functions, using chtype rather than
4778           attr_t.
4779         + implemented the wcolor_set() and slk_color() functions
4780         + the slk_attr_{set,off,on} functions need an additional void*
4781           parameter according to XSI.
4782         + fix the C++ and Ada95 binding as well as the man pages to
4783           reflect above enhancements.
4784
4785 980307
4786         + use 'stat()' rather than 'access()' in toe.c to check for the
4787           existence of $HOME/.terminfo, since it may be a file.
4788         + suppress configure CF_CXX_LIBRARY check if we are not using g++
4789           2.7.x, since this is not needed with g++ 2.8 or egcs (patch by
4790           Juergen Pfeifer).
4791         + turn on hashmap scrolling code by default, intend to remedy defects
4792           by 4.3 release.
4793         + minor corrections to terminfo.src changelog.
4794
4795 980302  4.2 release for upload to prep.ai.mit.edu
4796         + correct Florian's email address in ncurses-intro.html
4797         + terminfo.src 10.2.0 from Eric.
4798
4799 980228  pre-release
4800         + add linux-koi8r replace linux-koi8, which is not KOI8 (patch by
4801           QingLong <qinglong@Bolizm.ihep.su>).
4802         + minor documentation fixes (patch by Juergen Pfeifer).
4803         + add setlocale() call to ncurses.c (reported by Claes G. Lindblad
4804           <claesg@algonet.se>).
4805         + correct sign-extension in lib_insstr.c (reported by Sotiris
4806           Vassilopoulos <svas@leon.nrcps.ariadne-t.gr>)
4807
4808 980221  pre-release
4809         + regenerated some documentation overlooked in 980214 patch
4810           (ncurses-intro.doc, curs_outopts.3x.html)
4811         + minor ifdef change to C++ binding to work with gcc 2.8.0 (patch by
4812           Juergen Pfeifer).
4813         + change maintainer's mailing address to florian@gnu.org, change
4814           tentative mailing list address to bug-ncurses-request@gnu.org (patch
4815           by Florian La Roche).
4816         + add definition of $(REL_VERSION) to c++/Makefile.in (reported by Gran
4817           Hasse <gh@raditex.se>).
4818         + restore version numbers to Ada95 binding, accidentally deleted by
4819           copyright patch (patch by Juergen Pfeifer).
4820
4821 980214  pre-release
4822         + remove ncurses.lsm from MANIFEST so that it won't be used in FSF
4823           distributions, though it is retained in development.
4824         + correct scaling of milliseconds to nanoseconds in lib_napms.c (patch
4825           by Jeremy Buhler).
4826         + update mailing-list information (bug-ncurses@gnu.org).
4827         + update announcement for upcoming 4.2 release.
4828         + modify -lm test to check for 'sin()' rather than 'floor()'
4829         + remove spurious commas from terminfo.src descriptions.
4830         + change copyright notices to Free Software Foundation
4831
4832 980207
4833         + minor fixes for autoconf macros CF_ERRNO, CF_HELP_MESSAGE and
4834           CF_SIZECHANGE
4835         + modify Makefile.glibc so that $(objpfx) is defined (H.J.Lu).
4836         + ifdef-out true-return from _nc_mouse_inline() which depends on
4837           merge of QNX patch (pending 4.2 release).
4838         > patch by J.T.Conklin, to split off seldom-used modules in ncurses
4839           (reduces size by up to 2.6kb):
4840         + move functionality of _nc_usleep into napms, add configuration case
4841           for nanosleep().
4842         + moved wchgat() from lib_addch.c to lib_chgat.c
4843         + moved clearok(), immedok(), leaveok(), and scrollok() from
4844           lib_options.c to lib_clearok.c, lib_immedok.c, lib_leaveok.c and
4845           lib_scrollok.c.
4846         + moved napms() from lib_kernel.c to lib_napms.c
4847         + moved echo() and noecho() from lib_raw.c to lib_echo.c
4848         + moved nl() and nonl() from lib_raw.c to lib_nl.c
4849
4850 980131
4851         + corrected conversion in tclock.c (cf: 971018).
4852         + updates to Makefile.glibc and associated Linux configure script
4853           (patch by H.J.Lu).
4854         + workaround a quoting problem on SunOS with tar-copy.sh
4855         + correct init_pair() calls in worm.c to work when use_default_colors()
4856           is not available.
4857         + include <sys/types.h> in CF_SYS_TIME_SELECT to work with FreeBSD
4858           2.1.5
4859         + add ncv capability to FreeBSD console (cons25w), making reverse
4860           work with color.
4861         + correct sense of configure-test for sys/time.h inclusion with
4862           sys/select.h
4863         + fixes for Ada95/ada_include/Makefile.in to work with --srcdir option.
4864         + remove unused/obsolete test-program rules from progs/Makefile.in
4865           (the rules in ncurses/Makefile.in work).
4866         + remove shared-library loader flags from test/Makefile.in, etc.
4867         + simplify test/configure.in using new version of autoconf to create
4868           test/ncurses_cfg.h
4869         + suppress suffix rules in test/Makefile.in, provide explicit
4870           dependency to work with --srcdir option and less capable 'make'
4871           programs.
4872         > adapted from patch for QNX by Xiaodan Tang:
4873         + initialize %P and %g variables set/used in tparm, and also ensure
4874           that empty strings don't return a null result from tparam_internal
4875         + add QNX-specific prototype for vsscanf()
4876         + move initialization of SP->_keytry from init_keytry() to newterm() to
4877           avoid resetting it via a keyok() call by mouse_activate().
4878         + reorganized some functions in lib_mouse() to use case-statements.
4879         + remove sgr string from qnx terminfo entry since it is reported to
4880           turn off attributes inconsistently.
4881
4882 980124
4883         + add f/F/b/B commands to ncurses 'b' test to toggle colors, providing
4884           test for no_color_video.
4885         + adjusted emx.src to use no_color_video, now works with ncurses 'b'
4886           and 'k' tests.
4887         + implement no_color_video attribute, and as a special case, reverse
4888           colors when the reverse attribute cannot be combined with color.
4889         + check for empty string in $TERM variable (reported by Brett Michaels
4890           <brett@xylan.com>).
4891         > from reports by Fred Fish:
4892         + add configure-test for isascii
4893         + add configure-test for -lm library.
4894         + modify CF_BOOL_SIZE to check if C++ bool types are unsigned.
4895         > patches by J.J.G.Ripoll
4896         + add configure/makefile variables to support .exe extension on
4897           OS/2 EMX (requires additional autoconf patches).
4898         + explicitly initialize variables in lib_data.c to appease OS/2 linker
4899         > patches by Fred Fish <fnf@ninemoons.com>
4900         + misc/Makefile.in (install.data):  Avoid trying to install the CVS
4901           directory.
4902         + aclocal.m4 (install.includes):  Remove files in the include directory
4903           where we are going to install new ones, not the original source
4904           files.
4905         + misc/terminfo.src:  Add entry for "beterm", derived from termcap
4906           distributed with BeOS PR2 using captoinfo.
4907         + aclocal.m4: Wrap $cf_cv_type_of_bool with quotes (contains space)
4908         + aclocal.m4: Assume bool types are unsigned.
4909         + progs/infocmp.c: workaround mwcc 32k function data limit
4910
4911 980117
4912         + correct initialization of color-pair (from 970524) in xmas.c, which
4913           was using only one color-pair for all colors (reported by
4914           J.J.G.Ripoll).
4915         + add multithread options for objects build on EMX, for compatibility
4916           with XFree86.
4917         + split up an expression in MKlib_gen.sh to work around a problem on
4918           OS/2 EMX, with 'ash' (patch by J.J.G.Ripoll).
4919         + change terminfo entries xterm (xterm-xf86-v40), xterm-8bit rs1 to use
4920           hard reset.
4921         + rename terminfo entry xterm-xf86-v39t to xterm-xf86-v40
4922         + remove bold/underline from sun console entries since they're not
4923           implemented.
4924         + correct _tracef calls in _tracedump(), which did not separate format
4925           from parameters.
4926         + correct getopt string for tic "-o" option, and add it to man-page
4927           synopsis (reported by Darren Hiebert <darren@hmi.com>).
4928         + correct typo in panel/Makefile.in, reversed if-statement in scrolling
4929           optimization (Alexander V.  Lukyanov).
4930         + test for 'remove()', use 'unlink() if not found (patch by Philippe De
4931           Muyter <phdm@macqel.be>).
4932         > patches by Juergen Pfeifer:
4933         + Improve a feature of the forms driver.  For invisible fields
4934           (O_VISIBLE off) only the contents but not the attributes are cleared.
4935           We now clear both.  (Reported by Javier Kohan
4936           <jkohan@adan.fceia.unr.edu.ar>)
4937         + The man page form_field_opts.3x makes now clear, that invisible
4938           fields are also always inactive.
4939         + adjust ifdef's to compile the C++ binding with the just released
4940           gcc-2.8.0 c++ and the corresponding new C++ libraries.
4941
4942 980110
4943         + correct "?" command in ncurses.c; it was performing non-screen writes
4944           while the program was in screen mode.  (It "worked" in 1.9.9e because
4945           that version sets OPOST and OCRNL incorrectly).
4946         + return error from functions in lib_kernel, lib_raw and lib_ti if
4947           cur_term is null, or if underlying I/O fails.
4948         + amend change to tputs() so that it does not return an error if
4949           cur_term is null, since some applications depend on being able to use
4950           tputs without initializing the terminal (reported by Christian J.
4951           Robinson <infynity@cyberhighway.net>).
4952
4953 980103
4954         + add a copy of emx.src from J.J.G.Ripoll's OS/2 EMX version of ncurses
4955           1.9.9e, together with fixes/additions for the "ansi" terminal type.
4956         + add tic check for save/restore cursor if change_scroll_region is
4957           defined (from O'Reilly book).
4958         + modify read_termcap.c to handle EMX-style pathnames (reported by
4959           J.J.G.Ripoll).
4960         + modify lib_raw.c to use EMX's setmode (from J.J.G.Ripoll, who says
4961           EMX's curses does this).
4962         + modify _nc_tic_expand() to generate \0 rather than \200.
4963         + move/revise 'expand()' from dump_entry.c to ncurses library as
4964           _nc_tic_expand(), for use by tack.
4965         + decode \a as \007 for terminfo, as per XSI.
4966         + correct translation of terminfo "^@", to \200, like \0.
4967         + modify next_char() to treat <cr><lf> the same as <newline>, for
4968           cross-platform compatibility.
4969         + use new version of autoconf (971230) to work around limited
4970           environment on CLIX, due to the way autoconf builds --help message.
4971         > patch by Juergen Pfeifer:
4972         + check that the Ada95 binding runs against the correct version of
4973           ncurses.
4974         + insert constants about the library version into the main spec-file of
4975           the Ada95 binding.
4976
4977 971227
4978         + modify open/fopen calls to use binary mode, needed for EMX.
4979         + modify configure script to work with autoconf 2.10 mods for OS/2
4980           EMX from J.J.G.Ripoll.
4981         + generated ncurses_cfg.h with patch (971222) to autoconf 2.12 which
4982           bypasses limited sed buffer length.
4983         > several changes from Juan Jose Garcia Ripoll <worm@arrakis.es>
4984           (J.J.G.Ripoll) to support OS/2 EMX:
4985         + add a _scrolling flag to SP, to set when we encounter a terminal
4986           that simply cannot scroll.
4987         + corrected logic in _nc_add_to_try(), by ensuring that strings with
4988           embedded \200 characters are matched.
4989         + don't assume the host has 'link()' function, for linking terminfo
4990           entries.
4991
4992 971220
4993         + if there's no ioctl's to support sigwinch handler, disable it.
4994         + add configure option --disable-ext-funcs to remove the extended
4995           functions from the build.
4996         + add configure option --with-termlib to generate the terminfo
4997           functions as a separate library.
4998         + add 'sources' rule to facilitate cross-compiling.
4999         + review/fix order of mostlyclean/clean/distclean rules.
5000         + modify install-rule for headers to first remove old header, in
5001           case there was a symbolic link that confuses the install script.
5002         + corrected substitution for NCURSES_CONST in term.h (cf: 971108)
5003         + add null pointer checks in wnoutrefresh(), overlap() (patch by
5004           Xiaodan Tang <xtang@qnx.com>)
5005         + correct tputs(), which could dereference a null cur_term if invoked
5006           before terminal is initialized (patch by Christopher Seawood
5007           <cls@seawood.org>)
5008         > patch by Juergen Pfeifer:
5009         + makes better use of "pragma Inline" in the Ada95 binding
5010         + resynchronizes the generated html manpages
5011
5012 971213
5013         + additional fixes for man-pages section-references
5014         + add (for debugging) a check for ich/ich1 conflict with smir/rmir
5015           to tic, etc.
5016         + remove hpa/vpa from rxvt terminal description because they are not
5017           implemented correctly, added sgr0.
5018         + change ncurses 's' to use raw mode, so ^Q works (reported by Rudolf
5019           Leitgeb <leitgeb@leland.stanford.edu>)
5020
5021 971206
5022         + modify protection when installing libraries to (normally) not
5023           executable.  HP-UX shared libraries are an exception.
5024         + add configure check for 'tack'.
5025         + implement script for renaming section-references in man-page install,
5026           for Debian configuration.
5027         + add validity-check for SP in trace code in baudrate() (reported by
5028           Daniel Weaver).
5029         > patch by Alexander V. Lukyanov (fixes to match sol25 curses)
5030         + modify 'overlay()' so that copy applies target window background to
5031           characters.
5032         + correct 'mvwin()' so that it does not clear the previous locations.
5033         + correct lib_acs.c so that 8-bit character is not sign expanded in
5034           case of wide characters in chtype.
5035         + correct control-char test in lib_addch.c for use with wide chars
5036         + use attribute in the chtype when adding a control character in
5037           lib_addch.c control char was added with current attribute
5038
5039 971129
5040         + save/restore errno in _tracef() function
5041         + change treatment of initialize_color to use a range of 0..1000
5042           (recommended by Daniel Weaver).
5043         + set umask in mkinstalldirs, fixing problems reported by users who
5044           have set root's umask to 077.
5045         + correct bug in tic that caused capabilities to be reprinted at the
5046           end of output when they had embedded comments.
5047         + rewrote wredrawln to correspond to XSI, and split-out since it is
5048           not often used (from report by Alexander V. Lukyanov, 970825)
5049         + rewrote Dan Nelson's change to make it portable, as well as to
5050           correct logic for handling backslashes.
5051         + add code to _nc_tgetent() to make it work more like a real tgetent().
5052           It removes all empty fields, and removes all but the first in a group
5053           of duplicate caps.  The code was pulled from the BSD libtermcap code
5054           in termcap.c (patch by Dan Nelson <dnelson@emsphone.com>
5055         + don't include --enable-widec in the --with-develop configure option,
5056           since it is not binary-compatible with 4.1 (noted by Alexander V.
5057           Lukyanov)
5058         > patch by Juergen Pfeifer:
5059         + further improvements of the usage of elaboration pragmas in the Ada95
5060           binding
5061         + enhanced Ada95 sample to use the user_data mechanism for panels.
5062         + a fix for the configuration script to make gnat-3.10 the required
5063           version.
5064         + resync of the html version of the manpages
5065
5066 971122
5067         > fixes/updates for terminfo.src:
5068         + add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97
5069           version.
5070         + add hds200 description (Walter Skorski)
5071         + add EMX 0.9b descriptions
5072         + correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver)
5073         + rename xhpterm back to hpterm.
5074         > patch by Juergen Pfeifer:
5075         + Improves the usage of elaboration pragmas for the Ada95 binding.
5076         + Adds a translation of the test/rain.c into Ada95 to the samples.
5077           This has been contributed to the project by Laurent Pautet
5078           (pautet@gnat.com)
5079
5080 971115
5081         + increase MAX_NAME_SIZE to 512 to handle extremely long alias list
5082           in HP-UX terminfo.
5083         + correction & simplification of delay computation in tputs, based on
5084           comments from Daniel Weaver.
5085         + replace test for SCO with more precise header tests.
5086         + add configure test for unsigned literals, use in NCURSES_BITS macro.
5087         + comment-out the -PIC, etc., flags from c++, progs and test makefiles
5088           since they probably are not needed, and are less efficient (noted by.
5089           Ju"rgen Fluk)
5090         + add -L$(libdir) to loader options, after -L../lib so that loaders
5091           that record this information will tend to do the right thing if
5092           the programs are moved around after installing them (suggested by.
5093           Ju"rgen Fluk).
5094         + add -R option to loader options for programs for Solaris if the
5095           --enable-rpath option is specified for the libraries.
5096
5097 971112
5098         + correct installed filename for shared libraries on *BSD (reported by
5099           Ju"rgen Fluk).
5100
5101 971108
5102         + cleanup logic for deciding when tputs() should call delay_output(),
5103           based on comments from Daniel Weaver.
5104         + modified tputs() to avoid use of float.
5105         + correct use of trailpad in tputs(), which used the wrong variable
5106           in call to delay_output().
5107         + correct inverted expression for null-count in delay_output()
5108           (analysis by Daniel Weaver).
5109         + apply --enable-rpath option to Solaris (requested by Larry Virden).
5110         + correct substitution of EXTRA_CFLAGS for gcc 2.6.3
5111         + correct check for error-return by _nc_tgetent(), which returns 0
5112           for success.
5113         + add configure test for BSD 4.4 cgetent() function, modify
5114           read_termcap.c to use the host's version of that if found, using the
5115           terminal database on FreeBSD (reported by Peter Wemm).
5116         + add u8, u9 strings to sun-il description for Daniel Weaver.
5117         + use NCURSES_CONST in panel's user-pointer.
5118         + modify edit_cfg.sh and MKterm.h.awk.in to substitute NCURSES_CONST
5119           so that will work on NeXT.
5120         + use _nc_set_screen() rather than assignments to SP to fix port to
5121           NeXT (reported by Francisco A. Tomei Torres).
5122
5123 971101
5124         + force mandatory padding in bell and flash_screen, as specified in
5125           XSI.
5126         + don't allow padding_baud_rate to override mandatory delays (reported
5127           by Daniel Weaver).
5128         + modify delay_output() to use _nc_timed_wait() if no baudrate has been
5129           defined, or if the cur_term pointer is not initialized.  XSI treats
5130           this as unspecified.  (requested by Daniel Weaver).
5131         + change getcap-cache ifdef's to eliminate unnecessary chdir/mkdir
5132           when that feature is not configured.
5133         + remove _nc_err_abort() calls when write_entry.c finds a directory but
5134           cannot write to it, e.g., when translating part/all of /etc/termcap
5135           (reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>).
5136           (this dates back to 951102, in 1.9.7a).
5137         + minor ifdef fixes to compile with atac and glibc 2.0.5c
5138         + add check for -lgen when configuring regexpr.h
5139         + modify Solaris shared-library option "-d y" to "-dy" to workaround
5140           incompatibility of gcc 2.7.2 vs vendor's tools.
5141
5142 971026
5143         + correct ifdef's for struct winsize vs struct ttysize in lib_setup.c
5144           to compile on SCO.
5145         + remove dangling backslash in panel/Makefile.in
5146         + modify MKkeyname.awk to work with SCO's nawk, which dumps core in the
5147           length() function.
5148         + correct length of allocation in _nc_add_to_try(), to allow for
5149           trailing null.
5150         + correct logic in _nc_remove_key(), which was discarding too many
5151           nodes (patch by Alexander V. Lukyanov)
5152
5153 971025
5154         + add definition for $(REL_VERSION) to test/Makefile.in, so *BSD
5155           shared libraries link properly (see 970524).
5156         + modify Linux shared-library generation to include library
5157           dependencies (e.g., -lncurses and -lgpm) in the forms, menu and
5158           panel libraries (suggested by Juergen Pfeifer).
5159         + modify configure script to use config.guess and config.sub rather
5160           than uname, which is unreliable on some systems.
5161         + updated Makefile.glibc, test-built with glibc 2.0.5c
5162         + modify keyname() to return values consistent with SVr4 curses (patch
5163           by Ju"rgen Fluk).
5164         > changes requested by Daniel Weaver:
5165         + modify delay_output() so that it uses the same output function as
5166           tputs() if called from that function.
5167         + move _baudrate from SCREEN to TERMINAL so that low-level use of
5168           tputs works when SP is not set.
5169         > patch by Juergen Pfeifer:
5170         + factor lib_menu and lib_form into smaller modules
5171         + clean up the interface between panel and SCREEN
5172         + minor changes to the Ada95 mouse support implemenation
5173         + minor bugfix in C++ binding to ripoff windows
5174         + fix a few Ada95 html documentation pages
5175
5176 971018
5177         + split-out lib_ungetch.c, make runtime link to resizeterm() to
5178           decouple those modules from lib_restart.c
5179         + add xterm-xf86-v39t description to terminfo.src
5180         + reset SP->_endwin in lib_tstp.c cleanup() function after calling
5181           endwin() to avoid unnecessary repainting if the application has
5182           established an atexit function, etc.  Encountered this problem in
5183           the c++ demo, whose destructors repaint the screen.
5184         + combine _nc_get_screensize() and resizeterm() calls as new function
5185           _nc_update_screensize().
5186         + minor fixes to allow compile with g++ (suggested by Nelson H. F.
5187           Beebe).
5188         + implement install-rules for Ada95 makefiles.
5189         + use screen_lines or MAXLINES as needed where LINES was coded,
5190           as well as screen_columns for COLS, in the ncurses library.
5191         > patch by Alexander V. Lukyanov:
5192         + modify logic for ripped-off lines to handle several SCREENs.
5193         > patch by Juergen Pfeifer:
5194         + factors lib_slk.c into some smaller modules
5195         + factors panel.c into some smaller modules
5196         + puts the static information about the current panel stack into the
5197           SCREEN structure to allow different panel stacks on different
5198           screens.
5199         + preliminary fix for an error adjusting LINES to account for
5200           ripped-off lines.
5201
5202 971011
5203         + move _nc_max_click_interval and other mouse interface items to SCREEN
5204           struct so that they are associated with a single terminal, and also
5205           save memory when the application does not need a mouse (roughly 3k vs
5206           0.5k on Linux).
5207         + modify mouseinterval() so that a negative parameter queries the
5208           click-interval without modifying it.
5209         + modify ncurses 'i' test to work with ncurses' apparent extension from
5210           SVr4, i.e., allows nocbreak+noecho (analysis by Alexander V.
5211           Lukyanov).
5212         + add configure options --with-ada-includes and --with-ada-objects,
5213           to drive Ada95 binding install (not yet implemented).
5214         + install C++ binding as -lncurses++ and associated headers with the
5215           other ncurses headers.
5216         + fix header uninstall if configure --srcdir is used.
5217         > minor interface changes (request by Daniel Weaver <danw@znyx.com>,
5218           to support 'tack' program):
5219         + export functions _nc_trans_string() and _nc_msec_cost().
5220         + add variable _nc_nulls_sent, to record the number of padding
5221           characters output in delay_output().
5222         + move tests for generic_type and hard_copy terminals in setupterm()
5223           to the end of that function so that the library will still be
5224           initialized, though not generally useful for curses programs.
5225         > patches by Alexander V. Lukyanov:
5226         + modify ClrBottom() to avoid using clr_eos if there is only one line
5227           to erase.
5228         + typo in configure --help.
5229         > patch by J.T.Conklin (with minor resync against Juergen's changes)
5230         + split-out lib_flash.c from lib_beep.c
5231         + split-out lib_hline.c and lib_vline.c from lib_box.c
5232         + split-out lib_wattron.c, lib_wattroff.c from lib_addch.c
5233
5234 971005
5235         > patch by Juergen Pfeifer:
5236         + correct source/target of c++/edit_cfg.sh
5237
5238 971004
5239         + add color, mouse support to kterm terminfo entry.
5240         + modify lib_mouse.c to recognize rxvt, kterm, color_xterm also as
5241           providing "xterm"-style mouse.
5242         + updated rxvt's terminfo description to correspond to 2.21b, with
5243           fixes for the acsc (the box1 capability is incorrect, ech1 does not
5244           work).
5245         + fix logic in parse_entry.c that discarded acsc when 'synthesizing'
5246           an entry from equivalents in XENIX or AIX.  This lets ncurses handle
5247           the distribution copy of rxvt's terminfo.
5248         + modify acsc capability for linux and linux-koi8 terminfo descriptions
5249           (from Pavel Roskin <pavel@absolute.spb.su>).
5250         + corrected definition in curses.h for ACS_LANTERN, which was 'I'
5251           rather than 'i' (see 970802).
5252         + updated terminfo.src with reformatted acsc entries, and repaired the
5253           trashed entries with spurious '\' characters that this exposed.
5254         + add logic to dump_entry.c to reformat acsc entries into canonical
5255           form (sorted, unique mapping).
5256         + add configure script to generate c++/etip.h
5257         + add configure --with-develop option, to enable by default most of the
5258           experimental options (requested by Alexander V. Lukyanov).
5259         + rename 'deinstall' to 'uninstall', following GNU convention
5260           (suggested by Alexander V. Lukyanov).
5261         > patches by Alexander V. Lukyanov:
5262         + modify tactics 2 and 5 in onscreen_mvcur(), to allow them on the last
5263           line of the screen, since carriage return will not cause a newline.
5264         + remove clause from PutCharLR() that would try to use
5265           eat_newline_glitch since that apparently does not work on some
5266           terminals (e.g., M$ telnet).
5267         + correct a limit check in scroll_csr_backward()
5268         > patches by Juergen Pfeifer:
5269         + adds dummy implementations of methods above() and below() to the
5270           NCursesPanel class.
5271         + fixes missing returncode in NCursesWindow::ripoffline()
5272         + fixes missing returncode in TestApplication::run() in demo.cc
5273         + We should at least give a comment in etip.h why it is currently a
5274           problem to install the C++ binding somewhere
5275         + makes the WINDOW* argument of wenclose() a const.
5276         + modifies several of the routines in lib_adabind.c to use a const
5277           WINDOW* argument.
5278
5279 970927
5280         + add 'deinstall' rules.
5281         + use explicit assignments in configure --without-progs option to
5282           work around autoconf bug which doesn't always set $withval.
5283         + check for ldconfig, don't try to run it if not found.
5284         + implement simple/unoptimized case in lib_doupdate.c to handle
5285           display with magic cookie glitch, tested with ncurses.c program.
5286         + correct missing _tracef in getmouse(), to balance the returnCode
5287           macro.
5288         + simplify show_attr() in ncurses.c using termattrs().
5289         > patches by Juergen Pfeifer:
5290         + provides missing inlines for mvw[hv]line in cursesw.h of the C++
5291           binding
5292         + fixes a typo in a comment of frm_driver.c
5293         + Enhances Ada95 Makefiles to fulfill the requirement of GNAT-3.10 that
5294           generics should be compiled.  Proper fixes to the configuration
5295           scripts are also provided.
5296
5297 970920
5298         + several modifications to the configure script (requested by Ward
5299           Horner):
5300           + add configure options --without-progs, to suppress the build of the
5301             utility programs, e.g., for cross-compiling.
5302           + add $(HOSTCCFLAGS) and $(HOSTLDFLAGS) symbols to ncurses
5303             Makefile.in, to simplify setup for cross compiling.
5304           + add logic in configure script to recognize "--target=vxworks", and
5305             generate load/install actions for VxWorks objects.
5306         + move typedef for sigaction_t into SigAction.h to work around problem
5307           generating lint library.
5308         + modify fty_regex.c to reflect renaming of ifdef's for regular
5309           expressions.
5310         + simplify ifdef in lib_setup.c for TIOCGWINSZ since that symbol may
5311           reside in <sys/ioctl.h>.
5312         + merge testcurs.c with version from PDCurses 2.3, clarifying some of
5313           the more obscure tests, which rely upon color.
5314         + use macros getbegyx() and getmaxyx() in newdemo.c and testcurs.c
5315         + modify ncurses.c to use getbegyx() and getmaxyx() macros to cover up
5316           implementation difference wrt SVr4 curses, allow 's' test to work.
5317         + add missing endwin() to testscanw.c program (reported by Fausto
5318           Saporito <fausap@itb.it>).
5319         + fixes/updates for Makefile.glibc and related files under sysdeps
5320           (patch by H.J.Lu).
5321         > patches by Juergen Pfeifer:
5322         + add checks for null pointers, especially WINDOW's throughout the
5323           ncurses library.
5324         + solve a problem with wrong calculation of panel overlapping (reported
5325           by Ward Horner):
5326           + make sure that a panel's window isn't a pad.
5327           + do more error checking in module lib_touch.c
5328         + missing files for Ada95 binding from the last patch
5329         + synch. of generated html pages (RCS-Id's were wrong in html files)
5330         + support for Key_Resize in Ada binding
5331         + changed documentation style in ./c++/cursesm.h
5332         > patches by Alexander V. Lukyanov:
5333         + undo attempt to do recursive inlining for PutChar(), noting that it
5334           did not improve timing measurably, but inflated the size of
5335           lib_doupdate.o
5336
5337 970913
5338         + modify rain.c to use color.
5339         + correct scroll_csr_backward() to match scroll_csr_forward().
5340         + minor adjustment to llib-lncurses, to work with Solaris 2.5.1
5341         + minor fixes to sysdeps/unix/sysv/linux/configure to reflect renaming
5342           of configure cache variables in 970906.
5343         + correct logic involving changes to O_VISIBLE option in
5344           Synchronize_Options function in frm_driver.c (Tony Hoffmann
5345           <Tony.Hoffmann@hia.nrc.ca>)
5346         + add $(HOSTCC) symbol to ncurses Makefile.in, to simplify setup for
5347           cross compiling (suggested by Chris Johns).
5348         + modify ifdef in lib_setup.c to only include <sys/ioctl.h> if we can
5349           use it to support screen-size calculation (reported by Chris Johns).
5350         + #undef unctrl to avoid symbol conflict in port to RTEMS (reported by
5351           Chris Johns <cjohns@plessey.com.au>)
5352         > patches by Juergen Pfeifer:
5353         + simplified, made minor corrections to Ada95 binding to form
5354           fieldtype.
5355         + The C++ binding has been enhanced:
5356           + Improve NCursesWindow class:  added additional methods to cover
5357             more ncurses functionality.  Make refresh() and noutrefresh()
5358             virtual members to allow different implementation in the
5359             NCursesPanel class.
5360           + CAUTION:  changed order of parameters in vline() and hline() of
5361             NCursesWindow class.
5362           + Make refresh() in NCursesPanel non-static, it is now a
5363             reimplementation of refresh() in the base class.  Added
5364             noutrefresh() to NCursesPanel.
5365           + Added NCursesForm and related classes to support libform
5366             functionality.
5367           + Moved most of configuration related stuff from cursesw.h to etip.h
5368           + Added NCursesApplication class to support easy configuration of
5369             menu and forms related attributes as well as ripped of title lines
5370             and Soft-Label-Keys for an application.
5371           + Support of Auto-Cleanup for a menu's fieldlist.
5372           + Change of return type for current_item() and operator[] for menus.
5373           + Enhanced demo.
5374         + Fixed a bug in form/fld_def.c:  take into account that copyarg and
5375           freearg for a fieldtype may be NULL, makearg must not be NULL
5376         + Fixed a bug in form/fld_type.c:  in set_fieldtype_arg() makearg must
5377           not be NULL, copyarg and freearg may be NULL.
5378         + Fixed a bug in form/frm_def.c:  Allow Disconnect_Fields() if it is
5379           already disconnected.
5380         + Enhance form/frm_driver.c:  Allow growth of dynamic fields also on
5381           navigation requests.
5382         + Fixed a bug in form/fty_enum.c:  wrong position of postincrement in
5383           case-insensitiva comparision routine.
5384         + Enhanced form/lib_adabind.c with function _nc_get_field() to get a
5385           forms field by index.
5386         + Enhanced menu/m_adabind.c with function _nc_get_item() to get a menus
5387           item by index.
5388         + Fixed in curses.h.in:  make chtype argument for pechochar() constant.
5389           Mark wbkgdset() as implemented, remove wbkgdset macro, because it was
5390           broken (didn't handle colors correctly).
5391         + Enhanced lib_mouse.c: added _nc_has_mouse() function
5392         + Added _nc_has_mouse() prototype to curses.priv.h
5393         + Modified lib_bkgd.c:  hopefully correct implementation of wbkgdset();
5394           streamlined implementation of wbkgd()
5395         + Modified lib_mvwin.c:  Disable move of a pad.  Implement (costly)
5396           move of subwindows.  Fixed update behaviour of movements of regular
5397           windows.
5398         + Fixed lib_pad.c:  make chtype argument of pechochar() const.
5399         + Fixed lib_window.c:  dupwin() is not(!) in every bit a really clone
5400           of the original.  Subwindows become regular windows by doing a
5401           dupwin().
5402         + Improved manpage form_fieldtype.3x
5403         > patches by Alexander V. Lukyanov:
5404         + simplify the PutChar() handling of exit_am_mode, because we already
5405           know that auto_right_margin is true.
5406         + add a check in PutChar() for ability to insert to the case of
5407           shifting character to LR corner.
5408         + in terminal initialization by _nc_screen_resume(), make sure that
5409           terminal right margin mode is known.
5410         + move logic that invokes touchline(), or does the equivalent, into
5411           _nc_scroll_window().
5412         + modify scrolling logic use of insert/delete line capability, assuming
5413           that they affect the screen contents only within the current
5414           scrolling region.
5415         + modify rain.c to demonstrate SIGWINCH handler.
5416         + remove logic from getch() that would return an ERR if the application
5417           called getch() when the cursor was at the lower-right corner of the
5418           physical screen, and the terminal does not have insert-character
5419           ability.
5420         + change view.c so that it breaks out of getch() loop if a KEY_RESIZE
5421           is read, and modify logic in getch() so this fix will yield the
5422           desired behavior, i.e., the screen is repainted automatically when
5423           the terminal window is resized.
5424
5425 970906
5426         + add configure option --enable-sigwinch
5427         + modify view.c to test KEY_RESIZE logic, with "-r" option.
5428         + modify testcurs.c to eliminate misleading display wrt cursor type
5429           by testing if the terminal supports cnorm, civis, cvvis.
5430         + several fixes for m68k/NeXT 4.0, to bring cur_term, _nc_curr_line and
5431           _nc_curr_col variables into linked programs:  move these variables,
5432           making new modules lib_cur_term and trace_buf (reported by Francisco
5433           Alberto Tomei Torres <fatomei@sandburg.unm.edu>).
5434         > patches by Alexander V. Lukyanov:
5435         + add pseudo-functionkey KEY_RESIZE which is returned by getch() when
5436           the SIGWINCH handler has been called since the last call to
5437           doupdate().
5438         + modify lib_twait.c to hide EINTR only if HIDE_EINTR is defined.
5439         + add SIGWINCH handler to ncurses library which is used if there is no
5440           application SIGWINCH handler in effect when the screen is
5441           initialized.
5442         + make linked list of all SCREEN structures.
5443         + move curses.h include before definition of SCREEN to use types in
5444           that structure.
5445         + correction to ensure that wgetstr uses only a newline to force a
5446           scroll (970831).
5447
5448 970831
5449         + add experimental configure option --enable-safe-sprintf; the normal
5450           mode now allocates a buffer as large as the screen for the
5451           lib_printw.c functions.
5452         + modify wgetch to refresh screen when reading ungetch'd characters,
5453           since the application may require this - SVr4 does this.
5454         + refine treatment of newline in wgetstr to echo only when this would
5455           force the screen to scroll.
5456
5457 970830
5458         + remove override in wgetstr() that forces keypad(), since SVr4 does
5459           not do this.
5460         + correct y-reference for erasure in wgetstr() when a wrap forces a
5461           scroll.
5462         + correct x-position in waddch() after a wrap forces a scroll.
5463         + echo newline in wgetstr(), making testscanw.c scroll properly when
5464           scanw is done.
5465         + modify vwscanw() to avoid potential buffer overflow.
5466         + rewrote lib_printw.c to eliminate fixed-buffer limits.
5467         > patches by Alexander V. Lukyanov:
5468         + correct an error in handling cooked mode in wgetch(); processing
5469           was in the wrong order.
5470         + simplified logic in wgetch() that handles backspace, etc., by using
5471           wechochar().
5472         + correct wechochar() so that it interprets the output character as
5473           in waddch().
5474         + modify pechochar() to use prefresh() rather than doupdate(), since
5475           the latter does not guarantee immediate refresh of the pad.
5476         + modify pechochar() so that if called with a non-pad WINDOW, will
5477           invoke wechochar() instead.
5478         + modify fifo indices to allow fifo to be longer than 127 bytes.
5479
5480 970823
5481         + add xterm-8bit to terminfo.src
5482         + moved logic for SP->_fifohold inside check_pending() to make it
5483           work properly when we add calls to that function.
5484         + ensure that bool functions return only TRUE or FALSE, and TRUE/FALSE
5485           are assigned to bool values (patch by H.J.Lu).
5486         > patches by Alexander V. Lukyanov:
5487         + several fixes to getch:
5488           1.  Separate cooked and raw keys in fifo
5489           2.  Fix the case of ungetch'ed KEY_MOUSE
5490           3.  wrap the code for hiding EINTR with ifdef HIDE_EINTR
5491           4.  correctly handle input errors (i.e., EINTR) without loss of raw
5492               keys
5493           5.  recognize ESC KEY_LEFT and similar
5494           6.  correctly handle the case of receiption of KEY_MOUSE from gpm
5495         + correct off-by-one indexing error in _nc_mouse_parse(), that caused
5496           single mouse events (press/release) to be ignored in favor of
5497           composed events (click).  Improves on a fix from integrating gpm
5498           support in 961229.
5499         + add another call to check_pending, before scrolling, for
5500           line-breakout optimization
5501         + improve hashmap.c by
5502           1.  fixed loop condition in grow_hunks()
5503           2.  not marking lines with offset 0
5504           3.  fixed condition of 'too far' criteria, thus one-line hunks are
5505           ignored and two lines interchanged won't pass.
5506         + rewrote/simplified _nc_scroll_optimize() by separating into two
5507           passes, forward/backward, looking for chunks moving only in the given
5508           direction.
5509         + move logic that emits sgr0 when initializing the screen to
5510           _nc_screen_init(), now invoked from newterm.
5511         + move cursor-movement cleanup from endwin() into _nc_mvcur_wrap()
5512           function and screen cleanup (i.e., color) into _nc_screen_wrap()
5513           function.
5514         + add new functions _nc_screen_init(), _nc_screen_resume() and
5515           _nc_screen_wrap().
5516         + rename _nc_mvcur_scrolln() to _nc_scrolln().
5517         + add a copy of acs_map[] to the SCREEN structure, where it can be
5518           stored/retrieved via set_term().
5519         + move variables _nc_idcok, _nc_idlok, _nc_windows into the SCREEN
5520           structure.
5521
5522 970816
5523         + implement experimental _nc_perform_scroll().
5524         + modify newterm (actually _nc_setupscreen()) to emit an sgr0 when
5525           initializing the screen, as does SVr4 (reported by Alexander V.
5526           Lukyanov).
5527         + added test_progs rule to ncurses/Makefile.
5528         + modify test/configure.in to check if initscr is already in $LIBS
5529           before looking for (n)curses library.
5530         + correct version-number in configure script for OSF1 shared-library
5531           options (patch by Tim Mooney).
5532         + add -DNDEBUG to CPPFLAGS for --enable-assertions (as Juergen
5533           originally patched) since the c++ demo files do not necessarily
5534           include ncurses_cfg.h
5535         + supply default value for --enable-assertions option in configure
5536           script (reported by Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>).
5537         > patches by Alexander V. Lukyanov:
5538         + correct/simplify logic of werase(), wclrtoeol() and wclrbot().  See
5539           example firstlast.c
5540         + optimize waddch_literal() and waddch_nosync() by factoring out
5541           common subexpressions.
5542         + correct sense of NDEBUG ifdef for CHECK_POSITION macro.
5543         + corrections to render_char(), to make handling of colored blanks
5544           match SVr4 curses, as well as to correct a bug that xor'd space
5545           against the background character.
5546         + replaced hash function with a faster one (timed it)
5547         + rewrote the hashmap algorithm to be one-pass, this avoids multiple
5548           cost_effective() calls on the same lines.
5549         + modified cost_effective() so it is now slightly more precise.
5550         > patches by H.J.Lu for glibc integration:
5551         + add modules define_key, keyok, name_match, tries
5552         + add makefile rules for some of the unit tests in ncurses (mvcur,
5553           captoinfo, hardscroll, hashmap).
5554         + update Linux configure-script for wide-character definitions.
5555
5556 970809
5557         + modify _tracebits() to show the character size (e.g., CS8).
5558         + modify tparm() to emit '\200' where the generated string would have a
5559           null (reported by From:  Ian Dall <Ian.Dall@dsto.defence.gov.au> for
5560           terminal type ncr7900).
5561         + modify install process so that ldconfig is not invoked if the
5562           package is built with an install-prefix.
5563         + correct test program for chtype size (reported by Tim Mooney).
5564         + add configure option --disable-scroll-hints, using this to ifdef the
5565           logic that computes indices for _nc_scroll_optimize().
5566         + add module ncurses/softscroll.c, to perform single-stage computation
5567           of scroll indices used in _nc_scroll_optimize().  This is faster than
5568           the existing scrolling algorithm, but tends to make too-small hunks.
5569         + eliminate fixed buffer size in _nc_linedump().
5570         + minor fixes to lib_doupdate.c to add tradeoff between clr_eol (el)
5571           and clr_bol (el1), refine logic in ClrUpdate() and ClrBottom() (patch
5572           by Alexander V. Lukyanov).
5573         + add test/testaddch.c, from a pending patch by Alexander V. Lukyanov.
5574         + correct processing of "configure --enable-assertions" option (patch
5575           by Juergen Pfeifer).
5576
5577 970802
5578         + add '-s' (single-step) option too test/hashtest.c, correct an error
5579           in loop limit for '-f' (footer option), toggle scrollok() when
5580           writing footer to avoid wrap at lower-right corner.
5581         + correct behavior of clrtoeol() immediately after wrapping cursor,
5582           which was not clearing the line at the cursor position (reported by
5583           Liviu Daia <daia@stoilow.imar.ro>).
5584         + corrected mapping for ACS_LANTERN, which was 'I' rather than 'i'
5585           (reported by Klaus Weide <kweide@tezcat.com>).
5586         + many corrections to make progs/capconvert work, as well as make it
5587           reasonably portable and integrated with ncurses 4.1 (reported by Dave
5588           Furstenau <df@ravine.binary.net>).
5589
5590 970726
5591         + add flag SP->_fifohold, corresponding logic to modify the behavior of
5592           the line breakout logic so that if the application does not read
5593           input, refreshes will not be stopped, but only slowed.
5594         + generate slk_attr_off(), slk_attr_on(), slk_attr_set(), vid_attr(),
5595           ifdef'd for wide-character support, since ncurses' WA_xxx attribute
5596           masks are identical with the A_xxx masks.
5597         + modify MKlib_gen.sh to generate ifdef'd functions to support optional
5598           configuration of wide-characters.
5599         + modify tset to behave more like SVr4's tset, which does not modify
5600           the settings of intr, quit or erase unless they are given as command
5601           options (reported by Nelson H. F. Beebe <beebe@math.utah.edu>).
5602         + modify tset to look in /etc/ttys or /etc/ttytype if the configuration
5603           does not have getttynam().
5604         + extend baudrate table in tset.c to match baudrate() function.
5605         + add table entries for 230400 and 460800 bd to baudrate() function.
5606         + improve breakout logic by allowing it before the first line updated,
5607           which is what SVr4 curses does (patch by Alexander V. Lukyanov).
5608         + correct initialization of vcost in relative_move(), for cursor-down
5609           case (patch by Alexander V. Lukyanov).
5610         > nits gleaned from Debian distribution of 1.9.9g-3:
5611         + install symbolic link for intotocap.
5612         + reference libc directly when making shared libraries.
5613         + correct renaming of curs_scr_dmp.3x in man_db.renames.
5614         + guard tgetflag() and other termcap functions against null cur_term
5615           pointer.
5616
5617 970719
5618         + corrected initial state of software echo (error in 970405, reported
5619           by Alexander V. Lukyanov).
5620         + reviewed/added messages to configure script, so that all non-test
5621           options should be accompanied by a message.
5622         + add configure check for long filenames, using this to determine if
5623           it is safe to allow long aliases for terminal descriptions as does
5624           SVr4.
5625         + add configure options for widec (wide character), hashmap (both
5626           experimental).
5627         > patch by Alexander V. Lukyanov:
5628         + hashmap.c - improved by heuristic, so that scroll test works much
5629           better when csr is not available.
5630         + hardscroll.c - patched so that it continues to scroll other chunks
5631           after failure to scroll one.
5632         + lib_doupdate.c - _nc_mvcur_scrolln extended to handle more cases; csr
5633           is avoided as it is relative costly.  Fixed wrong coordinates in one
5634           case and wrong string in TRACE.
5635         > patch by Juergen Pfeifer:
5636         + modify C++ binding to compile on AIX 4.x with the IBM C-SET++
5637           compiler.
5638
5639 970712
5640         + remove alternate character set from kterm terminfo entry; it uses the
5641           shift-out control for a purpose incompatible with curses, i.e., font
5642           switching.
5643         + disentangle 'xterm' terminfo entry from some derived entries that
5644           should be based on xterm-r6 instead.
5645         + add cbt to xterm-xf86-xv32 terminfo entry; I added the emulation for
5646           XFree86 3.1.2F, but overlooked its use in terminfo then - T.Dickey.
5647         + correct logic in lib_mvcur.c that uses back_tab.
5648
5649 970706
5650         + correct change from 970628 to ClrUpdate() in lib_doupdate.c so that
5651           contents of curscr are saved in newscr before clearing the screen.
5652           This is needed to make repainting work with the present logic of
5653           TransformLine().
5654         + use napms() rather than sleep() in tset.c to avoid interrupting I/O.
5655
5656 970705
5657         + add limit checks to _nc_read_file_entry() to guard against overflow
5658           of buffer when reading incompatible terminfo format, e.g, from OSF/1.
5659         + correct some loop-variable errors in xmc support in lib_doupdate.c
5660         + modify ncurses 'b' test to add gaps, specified by user, to allow
5661           investigation of interaction with xmc (magic cookie) code.
5662         + correct typo in 970524 mods to xmas.c, had omitted empty parameter
5663           list from has_colors(), which gcc ignores, but SVr4 does not
5664           (reported by Larry Virden).
5665         + correct rmso capability in wy50-mc description.
5666         + add configure option "--enable-hard-tabs", renamed TABS_OK ifdef to
5667           USE_HARD_TABS.
5668         > patch by Juergen Pfeifer:
5669         + Add bindings for keyok() and define_key() to the Ada95 packages.
5670         + Improve man pages menu_post.3x and menu_format.3x
5671         + Fix the HTML pages in the Ada95/html directory to reflect the above
5672           changes.
5673
5674 970628
5675         + modify change from 970101 to ClrUpdate() in lib_doupdate.c so that
5676           pending changes to both curscr and newscr are flushed properly.
5677           This fixes a case where the first scrolling operation in nvi would
5678           cause the screen to be cleared unnecessarily and repainted before
5679           doing the indexing, i.e., by repeatedly pressing 'j' (reported by
5680           Juergen Pfeifer).
5681         + correct error in trans_string() which added embedded newlines in a
5682           terminfo description to the stored strings.
5683         + remove spurious newlines from sgr in wyse50 (and several other)
5684           terminfo descriptions.
5685         + add configure option for experimental xmc (magic cookie) code,
5686           "--enable-xmc-glitch".  When disabled (the default), attributes that
5687           would store a magic cookie are suppressed in vidputs().  The magic
5688           cookie code is far from workable at this stage; the configuration
5689           option is a stopgap.
5690         + move _nc_initscr() from lib_initscr.c to lib_newterm.c
5691         + correct path for invoking make_keys (a missing "./").
5692
5693 970621
5694         + correct sign-extension problem with "infocmp -e", which corrupted
5695           acsc values computed for linux fallback data.
5696         + correct dependency on ncurses/names.c (a missing "./").
5697         + modify configure script to use '&&' even for cd'ing to existing
5698           directories to work around broken shell interpreters.
5699         + correct a loop-limit in _nc_hash_map() (patch by Alexander V.
5700           Lukyanov).
5701
5702 970615
5703         + restore logic in _nc_scroll_optimize() which marks as touched the
5704           lines in curscr that are shifted.
5705         + add new utility 'make_keys' to compute keys.tries as a table rather
5706           than a series of function calls.
5707         + correct include-dependency for tic.h used by name_match
5708         + removed buffer-allocation for name and description from m_item_new.c,
5709           since this might result in incompatibilities with SVr4.  Also fixed
5710           the corresponding Ada95 binding module (patch by Juergen Pfeifer,
5711           from report by Avery Pennarun <apenwarr@foxnet.net>)
5712         + removed the mechanism to timestamp the generated Ada95 sources.  This
5713           resulted always in generating patches for the HTML doc, even when
5714           nothing really changed (patch by Juergen Pfeifer).
5715         + improve man page mitem_new.3x (patch by Juergen Pfeifer).
5716
5717 970614
5718         + remove ech capability from rxvt description because it does not work.
5719         + add missing case logic for infocmp -I option (reported by Lorenzo M.
5720           Catucci <lorenzo@argon.roma2.infn.it>)
5721         + correct old bug in pnoutrefresh() unmasked by fix in 970531; this
5722           caused glitches in the ncurses 'p' test since the area outside the
5723           pad was not compared when setting up indices for _nc_scroll_optimize.
5724         + rewrote tracebits() to workaround misdefinition of TOSTOP on Ultrix
5725           4.4, as well as to eliminate fixed-size buffer (reported by Chris
5726           Tanner <tannerc@aecl.ca>)
5727         + correct prototype for termattrs() as per XPG4 version 2.
5728         + add placeholder prototypes for color_set(), erasewchar(),
5729           term_attrs(), wcolor_set() as per XPG4 version 2.
5730         + correct attribution for progs/progs.priv.h and lib_twait.c
5731         + improve line-breakout logic by checking based on changed lines rather
5732           than total lines (patch by Alexander V. Lukyanov).
5733         + correct loop limits for table-lookup of enumerated value in form
5734           (patch by Juergen Pfeifer).
5735         + improve threshhold computation for determining when to call ClrToEOL
5736           (patch by Alexander V. Lukyanov).
5737
5738 970531
5739         + add configure option --disable-database to force the library to
5740           use only the fallback data.
5741         + add configure option --with-fallbacks, to specify list of fallback
5742           terminal descriptions.
5743         + add a symbolic link for ncurses.h during install; too many programs
5744           still assume there's an ncurses.h
5745         + add new terminfo.src entry for xterm-xf86-v33.
5746         + restore terminfo.src entry for emu to using setf/setb, since it is
5747           not, after all, generating ANSI sequences.  Corrected missing comma
5748           that caused setf/setb entries to merge.
5749         + modify mousemask() to use keyok() to enable/disable KEY_MOUSE, so
5750           that applications can disable ncurses' mouse and supply their own
5751           handler.
5752         + add extensions keyok() and define_key().  These are designed to allow
5753           the user's application better control over the use of function keys,
5754           e.g., disabling the ncurses KEY_MOUSE.  (The define_key idea was from
5755           a mailing-list thread started by kjahds@kjahds.com Nov'1995).
5756         + restore original behavior in ncurses 'g' test, i.e., explicitly
5757           set the keypad mode rather than use the default, since it confuses
5758           people.
5759         + rewrote the newdemo banner so it's readable (reported by Hugh
5760           Daniel).
5761         + tidy up exit from hashtest (reported by Hugh Daniel).
5762         + restore check for ^Q in ncurses 'g' test broken in 970510 (reported
5763           by Hugh Daniel)
5764         + correct tput program, checking return-value of setupterm (patch by
5765           Florian La Roche).
5766         + correct logic in pnoutrefresh() and pechochar() functions (reported
5767           by Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>).  The computation
5768           of 'wide' date to eric's #283 (1.9.9), and the pechochar bug to the
5769           original implementation (1.9.6).
5770         + correct typo in vt102-w terminfo.src entry (patch by Robert Wuest
5771           <rwuest@sire.vt.com>)
5772         + move calls of _nc_background() out of various loops, as its return
5773           value will be the same for the whole window being operated on (patch
5774           by J.T.Conklin).
5775         + add macros getcur[xy] getbeg[xy] getpar[xy], which are defined in
5776           SVr4 headers (patch by J.T.Conklin <jtc@NetBSD.ORG>)
5777         + modify glibc addon-configure scripts (patch by H.J.Lu).
5778         + correct a bug in hashmap.c: the size used for clearing the hashmap
5779           table was incorrect, causing stack corruption for large values of
5780           LINES, e.g., >MAXLINES/2 (patch by Alexander V. Lukyanov).
5781         + eric's terminfo 9.13.23 & 9.13.24 changes: replaced minitel-2 entry,
5782           added MGR, ansi-nt (note: the changes described for 9.13.24 have not
5783           been applied).
5784         > several changes by Juergen Pfeifer:
5785         + correct a missing error-return in form_driver.c when wrapping of a
5786           field is not possible.
5787         + correct logic in form_driver.c for configurations that do not have
5788           memccpy() (reported by Sidik Isani <isani@cfht.hawaii.edu>)
5789         + change several c++ binding functions to inline.
5790         + modify c++ menu binding to inherit from panels, for proper
5791           initialization.
5792         + correct freeing of menu items in c++ binding.
5793         + modify c++ binding to reflect removal of const from user data pointer
5794           in forms/menus libraries.
5795
5796 970524
5797         + add description of xterm-16color.
5798         + modify name of shared-library on *BSD to end with $(REL_VERSION)
5799           rather than $(ABI_VERSION) to match actual convention on FreeBSD
5800           (cf: 960713).
5801         + add OpenBSD to shared-library case, same as NetBSD and FreeBSD
5802           (reported by Hugh Daniel <hugh@rat.toad.com>).
5803         + corrected include-dependency in menu/Makefile so that "make install"
5804           works properly w/o first doing "make".
5805         + add fallback definition for isascii, used in infocmp.
5806         + modify xmas to use color, and to exit right away when a key is
5807           pressed.
5808         + modify gdc so that the scrolled digits function as described (there
5809           was no time delay between the stages, and the digits overwrote the
5810           bounding box without tidying up).
5811         + modify lib_color.c to use setaf/setab only for the ANSI color codes
5812           0 through 7.  Using 16 colors requires setf/setb.
5813         + modify ncurses 'c' test to work with 16 colors, as well as the normal
5814           8 colors.
5815         + remove const qualifier from user data pointer in forms and menus
5816           libraries (patch by Juergen Pfeifer).
5817         + rewrote 'waddchnstr()' to avoid using the _nc_waddch_nosync()
5818           function, thereby not interpreting tabs, etc., as per spec (patch by
5819           Alexander V. Lukyanov).
5820
5821 970517
5822         + suppress check for pre-existing ncurses header if the --prefix
5823           option is specified.
5824         + add configure options "--with-system-type" and
5825           "--with-system-release" to assist in checking the generated
5826           makefiles.
5827         + add configure option "--enable-rpath" to allow installers to specify
5828           that programs linked against shared libraries will have their library
5829           path embedded, allowing installs into nonstandard locations.
5830         + add flags to OSF1 shared-library options to specify version and
5831           symbol file (patch by Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>)
5832         + add missing definition for ABI_VERSION to c++/Makefile.in (reported
5833           by Satoshi Adachi <adachi@wisdom.aa.ap.titech.ac.jp>).
5834         + modify link flags to accommodate HP-UX linker which embeds absolute
5835           pathnames in executables linked against shared libraries (reported by
5836           Jason Evans <jasone@mrc.uidaho.edu>, solved by Alan Shutko
5837           <ats@hubert.wustl.edu>).
5838         + drop unnecessary check for attribute-change in onscreen_mvcur() since
5839           mvcur() is the only caller within the library, and that check in turn
5840           is exercised only from lib_doupdate.c (patch by Alexander V.
5841           Lukyanov).
5842         + add 'blank' parameter to _nc_scroll_window() so _nc_mvcur_scrolln()
5843           can use the background of stdscr as a parameter to that function
5844           (patch by Alexander V. Lukyanov).
5845         + moved _nc_mvcur_scrolln() from lib_mvcur.c to lib_doupdate.c, to use
5846           the latter's internal functions, as well as to eliminate unnecessary
5847           cursor save/restore operations (patch by Alexander V. Lukyanov).
5848         + omit parameter of ClrUpdate(), since it is called only for newscr,
5849           further optimized/reduced by using ClearScreen() and TransformLine()
5850           to get rid of duplicate code (patch by Alexander V. Lukyanov).
5851         + modify scrolling algorithm in _nc_scroll_optimize() to reject hunks
5852           that are smaller than the distance to be moved (patch by Alexander V.
5853           Lukyanov).
5854         + correct a place where the panel library was not ifdef'd in ncurses.c
5855           (Juergen Pfeifer)
5856         + documentation fixes (Juergen Pfeifer)
5857
5858 970515  4.1 release for upload to prep.ai.mit.edu
5859         + re-tag changes since 970505 as 4.1 release.
5860
5861 970510
5862         + modify ncurses 'g' test to allow mouse input
5863         + modify default xterm description to include mouse.
5864         + modify configure script to add -Wwrite-strings if gcc warnings are
5865           enabled while configuring --enable-const (and fixed related
5866           warnings).
5867         + add toggle, status display for keypad mode to ncurses 'g' test to
5868           verify that keypad and scrollok are not inherited from parent window
5869           during a call to newwin.
5870         + correction to MKexpanded.sh to make it work when configure --srcdir
5871           is used (reported by H.J.Lu).
5872         + revise test for bool-type, ensuring that it checks if builtin.h is
5873           available before including it, adding test for sizeof(bool) equal
5874           to sizeof(short), and warning user if the size cannot be determined
5875           (reported by Alexander V. Lukyanov).
5876         + add files to support configuration of ncurses as an add-on library
5877           for GNU libc (patch by H.J.Lu <hjl@lucon.org>)
5878
5879 970506
5880         + correct buffer overrun in lib_traceatr.c
5881         + modify change to lib_vidattr.c to avoid redundant orig_pair.
5882         + turn on 'echo()' in hanoi.c, since it is initially off.
5883         + rename local 'errno' variable in etip.h to avoid conflict with global
5884           (H.J.Lu).
5885         + modify configure script to cache LD, AR, AR_OPTS (patch by H.J.Lu
5886           <hjl@lucon.org>)
5887
5888 970505  4.1 pre-release
5889         + regenerate the misc directory html dumps without the link list, which
5890           is not useful.
5891         + correct dependency in form directory makefile which caused
5892           unnecessary recompiles.
5893         + correct substitution for ABI_VERSION in test-makefile
5894         + modify install rules for shared-library targets to remove the target
5895           before installing, since some install programs do not properly handle
5896           overwrite of symbolic links.
5897         + change order of top-level targets so that 'include' immediate
5898           precedes the 'ncurses' directory, reducing the time between new
5899           headers and new libraries (requested by Larry Virden).
5900         + modify lib_vidattr.c so that colors are turned off only before
5901           modifying other attributes, turned on after others.  This makes the
5902           hanoi.c program display correctly on FreeBSD console.
5903         + modify debug code in panel library to print user-data addresses
5904           rather than the strings which they (may) point to.
5905         + add check to ensure that C++ binding and demo are not built with g++
5906           versions below 2.7, since the binding uses templates.
5907         + modify c++ binding and demo to build and run with SGI's c++ compiler.
5908           (It also compiles with the Sun SparcWorks compiler, but the demo does
5909           not link, due to a vtbl problem).
5910         + corrections to demo.cc, to fix out-of-scope variables (Juergen
5911           Pfeifer).
5912
5913 970503
5914         + correct memory leak in _nc_trace_buf().
5915         + add configure test for regexpr.h, for Unixware 1.x.
5916         + correct missing "./" prefixing names of generated files in ncurses
5917           directory.
5918         + use single-quotes in configure scripts assignments for MK_SHARED_LIB
5919           to workaround shell bug on FreeBSD 2.1.5
5920         + remove tabs from intermediate #define's for GCC_PRINTF, GCC_SCANF
5921           that caused incorrect result in ncurses_cfg.h
5922         + correct initialization in lib_trace.c, which omitted version info.
5923         + remove ech, el1 attributes from cons25w description; they appear to
5924           malfunction in FreeBSD 2.1.5
5925         + correct color attributes in terminfo.src and lib_color.c to match
5926           SVr4 behavior by interchanging codes 1,4, 3,6 in the setf/setb
5927           capabilities.
5928         + use curs_set() rather than checks via tigetstr() for test programs
5929           that hide the cursor: firework, rain, worm.
5930         + ensure that if the terminal lacks change_scroll_region, parm_index
5931           and parm_rindex are used only to scroll the whole screen (patch by
5932           Peter Wemm).
5933         + correct curs_set() logic, which did not return ERR if the requested
5934           attributes did not exist, nor did it assume an unknown initial state
5935           for the cursor (patch by Alexander V. Lukyanov).
5936         + combine IDcTransformLine and NoIDcTransformLine to new TransformLine
5937           function in lib_doupdate.c (patch by Alexander V. Lukyanov).
5938         + correct hashmap.c, which did not update index information (patch by
5939           Alexander V. Lukyanov).
5940         + patch by Juergen Pfeifer for C++ binding and demo (see c++/NEWS)
5941         + correct index in lib_instr.c (Juergen Pfeifer).
5942         + correct typo in 970426 patch from Tom's cleanup of lib_overlay.c
5943           (Juergen Pfeifer).
5944
5945 970426
5946         + corrected cost computation in PutRange(), which was using
5947           milliseconds compared to characters by adding two new members to the
5948           SCREEN struct, _hpa_ch_cost and _cup_ch_cost.
5949         + drop ncurses/lib_unctrl.c, add ncurses/MKunctrl.awk to generate a
5950           const array of strings (suggested by Alexander V. Lukyanov, though
5951           with a perl script 970118).
5952         + rewrote ncurses 'b' test to better exercise magic-cookie (xmc), as
5953           well as noting the attributes that are not supported by a terminal.
5954         + trace the computation of cost values in lib_mvcur.c
5955         + modify _nc_visbuf() to use octal rather than hex, corrected sign
5956           extension bug in that function that caused buffer overflow.
5957         + modify trace in lib_acs.c to use _nc_visbuf().
5958         + suppress trace within _traceattr2().
5959         + correct logic of _tracechtype2(), which did not account for repeats
5960           or redefinition within an acsc string.
5961         + modify debug-library version baudrate() to use environment variable
5962           $BAUDRATE to override speed computation.  This is needed for
5963           regression testing.
5964         + correct problems shown by "weblint -pedantic".
5965         + update mailing-list information (now ncurses@bsdi.com).
5966
5967 970419
5968         + Improve form_field_validation.3x manpage to better describe the
5969           precision parameter for TYPE_NUMERIC and TYPE_INTEGER.  Provide more
5970           precise information how the range checking can be avoided.  (patch by
5971           Juergen Pfeifer, reported by Bryan Henderson)
5972         + change type of min/max value of form types TYPE_INTEGER to long to
5973           match SVr4 documentation.
5974         + set the form window to stdscr in set_form_win() so that form_win()
5975           won't return null (patch by Juergen Pfeifer, reported by Bryan
5976           Henderson <bryanh@giraffe.netgate.net>).
5977
5978 970412
5979         + corrected ifdef'ing of inline (from 970321) for TRACE vs C++.
5980         + corrected toggle_attr_off() macro (patch by Andries.Brouwer).
5981         + modify treatment of empty token in $MANPATH to /usr/man (reported by
5982           <Andries.Brouwer@cwi.nl>)
5983         + modify traces that record functions-called so that chtype and attr_t
5984           values are expressed symbolically, to simplify reuse of generated
5985           test-scripts on SVr4 regression testing.
5986         + add new trace functions _traceattr2() and _tracechtype2()
5987
5988 970405
5989         + add configure option --enable-const, to support the use of 'const'
5990           where XSI should have, but did not, specify.  This defines
5991           NCURSES_CONST, which is an empty token otherwise, for strict
5992           compatibility.
5993         + make processing of configure options more verbose by echoing the
5994           --enable/--with values.
5995         + add configure option --enable-big-core
5996         + set initial state of software echo off as per XSI.
5997         + check for C++ builtin.h header
5998         + correct computation of absolute-path for $INSTALL that dropped "-c"
5999           parameter from the expression.
6000         + rename config.h to ncurses_cfg.h to avoid naming-conflict when
6001           ncurses is integrated into larger systems (from diffs by H.J.Lu for
6002           libc).
6003         + correct inequality in lib_doupdate.c that caused a single-char to not
6004           be updated when the char on the right-margin was not blank, idcok()
6005           was true (patch by Alexander V.  Lukyanov 970124, also reported by
6006           Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu> 970329).
6007         + modify 'clean' rule in include/Makefile so that files created by
6008           configure script are removed in 'distclean' rule instead.
6009
6010 970328
6011         + correct array limit in tparam_internal(), add case to interpret "%x"
6012           (patch by Andreas Schwab)
6013         + rewrote number-parsing in ncurses.c 'd' test; it did not reset the
6014           value properly when non-numeric characters were given (reported by
6015           Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>)
6016
6017 970321
6018         + move definition of __INTERNAL_CAPS_VISIBLE before include for
6019           progs.priv.h (patch by David MacKenzie).
6020         + add configuration summary, reordered check for default include
6021           directory to better accommodate a case where installer is configuring
6022           a second copy of ncurses (reported by Klaus Weide
6023           <kweide@tezcat.com>)
6024         + moved the #define for 'inline' as an empty token from the
6025           $(CFLAGS_DEBUG) symbol into config.h, to avoid redefinition warning
6026           (reported by Ward Horner).
6027         + modify test for bool builtin type to use 'unsigned' rather than
6028           'unknown' when cross-compiling (reported by Ward Horner).
6029
6030 970315
6031         + add header dependencies so that "make install.libs" will succeed
6032           even if "make all" is not done first.
6033         + moved some macros from lib_doupdate.c to curses.priv.h to use in
6034           expanded functions with ATAC.
6035         + correct implementation of lib_instr.c; both XSI and SVr4 agree that
6036           the winnstr functions can return more characters than will fit on one
6037           line.
6038
6039 970308
6040         + modify script that generates lib_gen.c to support traces of called &
6041           return.
6042         + add new configure option "--disable-macros", for testing calls within
6043           lib_gen.c
6044         + corrected logic that screens level-checking of called/return traces.
6045
6046 970301
6047         + use new configure macro NC_SUBST to replace AC_PATH_PROG, better
6048           addressing request by Ward Horner.
6049         + check for cross-compiling before trying to invoke the autoconf
6050           AC_FUNC_SETVBUF_REVERSED macro (reported by Ward Horner)
6051         + correct/simplify loop in _nc_visbuf(), 970201 changes omitted
6052           a pointer-increment.
6053         + eliminate obsolete symbol SHARED_ABI from dist.mk (noted by
6054           Florian La Roche).
6055
6056 970215
6057         + add configure option --enable-expanded, together with code that
6058           implements an expanded form of certain complex macros, for testing
6059           with ATAC.
6060         + disable CHECK_POSITION unless --with-assertions is configured
6061           (Alexander Lukyanov pointed out that this is redundant).
6062         + use keyname() to show traced chtype values where applicable rather
6063           than _tracechar(), which truncates the value to 8-bits.
6064         + minor fixes to TRACE_ICALLS, added T_CREATE, TRACE_CCALLS macros.
6065         + modify makefiles in progs and test directories to avoid using C
6066           preprocessor options on link commands (reported by Ward Horner)
6067         + correct ifdef/include-order for nc_alloc.h vs lib_freeall.c (reported
6068           by Ward Horner)
6069         + modify ifdef's to use configure-defined symbols consistently
6070           (reported by Ward Horner)
6071         + add/use new makefile symbols AR, AR_OPTS and LD to assist in non-UNIX
6072           ports (reported by Ward Horner <whorner@tsi-telsys.com>)
6073         + rename struct try to struct tries, to avoid name conflict with C++
6074           (reported by Gary Johnson).
6075         + modify worm.c to hide cursor while running.
6076         + add -Wcast-qual to gcc warnings, fix accordingly.
6077         + use PutChar rather than PutAttrChar in ClrToEOL to properly handle
6078           wrapping (Alexander Lukyanov).
6079         + correct spurious echoing of input in hanoi.c from eric's #291 & #292
6080           patches (reported by Vernon C. Hoxie <vern@zebra.alphacdc.com>).
6081         + extend IRIX configuration to IRIX64
6082         + supply missing install.libs rule needed after restructuring
6083           test/Makefile.in
6084
6085 970208
6086         + modify "make mostlyclean" to leave automatically-generated source
6087           in the ncurses directory, for use in cross-compiles.
6088         + autogenerated object-dependencies for test directory
6089         + add configure option --with-rcs-ids
6090         + modify configuration scripts to generate major/minor/patch versions
6091           (suggested by Alexander Lukyanov).
6092         + supply missing va_end's in lib_scanw.c
6093         + use stream I/O for trace-output, to eliminate fixed-size buffer
6094         + add TRACE_ICALLS definition/support to lib_trace.c
6095         + modify Ada95 binding to work with GNAT 3.09 (Juergen Pfeifer).
6096
6097 970201
6098         + add/modify traces for called/return values to simplify extraction
6099           for test scripts.
6100         + changed _nc_visbuf to quote its result, and to dynamically allocate
6101           the returned buffer.
6102         + invoke ldconfig after installing shared library
6103         + modify install so that overwrite applies to shared library -lcurses
6104           in preference to static library (reported by Zeyd 960928).
6105         + correct missing ';' in 961221 mod to overwrite option use of $(LN_S).
6106         + fixes to allow "make install" to work without first doing a "make
6107           all" (suggested by Larry Virden).
6108
6109 970125
6110         + correct order of #ifdef for TABS_OK.
6111         + instrumented toe.c to test memory-leaks.
6112         + correct memory-deallocation in toe.c (patch by Jesse Thilo).
6113         + include <sys/types.h> in configuration test for regex.h (patch by
6114           Andreas Schwab)
6115         + make infocmp recognize -I option, for SVr4 compatibility (reported by
6116           Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>)
6117
6118 970118
6119         + add extension 'use_default_colors()', modified test applications that
6120           use default background (firework, gdc, hanoi, knight, worm) to
6121           demonstrate.
6122         + correct some limit checks in lib_doupdate.c exposed while running
6123           worm.
6124         + use typeCalloc macro for readability.
6125         + add/use definition for CONST to accommodate testing with Solaris
6126           (SVr4) curses, which doesn't use 'const' in its prototypes.
6127         + modify ifdef's in test/hashtest.c and test/view.c to compile with
6128           Solaris curses.
6129         + modify _tracedump() to pad pad colors & attrs lines to match change
6130           in 970101 showing first/last changes.
6131         + corrected location of terminating null on dynamically allocated forms
6132           fields (patch by Per Foreby).
6133
6134 970111
6135         + added headers to make view.c compile on SCO with the resizeterm()
6136           code (i.e., struct winsize) - though this compiles, I don't have a
6137           suitable test configuration since SIGWINCH doesn't pass my network to
6138           that machine - T.Dickey.
6139         + update test/configure.in to supply some default substitutions.
6140         + modify configure script to add -lncurses after -lgpm to fix problem
6141           linking against static libraries.
6142         + add a missing noraw() to test/ncurses.c (places noted by Jeremy
6143           Buhler)
6144         + add a missing wclear() to test/testcurs.c (patch by Jeremy Buhler
6145           <jbuhler@cs.washington.edu>)
6146         + modify headers to accommodate compilers that don't allow duplicate
6147           "#define" lines for NCURSES_VERSION (reported by Larry W. Virden
6148           <lvirden@cas.org>)
6149         + fix formatting glitch in curs_getch.3x (patch by Jesse Thilo).
6150         + modify lib_doupdate to make el, el1 and ed optimization use the
6151           can_clear_with macro, and change EmitRange to allow leaving cursor at
6152           the middle of interval, rather than always at the end (patch by
6153           Alexander Lukyanov originally 960929, resync 970106).
6154
6155 970104
6156         + workaround defect in autoconf 2.12 (which terminates configuration
6157           if no C++ compiler is found) by adding an option --without-cxx.
6158         + modify several man-pages to use tbl, where .nf/.fi was used (reported
6159           by Jesse Thilo).
6160         + correct font-codes in some man-pages (patch by Jesse Thilo
6161           <Jesse.Thilo@pobox.com>)
6162         + use configure script's knowledge of existence of g++ library for the
6163           c++ Makefile (reported by Paul Jackson).
6164         + correct misleading description of --datadir configuration option
6165           (reported by Paul Jackson <pj@sam.engr.sgi.com>)
6166
6167 970101
6168         + several corrections to _nc_mvcur_scrolln(), prompted by a bug report
6169           from Peter Wemm:
6170         > the logic for non_dest_scroll_region was interchanged between the
6171           forward & reverse scrolling cases.
6172         > multiple returns from the function allowed certain conditions to do
6173           part of an operation before discovering that it couldn't be
6174           completed, returning an error without restoring the cursor.
6175         > some returns were ERR, where the function had completed the
6176           operation, because the insert/delete line logic was improperly
6177           tested (this was probably the case Peter saw).
6178         > contrary to comments, some scrolling cases were tested after the
6179           insert/delete line method.
6180         + modify _tracedump() to show first/last changes.
6181         + modify param of ClrUpdate() in lib_doupdate.c to 'newscr', fixes
6182           refresh problem (reported by Peter Wemm) that caused nvi to not show
6183           result of ":r !ls" until a ^L was typed.
6184
6185 961229  (internal alpha)
6186         + correct some of the writable-strings warnings (reported by Gary
6187           Johnson <gjohnson@season.com>).  Note that most of the remaining ones
6188           are part of the XSI specification, and can't be "fixed".
6189         + improve include-dependencies in form, menu, panel directories.
6190         + correct logic of delay_output(), which would return early if
6191           there is data on stdin.
6192         + modify interface & logic of _nc_timed_wait() to support 2 file
6193           descriptors, needed for GPM.
6194         + integrate patch by Andrew Kuchling <amk@magnet.com> for GPM (mouse)
6195           support, correcting logic in wgetch() and _nc_mouse_parse() which
6196           prevented patch from working properly.
6197         + improve performance of panel algorithm (Juergen Pfeifer 961203).
6198         + strip RCS id's from generated .html files in Ada95 subtree.
6199         + resync with generated .html files (Juergen Pfeifer 961223).
6200         + terminfo.src 10.1.0 from Eric.
6201
6202 961224  4.0 release
6203         + release as 4.0 to accommodate Linux ld.so.1.8.5
6204         + correct syntax/spelling, regenerated .doc files from .html using
6205           lynx 2.5
6206         + refined forms/menus makefiles (Juergen Pfeifer 961223).
6207
6208 961221  - snapshot
6209         + remove logic in read_entry.c that attempts to refine errno by using
6210           'access()' for the directory (from patch by Florian La Roche).
6211         + correct configure test/substitution that inhibits generating
6212           include-path to /usr/include if gcc is used (reported by Florian La
6213           Roche).
6214         + modify setupterm() to allocate new TERMINAL for each call, just as
6215           solaris' curses does (Alexander Lukyanov 960829).
6216         + corrected memory leaks in read_entry.c
6217         + add configure options --with-dbmalloc, --with-dmalloc, and
6218           --disable-leaks, tested by instrumenting infocmp, ncurses programs.
6219         + move #include's for stdlib.h and string.h to *.priv.h to accommodate
6220           use of dbmalloc.
6221         + modify use of $(LN_S) to follow recommendation in autoconf 2.12,
6222           i.e., set current directory before linking.
6223         + split-out panel.priv.h, improve dependencies for forms, menus
6224           (Juergen Pfeifer 961204).
6225         + modify _nc_freewin() to reset globals curscr/newscr/stdscr when
6226           freeing the corresponding WINDOW (Purify).
6227         + modify delwin() to return ERR if the window to be deleted has
6228           subwindows, needed as a side-effect of resizeterm() (Purify).  Tested
6229           and found that SVr4 curses behaves this way.
6230         + implement logic for _nc_freeall(), bringing stub up to date.
6231
6232 961215
6233         + modify wbkgd() so that it doesn't set nulls in the rendered text,
6234           even if its argument doesn't specify a character (fixes test case by
6235           Juergen Pfeifer for bug-report).
6236         + set window-attributes in wbkgd(), to simplify comparison against
6237           Solaris curses, which does this.
6238
6239 961214  - snapshot
6240         + replace most constants in ncurses 'o' test by expressions, making it
6241           work with wider range of screen sizes.
6242         + add options to ncurses.c to specify 'e' test softkey format, and the
6243           number of header/footer lines to rip-off.
6244         + add ^R (repaint after resize), ^L (refresh) commands to ncurses 'p'
6245           test.
6246         + add shell-out (!) command to ncurses 'p' test to allow test of
6247           resize between endwin/refresh.
6248         + correct line-wrap case in mvcur() by emitting carriage return,
6249           overlooked in 960928, but needed due to SVr4 compatibility changes to
6250           terminal modes in 960907.
6251         + correct logic in wresize that causes new lines to be allocated,
6252           broken for the special case of increasing rows only in 960907's fix
6253           for subwindows.
6254         + modify configure script to generate $(LDFLAGS) with -L and -l options
6255           in preference to explicit library filenames.  (NOTE: this may
6256           require further amending, since I vaguely recall a dynamic loader
6257           that did not work properly without the full names, but it should be
6258           handled as an exception to the rule, since some linkers do bulk
6259           inclusion of libraries when given the full name - T.Dickey).
6260         + modify configure script to allow user-supplied $CFLAGS to set the
6261           debug-option in all libraries (requested by lots of people).
6262         + use return consistently from main(), rather than exit (reported by
6263           Florian La Roche).
6264         + add --enable-getcap-cache option to configure, normally disabled
6265           (requested by Florian La Roche).
6266         + make configure test for gettimeofday() and possibly -lbsd more
6267           efficient (requested by Florian La Roche florian@knorke.saar.de)
6268         + minor adjustments to Ada95 binding (patches by Juergen Pfeifer)
6269         + correct attributes after emitting orig_pair in lib_vidattr.c (patch
6270           by lav@yars.free.net).
6271
6272 961208
6273         + corrected README wrt Ada95 (Juergen Pfeifer)
6274
6275 961207  - snapshot
6276         + integrate resizeterm() into doupdate(), so that if screen size
6277           changes between endwin/refresh, ncurses will resize windows to fit
6278           (this needs additional testing with pads and softkeys).
6279         + add, for memory-leak testing, _nc_freeall() entrypoint to free all
6280           data used in ncurses library.
6281         + initialize _nc_idcok, _nc_idlok statically to resolve discrepancy
6282           between initscr() and newwin() initialization (reported by
6283           lav@yars.free.net).
6284         + test built VERSION=4.0, SHARED_ABI=4 with Linux ld.so.1.8.5
6285           (set beta versions to those values -- NOTE that subsequent pre-4.0
6286           beta may not be interchangeable).
6287         + modify configure script to work with autoconf 2.12
6288
6289 961130  1.9.9g release
6290         + add copyright notices to configuration scripts (written by Thomas
6291           Dickey).
6292
6293 961127
6294         > patch by Juergen Pfeifer (mostly for panel):
6295         + cosmetic improvement for a few routines in the ncurses core library
6296           to avoid warning messages.
6297         + the panel overlap detection was broken
6298         + the panel_window() function was not fool-proof.
6299         + Some inlining...
6300         + Cosmetic changes (also to avoid warning messages when compiling with
6301           -DTRACE).
6302
6303 961126
6304         > patch by Juergen Pfeifer:
6305         + eliminates warning messages for the compile of libform.
6306         + inserts Per Foreby's new field type TYPE_IPV4 into libform.
6307         + Updates man page and the Ada95 binding to reflect this.
6308         + Improves inlining in libmenu and libform.
6309
6310 961120
6311         + improve the use of the "const" qualifier in the
6312           panel library (Juergen Pfeifer)
6313         + change set_panel_userptr() and panel_userptr() to use void*
6314           (Juergen Pfeifer)
6315
6316 961119
6317         + change ABI to 3.4
6318         + package with 961119 version of Ada95 binding (fixes for gnat-3.07).
6319           (Juergen Pfeifer)
6320         + correct initialization of the stdscr pseudo panel in panel library
6321           (Juergen Pfeifer)
6322         + use MODULE_ID (rcs keywords) in forms and menus libraries (Juergen
6323           Pfeifer).
6324         > patch #324 by Eric.
6325         + typo in curs_termcap man page (reported by Hendrik Reichel
6326           <106065.2344@compuserve.com>)
6327         + change default xterm entry to xterm-r6.
6328         + add entry for color_xterm
6329
6330 961116  - snapshot
6331         + lint found several functions that had only #define implementations
6332           (e.g., attr_off), modified curses.h.in to generate them as per XSI
6333           Curses requirement that every macro be available as a function.
6334         + add check in infocmp.c to guard against string compare of
6335           CANCELLED_STRING values.
6336         + modify firework.c, rain.c to hide cursor while running.
6337         + correct missing va_end in lib_tparm.c
6338         + modify hanoi.c to work on non-color terminals, and to use timing
6339           delays when in autoplay mode.
6340         + correct 'echochar()' to refresh immediately (reported by Adrian
6341           Garside 94ajg2@eng.cam.ac.uk)
6342         > patch #322 by eric:
6343         + reorganize terminfo.src entries for xterm.
6344
6345 961109  - snapshot
6346         + corrected error in line-breakout logic (lib_doupdate.c)
6347         + modified newdemo to use wgetch(win) rather than getch() to eliminate
6348           a spurious clear-screen.
6349         + corrected ifdef's for 'poll()' configuration.
6350         + added modules to ncurses, form, menu for Ada95 binding (Juergen
6351           Pfeifer).
6352         + modify set_field_buffer() to allow assignment of string longer than
6353           the initial buffer length, and to return the complete string rather
6354           than only the initial size (Juergen Pfeifer and Per Foreby
6355           <perf@efd.lth.se>).
6356
6357 961102  - snapshot
6358         + configure for 'poll()' in preference to 'select()', since older
6359           systems are more likely to have a broken 'select()'.
6360         + modified render_char() to avoid OR'ing colors.
6361         + minor fixes to testcurs.c, newdemo.c test programs: ifdef'd out the
6362           resize test, use wbkgd and corrected box() parameters.
6363         + make flushinp() test work in ncurses.c by using napms() instead of
6364           sleep().
6365         + undo Eric's changes to xterm-x11r6 (it no longer matched the X11R6.1
6366           distribution, as stated)
6367         + terminfo 9.13.18 (resync by Eric)
6368         + check for getenv("HOME") returning null (Eric).
6369         + change buffer used to decode xterm-mouse commands to unsigned to
6370           handle displays wider than 128 chars (Juergen Pfeifer).
6371         + correct typo curs_outopts.3x (Juergen Pfeifer).
6372         + correct limit-checking in wenclose() (Juergen Pfeifer).
6373         + correction to Peter Wemm's newwin change (Thomas Fehr
6374           <fehr@suse.de>).
6375         + corrections to logic that combines colors and attributes; they must
6376           not be OR'd (Juergen Pfeifer, extending from report/patch by Rick
6377           Marshall).
6378
6379 961026  - snapshot
6380         + reset flags in 'getwin()' that might cause refresh to attempt to
6381           manipulate the non-existent parent of a window that is read from a
6382           file (lib_screen.c).
6383         + restructure _nc_timed_wait() to log more information, and to try to
6384           recover from badly-behaved 'select()' calls (still testing this).
6385         + move define for GOOD_SELECT into configure script.
6386         + corrected extra '\' character inserted before ',' in comp_scan.c
6387         + corrected expansion of %-format characters in dump_entry.c; some were
6388           rendered as octal constants.
6389         + modify dump_entry.c to make terminfo output more readable and like
6390           SVr4, by using "\s" for spaces (leading/trailing only), "\," for
6391           comma, "\^" and "\:" as well.
6392         + corrected some memory leaks in ncurses.c, and a minor logic error
6393           in the top-level command-parser.
6394         + correction for label format 4 (PC style with info line), a
6395           slk_clear(), slk_restore() sequence didn't redraw the info line
6396           (Juergen Pfeifer).
6397         + modified the slk window (if simulated) to inherit the background and
6398           default character attributes from stdscr (Juergen Pfeifer).
6399         + corrected limit-check in set_top_row (Juergen Pfeifer).
6400
6401 961019  - snapshot
6402         + correct loop-limit in wnoutrefresh(), bug exposed during pipe-testing
6403           had '.lastchar' entry one beyond '._maxx'.
6404         + modify ncurses test-program to work with data piped to it.
6405         + corrected pathname computation in run_tic.sh, removing extra "../"
6406           (reported by Tim Mooney).
6407         + modified configure script to use previous install's location for
6408           curses.h
6409         + added NetBSD and FreeBSD to platforms that use --prefix=/usr as
6410           a default.
6411
6412 961013
6413         + revised xterm terminfo descriptions to reflect the several versions
6414           that are available.
6415         + corrected a pointer reference in dump_entry.c that didn't test if
6416           the pointer was -1.
6417
6418 961005  - snapshot
6419         + correct _nc_mvcur_scrolln for terminals w/o scrolling region.
6420         + add -x option to hashtest to control whether it allows writes to the
6421           lower-right corner.
6422         + ifdef'd (NCURSES_TEST) the logic for _nc_optimize_enable to make it
6423           simpler to construct tests (for double-check of _nc_hash_map tests).
6424         + correct ifdef's for c++ in curses.h
6425         + change default xterm type to xterm-x11r6.
6426         + correct quoting in configure that made man-pages installed with
6427           $datadir instead of actual terminfo path.
6428         + correct whitespace in include/Caps, which caused kf11, clr_eol and
6429           clr_end to be omitted from terminfo.5
6430         + fix memory leaks in delscreen() (adapted from Alexander Lukyanov).
6431         + improve appearance of marker in multi-selection menu (Juergen
6432           Pfeifer)
6433         + fix behaviour for forms with all fields inactive (Juergen
6434           Pfeifer)
6435         + document 'field_index()' (Juergen Pfeifer)
6436         > patch #321 by eric:
6437         + add some more XENIX keycap translations to include/Caps.
6438         + modify newwin to set initial state of each line to 'touched'
6439           (from patch by Peter Wemm <peter@spinner.dialix.com>)
6440         + in SET_TTY, replace TCSANOW with TCSADRAIN (Alexander Lukyanov).
6441
6442 960928  - snapshot
6443         + ifdef'd out _nc_hash_map (still slower)
6444         + add graphic characters to vt52 description.
6445         + use PutAttrChar in ClrToEOL to ensure proper background, position.
6446         + simplify/correct logic in 'mvcur()' that does wrapping; it was
6447           updating the position w/o actually moving the cursor, which broke
6448           relative moves.
6449         + ensure that 'doupdate()' sets the .oldindex values back to a sane
6450           state; this was causing a spurious refresh in ncurses 'r'.
6451         + add logic to configure (from vile) to guard against builders who
6452           don't remove config.cache & config.status when doing new builds.
6453         + corrected logic for 'repeat_char' in EmitRange (from #317), which
6454           did not follow the 2-parameter scheme specified in XSI.
6455         + corrected logic of wrefresh, wnoutrefresh broken in #319, making
6456           clearok work properly (from report by Michael Elkins).
6457         + corrected problem with endwin introduced by #314 (removing the
6458           scrolling-region reset) that broke ncurses.c tests.
6459         + corrected order of args in AC_CHECK_LIB (from report by Ami Fischman
6460           <fischman@math.ucla.edu>).
6461         + corrected formatting of terminfo.5 tables (Juergen Ehling)
6462         > patch 320 by eric:
6463         + change ABI to 3.3
6464         + emit a carriage-return in 'endwin()' to workaround a kernel bug in
6465           BSDI.  (requested by Mike Karels <karels@redrock.bsdi.com>)
6466         + reverse the default o configure --enable-termcap (consensus).
6467         > patch 319 by eric:
6468         + modified logic for clearok and related functions (from report by
6469           Michael Elkins) - untested
6470         > patch 318 by eric:
6471         + correction to #317.
6472         > patch 317 by eric:
6473         + re-add _nc_hash_map
6474         + modify EmitRange to maintain position as per original design.
6475         + add hashtest.c, program to time the hashmap optimization.
6476         > patch 316 by eric:
6477         + add logic to deal with magic-cookie (how was this tested?)
6478           (lib_doupdate.c).
6479         + add ncurses.c driver for magic-cookie, some fixes to ncurses.c
6480         > patch 315 by eric:
6481         + merged A. Lukyanov's patch to use ech and rep - untested
6482           (lib_doupdate.c).
6483         + modified handling of interrupted system calls - untested
6484           (lib_getch.c, lib_twait.c).
6485         + new function _nc_mvcur_resume()
6486         + fix return value for 'overlay()', 'overwrite()'
6487
6488 960914  - snapshot
6489         + implement subwindow-logic in wresize, minor fixes to ncurses 'g'
6490           test.
6491         + corrected bracketing of fallback.c (reported/suggested fix by Juergen
6492           Ehling <eh@eclipse.aball.de>).
6493         + update xterm-color to reflect XFree86 3.1.3G release.
6494         + correct broken dtterm description from #314 patch (e.g., spurious
6495           newline.  The 'pairs' change might work, but no one's tested it
6496           either ;-)
6497         + clarify the documentation for the builtin form fieldtypes (Juergen
6498           Pfeifer)
6499         > patch 314 by eric:
6500         + Enhancement suggested by A. Lukyanov -- reset scroll region on
6501           startup rather than at wrapup time.
6502         + Fix suggested by A. Lukyanov, make storage of palette tables
6503           and their size counts per-screen for multi-terminal applications.
6504         + Improved error reporting for infotocap translation errors.
6505         + Update terminfo.src to 9.13.14.
6506
6507 960907  - snapshot
6508         + rewrote wgetstr to make it erase control chars and also fix bogus use
6509           of _nc_outstr which caused the display to not wrap properly (display
6510           problem reported by John M. Flinchbaugh <glynis@netrax.net>)
6511         + modify ncurses 'f' test to accommodate terminal responses to C1 codes
6512           (and split up this screen to accommodate non-ANSI terminals).
6513         + test enter_insert_mode and exit_insert_mode in has_ic().
6514         + removed bogus logic in mvcur that assumes nl/nonl set output modes
6515           (XSI says they are input modes; SVr4 implements this).
6516         + added macros SET_TTY, GET_TTY to term.h
6517         + correct getstr() logic that altered terminal modes w/o restoring.
6518         + disable ICRNL, etc., during initialization to match SVr4, removing
6519           the corresponding logic from raw, cbreak, etc.
6520         + disable ONLCR during initialization, to match SVr4 (this is needed
6521           for cursor optimization when the cursor-down is a newline).
6522         + replaced Eric's imitation of wresize with my original (his didn't
6523           work).
6524
6525 960831  - snapshot
6526         + memory leaks (Alexander V. Lukyanov).
6527         + modified pnoutrefresh() to be more tolerant of too-large screen
6528           size (reported by Michael Elkins).
6529         + correct handling of terminfo files with no strings (Philippe De
6530           Muyter)
6531         + correct "tic -s" to take into account -I, -C options.
6532         + modify ncurses 'f' test to not print codes 80 through 9F, since they
6533           are considered control codes by ANSI terminals.
6534
6535 960824  - snapshot
6536         + correct speed variable-type in 'tgetent()' (reported by Peter Wemm)
6537         + make "--enable-getcap" configuration-option work (reported by
6538           Peter Wemm <peter@spinner.DIALix.COM>)
6539
6540 960820
6541         + correct err in 960817 that changed return-value of tigetflag()
6542           (reported by Alexander V. Lukyanov).
6543         + modify infocmp to use library default search-path for terminfo
6544           directory (Alexander V. Lukyanov).
6545
6546 960817  - snapshot
6547         + corrected an err in mvcur that broke resizing-behavior.
6548         + correct fall-thru behavior of _nc_read_entry(), which was not finding
6549           descriptions that existed in directories past the first one searched
6550           (reported by Alexander V. Lukyanov)
6551         + corrected typo in dtterm description.
6552         > patch 313 by eric:
6553         + add dtterm description
6554         + clarify ncurses 'i' test (drop vscanf subtest)
6555
6556 960810  - snapshot
6557         + correct nl()/nonl() to work as per SVr4 & XSI.
6558         + minor fixes to ncurses.c (use 'noraw()', mvscanw return-code)
6559         + refine configure-test for -g option (Tim Mooney).
6560         + correct interaction between O_BLANK and NEW_LINE request in form
6561           library (Juergen Pfeifer)
6562
6563 960804
6564         + revised fix to tparm; previous fix reversed parameter order.
6565         > patch 312 by eric:
6566           correct terminfo.src corrupted by #310
6567         > patch 311 by eric:
6568         + fix idlok() and idcok() and the default of the idlok switch.
6569
6570 960803  - snapshot
6571         + corrected tparm to handle capability strings without explicit pop
6572           (reported by William P Setzer)
6573         + add fallback def for GCC_NORETURN, GCC_UNUSED for termcap users
6574           (reported by Tim Mooney).
6575         > patch 310 by eric:
6576         + documentation and prototyping errors for has_color, immedok and idcok
6577           (reported by William P Setzer <wsetzer@pams.ncsu.edu>)
6578         + updated qnx terminfo entry (by Michael Hunter)
6579
6580 960730
6581         + eliminate quoted includes in ncurses subdirectory, ensure config.h
6582           is included first.
6583         + newterm initializes terminal settings the same as initscr (reported
6584           by Tim Mooney).
6585
6586 960727  - snapshot
6587         + call cbreak() in initscr(), as per XSI & SVr4.
6588         + turn off hardware echo in initscr() as per XSI & SVr4
6589         > patch 309 by eric:
6590         + terminfo changes (9.3.10), from BRL
6591         + add more checks to terminfo parser.
6592         + add more symbols to infocmp.
6593
6594 960720  - snapshot
6595         + save previous-attribute in lib_vidattr.c if SP is null (reported by
6596           Ju"rgen Fluk <louis@dachau.marco.de>)
6597         + corrected calls on _nc_render so that background character is set
6598           as per XSI.
6599         + corrected wbkgdset macro (XSI allows background character to be
6600           null), and tests that use it.
6601         + more corrections to terminfo (xterm & rxvt)
6602         + undid change to mcprint prototype (cannot use size_t in curses.h
6603           because not all systems declare it in the headers that we can safely
6604           include therein).
6605         + move the ifdefs for errno into curses.priv.h
6606         > patch 308 by eric:
6607         + terminfo changes (9.3.8)
6608         + modified logic of error-reporting in terminfo parser
6609
6610 960713  - snapshot
6611         + always check for <sys/bsdtypes.h> since ISC needs it to declare
6612           fd_set (Juergen Pfeifer)
6613         + install shared-libraries on NetBSD/FreeBSD with ABI-version (reported
6614           by several people:  Juergen Pfeifer, Mike Long)
6615         + add LOCAL_LDFLAGS2 symbol (Juergen Pfeifer)
6616         + corrected prototype for delay_output() -- bump ABI to 3.2
6617         + terminfo patches #306/307 from Eric.
6618         + moved logic that filters out rmul and rmso from setupterm to newterm
6619           where it is less likely to interfere with termcap applications.
6620
6621 960707
6622         + rollback Eric's #305 change to terminfo.src (it breaks existing
6623           applications, e.g., 'less 290').
6624         + correct path of edit_man.sh, and fix typo that made all man-pages
6625           preformatted.
6626         + restore man/menu_requestname.3x omitted in Zeyd's resync (oops).
6627         + auto-configure the GCC_PRINTFLIKE/GCC_SCANFLIKE macros (reported by
6628           Philippe De Muyter).
6629
6630 960706  - snapshot
6631         + make lib_vidattr.c more readable using macros.
6632         + filter out rmul, rmso that conflict with sgr0 when reading terminal
6633           descriptions.
6634         + added sanity-checking of various paired string attributes (Eric).
6635         + work around autoconf bug, force $INSTALL to absolute path.
6636           (reported by Zeyd).
6637         + modify man-page install for BSDI to install preformatted .0 files
6638           (reported by David MacKenzie).
6639         + add/use gcc __attribute__ for printf and scanf in curses.h
6640         + added SGR attributes test-case to ncurses
6641         + revised ncurses 't' logic to show trace-disable effect in the menu.
6642         + use getopt in ncurses program to process -s and -t options.
6643         + make ncurses 'p' legend toggle with '?'
6644         + disable scrollok during the ncurses 'p' test; if it is enabled the
6645           stdscr will scroll when putting the box-corners in the lower-right
6646           of the screen.
6647
6648 960629  - snapshot
6649         + check return code of _nc_mvcur_scrolln() in _nc_scroll_optimize() for
6650           terminals with no scrolling-support (reported by Nikolay Shadrin
6651           <queen@qh.mirea.ac.ru>)
6652         + added ^S scrollok-toggle to ncurses 'g' test.
6653         + added ^T trace-toggle to ncurses tests.
6654         + modified ncurses test program to use ^Q or ESC consistently for
6655           terminating tests (rather than ^D), and to use control keys rather
6656           than function keys in 'g' test.
6657         + corrected misplaced wclrtoeol calls in addch to accommodate wrapping
6658           (reported by Philippe De Muyter).
6659         + modify lib_doupdate.c to use effective costs to tradeoff between
6660           delete-character/insert-character vs normal updating (reported by
6661           David MacKenzie).
6662         + compute effective costs for screen update operations (e.g., clr_eos,
6663           delete_character).
6664         + corrected error in knight.c exposed by wrap fixes in 960622; the
6665           msgwin needed scrollok set.
6666         + corrected last change to IDcTransformLine logic to avoid conflict
6667           between PutRange and InsStr
6668         + modified run_tic.sh to not use /usr/tmp (reported by David
6669           MacKenzie), and further revised it and aclocal.m4 to use $TMPDIR if
6670           set.
6671         + corrected off-by-one in RoomFor call in read_entry.c
6672
6673 960622  - snapshot
6674         + modified logic that wraps cursor in addch to follow the XSI spec,
6675           (implemented in SVr4) which states that the cursor position is
6676           updated when wrapping.  Renamed _NEED_WRAP to _WRAPPED to reflect the
6677           actual semantics.
6678         + added -s option to tic, to provide better diagnostics in run_tic.sh
6679         + improved error-recovery for tabset install.
6680         + change ABI to 3.1 (dropped tparam, corrected getbkgd(), added
6681           _yoffset to WINDOW).
6682         + modified initialization of SP->_ofp so that init_acs() is called with
6683           the "right" file pointer (reported by Rick Marshall <rjm@nlc.net.au>
6684         + documentation fixes (Juergen Pfeifer).
6685         + corrected, using new SCREEN and WINDOW members, the behavior of
6686           ncurses if one uses ripoffline() to remove a line from the top of the
6687           screen (Juergen Pfeifer).
6688         + modified autoconf scripts to prepare for Ada95 (GNAT) binding to
6689           ncurses (Juergen Pfeifer).
6690         + incorrect buffer-size in _nc_read_entry, reported by Eric Raymond.
6691
6692 960617
6693         + corrected two logic errors in read_entry.c, write_entry.c (called by
6694           tic, the write/read of terminfo entries used inconsistent rules for
6695           locating the entries; the $TERMINFO_DIRS code would find only the
6696           first entry in a list).
6697         + refined pathname computation in run_tic.sh and shlib.
6698         + corrected initialization of $IP in misc/run_tic.sh
6699
6700 960615  - snapshot
6701         + ifdef'd out _nc_hash_map() call because it does not improve speed.
6702         + display version of gcc if configure script identifies it.
6703         + modify configure script to use /usr as Linux's default prefix.
6704         + modify run_tic.sh to use shlib script, fixes some problems installing
6705           with a shared-library configuration.
6706         + adjusted configure script so that it doesn't run tests with the
6707           warnings turned on, which makes config.log hard to read.
6708         + added 'lint' rule to top-level Makefile.
6709         + added configure option '--with-install-prefix' for use by system
6710           builders to install into staging locations (from request by
6711           charles@comm.polymtl.ca)
6712         + corrected autoconfigure for Debian man program; it's not installed
6713           as "man_db".
6714         + set noecho in 'worm'; it was ifdef'd for debug only
6715         + updated test/configure.in for timing-display in ncurses 'p' test
6716         + corrected misspelled 'getbkgd()'.
6717         + corrected wbkgdset to work like observed syvr4 (sets A_CHARTEXT part
6718           to blank if no character given, copies attributes to window's
6719           attributes).
6720         + modified lib_doupdate.c to use lower-level SP's current_attr state
6721           instead of curscr's state, since it is redundant.
6722         + correction to IDcTransformLine logic which controls where InsStr is
6723           invoked (refined by lav@yars.free.net).
6724         > patches 303 by eric
6725         + conditionally include Chris Torek's hash function _nc_hash_map().
6726         + better fix for nvi refresh-bug (Rick Marshall)
6727         + fix for bug in handling of interrupted keystroke waits,
6728           (Werner Fleck).
6729
6730 960601  - snapshot
6731         + auto-configure man-page compression-format and renames for Debian.
6732         + corrected several typos in curses.h.in (i.e., the mvXXXX macros).
6733         + re-order curses.priv.h for lint.
6734         + added rules for lintlib, lint
6735         + corrected ifdef for BROKEN_LINKER in MKnames.awk.in
6736         + corrected missing INSTALL_DATA in misc/Makefile.in
6737         + flush output when changing cursor-visibility (Rick Marshall)
6738         + fix a minor bug in the _nc_ripoff() routine and improve error
6739           checking when creating the label window (Juergen Pfeifer).
6740         + enhancement to the control over the new PC-style soft key format.
6741           allow caller now to select whether or not one wants to have
6742           the index-line; see curs_slk.3x for documentation (Juergen Pfeifer).
6743         + typos, don't use inline with -g (Philippe De Muyter)
6744         + fixes for menus & wattr-, slk-functions (Juergen Pfeifer)
6745
6746 960526  - snapshot
6747         + removed --with-ticdir option altogether, maintain compatibility with
6748           existing applications via symbolic link in run_tic.sh
6749         + patch for termio.h, signal (Philippe De Muyter)
6750         + auto-configure gcc warning options rather than infer from version.
6751         + auto-configure __attribute__ for different gcc versions.
6752         + corrected special use of clearok() in hardscroll.c by resetting flag
6753           in wrefresh().
6754         + include stdlib.h before defs for EXIT_SUCCESS, for OSF/1.
6755         + include sys/types.h in case stdlib.h does not declare size_t.
6756         + fixes for makefile (Tim Mooney)
6757         + fixes for menus & forms (Juergen.Pfeifer@T-Online.de)
6758
6759 960518  - snapshot
6760         + revised ncurses.c panner test, let pad abut all 4 sides of screen.
6761         + refined case in lib_doupdate.c for ClrToEOL().
6762         + corrected prior change for PutRange (Alexander V.  Lukyanov:
6763           lav@yars.free.net).
6764         + autoconf mods (Tim Mooney: mooney@dogbert.cc.ndsu.NoDak.edu).
6765         + locale fix for forms (Philippe De Muyter: phdemuyt@ulb.ac.be)
6766         + renamed "--with-datadir" option to "--with-ticdir" to avoid
6767           confusion, and made this check for the /usr/lib/terminfo pre-existing
6768           directory.
6769         > patches 299-301 by eric:
6770         + added hashmap.c
6771         + mods to tracing, especially for ACS chars.
6772         + corrected off-by-one in IDCtransform.
6773         + corrected intermittent mouse bug by using return-value from read().
6774         + mods to parse_entry.c, for smarter defaults.
6775
6776 960512
6777         + use getopt in 'tic'; added -L option and modified -e option to allow
6778           list from a file.
6779
6780 960511
6781         + don't use fixed buffer-size in tparm().
6782         + modified tic to create terminfo directory if it doesn't exist.
6783         + added -T options to tic and infocmp (for testing/analysis)
6784         + refined the length criteria for termcap and terminfo
6785         + optimize lib_doupdate with memcpy, PutRange
6786         > patches 297, 298 by eric
6787         + implement TERMINFO_DIRS, and -o option of tic
6788         + added TRACE_IEVENT
6789         + removed boolean version of 'getm'
6790         + added lib_print.c (for Rick Marshall)
6791         + added has_key()
6792         + added 't' to ncurses.c test.
6793         + moved delay_output() to lib_tputs.c
6794         + removed tparam() (was added in 1.9.9, but conflicts with emacs and
6795           is not part of X/Open Curses).
6796         + misc cursor & optimization fixes.
6797
6798 960504  - snapshot
6799         + modified ncurses 'p' test to allow full-screen range for panner size.
6800         + fixes for locale (phdm@labauto1.ulb.ac.be)
6801         + don't use fixed buffer-size in fmt_entry().
6802         + added usage-message to 'infocmp'.
6803         + modified install.includes rules to prepend subdirectory-name to
6804           "#include" if needed.
6805
6806 960430
6807         + protect wrefresh, wnoutrefresh from invocation with pad argument.
6808         + corrected default CCFLAGS in test/Makefile.
6809
6810 960428  - snapshot
6811         + implemented logic to support terminals with background color erase
6812           (e.g., rxvt and the newer color xterm).
6813         + improved screen update logic (off-by-one logic error; use clr_eos if
6814           possible)
6815
6816 960426  - snapshot
6817         + change ncurses 'a' test to run in raw mode.
6818         + make TIOCGWINSZ configure test less stringent, in case user
6819           configures via terminal that cannot get screen size.
6820         > patches 295, 296 by eric:
6821         + new "-e" option of tic.
6822         + fix for "infocmp -e".
6823         + restore working-directory in read_termcap.c
6824         + split lib_kernel.c, lib_setup.c and names.c in order to reduce
6825           overhead for programs that use only termcap features.
6826
6827 960418  - snapshot
6828         + use autoconf 2.9
6829         + fix for AIX 3.2.5 (must define _POSIX_SOURCE to get termios struct
6830           definitions via <termios.h>, modified macros in lib_raw.c to avoid
6831           K&R-style substitution)
6832         > patches 293, 294 by eric:
6833         + mods to wgetch() in cooked mode
6834         + corrected askuser() logic in tset
6835         + correct interaction of endwin() with mouse processing
6836         + added trace support for TTY flags
6837
6838 960406
6839         + fixes for NeXT, ISC and HPUX auto-configure
6840         + autogenerate development header-dependencies (config.h, *.priv.h)
6841         + corrected single-column formatting of "use=" (e.g., in tic)
6842         + modify tic to read full terminfo-names
6843         + corrected divide-by-zero that caused hang (or worse) when redirecting
6844           output
6845         + modify tic to generate directories only as-needed (and corrected
6846           instance of use of data from function that had already returned).
6847
6848 ### ncurses-1.9.8a -> 1.9.9e
6849
6850 * fixed broken wsyncup()/wysncdown(), as a result wnoutrefresh() now has
6851   copy-changed-lines behavior.
6852 * added and documented wresize() function.
6853 * more fixes to LOWER-RIGHT corner handling.
6854 * changed the line-breakout optimization code to allow some lines to be
6855   emitted before the first check.
6856 * added option for tic to use symbolic instead of hard links (for AFS)
6857 * fix to restore auto-wrap mode.
6858 * trace level can be controlled by environment variable.
6859 * better handling of NULs in terminal descriptions.
6860 * improved compatibility with observed SVR4 behavior.
6861 * the refresh behavior of over-lapping windows is now more efficient and
6862   behaves like SVR4.
6863 * use autoconf 2.7, which results in a working setup for SCO 5.0.
6864 * support for ESCDELAY.
6865 * small fixes for menu/form code.
6866 * the test directory has its own configure.
6867 * fixes to pads when optimizing scrolling.
6868 * fixed several off-by-one bugs.
6869 * fixes for termcap->terminfo translation; less restrictions more correct
6870   behavior.
6871
6872 ### ncurses-1.9.7 -> 1.9.8a
6873
6874 * teach infocmp -i to recognize ECMA highlight sequences
6875 * infocmp now dumps all SVr4 termcaps (not just the SVr4 ones) on -C
6876 * support infocmp -RBSD.
6877 * satisfy XSI Curses requirement that every macro be available as a function.
6878 * This represents the last big change to the public interface of ncurses. The
6879   ABI_VERSION has now been set at 3.0 and should stay there barring any great
6880   catastrophies or acts of God.
6881 * The C++ has been cleaned up in reaction to the changes to satisfy XSI's
6882   requirements.
6883 * libncurses now gets linked to libcurses to help seamless emulation
6884   (replacement) of a vendor's curses. --disable-overwrite turns this behavior
6885   off.
6886
6887 ### ncurses-1.9.6 -> 1.9.7
6888
6889 * corrected return values of setupterm()
6890 * Fixed some bugs in tput (it does padding now)
6891 * fixed a bug in tic that made it do the wrong thing on entries with more than
6892   one `use' capability.
6893 * corrected the screen-size calculation at startup time to alter the
6894   numeric capabilities as per SVr4, not just LINES and COLS.
6895 * toe(1) introduced; does what infocmp -T used to.
6896 * tic(1) can now translate AIX box1 and font[0123] capabilities.
6897 * tic uses much less core, the dotic.sh kluge can go away now.
6898 * fix read_entry() and write_entry() to pass through cancelled capabilities OK.
6899 * Add $HOME/.terminfo as source/target directory for terminfo entries.
6900 * termcap compilation now automatically dumps an entry to $HOME/.terminfo.
6901 * added -h option to toe(1).
6902 * added -R option to tic(1) and infocmp(1).
6903 * added fallback-entry-list feature.
6904 * added -i option to infocmp(1).
6905 * do a better job at detecting if we're on SCO.
6906
6907 ### ncurses-1.9.5 -> 1.9.6
6908
6909 * handling of TERMCAP environment variables now works correctly.
6910 * various changes to shorten termcap translations to less that 1024 chars.
6911 * tset(1) added
6912 * mouse support for xterm.
6913 * most data tables are now const and accordingly live in shareable text space.
6914 * Obey the XPG4/SVr4 practice that echo() is initally off.
6915 * tic is much better at translating XENIX and AIX termcap entries now.
6916 * tic can interpret ko capabilities now.
6917 * integrated Juergen Pfeifer's forms library.
6918 * taught write_entry() how not to write more than it needs to; this change
6919   reduces the size of the terminfo tree by a full 26%!
6920 * infocmp -T option added.
6921 * better warnings about historical tic quirks from tic.
6922
6923 ### ncurses 1.9.4 -> 1.9.5
6924
6925 * menus library is now included with documentation.
6926 * lib_mvcur has been carefully profiled and tuned.
6927 * Fixed a ^Z-handling bug that was tanking lynx(1).
6928 * HJ Lu's patches for ELF shared libraries under Linux
6929 * terminfo.src 9.8.2
6930 * tweaks for compiling in seperate directories.
6931 * Thomas Dickey's patches to support NeXT's brain-dead linker
6932 * Eric Raymond's patches to fix problems with long termcap entries.
6933 * more support for shared libraries under SunOS and IRIX.
6934
6935 ### ncurses 1.9.3 -> 1.9.4
6936
6937 * fixed an undefined-order-of-evaluation bug in lib_acs.c
6938 * systematically gave non-API public functions and data an _nc_ prefix.
6939 * integrated Juergen Pfeifer's menu code into the distribution.
6940 * totally rewrote the knight test game's interface
6941
6942 ### ncurses 1.9.2c -> 1.9.3
6943
6944 * fixed the TERMCAP_FILE Support.
6945 * fixed off-by-one errors in scrolling code
6946 * added tracemunch to the test tools
6947 * took steps to cut the running time of make install.data
6948
6949 ### ncurses 1.9.2c -> 1.9.2d
6950
6951 * revised 'configure' script to produce libraries for normal, debug,
6952   profile and shared object models.
6953
6954 ### ncurses 1.9.1 -> 1.9.2
6955
6956 * use 'autoconf' to implement 'configure' script.
6957 * panels support added
6958 * tic now checks for excessively long termcap entries when doing translation
6959 * first cut at eliminating namespace pollution.
6960
6961 ### ncurses 1.8.9 -> 1.9
6962
6963 * cleanup gcc warnings for the following: use size_t where 'int' is not
6964   appropriate, fixed some shadowed variables, change attr_t to compatible with
6965   chtype, use attr_t in some places where it was confused with 'int'.
6966 * use chtype/attr_t casts as appropriate to ensure portability of masking
6967   operations.
6968 * added-back waddchnstr() to lib_addstr.c (it had been deleted).
6969 * supplied missing prototypes in curses.h
6970 * include <termcap.h> in lib_termcap.c to ensure that the prototypes
6971   are consistent (they weren't).
6972 * corrected prototype of tputs in <termcap.h>
6973 * rewrote varargs parsing in lib_tparm.c (to avoid referencing memory
6974   that may be out of bounds on the stack) -- Purify found this.
6975 * ensure that TRACE is defined in lib_trace.c (to solve prototype
6976   warnings from gcc).
6977 * corrected scrolling-region size in 'mvcur_wrap()'
6978 * more spelling fixes
6979 * use 'calloc()' to allocate WINDOW struct in lib_newwin.c (Purify).
6980 * set default value for SP->_ofp in lib_set_term.c (otherwise SunOS dumps
6981   core in init_acs()).
6982 * include <errno.h> in write_entry.c (most "braindead" includes declare errno
6983   in that file).
6984
6985 ### ncurses 1.8.8 -> 1.8.9
6986
6987 * compile (mostly) clean with gcc 2.5.8 -Wall -Wstrict-prototypes
6988   -Wmissing-prototypes -Wconversion and using __attribute__ to flush out
6989   non-portable use of "%x" for pointers, or for chtype data (which is declared
6990   as a long).
6991 * modified doupdate to ensure that typahead was turned on before attempting
6992   select-call (otherwise, some implementations hang).
6993 * added trace mask TRACE_FIFO, use this in lib_getch.c to allow finer
6994   resolution of traces.
6995 * improved bounds checking on several critical functions.
6996 * the data directory has been replaced by the new master terminfo file.
6997 * -F file-comparison option added to infocmp.
6998 * compatibility with XSI Curses is now documented in the man bages.
6999 * wsyncup/wsyncdown functions are reliable now; subwindow code in general
7000   is much less flaky.
7001 * capabilities ~msgr, tilde_glitch, insert_padding, generic_type, no_pad_char,
7002   memory_above, memory_below, and hard_copy are now used properly.
7003 * cursor-movement optimization has been completely rewritten.
7004 * vertical-movement optimization now uses hardware scrolling, il, dl.
7005
7006 ### ncurses 1.8.7 -> 1.8.8
7007 * untic no longer exists, infocmp replaces it.
7008 * tic can understand termcap now, especially if it is called captoinfo.
7009 * The Linux Standard Console terminfo entry is called linux insead of console.
7010   It also uses the kernel's new method of changing charsets.
7011 * initscr() will EXIT upon error (as the docs say) This wil mostly happen if
7012   you try to run on an undefined terminal.
7013 * I can get things running on AIX but tic can't compile terminfo. I have to
7014   compile entries on another machine. Volunteers to hunt this bug are welcome.
7015 * wbkgd() and wbkgdset() can be used to set a windows background to color.
7016   wclear()/werase() DO NOT use the current attribute to clear the screen.
7017   This is the way SVR4 curses works. PDCurses 2.1 is broken in this respect,
7018   though PDCurses 2.2 has been fixed.
7019 * cleaned up the test/ directory.
7020 * test/worm will segfault after quite a while.
7021 * many spelling corrections courtesy of Thomas E. Dickey
7022
7023 ### ncurses 1.8.6 -> 1.8.7
7024 * cleaned up programs in test/ directory.
7025 * fixed wbkgdset() macro.
7026 * modified getstr() to stop it from advancing cursor in noecho mode.
7027 * modified linux terminfo entry to work with the latest kernel to get
7028   the correct alternate character set.
7029 * also added a linux-mono entry for those running on monochrome screens.
7030 * changed initscr() so that it behaves like the man page says it does.
7031   this fixes the problem with programs in test/ crashing with SIGSEV if
7032   a terminal is undefined.
7033 * modified addch() to avoid using any term.h #define's
7034 * removed duplicate tgoto() in lib_tparm.c
7035 * modified dump_entry.c so that infocmp deals correctly with ',' in acsc
7036 * modified delwin() to correctly handle deleting subwindows.
7037 * fixed Makefile.dist to stop installing an empty curses.h
7038 * fixed a couple of out-of-date notes in man pages.
7039
7040 ### ncurses 1.8.5 -> 1.8.6
7041 * Implemented wbkgd(), bkgd(), bkgdset(), and wbkgdset().
7042 * The handling of attributes has been improved and now does not turn off color
7043   if other attributes are turned off.
7044 * scrolling code is improved. Scrolling in subwindows is still broken.
7045 * Fixes to several bugs that manifest them on platforms other than Linux.
7046 * The default to meta now depends on the status of the terminal when ncurses
7047   is started.
7048 * The interface to the tracing facility has changed.  Instead of the pair of
7049   functions traceon() and traceoff(), there is just one function trace() which
7050   takes a trace mask argument.  The trace masks, defined in curses.h, are
7051   as follows:
7052
7053         #define TRACE_DISABLE   0x00    /* turn off tracing */
7054         #define TRACE_ORDINARY  0x01    /* ordinary trace mode */
7055         #define TRACE_CHARPUT   0x02    /* also trace all character outputs */
7056         #define TRACE_MAXIMUM   0x0f    /* maximum trace level */
7057
7058   More trace masks may be added, or these may be changed, in future releases.
7059 * The pad code has been improved and the pad test code in test/ncurses.c has
7060   been improved.
7061 * The prototype ansi entry has been changed to work with a wider variety
7062   of emulators.
7063 * Fix to the prototype ansi entry that enables it to work with PC emulators
7064   that treat trailing ";m" in a highlight sequence as ";0m"; this doesn't
7065   break operation with any emulators.
7066 * There are now working infocmp, captoinfo, tput, and tclear utilities.
7067 * tic can now compile entries in termcap syntax.
7068 * Core-dump bug in pnoutrefresh fixed.
7069 * We now recognize and compile all the nonstandard capabilities in Ross
7070   Ridge's mytinfo package (rendering it obsolete).
7071 * General cleanup and documentation improvements.
7072 * Fixes and additions to the installation-documentation files.
7073 * Take cursor to normal mode on endwin.
7074
7075 ### ncurses 1.8.4 -> 1.8.5
7076 * serious bugs in updating screen which caused erratic non-display,
7077   fixed.
7078 * fixed initialization for getch() related variable which cause
7079   unpredictable results.
7080 * fixed another doupdate bug which only appeared if you have
7081   parm_char.
7082 * implemented redrawln() and redrawwin().
7083 * implemented winsnstr() and related functions.
7084 * cleaned up insertln() and deleteln() and implemented (w)insdeln().
7085 * changed Makefile.dist so that installation of man pages will
7086   take note of the terminfo directory.
7087 * fixed Configure (removed the mysterious 'X').
7088 * Eric S. Raymond fixed the script.* files so that they work with
7089   stock awk.
7090
7091 #### ncurses 1.8.3 -> 1.8.4 #### ####
7092 * fixed bug in refreshing the screen after return from shell_mode.
7093   There are still problems but they don't manifest themselves on
7094   my machine (Linux 0.99.14f).
7095 * added wgetnstr() and modified things accordingly.
7096 * fixed the script.src script.test to work with awk not just gawk.
7097 * Configure can now take an argument of the target system.
7098 * added test/ncurses.c which replaces several other programs and
7099   performs more testing.
7100 [Thanks to Eric S Raymond for the last 4]
7101 * more fixes to lib_overlay.c and added test/over.c to illustrate
7102   how it works.
7103 * fixed ungetch() to take int instead of ch.
7104 * fixes to cure wgetch() if flushinp() is called.
7105
7106 One note I forgot to mention in 1.8.3 is that tracing is off by
7107 default starting in the version. If you want tracing output, put
7108 traceon(); in your code and link with -ldcurses.
7109
7110 #### ncurses 1.8.2 -> ncurses 1.8.3 #### ####
7111 MAJOR CHANGES:
7112 1) The order of capabilities has been changed in order to achieve
7113 binary compatibility with SVR4 terminfo database. This has the
7114 unfortunate effect of breaking application currently linked with
7115 ncurses. To ensure correct behavior, recompile all such programs.
7116 Most programs using color or newer capabilities will break, others
7117 will probably continue to work ok.
7118
7119 2) Pavel Curtis has renounced his copyright to the public domain.
7120 This means that his original sources (posted to comp.sources.unix,
7121 volume 1) are now in the public domain.  The current sources are
7122 NOT in the public domain, they are copyrighted by me.  I'm
7123 entertaining ideas on what the new terms ncurses is released under.
7124
7125 3) Eric S. Raymond has supplied a complete set of man pages for
7126 ncurses in ?roff format. They will eventually replace most of the
7127 current docs. Both sets are included in this release.
7128
7129 Other changes and notes from 1.8.2 include:
7130 * SIGSEGV during scrolling no longer occurs.
7131 * Other problems with scrolling and use of idl have been corrected.
7132 * lib_getch.c has been re-written and should perform flawlessly.
7133   please use test/getch.c and any other programs to test this.
7134 * ripoffline() is implemented (Thanks to Eric) and slk_ functions
7135   changed accordingly.
7136 * I've added support for terminals that scroll if you write in the
7137   bottom-right corner.
7138 * fixed more bugs in pads code. If anybody has a program that uses
7139   pads I'd love a copy.
7140 * correct handling for terminal with back_color_erase capability
7141   (such as Linux console, and most PC terminals)
7142 * ^Z handling apparently didn't work (I should never trust code
7143   sent me to me without extensive testing). It now seems to be
7144   fixed. Let me know if you have problems.
7145 * I've added support for Apollo and NeXT, but it may still be
7146   incomplete, especially when dealing with the lack of POSIX
7147   features.
7148 * scrolling should be more efficient on terminals with idl
7149   capabilities. Please see src/lib_scroll.c for more notes.
7150 * The line drawing routines were offset by 1 at both ends. This
7151   is now fixed.
7152 * added a few missing prototypes and macros (e.g. setterm())
7153 * fixed code in src/lib_overlay.c which used to crash.
7154 * added a few more programs in test/ The ones from the PDCurses
7155   package are useful, especially if you have SVR4 proper. I'm
7156   interested in the results you get on such a systems (Eric? ;-).
7157   They already exposed certain bugs in ncurses.
7158 * See src/README for porting notes.
7159 * The C++ code should really replace ncurses.h instead of working
7160   around it. It should avoid name-space clashes with nterm.h (use
7161   rows instead of lines, etc.)
7162 * The C++ should compile ok. I've added explicit rules to the
7163   Makefile because no C++ defaults are documented on the suns.
7164 * The docs say that echo() and nocbreak() are mutually exclusive.
7165   At the moment ncurses will switch to cbreak() if the case above
7166   occurs. Should it continue to do so? How about echo() and noraw()?
7167 * PDCurses seem to assume that wclear() will use current attribute
7168   when clearing the screen. According to Eric this is not the case
7169   with SVR4.
7170 * I have discovered, to my chagrin, SunOS 4.x (and probably other systems)
7171   * doesn't have vsscanf and God knows what else!  I've will do a vsscanf().
7172 * I've also found out that the src/script.* rely on gawk and will not
7173   work with stock awk or even with nawk. Any changes are welcome.
7174 * Linux is more tolerant of NULL dereferences than most systems. This
7175   fact was exposed by hanoi.
7176 * ncurses still seems inefficient in drawing the screen on a serial
7177   link between Linux and suns. The padding may be the culprit.
7178 * There seems to be one lingering problem with doupdate() after shelling
7179   out. Despite the fact the it is sending out the correct information
7180   to the terminal, nothing takes effect until you press ^L or another
7181   refresh takes place. And yes, output does get flushed.
7182
7183 #### ncurses 1.8.1 -> ncurses 1.8.2 #### Nov 28, 1993 ####
7184
7185 * added support for SVR4 and BSDI's BSD/386.
7186 * major update and fix to scrolling routine.
7187 * MORE fixes to stuff in lib_getch.c.
7188 * cleaned-up configuration options and can now generate
7189         Config.* files through an awk script.
7190 * changed setupterm() so it can be called more than once,
7191         add added set_curterm(), del_curterm().
7192 * a few minor cleanups.
7193 * added more prototypes in curses.h
7194
7195 #### ncurses 1.8 -> ncurses 1.8.1 #### Nov 4, 1993 ####
7196
7197 * added support for NeXTStep 3.0
7198 * added termcap emulation (not well tested).
7199 * more complete C++ interface to ncurses.
7200 * fixed overlay(), overwrite(), and added copywin().
7201 * a couple of bug fixes.
7202 * a few code cleanups.
7203
7204 #### ncurses 0.7.2/0.7.3 -> ncurses 1.8 #### Aug 31, 1993 ####
7205
7206 * The annoying message "can't open file." was due to missing
7207   terminfo entry for the used terminal. It has now been
7208   replaced by a hopefully more helpful message.
7209 * Problems with running on serial lines are now fixed.
7210 * Added configuration files for SunOS, Linux, HP/UX, Ultrix,
7211   386bsd/BSDI (if you have others send'em to me)
7212 * Cleaner Makefile.
7213 * The documentation in manual.doc is now more uptodate.
7214 * update optimization and support for hp terminals, and 386bsd
7215   console driver(s).
7216 * mvcur optimization for terminals without cursor addressing
7217   (doesn't work on Linux)
7218 * if cursor moved since last update, getch() will refresh the
7219   screen before working.
7220 * getch() & alarm() can now live together. in 0.7.3 a signal
7221   interrupted getch() (bug or feature?) now the getch is
7222   restarted.
7223 * scanw() et all were sick, now fixed.
7224 * support for 8-bit input (use meta()).
7225 * added default screen size to all terminfos.
7226 * added c++ Ncursesw class.
7227 * several minor bug fixes.
7228
7229 #### ncurses 0.7.2 -> ncurses 0.7.3 #### May 27, 1993 ####
7230
7231 * Config file to cope with different platforms (386BSD, BSDI, Ultrix, SunOS)
7232 * more fixes to lib_getch.c
7233 * changes related to Config
7234
7235 #### ncurses 0.7 -> ncurses 0.7.2 #### May 22, 1993 ####
7236
7237 * docs updated slightly (color usage is now documented).
7238 * yet another fix for getch(), this one fixes problems with ESC being swallowed
7239   if another character is typed before the 1 second timeout.
7240 * Hopefully, addstr() and addch() are 8-bit clean.
7241 * fixed lib_tparm.c to use stdarg.h (should run on suns now)
7242 * order of capabilities changed to reflect that specified in SYSV
7243   this will allow for binary-compatibility with existing terminfo dbs.
7244 * added halfdelay()
7245 * fixed problems with asc_init()
7246 * added A_PROTECT and A_INVIS
7247 * cleaned up vidputs()
7248 * general cleanup of the code
7249 * more attention to portability to other systems
7250 * added terminfos for hp70092 (wont work until changes to lib_update.c are
7251   made) and 386BSD pcvt drivers.
7252
7253 Thanks to Hellmuth Michaelis for his help.
7254 optimization code is slated for the next major release, stay tuned!
7255
7256 #### ncurses 0.6/0.61 -> ncurses 0.7 #### April 1, 1993
7257 Please note that the next release will be called 1.8. If you want to know about
7258 the rationale drop me a line.
7259
7260 Included are several test programs in test/.
7261 I've split up the panels library, reversi, tetris, sokoban. They are now
7262 available separately from netcom.com:pub/zmbenhal/
7263
7264 * color and ACS support is now fully compatible with SYSV at the terminfo
7265   level.
7266 * Capabilities now includes as many SYSV caps I could find.
7267 * tigetflag,tigetnum,tigetstr functions added.
7268 * boolnames, boolfnames, boolcodes numnames, numfnames, numcodes,
7269   strnames, strfnames, strcodes arrays are now added.
7270 * keyname() is added.
7271 * All function keys can be defined in terminfo entries.
7272 * fixed lin_tparm.c to behave properly.
7273 * terminfo entries for vt* and xterm are included (improvements are welcome)
7274 * more automation in handling caps and keys.
7275 * included fixes from 0.6.1
7276 * added a few more missing functions.
7277 * fixed a couple of minor bugs.
7278 * updated docs JUST a little (still miles behind in documenting the newer
7279         features).
7280
7281 #### ncurses 0.6 -> ncurses 0.61 ####
7282
7283 1) Included the missing data/console.
7284
7285 2) allow attributes when drawing boxes.
7286
7287 3) corrected usage of win->_delay value.
7288
7289 4) fixed a bug in lib_getch.c. if it didn't recognize a sequence it would
7290         simply return the last character in the sequence. The correct
7291         behavior is to return the entire sequence one character at a time.
7292
7293 #### ncurses0.5 -> ncurses0.6 #### March 1, 1993 ####
7294 * removed _numchngd from struct _win_st and made appropriate changes.
7295 * rewritten kgetch() to remove problems with interaction between alarm and
7296   read(). It caused SIGSEGV every now and then.
7297 * fixed a bug that miscounted the numbers of columns when updating.
7298   (in lib_doupdate.c(ClrUpdate() -- iterate to columns not columns-1)
7299 * fixed a bug that cause the lower-right corner to be incorrect.
7300   (in lib_doupdate.c(putChar() -- check against columns not columns-1)
7301 * made resize() and cleanup() static to lib_newterm.c
7302 * added notimeout().
7303 * added timeout() define in curses.h
7304 * added more function prototypes and fixed napms.
7305 * added use_env().
7306 * moved screen size detection to lib_setup.c.
7307 * fixed newterm() to confirm to prototype.
7308 * removed SIGWINCH support as SYSV does not define its semantics.
7309 * cleaned-up lib_touch.c
7310 * added waddnstr() and relatives.
7311 * added slk_* support.
7312 * fixed a bug in wdeleteln().
7313 * added PANEL library.
7314 * modified Makefile for smoother installation.
7315 * terminfo.h is really term.h
7316
7317 #### ncurses 0.4 -> ncurses 0.5 #### Feb 14, 1993 ####
7318 * changed _win_st structure to allow support for missing functionality.
7319 * Addition of terminfo support for all KEY_*.
7320 * Support for nodelay(), timeout(), notimeout().
7321 * fixed a bug with the keypad char reading that did not return ESC until
7322   another key is pressed.
7323 * nl mapping no longer occur on output (as should be)
7324   fixed bug '\n' no causing a LF.
7325 * fixed bug that reset terminal colors regardless of whether we use color
7326   or not.
7327 * Better support for ACS (not quite complete).
7328 * fixed bug in wvline().
7329 * added curs_set().
7330 * changed from signal() to sigaction().
7331 * re-included the contents of important.patch into source.
7332
7333 #### ncurses 0.3 -> ncurses 0.4 #### Feb 3, 1993 ####
7334 * Addition of more KEY_* definitions.
7335 * Addition of function prototypes.
7336 * Addition of several missing functions.
7337 * No more crashes if screen size is undefined (use SIGWINCH handler).
7338 * added a handler to cleanup after SIGSEGV (hopefully never needed).
7339 * changed SRCDIR from /etc/term to /usr/lib/terminfo.
7340 * renamed compile/dump to tic/untic.
7341 * New scrolling code.
7342 * fixed bug that reversed the sense of nl() and nonl().
7343
7344 #### ncurses 0.2 -> ncurses 0.3 #### Jan 20, 1993 ####
7345 * more support for color and graphics see test/ for examples.
7346 * fixed various files to allow correct update after shelling out.
7347 * more fixes for updates.
7348 * no more core dumps if you don't have a terminfo entry.
7349 * support for LINES and COLUMNS environment variables.
7350 * support for SIGWINCH signal.
7351 * added a handler for SIGINT for clean exits.
7352
7353 #### ncurses 0.1 -> ncurses 0.2 #### Aug 14, 1992 ####
7354 * support for color.
7355 * support for PC graphic characters.
7356 * lib_trace.c updated to use stdarg.h and vprintf routines.
7357 * added gdc.c (Great Digital Clock) as an example of using color.
7358
7359 #### ncurses -> ncurses 0.1 #### Jul 31, 1992 ####
7360 * replacing sgtty stuff by termios stuff.
7361 * ANSIfication of some functions.
7362 * Disabling cost analysis 'cause it's incorrect.
7363 * A quick hack for a terminfo entry.