274f0815b6b8af0740bc0a1421a70f9b5fe1bc66
[ncurses.git] / NEWS
1 -- $Id: NEWS,v 1.504 1999/10/24 00:31:05 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 19991023 5.0 release for upload to ftp.gnu.org
10         + effective with release of 5.0, change NCURSES_VERSION_PATCH to
11           4-digit year.
12         + add function curses_version(), to return ncurses library version
13           (request by Bob van der Poel).
14         + remove rmam, smam from cygwin terminfo entry.
15         + modify FreeBSD cons25 terminfo entry to add cnorm and cvvis, as well
16           as update ncv to indicate that 'dim' conflicts with colors.
17         + modify configure script to use symbolic links for FreeBSD shared
18           libraries by default.
19         + correct ranf() function in rain and worm programs to ensure it does
20           not return 1.0
21         + hide the cursor in hanoi.c if it is running automatically.
22         + amend lrtest.c to account for optimizations that exploit margin
23           wrapping.
24         + add a simple terminfo demo, dots.c
25         + modify SIGINT/SIGQUIT handler to set a flag used in _nc_outch() to
26           tell it to use write() rather than putc(), since the latter is not
27           safe in a signal handler according to POSIX.
28         + add/use internal macros _nc_flush() and NC_OUTPUT to hide details
29           of output-file pointer in ncurses library.
30         + uncomment CC_SHARED_OPTS (see 971115), since they are needed for SCO
31           OpenServer.
32         + correct CC_SHARED_OPTS for building shared libraries for SCO
33           OpenServer.
34         + remove usleep() from alternatives in napms(), since it may interact
35           with alarm(), causing a process to be interrupted by SIGALRM (with
36           advice from Bela Lubkin).
37         + modify terminal_interface-curses-forms.ads.m4 to build/work with
38           GNAT 3.10 (patch by Juergen Pfeifer).
39         + remove part of CF_GPP_LIBRARY configure-script macro, which did not
40           work with gcc 2.7.2.3
41         + minor fix to test/tclock.c to avoid beeping more than once per second
42         + add 's' and ' ' decoding to test/rain.c
43
44 991016  pre-release
45         + corrected BeOS code for lib_twait.c, making nodelay() function work.
46
47 991009  pre-release
48         + correct ncurses' value for cursor-column in PutCharLR(), which was
49           off-by-one in one case (patch by Ilya Zakharevich).
50         + fix some minor errors in position_check() debugging code, found while
51           using this to validate the PutCharLR() patch.
52         + modify firework, lrtest, worm examples to be resizable, and to
53           recognize 'q' for quit, 's' for single-step and ' ' for resume.
54         + restore reverted change to  terminal_interface-curses-forms.ads.m4,
55           add a note on building with gnat 3.10p to Ada95/TODO.
56         + add a copy of the standalone configure script for the test-directory
57           to simplify testing on SCO and Solaris.
58
59 991002  pre-release
60         + minor fixes for _nc_msec_cost(), color_content(), pair_content(),
61           _nc_freewin(), ClrBottom() and onscreen_mvcur() (analysis by Philippe
62           Blain, comments by Alexander Lukyanov).
63         + simplify definition of PANEL and eliminate internal functions
64           _nc_calculate_obscure(), _nc_free_obscure() and _nc_override(),
65           (patch by Juergen Pfeifer, based on analysis by Philippe Blain
66           <bledp@voila.fr>)).
67         + change renaming of dft_fgbg.3x to use_default_colors.3ncurses in
68           man_db.renames, since Debian is not concerned with 14-character
69           filename limitation (from Debian bug report by Josip Rodin
70           <joy@cibalia.gkvk.hr>).
71         + corrected scoansi terminfo entry by testing with scoterm and console.
72         + revert change from 990614 to terminal_interface-curses-forms.ads.m4,
73           since this does not work for gnat 3.10p
74         + modify tclock example to be resizable (if ncurses' sigwinch handler
75           is used), and in color.
76         + use $(CC) rather than 'gcc' in MK_SHARED_LIB symbols, used for Linux
77           shared library rules.
78
79 990925  pre-release
80         + add newer NetBSD console terminfo entries
81         + add amiga-8bit terminfo entry (from Henning 'Faroul' Peters
82           <Faroul@beyond.kn-bremen.de>)
83         + remove -lcurses -ltermcap from configure script's check for the gpm
84           library, since they are not really necessary (a properly configured
85           gpm library has no dependency on any curses library), and if the
86           curses library is not installed, this would cause the test to fail.
87         + modify tic's -C option so that terminfo "use=" clauses are translated
88           to "tc=" clauses even when running it as captoinfo.
89         + modify CF_STDCPP_LIBRARY configure macro to perform its check only
90           for GNU C++, since that library conflicts with SGI's libC on IRIX-6.2
91         + modify CF_SHARED_OPTS configure macro to support build on NetBSD with
92           ELF libraries (patch by Bernd Ernesti <bernd@arresum.inka.de>).
93         + correct a problem in libpanel, where the _nc_top_panel variable was
94           not set properly when bottom_panel() is called to hide a panel which
95           is the only one on the stack (report/analysis by Michael Andres
96           <ma@suse.de>, patch by Juergen Pfeifer).
97
98 990918  pre-release
99         + add acsc string to HP 70092 terminfo entry (patch by Joerg Wunsch
100           <j@interface-business.de>).
101         + add top-level uninstall.data and uninstall.man makefile rules.
102         + correct logic of CF_LINK_FUNCS configure script, from BeOS changes so
103           that hard-links work on Unix again.
104         + change default value of cf_cv_builtin_bool to 1 as suggested by
105           Jeremy Buhler, making it less likely that a conflicting declaration
106           of bool will be seen when compiling with C++.
107
108 990911  pre-release
109         + improved configure checks for builtin.h
110         + minor changes to C++ binding (remove static initializations, and make
111           configure-test for parameter initializations) for features not
112           allowed by vendor's C++ compilers (reported by Martin Mokrejs, this
113           applies to SGI, though I found SCO has the same characteristics).
114         + corrected quoting of ETIP_xxx definitions which support old versions
115           of g++, e.g., those using -lg++
116         + remove 'L' code from safe_sprintf.c, since 'long double' is not
117           widely portable.  safe_sprintf.c is experimental, however, and
118           exists mainly as a fallback for systems without snprintf (reported
119           by Martin Mokrejs <mmokrejs@natur.cuni.cz>, for IRIX 6.2)
120         + modify definition of _nc_tinfo_fkeys in broken-linker configuration
121           so that it is not unnecessarily made extern (Jeffrey C Honig).
122
123 990904  pre-release
124         + move definition for builtin.h in configure tests to specific check
125           for libg++, since qt uses the same filename incompatibly.
126         + correct logic of lib_termcap.c tgetstr function, which did not copy
127           the result to the buffer parameter.  Testing shows Solaris does
128           update this, though of course tgetent's buffer is untouched (from
129           mpc.lists.freebsd.current newsgroup item by Peter Edwards
130           <peter.edwards@ireland.com>).
131         + corrected beterm terminfo entry, which lists some capabilities which
132           are not actually provided by the BeOS Terminal.
133         + add special logic to replace select() calls on BeOS, whose select()
134           function works only for sockets.
135         + correct missing escape in mkterm.h.awk.in, which caused part
136           of the copyright noticed to be omitted (reported by Peter
137           Wemm <peter@netplex.com.au>).
138         > several small changes to make the c++ binding and demo work on OS/2
139           EMX (related to a clean reinstall of EMX):
140         + correct library-prefix for c++ binding; none is needed.
141         + add $x suffix to make_hash and make_keys so 'make distclean' works.
142         + correct missing $x suffix for tack, c++ demo executables.
143         + split CF_CXX_LIBRARY into CF_GPP_LIBRARY (for -lg++) and
144           CF_STDCPP_LIBRARY (for -lstdc++)
145
146 990828  pre-release
147         + add cygwin terminfo entry -TD
148         + modify CF_PROG_EXT configure macro to set .exe extension for cygwin.
149         + add configure option --without-cxx-binding, modifying the existing
150           --without-cxx option to check only for the C++ compiler
151           characteristics.  Whether or not the C++ binding is needed, the
152           configure script checks for the size/type of bool, to make ncurses
153           match.  Otherwise C++ applications cannot use ncurses.
154
155 990821  pre-release
156         + updated configure macros CF_MAKEFLAGS, CF_CHECK_ERRNO
157         + minor corrections to beterm terminfo entry.
158         + modify lib_setup.c to reject values of $TERM which have a '/' in them.
159         + add ifdef's to guard against CS5, CS6, CS7, CS8 being zero, as more
160           than one is on BeOS.  That would break a switch statement.
161         + add configure macro CF_LINK_FUNCS to detect and work around BeOS's
162           nonfunctional link().
163         + improved configure macros CF_BOOL_DECL and CF_BOOL_SIZE to detect
164           BeOS's bool, which is declared as an unsigned char.
165
166 990814  pre-release
167         + add ms-vt100 terminfo entry -TD
168         + minor fixes for misc/emx.src, based on testing with tack.
169         + minor fix for test/ncurses.c, test 'a', in case ncv is not set.
170
171 990731  pre-release
172         + minor correction for 'screen' terminfo entry.
173         + clarify description of errret values for setupterm in manpage.
174         + modify tput to allow it to emit capabilities for hardcopy terminals
175           (patch by Goran Uddeborg <goeran@uddeborg.pp.se>).
176         + modify the 'o' (panel) test in ncurses.c to show the panels in color
177           or at least in bold, to test Juergen's change to wrefresh().
178         > patches by Juergen Pfeifer:
179         + Fixes a problem using wbkgdset() with panels.  It has actually
180           nothing to with panels but is a problem in the implementation of
181           wrefresh().  Whenever a window changes its background attribute to
182           something different than newscr's background attribute, the whole
183           window is touched to force a copy to newscr.  This is an unwanted
184           side-effect of wrefresh() and it is actually not necessary.  A changed
185           background attribute affects only further outputs of background it
186           doesn't mean anything to the current content of the window.  So there
187           is no need to force a copy.  (reported by Frank Heckenbach
188           <frank@g-n-u.de>).
189         + an upward compatible enhancement of the NCursesPad class in the C++
190           binding.  It allows one to add a "viewport" window to a pad and then
191           to use panning to view the pad through the viewport window.
192
193 990724  pre-release
194         + suppress a call to def_prog_mode() in the SIGTSTP handler if the
195           signal was received while not in curses mode, e.g., endwin() was
196           called in preparation for spawning a shell command (reported by Frank
197           Heckenbach <frank@g-n-u.de>)
198         + corrected/enhanced xterm-r5, xterm+sl, xterm+sl-twm terminfo entries.
199         + change test for xterm mouse capability:  it now checks only if the
200           user's $DISPLAY variable is set in conjunction with the kmous
201           capability being present in the terminfo.  Before, it checked if any
202           of "xterm", "rxvt" or "kterm" were substrings of the terminal name.
203           However, some emulators which are incompatible with xterm in other
204           ways do support the xterm mouse capability.
205         + reviewed and made minor changes in ncurses to quiet g++ warnings
206           about shadowed or uninitialized variables.  g++ incorrectly warns
207           about uninitialized variables because it does not take into account
208           short-circuit expression evaluation.
209         + change ncurses 'b' test to start in color pair 0 and to show in the
210           right margin those attributes which are suppressed by no_color_video,
211           i.e., "(NCV)".
212         + modify ifdef's in curses.h so that __attribute__ is not redefined
213           when compiling with g++, but instead disabled the macros derived for
214           __attribute__ since g++ does not consistently recognize the same
215           keywords as gcc (reported by Stephan K Zitz <zitz@erf.net>).
216         + update dependencies for term.h in ncurses/modules (reported by
217           Ilya Zakharevich).
218
219 990710  pre-release
220         + modify the form demo in ncurses.c to illustrate how to manipulate the
221           field appearance, e.g, for highlighting or translating the field
222           contents.
223         + correct logic in write_entry from split-out of home_terminfo in
224           980919, which prevented update of $HOME/.terminfo (reported by Philip
225           Spencer <pspencer@fields.utoronto.ca>).
226
227 990703  pre-release
228         + modify linux terminfo description to make use of kernel 2.2.x mods
229           that support cursor style, e.g., to implement cvvis (patch by Frank
230           Heckenbach <frank@g-n-u.de>)
231         + add special-case in setupterm to retain previously-saved terminal
232           settings in cur_term, which happens when curses and termcap calls are
233           mixed (from report by Bjorn Helgaas <helgaas@dhc.net>).
234         + suppress initialization of key-tries in _nc_keypad() if we are only
235           disabling keypad mode, e.g., in endwin() called when keypad() was not.
236         + modify the Ada95 makefile to ensure that always the Ada files from
237           the development tree are used for building and not the eventually
238           installed ones (patch by Juergen Pfeifer).
239
240 990626  pre-release
241         + use TTY definition in tack/sysdep.c rather than struct termios
242           (reported by Philippe De Muyter).
243         + add a fallback for strstr, used in lib_mvcur.c and tack/edit.c,
244           not present on sysV68 (reported by Philippe De Muyter).
245         + correct definition in comp_hash.c to build with configure
246           --with-rcs-ids option.
247
248 990619  pre-release
249         + modified ifdef's for sigaction and sigvec to ensure we do not try to
250           handle SIGTSTP if neither is available (from report by Philippe De
251           Muyter).
252         > patch by Philippe De Muyter:
253         + in tic.c, use `unlink' if `remove' is not available.
254         + use only `unsigned' as fallback value for `speed_t'.  Some files used
255           `short' instead.
256
257 990616  pre-release
258         + fix some compiler warnings in tack.
259         + add a check for predefined bool type in CC, based on report that
260           BeOS predefines a bool type.
261         + correct logic for infocmp -e option (i.e., the configure
262           --with-fallbacks option), which I'd not updated when implementing
263           extended names (cf:  990301).  The new implementation adds a -E
264           option to infocmp.
265         > patch by Juergen Pfeifer:
266         + introduce the private type Curses_Bool in the Ada95 binding
267           implementation.  This is to clearly represent the use of "bool" also
268           in the binding.  It should have no effect on the generated code.
269         + improve the man page for field_buffer() to tell the people, that the
270           whole buffer including leading/trailing spaces is returned.  This is
271           a common source of confusion, so it's better to document it clearly.
272
273 990614  pre-release
274         > patch by Juergen Pfeifer:
275         + use pragma PreElaborate in several places.
276         + change a few System.Address uses to more specific types.
277         + change interface version-number to 1.0
278         + regenerate Ada95 HTML files.
279
280 990612  pre-release
281         + modify lib_endwin.c to avoid calling reset_shell_mode(), return ERR
282           if it appears that curses was never initialized, e.g., by initscr().
283           For instance, this guards against setting the terminal modes to
284           strange values if endwin() is called after setupterm().  In the same
285           context, Solaris curses will dump core.
286         + modify logic that avoids a conflict in lib_vidattr.c between sgr0 and
287           equivalent values in rmso or rmul by ensuring we do not modify the
288           data which would be returned by the terminfo or termcap interfaces
289           (reported by Brad Pepers <brad@linuxcanada.com>, cf:  960706).
290         + add a null-pointer check for SP in lib_vidattr.c to logic that checks
291           for magic cookies.
292         + improve fallback declaration of 'bool' when the --without-cxx option
293           is given, by using a 'char' on i386 and related hosts (from discussion
294           with Alexander Lukyanov).
295
296 990605  pre-release
297         + include time.h in lib_napms.c if nanosleep is used (patch by
298           R Lindsay Todd <toddr@rpi.edu>).
299         + add an "#undef bool" to curses.h, in case someone tries to define it,
300           e.g., perl.
301         + add check to tparm to guard against divide by zero (reported by Aaron
302           Campbell <aaron@ug.cs.dal.ca>).
303
304 990516  pre-release
305         + minor fix to build tack on CLIX (mismatched const).
306         > patch by Juergen Pfeifer:
307         + change Juergen's old email address with new one in the files where it
308           is referenced.  The Ada95 HTML pages are regenerated.
309         + update MANIFEST to list the tack files.
310
311 990509  pre-release
312         + minor fixes to make 'tack' build/link on NeXT (reported by Francisco
313           A. Tomei Torres).
314
315 990417  pre-release
316         + add 'tack' program (which is GPL'd), updating it to work with the
317           modified TERMTYPE struct and making a fix to support setaf/setab
318           capabilities.  Note that the tack program is not part of the
319           ncurses libraries, but an application which can be distributed with
320           ncurses.  The configure script will ignore the directory if it is
321           omitted, however.
322         + modify gpm mouse support so that buttons 2 and 3 are used for
323           select/paste only when shift key is pressed, making them available
324           for use by an application (patch by Klaus Weide).
325         + add complete list of function keys to scoansi terminfo entry - TD
326
327 990410  pre-release
328         + add a simple test program cardfile.c to illustrate how to read form
329           fields, and showing forms within panels.
330         + change shared-library versioning for the Hurd to be like Linux rather
331           than *BSD (patch by Mark Kettenis <kettenis@wins.uva.nl>).
332         + add linux-lat terminfo entry.
333         + back-out _nc_access check in read_termcap.c (both incorrect and
334           unnecessary, except to guard against a small window where the file's
335           ownership may change).
336
337 990403  pre-release
338         + remove conflicting _nc_free_termtype() function from test module
339           lib_freeall.c
340         + use _nc_access check in read_termcap.c for termpaths[] array (noted
341           by Jeremy Buhler, indicating that Alan Cox made a similar patch).
342         > patch by Juergen Pfeifer:
343         + modify menu creation to not inherit status flag from the default menu
344           which says that the associated marker string has been allocated and
345           should be freed (bug reported by Marek Paliwoda" <paliwoda@kki.net.pl>)
346
347 990327  pre-release (alpha.gnu.org:/gnu/ncurses-5.0-beta1.tar.gz)
348         + minor fixes to xterm-xfree86 terminfo entry - TD.
349         + split up an expression in configure script check for ldconfig to
350           workaround limitation of BSD/OS sh (reported by Jeff Haas
351           <jmh@mail.msen.com>).
352         + correct a typo in man/form_hook.3x (Todd Miller).
353
354 990318  pre-release
355         + parenthesize and undef 'index' symbol in c++ binding and demo, to
356           accommodate its definition on NeXT (reported by Francisco A. Tomei
357           Torres).
358         + add sigismember() to base/sigaction.c compatibility to link on NeXT
359           (reported by Francisco A. Tomei Torres).
360         + further refinements to inequality in hashmap.c to cover a case with
361           ^U in nvi (patch by Alexander Lukyanov).
362
363 990316  pre-release
364         + add fallback definition for getcwd, to link on NeXT.
365         + add a copy of cur_term to tic.c to make it link properly on NeXT
366           (reported by Francisco A. Tomei Torres).
367         + change inequality in hashmap.c which checks the distance traveled by
368           a chunk so that ^D command in nvi (scrolls 1/2 screen) will use
369           scrolling logic (patch by Alexander Lukyanov, reported by Jeffrey
370           C Honig).
371
372 990314  pre-release
373         + modify lib_color.c to handle a special case where the curscr
374           attributes have been made obsolete (patch by Alexander Lukyanov).
375         + update BSD/OS console terminfo entries to use klone+sgr and
376           klone+color (patch by Jeffrey C Honig).
377         + update glibc addon configure script for extended capabilities.
378         + correct a couple of warnings in the --enable-const configuration.
379         + make comp_hash build properly with _nc_strdup(), on NeXT (reported by
380           Francisco A. Tomei Torres <francisco.tomei@cwix.com>).
381
382 990313  pre-release
383         + correct typos in linux-c initc string - TD
384         + add 'crt' terminfo entry, update xterm-xfree86 entry - TD
385         + remove a spurious argument to tparm() in lib_sklrefr.c (patch by
386           Alexander Lukyanov).
387
388 990307  pre-release
389         + back-out change to wgetch because it causes a problem with ^Z
390           handling in lynx (reported by Kim DeVaughn).
391
392 990306  pre-release
393         + add -G option to tic and infocmp, to reverse the -g option.
394         + recode functions in name_match.c to avoid use of strncpy, which
395           caused a 4-fold slowdown in tic (cf: 980530).
396         + correct a few warnings about sign-extension in recent changes.
397         > patch by Juergen Pfeifer:
398         + fixes suggested by Jeff Bradbury <jibradbury@lucent.com>:
399           + improved parameter checking in new_fieldtype().
400           + fixed a typo in wgetch() timeout handling.
401           + allow slk_init() to be called per newterm call.  The internal SLK
402             state is stored in the SCREEN struct after every newterm() and then
403             reset for the next newterm.
404           + fix the problem that a slk_refresh() refreshes stdscr if the
405             terminal has true SLKs.
406         + update HTML documentation for Ada binding.
407
408 990301  pre-release
409         + remove 'bool' casts from definitions of TRUE/FALSE so that statements
410           such as "#if TRUE" work.  This was originally done to allow for a C++
411           compiler which would warn of implicit conversions between enum and
412           int, but is not needed for g++ (reported by Kim DeVaughn).
413         + add use_extended_names() function to allow applications to suppress
414           read of the extended capabilities.
415         + add configure option --enable-tcap-names to support logic which
416           allows ncurses' tic to define new (i.e., extended) terminal
417           capabilities.  This is activated by the tic -x switch.  The infocmp
418           program automatically shows or compares extended capabilities.
419           Note:  This changes the Strings and similar arrays in the TERMTYPE
420           struct so that applications which manipulate it must be recompiled.
421         + use macros typeMalloc, typeCalloc and typeRealloc consistently
422           throughout ncurses library.
423         + add _nc_strdup() to doalloc.c.
424         + modify define_key() to allow multiple strings to be bound to the
425           same keycode.
426         + correct logic error in _nc_remove_string, from 990220.
427         > patch by Juergen Pfeifer, for Ada95 binding:
428         + regenerate some of the html documentation
429         + minor cleanup in terminal_interface-curses.adb
430
431 990220  pre-release
432         + resolve ambiguity of kend/kll/kslt and khome/kfnd/kich1 strings in
433           xterm and ncsa terminfo entries by removing the unneeded ones.  Note
434           that some entries will return kend & khome versus kslt and kfnd, for
435           PC-style keyboards versus strict vt220 compatiblity - TD
436         + add function keybound(), which returns the definition associated with
437           a given keycode.
438         + modify define_key() to undefine the given string when no keycode is
439           given.
440         + modify keyok() so it works properly if there is more than one string
441           defined for a keycode.
442         + add check to tic to warn about terminfo descriptions that contain
443           more than one key assigned to the same string.  This is shown only if
444           the verbose (-v) option is given.  Moved related logic (tic -v) from
445           comp_parse.c into the tic program.
446         + add/use _nc_trace_tries() to show the function keys that will be
447           recognized.
448         + rename init_acs to _nc_init_acs (request by Alexander Lukyanov).
449         > patch by Juergen Pfeifer, for Ada95 binding:
450         + remove all the *_adabind.c from ncurses, menu and form projects.
451           Those little helper routines have all been implemented in Ada and are
452           no longer required.
453         + The option handling routines in menu and form have been made more
454           save.  They now make sure that the unused bits in options are always
455           zero.
456         + modify configuration scripts to
457           + use gnatmake as default compiler name.  This is a safer choice than
458             gcc, because some GNAT implementations use other names for the
459             compilerdriver to avoid conflicts.
460           + use new default installation locations for the Ada files according
461             to the proposed GNU Ada filesystem standard (for Linux).
462         + simplify the Makefiles for the Ada binding
463         + rename ada_include directory to src.
464
465 990213
466         + enable sigwinch handler by default.
467         + disable logic that allows setbuf to be turned off/on, because some
468           implementations will overrun the buffer after it has been disabled
469           once.
470
471 990206
472         + suppress sc/rc capabilities from terminal description if they appear
473           in smcup/rmcup.  This affects only scrolling optimization, to fix a
474           problem reported by several people with xterm's alternate screen,
475           though the problem is more general.
476         > patch by Juergen Pfeifer, for Ada95 binding:
477         + removed all pragma Preelaborate() stuff, because the just released
478           gnat-3.11p complains on some constructs.
479         + fixed some upper/lower case notations because gnat-3.11p found
480           inconsistent use.
481         + used a new method to generate the HTML documentation of the Ada95
482           binding.  This invalidates nearly the whole ./Ada95/html subtree.
483           Nearly all current files in this subtree are removed
484
485 990130
486         + cache last result from _nc_baudrate, for performance (suggested by
487           Alexander Lukyanov).
488         + modify ClrUpdate() function to workaround a problem in nvi, which
489           uses redrawwin in SIGTSTP handling.  Jeffrey C Honig reported that
490           ncurses repainted the screen with nulls before resuming normal
491           operation (patch by Alexander Lukyanov).
492         + generalize is_xterm() function a little by letting xterm/rxvt/kterm
493           be any substring rather than the prefix.
494         + modify lib_data.c to initialize SP.  Some linkers, e.g., IBM's, will
495           not link a module if the only symbols exported from the module are
496           uninitialized ones (patch by Ilya Zakharevich, who says that he has
497           seen messages claiming this behaviour conforms to the standard.)
498         + move call on _nc_signal_handler past _nc_initscr, to avoid a small
499           window where Nttyb hasn't yet been filled (reported by Klaus Weide).
500         + modify lib_tstp.c to block SIGTTOU when handling SIGTSTP, fixes a
501           problem where ncurses applications which were run via a shell script
502           would hang when given a ^Z.  Also, check if the terminal's process
503           group is consistent, i.e., a shell has not taken ownership of it,
504           before deciding to save the current terminal settings in the SIGTSTP
505           handler (patch by Klaus Weide).
506         + correct spelling of ACS_ names in curs_border.3x (reported by Bob van
507           der Poel <bvdpoel@kootenay.com>).
508         + correct a couple of typos in the macros supporting the configure
509           --with-shlib-version option.
510
511 990123
512         + modify fty_regex.c to compile on HAVE_REGEXPR_H_FUNCS machine (patch
513           by Kimio Ishii <ishii@csl.sony.co.jp>).
514         + rename BSDI console terminfo entries:  bsdos to bsdos-pc-nobold, and
515           bsdos-bold to bsdos-pc (patch by Jeffrey C Honig).
516         + modify tput to accept termcap names as an alternative to terminfo
517           names (patch by Jeffrey C Honig).
518         + correct a typo in term.7 (Todd Miller).
519         + add configure --with-shlib-version option to allow installing shared
520           libraries named according to release or ABI versions.  This
521           parameterizes some existing logic in the configure script, and is
522           intended for compatiblity upgrades on Digital Unix, which used
523           versioned libraries in ncurses 4.2, but no longer does (cf:  980425).
524         + resync configure script against autoconf 2.13 + patches
525         + minor improvements for teraterm terminfo entry based on the program's
526           source distribution.
527
528 990116
529         + change default for configure --enable-big-core to assume machines do
530           have enough memory to resolve terminfo.src in-memory.
531         + correct name of ncurses library in TEST_ARGS when configuring with
532           debug library.
533         + minor fixes to compile ncurses library with broken-linker with g++.
534         + add --enable-broken-linker configure option, default to environment
535           variable $BROKEN_LINKER (request by Jeffrey C Honig).
536         + change key_names[] array to static since it is not part of the curses
537           interface (reported by Jeffrey C Honig <jch@bsdi.com>).
538
539 990110
540         + add Tera Term terminfo entry - TD
541
542 990109
543         + reviewed/corrected macros in curses.h as per XSI document.
544         + provide support for termcap PC variable by copying it from terminfo
545           data and using it as the padding character in tputs (reported by
546           Alexander Lukyanov).
547         + corrected iris-ansi and iris-ansi-ap terminfo entries for kent and
548           kf9-kf12 capabilities, as well as adding kcbt.
549         + document the mouse handling mechanism in menu_driver and make a small
550           change in menu_driver's return codes to provide more consistency
551           (patch by Juergen Pfeifer).
552         + add fallback definition for NCURSES_CONST to termcap.h.in (reported
553           by Uchiyama Yasushi <uch@nop.or.jp>).
554         + move lib_restart.c to ncurses/base, since it uses curses functions
555           directly, and therefore cannot be used in libtinfo.so
556         + rename micro_char_size to micro_col_size, adding #define to retain
557           old name.
558         + add set_a_attributes and set_pglen_inch to terminfo structure, as per
559           XSI and Solaris 2.5.
560         + minor makefile files to build ncurses test_progs
561         + update html files in misc directory to reflect changes since 4.2
562
563 990102
564         + disable scroll hints when hashmap is enabled (patch by Alexander
565           Lukyanov).
566         + move logic for tic's verify of -e option versus -I and -C so that the
567           terminfo data is not processed if we cannot handle -e (reported by
568           Steven Schwartz <steves@unitrends.com>.
569         + add test-driver traces to terminfo and termcap functions.
570         + provide support for termcap ospeed variable by copying it from the
571           internal cur_term member, and using ospeed as the baudrate reference
572           for the delay_output and tputs functions.  If an application does not
573           set ospeed, the library behaves as before, except that _nc_timed_wait
574           is no longer used, or needed, since ospeed always has a value.  But
575           the application can modify ospeed to adjust the output of padding
576           characters (from a bug report for screen 3.7.6 and email from Michael
577           Schroeder <Michael.Schroeder@informatik.uni-erlangen.de>).
578         + removed some unused ifdef's as part of Alexander's restructuring.
579         + reviewed/updated curses.h, term.h against X/Open Curses Issue 4
580           Version 2.  This includes making some parameters NCURSES_CONST
581           rather than const, e.g., in termcap.h.
582         + change linux terminfo entry to use ncv#2, since underline does not
583           work with color
584
585 981226
586         + miscellaneous corrections for curses.h to match XSI.
587         + change --enable-no-padding configure option to be normally enabled.
588         + add section to ncurses manpage for environment variables.
589         + investigated Debian bug report that pertains to screen 3.7.4/3.7.6
590           changes, found no sign of problems on Linux (or on SunOS, Solaris)
591           running screen built with ncurses.
592         + check if tmp_fp is opened in tic.c before closing it (patch by Pavel
593           Roskin <pavel_roskin@geocities.com>).
594         + correct several font specification typos in man-pages.
595
596 981220
597         + correct default value for BUILD_CC (reported by Larry Virden).
598
599 981219
600         + modify _nc_set_writedir() to set a flag in _nc_tic_dir() to prevent
601           it from changing the terminfo directory after chdir'ing to it.
602           Otherwise, a relative path in $TERMINFO would confuse tic (from a
603           Debian bug report).
604         + correct/update ncsa terminfo entry (report by Larry Virden).
605         + update xterm-xfree86 terminfo to current (patch 90), smcur/rmcur changes
606         + add Mathew Vernon's mach console entries to terminfo.src
607         + more changes, moving functions, as part of Alexander's restructuring.
608         + modify configure script for GNU/Hurd share-library support, introduce
609           BUILD_CC variable for cross compiling (patch by Uchiyama Yasushi
610           <uch@nop.or.jp>)
611
612 981212
613         + add environment variable NCURSES_NO_SETBUF to allow disabling the
614           setbuf feature, for testing purposes.
615         + correct ifdef's for termcap.h versus term.h that suppress redundant
616           declarations of prototypes (reported by H.J.Lu).
617         + modify Makefile.os2 to add linker flags which allow multiple copies
618           of an application to coexist (reported by Ilya Zakharevich).
619         + update Makefile.glibc and associated configure script so that ncurses
620           builds as a glibc add-on with the new directory configuration
621           (reported by H.J.Lu).
622
623 981205
624         + modify gen_reps() function in gen.c to work properly on SunOS
625           (sparc), which is a left-to-right architecture.
626         + modify relative_move and tputs to avoid an interaction with the
627           BSD-style padding.  The relative_move function could produce a string
628           to replace on the screen which began with a numeric character, which
629           was then interpreted by tputs as padding.  Now relative_move will not
630           generate a string with a leading digit in that case (overwrite).
631           Also, tputs will only interpret padding if the string begins with a
632           digit; as coded it permitted a string to begin with a decimal point
633           or asterisk (reported by Larry Virden).
634         > patches by Juergen Pfeifer:
635         + fix a typo in m_driver.c mouse handling and improves the error
636           handling.
637         + fix broken mouse handling in the Ada95 binding
638         + make the Ada95 sample application menus work with the new menu mouse
639           support
640         + improve the mouse handling introduced by Ilya; it now handles menus
641           with spacing.
642         + repair a minor bug in the menu_driver code discovered during this
643           rework.
644         + add new function wmouse_trafo() to hide implementation details of
645           _yoffset member of WINDOW struct needed for mouse coordinate
646           transformation.
647
648 981128
649         + modify Ada95/gen/gen.c to avoid using return-value of sprintf, since
650           some older implementations (e.g., SunOS 4.x) return the buffer
651           address rather than its length.
652         > patch by Rick Ohnemus:
653         + modify demo.cc to get it to compile with newer versions of egcs.
654         + trim a space that appears at the end of the table preprocessor lines
655           ('\" t).  This space prevents some versions of man from displaying
656           the pages - changed to remove all trailing whitespace (TD)
657         + finally, 'make clean' does not remove panel objects.
658         > patches by Ilya Zakharevich:
659         + allow remapping of OS/2 mouse buttons using environment variable
660           MOUSE_BUTTONS_123 with the default value 132.
661         + add mouse support to ncurses menus.
662
663 981121
664         + modify misc/makedef.cmd to report old-style .def file symbols, and to
665           generate the .def files sorted by increasing names rather than the
666           reverse.
667         + add misc/*.ref which are J.J.G.Ripoll's dll definition files (renamed
668           from misc/*.old), and updated based on the entrypoint coding he used
669           for an older version of ncurses.
670         + add README.emx, to document how to build on OS/2 EMX.
671         + updates for config.guess, config.sub from Lynx
672         > patches by Ilya Zakharevich:
673         + minor fixes for mouse handling mode:
674           a) Do not initialize mouse if the request is to have no mouse;
675           b) Allow switching of OS/2 VIO mouse on and off.
676         + modify Makefile.os2 to support alternative means of generating
677           configure script, by translating Unix script with Perl.
678         > patches by Juergen Pfeifer:
679         + Updates MANIFEST to reflect changes in source structure
680         + Eliminates a problem introduced with my last patch for the C++
681           binding in the panels code.  It removes the update() call done in the
682           panel destructor.
683         + Changes in the Ada95 binding to better support systems where
684           sizeof(chtype)!=sizeof(int) (e.g.  DEC Alpha).
685
686 981114
687         + modify install-script for manpages to skip over .orig and .rej files
688           (request by Larry Virden).
689         > patches/discussion by Alexander Lukyanov:
690         + move base-library sources into ncurses/base and tty (serial terminal)
691           sources into ncurses/tty, as part of Alexander Lukyanov's proposed
692           changes to ncurses library.
693         + copy _tracemouse() into ncurses.c so that lib_tracemse.c need not
694           be linked into the normal ncurses library.
695         + move macro winch to a function, to hide details of struct ldat
696         > patches by Juergen Pfeifer:
697         + fix a potential compile problem in cursesw.cc
698         + some Ada95 cosmetics
699         + fix a gen.c problem when compiling on 64-Bit machines
700         + fix Ada95/gen/Makefile.in "-L" linker switch
701         + modify Ada95 makefiles to use the INSTALL_PREFIX setting.
702
703 981107
704         + ifdef'd out lib_freeall.c when not configured.
705         + rename _tracebits() to _nc_tracebits().
706         + move terminfo-library sources into ncurses/tinfo, and trace-support
707           functions into ncurses/trace as part of Alexander Lukyanov's proposed
708           changes to ncurses library.
709         + modify generated term.h to always specify its own definitions for
710           HAVE_TERMIOS_H, etc., to guard against inclusion by programs with
711           broken configure scripts.
712
713 981031
714         + modify terminfo parsing to accept octal and hexadecimal constants,
715           like Solaris.
716         + remove an autoconf 2.10 artifact from the configure script's check
717           for "-g" compiler options.  (Though harmless, this confused someone
718           at Debian, who recently issued a patch that results in the opposite
719           effect).
720         + add configure option --with-ada-compiler to accommodate installations
721           that do not use gcc as the driver for GNAT (patch by Juergen
722           Pfeifer).
723
724 981017
725         + ensure ./man exists in configure script, needed when configuring
726           with --srcdir option.
727         + modify infocmp "-r" option to remove limit on formatted termcap
728           output, which makes it more like Solaris' version.
729         + modify captoinfo to treat no-argument case more like Solaris' version,
730           which uses the contents of $TERMCAP as the entry to format.
731         + modify mk-2nd.awk to handle subdirectories, e.g., ncurses/tty
732           (patch by Alexander V Lukyanov).
733
734 981010
735         + modify --with-terminfo-dirs option so that the default value is the
736           ${datadir} value, unless $TERMINFO_DIRS is already set.  This gets
737           rid of a hardcoded list of candidate directories in the configure
738           script.
739         + add some error-checking to _nc_read_file_entry() to ensure that
740           strings are properly terminated (Todd Miller).
741         + rename manpage file curs_scr_dmp.3x to curs_scr_dump.3x, to
742           correspond with contents (reported by Neil Zanella
743           <nzanella@cs.mun.ca>).
744         + remove redundant configure check for C++ which did not work when $CXX
745           was specified with a full pathname (reported by Andreas Jaeger).
746         + corrected bcopy/memmove check; the macro was not standalone.
747
748 981003
749         + remove unnecessary portion of OS/2 EMX mouse change from
750           check_pending() (reported by Alexander V Lukyanov).
751
752 980926
753         + implement mouse support for OS/2 EMX (adapted from patch against
754           4.2(?) by Ilya Zakharevich).
755         + add configure-check for bcopy/memmove, for 980919 changes to hashmap.
756         + merge Data General terminfo from Hasufin <hasufin@vidnet.net> - TD
757         + merge AIX 3.2.5 terminfo descriptions for IBM terminals, replaces
758           some older entries - TD
759         + modify tic to compile into %'char' form in preference to %{number},
760           since that is a little more efficient.
761         + minor correction to infocmp to avoid displaying "difference" between
762           two capabilities that are rendered in equivalent forms.
763         + add -g option to tic/infocmp to force character constants to be
764           displayed in quoted form.  Otherwise their decimal values are shown.
765         + modify setupterm so that cancelled strings are treated the same as
766           absent strings, cancelled and absent booleans false (does not affect
767           tic, infocmp).
768         + modify tic, infocmp to discard redundant i3, r3 strings when output
769           to termcap format.
770         > patch by Alexander V Lukyanov:
771         + improve performance of tparm, now it takes 19% instead of 25% when
772           profiling worm.
773         + rename maxlen/minlen to prec/width for better readability.
774         + use format string for printing strings.
775         + use len argument correctly in save_text, and pass it to save_number.
776
777 980919
778         + make test_progs compile (but hashmap does not function).
779         + correct NC_BUFFERED macro, used in lib_mvcur test-driver, modify
780           associated logic to avoid freeing the SP->_setbuf data.
781         + add modules home_terminfo and getenv_num to libtinfo.
782         + move write_entry to libtinfo, to work with termcap caching.
783         + minor fixes to blue.c to build with atac.
784         + remove softscroll.c module; no longer needed for testing.
785         > patches by Todd C Miller:
786         + use strtol(3) instead of atoi(3) when parsing env variables so we can
787           detect a bogus (non-numeric) value.
788         + check for terminal names > MAX_NAME_SIZE in a few more places when
789           dealing with env variables again.
790         + fix a MAX_NAME_SIZE that should be MAX_NAME_SIZE+1
791         + use sizeof instead of strlen(3) on PRIVATE_INFO since it is a fixed
792           string #define (compile time vs runtime).
793         + when setting errno to ENOMEM, set it right before the return, not
794           before code that could, possibly, set errno to a different value.
795         > patches by Alexander V Lukyanov:
796         + use default background in update_cost_from_blank()
797         + disable scroll-hints when hashmap is configured.
798         + improve integration of hashmap scrolling code, by adding oldhash and
799           newhash data to SP struct.
800         + invoke del_curterm from delscreen.
801         + modify del_curterm to set cur_term to null if it matches the function's
802           parameter which is deleted.
803         + modify lib_doupdate to prefer parm_ich to the enter_insert_mode and
804           exit_insert_mode combination, adjusting InsCharCost to check
805           enter_insert_mode, exit_insert_mode and insert_padding.  Add
806           insert_padding in insert mode after each char.  This adds new costs
807           to the SP struct.
808
809 980912
810         + modify test-driver in lib_mvcur.s to use _nc_setbuffer, for consistent
811           treatment.
812         + modify ncurses to restore output to unbuffered on endwin, and resume
813           buffering in refresh (see lib_set_term.c and NC_BUFFERED macro).
814         + corrected HTML version numbers (according to the W3C validator, they
815           never were HTML 2.0-compliant, but are acceptable 3.0).
816
817 980905
818         + modify MKterminfo.sh to generate terminfo.5 with tables sorted by
819           capability name, as in SVr4.
820         + modified term.h, termcap.h headers to avoid redundant declarations.
821         + change 'u_int' type in tset.c to unsigned, making this compile on
822           Sequent PRX 4.1 (reported by Michael Sterrett <msterret@coat.com>).
823
824 980829
825         + corrections to mailing addresses, and moving the magic line that
826           causes the man program to invoke tbl to the first line of each
827           manpage (patch by Rick Ohnemus <rick@ecompcon.com>).
828         + add Makefile.os2 and supporting scripts to generate dll's on OS/2 EMX
829           (from J.J.G.Ripoll, with further integration by TD).
830         + correct a typo in icl6404 terminfo entry.
831         + add xtermm and xtermc terminfo entries.
832         > from esr's terminfo version:
833         + Added Francesco Potorti's tuned Wyse 99 entries.
834         + dtterm enacs correction from Alexander V Lukyanov.
835         + Add ncsa-ns, ncsa-m-ns and ncsa-m entries from esr version.
836
837 980822
838         + document AT&T acs characters in terminfo.5 manpage.
839         + use EMX _scrsize() function if terminfo and environment do not
840           declare the screen size (reported by Ilya Zakharevich
841           <ilya@math.ohio-state.edu>).
842         + remove spurious '\' characters from eterm and osborne terminfo
843           entries (prompted by an old Debian bug report).
844         + correct reversed malloc/realloc calls in _nc_doalloc (reported by
845           Hans-Joachim Widmaier <hjwidmai@foxboro.com>).
846         + correct misplaced parenthesis which caused file-descriptor from
847           opening termcap to be lost, from 980725 changes (reported by Andreas
848           Jaeger).
849
850 980815
851         + modify lib_setup.c to eliminate unneeded include of <sys/ioctl.h> when
852           termios is not used (patch by Todd C Miller).
853         + add function _nc_doalloc, to ensure that failed realloc calls do not
854           leak memory (reported by Todd C Miller).
855         + improved ncsa-telnet terminfo entry.
856
857 980809
858         + correct missing braces around a trace statement in read_entry.c,
859           from 980808 (reported by Kim DeVaughn <kimdv@best.com> and Liviu
860           Daia).
861
862 980808
863         + fix missing include <errno.h> in ditto.c (reported by Bernhard
864           Rosenkraenzer <bero@k5.sucks.eu.org>)
865         + add NCSA telnet terminfo entries from Francesco Potorti
866           <F.Potorti@cnuce.cnr.it>, from Debian bug reports.
867         + make handling of $LINES and $COLUMNS variables more compatible with
868           Solaris by allowing them to individually override the window size
869           as obtained via ioctl.
870
871 980801
872         + modify lib_vidattr.c to allow for terminal types (e.g., xterm-color)
873           which may reset all attributes in the 'op' capability, so that colors
874           are set before turning on bold and other attributes, but still after
875           turning attributes off.
876         + add 'ditto.c' to test directory to illustrate use of newterm for
877           initializing multiple screens.
878         + modify _nc_write_entry() to recover from failed attempt to link alias
879           for a terminfo on a filesystem which does not preserve character case
880           (reported by Peter L Jordan <PJordan@chla.usc.edu>).
881
882 980725
883         + updated versions of config.guess and config.sub based on automake 1.3
884         + change name-comparisons in lib_termcap to compare no more than 2
885           characters (gleaned from Debian distribution of 1.9.9g-8.8, verified
886           with Solaris curses).
887         + fix typo in curs_insstr.3x (patch by Todd C Miller)
888         + use 'access()' to check if ncurses library should be permitted to
889           open or modify files with fopen/open/link/unlink/remove calls, in
890           case the calling application is running in setuid mode (request by
891           Cristian Gafton <gafton@redhat.com>, responding to Duncan Simpson
892           <dps@io.stargate.co.uk>).
893         + arm100 terminfo entries from Dave Millen <dmill@globalnet.co.uk>).
894         + qnxt2 and minitel terminfo entries from esr's version.
895
896 980718
897         + use -R option with ldconfig on FreeBSD because otherwise it resets
898           the search path to /usr/lib (reported by Dan Nelson).
899         + add -soname option when building shared libraries on OpenBSD 2.x
900           (request by QingLong).
901         + add configure options --with-manpage-format and --with-manpage-renames
902           (request by QingLong).
903         + correct conversion of CANCELLED_NUMERIC in write_object(), which was
904           omitting the high-order byte, producing a 254 in the compiled
905           terminfo.
906         + modify return-values of tgetflag, tgetnum, tgetstr, tigetflag,
907           tigetnum and tigetstr to be compatible with Solaris (gleaned from
908           Debian distribution of 1.9.9g-8.8).
909         + modify _nc_syserr_abort to abort only when compiled for debugging,
910           otherwise simply exit with an error.
911
912 980711
913         + modify Ada95 'gen' program to use appropriate library suffix (e.g.,
914           "_g" for a debug build).
915         + update Ada95 'make clean' rule to include generics .ali files
916         + add a configure test to ensure that if GNAT is found, that it can
917           compile/link working Ada95 program.
918         + flush output in beep and flash functions, fixing a problem with
919           getstr (patch by Alexander V Lukyanov)
920         + fix egcs 1.0.2 warning for etip.h (patch by Chris Johns).
921         + correct ifdef/brace nesting in lib_sprintf.c (patch by Bernhard
922           Rosenkraenzer <bero@Pool.Informatik.RWTH-Aachen.DE>).
923         + correct typo in wattr_get macro from 980509 fixes (patch by Dan
924           Nelson).
925
926 980704
927         + merge changes from current XFree86 xterm terminfo descriptions.
928         + add configure option '--without-ada'.
929         + add a smart-default for termcap 'ac' to terminfo 'acs_chars' which
930           corresponds to vt100.
931         + change translation for termcap 'rs' to terminfo 'rs2', which is
932           the documented equivalent, rather than 'rs1'.
933
934 980627
935         + slow 'worm' down a little, for very fast machines.
936         + corrected firstchar/lastchar computation in lib_hline.c
937         + simplify some expressions with CHANGED_CELL, CHANGED_RANGE and
938           CHANGED_TO_EOL macros.
939         + modify init_pair so that if a color-pair is reinitialized, we will
940           repaint the areas of the screen whose color changes, like SVr4 curses
941           (reported by Christian Maurer <maurer@inf.fu-berlin.de>).
942         + modify getsyx/setsyx macros to comply with SVr4 man-page which
943           says that leaveok() affects their behavior (report by Darryl Miles,
944           patch by Alexander V Lukyanov).
945
946 980620
947         + review terminfo.5 against Solaris 2.6 curses version, corrected
948           several minor errors/omissions.
949         + implement tparm %l format.
950         + implement tparm printf-style width and precision for %s, %d, %x, %o
951           as per XSI.
952         + implement tparm dynamic variables (reported by Xiaodan Tang).
953
954 980613
955         + update man-page for for wattr_set, wattr_get (cf:  980509)
956         + correct limits in hashtest, which would cause nonprinting characters
957           to be written to large screens.
958         + correct configure script, when --without-cxx was specified:  the
959           wrong variable was used for cf_cv_type_of_bool.  Compilers up to gcc
960           2.8 tolerated the missing 'int'.
961         + remove the hardcoded name "gcc" for the GNU Ada compiler.  The
962           compiler's name might be something like "egcs" (patch by Juergen
963           Pfeifer).
964         + correct curs_addch.3x, which implied that echochar could directly
965           display control characters (patch by Alexander V Lukyanov).
966         + fix typos in ncurses-intro.html (patch by Sidik Isani
967           <isani@cfht.hawaii.edu>)
968
969 980606
970         + add configure test for conflicting use of exception in math.h and
971           other headers.
972         + minor optimization to 'hash()' function in hashmap.c, reduces its
973           time by 10%.
974         + correct form of LD_SHARED_OPTS for HP-UX 10.x (patch by Tim Mooney).
975         + fix missing quotes for 'print' in MKunctrl.awk script (reported by
976           Mihai Budiu <mihaib@gs41.sp.cs.cmu.edu>).
977         > patch by Alexander V Lukyanov:
978         + correct problem on Solaris (with poll() function) where getch could
979           hang indefinitely even if timeout(x) was called.  This turned out to
980           be because milliseconds was not updated before 'goto retry' in
981           _nc_timed_wait.
982         + simplified the function _nc_timed_wait and fixed another bug, which
983           was the assumption of !GOOD_SELECT && HAVE_GETTIMEOFDAY in *timeleft
984           assignment.
985         + removed the cycle on EINTR, as it seems to be useless.
986
987 980530
988         + add makefile-rule for test/keynames
989         + modify run_tic.sh and shlib to ensure that user's .profile does not
990           override the $PATH used to run tic (patch by Tim Mooney).
991         + restore LD_SHARED_OPTS to $(LD_SHARED_FLAGS) when linking programs,
992           needed for HP-UX shared-library path (recommended by Tim Mooney).
993         + remove special case of HP-UX -L options, use +b options to embed
994           $(libdir) in the shared libraries (recommended by Tim Mooney).
995         + add checks for some possible buffer overflows and unchecked
996           malloc/realloc/calloc/strdup return values (patch by Todd C Miller
997           <Todd.Miller@courtesan.com>)
998
999 980523
1000         + correct maxx/maxy expression for num_columns/num_lines in derwin
1001           (patch by Alexander V Lukyanov).
1002         + add /usr/share/lib/terminfo and /usr/lib/terminfo as compatibilty
1003           fallbacks to _nc_read_entry(), along with --with-terminfo-dirs
1004           configure option (suggested by Mike Hopkirk).
1005         + modify config.guess to recognize Unixware 2.1 and 7 (patch by Mike
1006           Hopkirk <hops@sco.com>).
1007         + suppress definition of CC_SHARED_OPTS in LDFLAGS_SHARED in c++
1008           Makefile.in, since this conflicts when g++ is used with HP-UX
1009           compiler (reported by Tim Mooney).
1010         + parenthesize 'strcpy' calls in c++ binding to workaround redefinition
1011           in some C++ implementations (reported by several people running
1012           egcs with glibc 2.0.93, analysis by Andreas Jaeger.
1013
1014 980516
1015         + modify write_entry.c so that it will not attempt to link aliases
1016           with embedded '/', but give only a warning.
1017         + put -L$(libdir) first when linking programs, except for HP-UX.
1018         + modify comp_scan.c to handle SVr4 terminfo description for att477,
1019           which contains a colon in the description field.
1020         + modify configure script to support SCO osr5.0.5 shared libraries
1021           (from comp.unix.sco.programmer newsgroup item by Mike Hopkirk
1022           <hops@sco.com>).
1023         + eliminate extra GoTo call in lib_doupdate.c (patch by Alexander V.
1024           Lukyanov).
1025         + minor adjustments of const/NCURSES_CONST from IRIX compile.
1026         + add updates based on esr's 980509 version of terminfo.src.
1027
1028 980509
1029         + correct macros for wattr_set, wattr_get, separate wattrset macro from
1030           these to preserve behavior that allows attributes to be combined with
1031           color pair numbers.
1032         + add configure option --enable-no-padding, to allow environment
1033           variable $NCURSES_NO_PADDING to eliminate non-mandatory padding,
1034           thereby making terminal emulators (e.g., for vt100) a little more
1035           efficient (request by Daniel Eisenbud <eisenbud@cs.swarthmore.edu>).
1036         + modify configure script to embed ABI in shared libraries for HP-UX
1037           10.x (detailed request by Tim Mooney).
1038         + add test/example of the 'filter()' function.
1039         + add nxterm and xterm-color terminfo description (request by Cristian
1040           Gafton <gafton@redhat.com>).
1041         + modify rxvt terminfo description to clear alternate screen before
1042           switching back to normal screen, for compatibility with applications
1043           which use xterm (reported by Manoj Kasichainula <manojk@io.com>).
1044         + modify linux terminfo description to reset color palette (reported
1045           by Telford Tendys <telford@eng.uts.edu.au>).
1046         + correction to doupdate, for case where terminal does not support
1047           insert/delete character.  The logic did not check that there was a
1048           difference in alignment of changes to old/new screens before
1049           repainting the whole non-blank portion of the line.  Modified to fall
1050           through into logic that reduces by the portion which does not differ
1051           (reported by Daniel Eisenbud <eisenbud@cs.swarthmore.edu>).
1052         + minor performance improvement to wnoutrefresh by moving some
1053           comparisons out of inner loop.
1054
1055 980425
1056         + modify configure script to substitute NCURSES_CONST in curses.h
1057         + updated terminfo entries for xterm-xf86-v40, xterm-16color,
1058           xterm-8bit to correspond to XFree86 3.9Ag.
1059         + remove restriction that forces ncurses to use setaf/setab if the
1060           number of colors is greater than 8.  (see 970524 for xterm-16color).
1061         + change order of -L options (so that $(libdir) is searched first) when
1062           linking tic and other programs, to workaround HP's linker.
1063           Otherwise, the -L../lib is embedded when linking against shared
1064           libraries and the installed program does not run (reported by Ralf
1065           Hildebrandt).
1066         + modify configuration of shared libraries on Digital Unix so that
1067           versioning is embedded in the library, rather than implied by
1068           links (patch by Tim Mooney).
1069
1070 980418
1071         + modify etip.h to avoid conflict with math.h on HP-UX 9.03 with gcc
1072           2.8.1 which redefines 'exception' (reported by Ralf Hildebrandt
1073           <R.Hildebrandt@tu-bs.de>).
1074         + correct configure tests in CF_SHARED_OPTS which used $CC value to
1075           check for gcc, rather than autoconf's $GCC value.  This did not
1076           work properly if the full pathname of the compiler were given
1077           (reported by Michael Yount <yount@csf.Colorado.edu>).
1078         + revise check for compiler options to force ANSI mode since repeating
1079           an option such as -Aa causes HP's compiler to fail on its own headers
1080           (reported by Clint Olsen <olsenc@ichips.intel.com>).
1081
1082 980411
1083         + ifdef'd has_key() and mcprint() as extended functions.
1084         + modified several prototypes to correspond with 1997 version of
1085           X/Open Curses (affects ABI since developers have used attr_get).
1086         + remove spurious trailing blanks in glibc addon-scripts (patch by
1087           H.J.Lu).
1088         + insert a few braces at locations where gcc-2.8.x asks to use them to
1089           avoid ambigous else's, use -fpic rather than -fPIC for Linux (patch
1090           by Juergen Pfeifer).
1091
1092 980404
1093         + split SHLIB_LIST into SHLIB_DIRS/SHLIB_LIST to keep -L options
1094           before -l to accommodate Solaris' linker (reported by Larry Virden).
1095
1096 980328
1097         + modify lib_color.c to eliminate dependency on orig_colors and
1098           orig_pair, since SVr4 curses does not require these either, but
1099           uses them when they are available.
1100         + add detailed usage-message to infocmp.
1101         + correct a typo in att6386 entry (a "%?" which was "?").
1102         + add -f option to infocmp and tic, which formats the terminfo
1103           if/then/else/endif so that they are readable (with newlines and
1104           tabs).
1105         + fixes for glibc addon scripts (patch by H.J.Lu).
1106
1107 980321
1108         + revise configure macro CF_SPEED_TYPE so that termcap.h has speed_t
1109           declared (from Adam J. Richter <adam@yggdrasil.com>)
1110         + remove spurious curs_set() call from leaveok() (J.T.Conklin).
1111         + corrected handling leaveok() in doupdate() (patch by Alexander V.
1112           Lukyanov).
1113         + improved version of wredrawln (patch by Alexander V. Lukyanov).
1114         + correct c++/Makefile.in so install target do not have embedded ../lib
1115           to confuse it (patch by Thomas Graf <graf@essi.fr>).
1116         + add warning to preinstall rule which checks if the installer would
1117           overwrite a curses.h or termcap.h that is not derived from ncurses.
1118           (The recommended configuration for developers who need both is to
1119           use --disable-overwrite).
1120         + modify preinstall rule in top-level Makefile to avoid implicit
1121           use of 'sh', to accommodate Ultrix 4.4 (reported by Joao Palhoto
1122           Matos <jmatos@math.ist.utl.pt>, patch by Thomas Esser
1123           <te@informatik.uni-hannover.de>)
1124         + refine ifdef's for TRACE so that libncurses has fewer dependencies
1125           on libtinfo when TRACE is disabled.
1126         + modify configure script so that if the --with-termlib option is used
1127           to generate a separate terminfo library, we chain it to the ncurses
1128           library with a "-l" option (reported by Darryl Miles and Ian T.
1129           Zimmerman).
1130
1131 980314
1132         + correct limits and window in wredrawln function (reported/analysis by
1133           Alexander V. Lukyanov).
1134         + correct sed expression in configure script for --with-fallback
1135           option (patch by Jesse Thilo).
1136         + correct some places in configure script where $enableval was used
1137           rather than $withval (patch by Darryl Miles <dlm@g7led.demon.co.uk>).
1138         + modify some man-pages so no '.' or '..' falls between TH and SH
1139           macros, to accommodate man_db program (reported by Ian T. Zimmerman
1140           <itz@rahul.net>).
1141         + terminfo.src 10.2.1 from Eric's webpage.
1142         > several changes by Juergen Pfeifer:
1143         + add copyright notices (and rcs id's) on remaining man-pages.
1144         + corrected prototypes for slk_* functions, using chtype rather than
1145           attr_t.
1146         + implemented the wcolor_set() and slk_color() functions
1147         + the slk_attr_{set,off,on} functions need an additional void*
1148           parameter according to XSI.
1149         + fix the C++ and Ada95 binding as well as the man pages to
1150           reflect above enhancements.
1151
1152 980307
1153         + use 'stat()' rather than 'access()' in toe.c to check for the
1154           existence of $HOME/.terminfo, since it may be a file.
1155         + suppress configure CF_CXX_LIBRARY check if we are not using g++
1156           2.7.x, since this is not needed with g++ 2.8 or egcs (patch by
1157           Juergen Pfeifer).
1158         + turn on hashmap scrolling code by default, intend to remedy defects
1159           by 4.3 release.
1160         + minor corrections to terminfo.src changelog.
1161
1162 980302  4.2 release for upload to prep.ai.mit.edu
1163         + correct Florian's email address in ncurses-intro.html
1164         + terminfo.src 10.2.0 from Eric.
1165
1166 980228  pre-release
1167         + add linux-koi8r replace linux-koi8, which is not KOI8 (patch by
1168           QingLong <qinglong@Bolizm.ihep.su>).
1169         + minor documentation fixes (patch by Juergen Pfeifer).
1170         + add setlocale() call to ncurses.c (reported by Claes G. Lindblad
1171           <claesg@algonet.se>).
1172         + correct sign-extension in lib_insstr.c (reported by Sotiris
1173           Vassilopoulos <svas@leon.nrcps.ariadne-t.gr>)
1174
1175 980221  pre-release
1176         + regenerated some documentation overlooked in 980214 patch
1177           (ncurses-intro.doc, curs_outopts.3x.html)
1178         + minor ifdef change to C++ binding to work with gcc 2.8.0 (patch by
1179           Juergen Pfeifer).
1180         + change maintainer's mailing address to florian@gnu.org, change
1181           tentative mailing list address to bug-ncurses-request@gnu.org (patch
1182           by Florian La Roche).
1183         + add definition of $(REL_VERSION) to c++/Makefile.in (reported by Gran
1184           Hasse <gh@raditex.se>).
1185         + restore version numbers to Ada95 binding, accidentally deleted by
1186           copyright patch (patch by Juergen Pfeifer).
1187
1188 980214  pre-release
1189         + remove ncurses.lsm from MANIFEST so that it won't be used in FSF
1190           distributions, though it is retained in development.
1191         + correct scaling of milliseconds to nanoseconds in lib_napms.c (patch
1192           by Jeremy Buhler).
1193         + update mailing-list information (bug-ncurses@gnu.org).
1194         + update announcement for upcoming 4.2 release.
1195         + modify -lm test to check for 'sin()' rather than 'floor()'
1196         + remove spurious commas from terminfo.src descriptions.
1197         + change copyright notices to Free Software Foundation
1198
1199 980207
1200         + minor fixes for autoconf macros CF_ERRNO, CF_HELP_MESSAGE and
1201           CF_SIZECHANGE
1202         + modify Makefile.glibc so that $(objpfx) is defined (H.J.Lu).
1203         + ifdef-out true-return from _nc_mouse_inline() which depends on
1204           merge of QNX patch (pending 4.2 release).
1205         > patch by J.T.Conklin, to split off seldom-used modules in ncurses
1206           (reduces size by up to 2.6kb):
1207         + move functionality of _nc_usleep into napms, add configuration case
1208           for nanosleep().
1209         + moved wchgat() from lib_addch.c to lib_chgat.c
1210         + moved clearok(), immedok(), leaveok(), and scrollok() from
1211           lib_options.c to lib_clearok.c, lib_immedok.c, lib_leaveok.c and
1212           lib_scrollok.c.
1213         + moved napms() from lib_kernel.c to lib_napms.c
1214         + moved echo() and noecho() from lib_raw.c to lib_echo.c
1215         + moved nl() and nonl() from lib_raw.c to lib_nl.c
1216
1217 980131
1218         + corrected conversion in tclock.c (cf: 971018).
1219         + updates to Makefile.glibc and associated Linux configure script
1220           (patch by H.J.Lu).
1221         + workaround a quoting problem on SunOS with tar-copy.sh
1222         + correct init_pair() calls in worm.c to work when use_default_colors()
1223           is not available.
1224         + include <sys/types.h> in CF_SYS_TIME_SELECT to work with FreeBSD 2.1.5
1225         + add ncv capability to FreeBSD console (cons25w), making reverse
1226           work with color.
1227         + correct sense of configure-test for sys/time.h inclusion with
1228           sys/select.h
1229         + fixes for Ada95/ada_include/Makefile.in to work with --srcdir option.
1230         + remove unused/obsolete test-program rules from progs/Makefile.in
1231           (the rules in ncurses/Makefile.in work).
1232         + remove shared-library loader flags from test/Makefile.in, etc.
1233         + simplify test/configure.in using new version of autoconf to create
1234           test/ncurses_cfg.h
1235         + suppress suffix rules in test/Makefile.in, provide explicit dependency
1236           to work with --srcdir option and less capable 'make' programs.
1237         > adapted from patch for QNX by Xiaodan Tang:
1238         + initialize %P and %g variables set/used in tparm, and also ensure
1239           that empty strings don't return a null result from tparam_internal
1240         + add QNX-specific prototype for vsscanf()
1241         + move initialization of SP->_keytry from init_keytry() to newterm() to
1242           avoid resetting it via a keyok() call by mouse_activate().
1243         + reorganized some functions in lib_mouse() to use case-statements.
1244         + remove sgr string from qnx terminfo entry since it is reported to
1245           turn off attributes inconsistently.
1246
1247 980124
1248         + add f/F/b/B commands to ncurses 'b' test to toggle colors, providing
1249           test for no_color_video.
1250         + adjusted emx.src to use no_color_video, now works with ncurses 'b'
1251           and 'k' tests.
1252         + implement no_color_video attribute, and as a special case, reverse
1253           colors when the reverse attribute cannot be combined with color.
1254         + check for empty string in $TERM variable (reported by Brett Michaels
1255           <brett@xylan.com>).
1256         > from reports by Fred Fish:
1257         + add configure-test for isascii
1258         + add configure-test for -lm library.
1259         + modify CF_BOOL_SIZE to check if C++ bool types are unsigned.
1260         > patches by J.J.G.Ripoll
1261         + add configure/makefile variables to support .exe extension on
1262           OS/2 EMX (requires additional autoconf patches).
1263         + explicitly initialize variables in lib_data.c to appease OS/2 linker
1264         > patches by Fred Fish <fnf@ninemoons.com>
1265         + misc/Makefile.in (install.data):  Avoid trying to install the CVS
1266           directory.
1267         + aclocal.m4 (install.includes):  Remove files in the include directory
1268           where we are going to install new ones, not the original source
1269           files.
1270         + misc/terminfo.src:  Add entry for "beterm", derived from termcap
1271           distributed with BeOS PR2 using captoinfo.
1272         + aclocal.m4: Wrap $cf_cv_type_of_bool with quotes (contains space)
1273         + aclocal.m4: Assume bool types are unsigned.
1274         + progs/infocmp.c: workaround mwcc 32k function data limit
1275
1276 980117
1277         + correct initialization of color-pair (from 970524) in xmas.c, which
1278           was using only one color-pair for all colors (reported by
1279           J.J.G.Ripoll).
1280         + add multithread options for objects build on EMX, for compatibility
1281           with XFree86.
1282         + split up an expression in MKlib_gen.sh to work around a problem on
1283           OS/2 EMX, with 'ash' (patch by J.J.G.Ripoll).
1284         + change terminfo entries xterm (xterm-xf86-v40), xterm-8bit rs1 to use
1285           hard reset.
1286         + rename terminfo entry xterm-xf86-v39t to xterm-xf86-v40
1287         + remove bold/underline from sun console entries since they're not
1288           implemented.
1289         + correct _tracef calls in _tracedump(), which did not separate format
1290           from parameters.
1291         + correct getopt string for tic "-o" option, and add it to man-page
1292           synopsis (reported by Darren Hiebert <darren@hmi.com>).
1293         + correct typo in panel/Makefile.in, reversed if-statement in scrolling
1294           optimization (Alexander V.  Lukyanov).
1295         + test for 'remove()', use 'unlink() if not found (patch by Philippe De
1296           Muyter <phdm@macqel.be>).
1297         > patches by Juergen Pfeifer:
1298         + Improve a feature of the forms driver.  For invisible fields
1299           (O_VISIBLE off) only the contents but not the attributes are cleared.
1300           We now clear both.  (Reported by Javier Kohan
1301           <jkohan@adan.fceia.unr.edu.ar>)
1302         + The man page form_field_opts.3x makes now clear, that invisible
1303           fields are also always inactive.
1304         + adjust ifdef's to compile the C++ binding with the just released
1305           gcc-2.8.0 c++ and the corresponding new C++ libraries.
1306
1307 980110
1308         + correct "?" command in ncurses.c; it was performing non-screen writes
1309           while the program was in screen mode.  (It "worked" in 1.9.9e because
1310           that version sets OPOST and OCRNL incorrectly).
1311         + return error from functions in lib_kernel, lib_raw and lib_ti if
1312           cur_term is null, or if underlying I/O fails.
1313         + amend change to tputs() so that it does not return an error if
1314           cur_term is null, since some applications depend on being able to use
1315           tputs without initializing the terminal (reported by Christian J.
1316           Robinson <infynity@cyberhighway.net>).
1317
1318 980103
1319         + add a copy of emx.src from J.J.G.Ripoll's OS/2 EMX version of ncurses
1320           1.9.9e, together with fixes/additions for the "ansi" terminal type.
1321         + add tic check for save/restore cursor if change_scroll_region is
1322           defined (from O'Reilly book).
1323         + modify read_termcap.c to handle EMX-style pathnames (reported by
1324           J.J.G.Ripoll).
1325         + modify lib_raw.c to use EMX's setmode (from J.J.G.Ripoll, who says
1326           EMX's curses does this).
1327         + modify _nc_tic_expand() to generate \0 rather than \200.
1328         + move/revise 'expand()' from dump_entry.c to ncurses library as
1329           _nc_tic_expand(), for use by tack.
1330         + decode \a as \007 for terminfo, as per XSI.
1331         + correct translation of terminfo "^@", to \200, like \0.
1332         + modify next_char() to treat <cr><lf> the same as <newline>, for
1333           cross-platform compatibility.
1334         + use new version of autoconf (971230) to work around limited
1335           environment on CLIX, due to the way autoconf builds --help message.
1336         > patch by Juergen Pfeifer:
1337         + check that the Ada95 binding runs against the correct version of
1338           ncurses.
1339         + insert constants about the library version into the main spec-file of
1340           the Ada95 binding.
1341
1342 971227
1343         + modify open/fopen calls to use binary mode, needed for EMX.
1344         + modify configure script to work with autoconf 2.10 mods for OS/2
1345           EMX from J.J.G.Ripoll.
1346         + generated ncurses_cfg.h with patch (971222) to autoconf 2.12 which
1347           bypasses limited sed buffer length.
1348         > several changes from Juan Jose Garcia Ripoll <worm@arrakis.es>
1349           (J.J.G.Ripoll) to support OS/2 EMX:
1350         + add a _scrolling flag to SP, to set when we encounter a terminal
1351           that simply cannot scroll.
1352         + corrected logic in _nc_add_to_try(), by ensuring that strings with
1353           embedded \200 characters are matched.
1354         + don't assume the host has 'link()' function, for linking terminfo
1355           entries.
1356
1357 971220
1358         + if there's no ioctl's to support sigwinch handler, disable it.
1359         + add configure option --disable-ext-funcs to remove the extended
1360           functions from the build.
1361         + add configure option --with-termlib to generate the terminfo
1362           functions as a separate library.
1363         + add 'sources' rule to facilitate cross-compiling.
1364         + review/fix order of mostlyclean/clean/distclean rules.
1365         + modify install-rule for headers to first remove old header, in
1366           case there was a symbolic link that confuses the install script.
1367         + corrected substitution for NCURSES_CONST in term.h (cf: 971108)
1368         + add null pointer checks in wnoutrefresh(), overlap() (patch by
1369           Xiaodan Tang <xtang@qnx.com>)
1370         + correct tputs(), which could dereference a null cur_term if invoked
1371           before terminal is initialized (patch by Christopher Seawood
1372           <cls@seawood.org>)
1373         > patch by Juergen Pfeifer:
1374         + makes better use of "pragma Inline" in the Ada95 binding
1375         + resynchronizes the generated html manpages
1376
1377 971213
1378         + additional fixes for man-pages section-references
1379         + add (for debugging) a check for ich/ich1 conflict with smir/rmir
1380           to tic, etc.
1381         + remove hpa/vpa from rxvt terminal description because they are not
1382           implemented correctly, added sgr0.
1383         + change ncurses 's' to use raw mode, so ^Q works (reported by Rudolf
1384           Leitgeb <leitgeb@leland.stanford.edu>)
1385
1386 971206
1387         + modify protection when installing libraries to (normally) not
1388           executable.  HP-UX shared libraries are an exception.
1389         + add configure check for 'tack'.
1390         + implement script for renaming section-references in man-page install,
1391           for Debian configuration.
1392         + add validity-check for SP in trace code in baudrate() (reported by
1393           Daniel Weaver).
1394         > patch by Alexander V. Lukyanov (fixes to match sol25 curses)
1395         + modify 'overlay()' so that copy applies target window background to
1396           characters.
1397         + correct 'mvwin()' so that it does not clear the previous locations.
1398         + correct lib_acs.c so that 8-bit character is not sign expanded in
1399           case of wide characters in chtype.
1400         + correct control-char test in lib_addch.c for use with wide chars
1401         + use attribute in the chtype when adding a control character in
1402           lib_addch.c control char was added with current attribute
1403
1404 971129
1405         + save/restore errno in _tracef() function
1406         + change treatment of initialize_color to use a range of 0..1000
1407           (recommended by Daniel Weaver).
1408         + set umask in mkinstalldirs, fixing problems reported by users who
1409           have set root's umask to 077.
1410         + correct bug in tic that caused capabilities to be reprinted at the
1411           end of output when they had embedded comments.
1412         + rewrote wredrawln to correspond to XSI, and split-out since it is
1413           not often used (from report by Alexander V. Lukyanov, 970825)
1414         + rewrote Dan Nelson's change to make it portable, as well as to
1415           correct logic for handling backslashes.
1416         + add code to _nc_tgetent() to make it work more like a real tgetent().
1417           It removes all empty fields, and removes all but the first in a group
1418           of duplicate caps.  The code was pulled from the BSD libtermcap code
1419           in termcap.c (patch by Dan Nelson <dnelson@emsphone.com>
1420         + don't include --enable-widec in the --with-develop configure option,
1421           since it is not binary-compatible with 4.1 (noted by Alexander V.
1422           Lukyanov)
1423         > patch by Juergen Pfeifer:
1424         + further improvements of the usage of elaboration pragmas in the Ada95
1425           binding
1426         + enhanced Ada95 sample to use the user_data mechanism for panels.
1427         + a fix for the configuration script to make gnat-3.10 the required
1428           version.
1429         + resync of the html version of the manpages
1430
1431 971122
1432         > fixes/updates for terminfo.src:
1433         + add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97
1434           version.
1435         + add hds200 description (Walter Skorski)
1436         + add EMX 0.9b descriptions
1437         + correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver)
1438         + rename xhpterm back to hpterm.
1439         > patch by Juergen Pfeifer:
1440         + Improves the usage of elaboration pragmas for the Ada95 binding.
1441         + Adds a translation of the test/rain.c into Ada95 to the samples.
1442           This has been contributed to the project by Laurent Pautet
1443           (pautet@gnat.com)
1444
1445 971115
1446         + increase MAX_NAME_SIZE to 512 to handle extremely long alias list
1447           in HP-UX terminfo.
1448         + correction & simplification of delay computation in tputs, based on
1449           comments from Daniel Weaver.
1450         + replace test for SCO with more precise header tests.
1451         + add configure test for unsigned literals, use in NCURSES_BITS macro.
1452         + comment-out the -PIC, etc., flags from c++, progs and test makefiles
1453           since they probably are not needed, and are less efficient (noted by.
1454           Ju"rgen Fluk)
1455         + add -L$(libdir) to loader options, after -L../lib so that loaders
1456           that record this information will tend to do the right thing if
1457           the programs are moved around after installing them (suggested by.
1458           Ju"rgen Fluk).
1459         + add -R option to loader options for programs for Solaris if the
1460           --enable-rpath option is specified for the libraries.
1461
1462 971112
1463         + correct installed filename for shared libraries on *BSD (reported by
1464           Ju"rgen Fluk).
1465
1466 971108
1467         + cleanup logic for deciding when tputs() should call delay_output(),
1468           based on comments from Daniel Weaver.
1469         + modified tputs() to avoid use of float.
1470         + correct use of trailpad in tputs(), which used the wrong variable
1471           in call to delay_output().
1472         + correct inverted expression for null-count in delay_output()
1473           (analysis by Daniel Weaver).
1474         + apply --enable-rpath option to Solaris (requested by Larry Virden).
1475         + correct substitution of EXTRA_CFLAGS for gcc 2.6.3
1476         + correct check for error-return by _nc_tgetent(), which returns 0
1477           for success.
1478         + add configure test for BSD 4.4 cgetent() function, modify
1479           read_termcap.c to use the host's version of that if found, using the
1480           terminal database on FreeBSD (reported by Peter Wemm).
1481         + add u8, u9 strings to sun-il description for Daniel Weaver.
1482         + use NCURSES_CONST in panel's user-pointer.
1483         + modify edit_cfg.sh and MKterm.h.awk.in to substitute NCURSES_CONST
1484           so that will work on NeXT.
1485         + use _nc_set_screen() rather than assignments to SP to fix port to
1486           NeXT (reported by Francisco A. Tomei Torres).
1487
1488 971101
1489         + force mandatory padding in bell and flash_screen, as specified in XSI.
1490         + don't allow padding_baud_rate to override mandatory delays (reported
1491           by Daniel Weaver).
1492         + modify delay_output() to use _nc_timed_wait() if no baudrate has been
1493           defined, or if the cur_term pointer is not initialized.  XSI treats
1494           this as unspecified.  (requested by Daniel Weaver).
1495         + change getcap-cache ifdef's to eliminate unnecessary chdir/mkdir
1496           when that feature is not configured.
1497         + remove _nc_err_abort() calls when write_entry.c finds a directory but
1498           cannot write to it, e.g., when translating part/all of /etc/termcap
1499           (reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>).
1500           (this dates back to 951102, in 1.9.7a).
1501         + minor ifdef fixes to compile with atac and glibc 2.0.5c
1502         + add check for -lgen when configuring regexpr.h
1503         + modify Solaris shared-library option "-d y" to "-dy" to workaround
1504           incompatibility of gcc 2.7.2 vs vendor's tools.
1505
1506 971026
1507         + correct ifdef's for struct winsize vs struct ttysize in lib_setup.c
1508           to compile on SCO.
1509         + remove dangling backslash in panel/Makefile.in
1510         + modify MKkeyname.awk to work with SCO's nawk, which dumps core in the
1511           length() function.
1512         + correct length of allocation in _nc_add_to_try(), to allow for
1513           trailing null.
1514         + correct logic in _nc_remove_key(), which was discarding too many
1515           nodes (patch by Alexander V. Lukyanov)
1516
1517 971025
1518         + add definition for $(REL_VERSION) to test/Makefile.in, so *BSD
1519           shared libraries link properly (see 970524).
1520         + modify Linux shared-library generation to include library
1521           dependencies (e.g., -lncurses and -lgpm) in the forms, menu and
1522           panel libraries (suggested by Juergen Pfeifer).
1523         + modify configure script to use config.guess and config.sub rather
1524           than uname, which is unreliable on some systems.
1525         + updated Makefile.glibc, test-built with glibc 2.0.5c
1526         + modify keyname() to return values consistent with SVr4 curses (patch
1527           by Ju"rgen Fluk).
1528         > changes requested by Daniel Weaver:
1529         + modify delay_output() so that it uses the same output function as
1530           tputs() if called from that function.
1531         + move _baudrate from SCREEN to TERMINAL so that low-level use of
1532           tputs works when SP is not set.
1533         > patch by Juergen Pfeifer:
1534         + factor lib_menu and lib_form into smaller modules
1535         + clean up the interface between panel and SCREEN
1536         + minor changes to the Ada95 mouse support implemenation
1537         + minor bugfix in C++ binding to ripoff windows
1538         + fix a few Ada95 html documentation pages
1539
1540 971018
1541         + split-out lib_ungetch.c, make runtime link to resizeterm() to
1542           decouple those modules from lib_restart.c
1543         + add xterm-xf86-v39t description to terminfo.src
1544         + reset SP->_endwin in lib_tstp.c cleanup() function after calling
1545           endwin() to avoid unnecessary repainting if the application has
1546           established an atexit function, etc.  Encountered this problem in
1547           the c++ demo, whose destructors repaint the screen.
1548         + combine _nc_get_screensize() and resizeterm() calls as new function
1549           _nc_update_screensize().
1550         + minor fixes to allow compile with g++ (suggested by Nelson H. F.
1551           Beebe).
1552         + implement install-rules for Ada95 makefiles.
1553         + use screen_lines or MAXLINES as needed where LINES was coded,
1554           as well as screen_columns for COLS, in the ncurses library.
1555         > patch by Alexander V. Lukyanov:
1556         + modify logic for ripped-off lines to handle several SCREENs.
1557         > patch by Juergen Pfeifer:
1558         + factors lib_slk.c into some smaller modules
1559         + factors panel.c into some smaller modules
1560         + puts the static information about the current panel stack into the
1561           SCREEN structure to allow different panel stacks on different
1562           screens.
1563         + preliminary fix for an error adjusting LINES to account for
1564           ripped-off lines.
1565
1566 971011
1567         + move _nc_max_click_interval and other mouse interface items to SCREEN
1568           struct so that they are associated with a single terminal, and also
1569           save memory when the application does not need a mouse (roughly 3k vs
1570           0.5k on Linux).
1571         + modify mouseinterval() so that a negative parameter queries the
1572           click-interval without modifying it.
1573         + modify ncurses 'i' test to work with ncurses' apparent extension from
1574           SVr4, i.e., allows nocbreak+noecho (analysis by Alexander V.
1575           Lukyanov).
1576         + add configure options --with-ada-includes and --with-ada-objects,
1577           to drive Ada95 binding install (not yet implemented).
1578         + install C++ binding as -lncurses++ and associated headers with the
1579           other ncurses headers.
1580         + fix header uninstall if configure --srcdir is used.
1581         > minor interface changes (request by Daniel Weaver <danw@znyx.com>,
1582           to support 'tack' program):
1583         + export functions _nc_trans_string() and _nc_msec_cost().
1584         + add variable _nc_nulls_sent, to record the number of padding
1585           characters output in delay_output().
1586         + move tests for generic_type and hard_copy terminals in setupterm()
1587           to the end of that function so that the library will still be
1588           initialized, though not generally useful for curses programs.
1589         > patches by Alexander V. Lukyanov:
1590         + modify ClrBottom() to avoid using clr_eos if there is only one line
1591           to erase.
1592         + typo in configure --help.
1593         > patch by J.T.Conklin (with minor resync against Juergen's changes)
1594         + split-out lib_flash.c from lib_beep.c
1595         + split-out lib_hline.c and lib_vline.c from lib_box.c
1596         + split-out lib_wattron.c, lib_wattroff.c from lib_addch.c
1597
1598 971005
1599         > patch by Juergen Pfeifer:
1600         + correct source/target of c++/edit_cfg.sh
1601
1602 971004
1603         + add color, mouse support to kterm terminfo entry.
1604         + modify lib_mouse.c to recognize rxvt, kterm, color_xterm also as
1605           providing "xterm"-style mouse.
1606         + updated rxvt's terminfo description to correspond to 2.21b, with
1607           fixes for the acsc (the box1 capability is incorrect, ech1 does not
1608           work).
1609         + fix logic in parse_entry.c that discarded acsc when 'synthesizing'
1610           an entry from equivalents in XENIX or AIX.  This lets ncurses handle
1611           the distribution copy of rxvt's terminfo.
1612         + modify acsc capability for linux and linux-koi8 terminfo descriptions
1613           (from Pavel Roskin <pavel@absolute.spb.su>).
1614         + corrected definition in curses.h for ACS_LANTERN, which was 'I'
1615           rather than 'i' (see 970802).
1616         + updated terminfo.src with reformatted acsc entries, and repaired the
1617           trashed entries with spurious '\' characters that this exposed.
1618         + add logic to dump_entry.c to reformat acsc entries into canonical
1619           form (sorted, unique mapping).
1620         + add configure script to generate c++/etip.h
1621         + add configure --with-develop option, to enable by default most of the
1622           experimental options (requested by Alexander V. Lukyanov).
1623         + rename 'deinstall' to 'uninstall', following GNU convention (suggested
1624           by Alexander V. Lukyanov).
1625         > patches by Alexander V. Lukyanov:
1626         + modify tactics 2 and 5 in onscreen_mvcur(), to allow them on the last
1627           line of the screen, since carriage return will not cause a newline.
1628         + remove clause from PutCharLR() that would try to use
1629           eat_newline_glitch since that apparently does not work on some
1630           terminals (e.g., M$ telnet).
1631         + correct a limit check in scroll_csr_backward()
1632         > patches by Juergen Pfeifer:
1633         + adds dummy implementations of methods above() and below() to the
1634           NCursesPanel class.
1635         + fixes missing returncode in NCursesWindow::ripoffline()
1636         + fixes missing returncode in TestApplication::run() in demo.cc
1637         + We should at least give a comment in etip.h why it is currently a
1638           problem to install the C++ binding somewhere
1639         + makes the WINDOW* argument of wenclose() a const.
1640         + modifies several of the routines in lib_adabind.c to use a const
1641           WINDOW* argument.
1642
1643 970927
1644         + add 'deinstall' rules.
1645         + use explicit assignments in configure --without-progs option to
1646           work around autoconf bug which doesn't always set $withval.
1647         + check for ldconfig, don't try to run it if not found.
1648         + implement simple/unoptimized case in lib_doupdate.c to handle
1649           display with magic cookie glitch, tested with ncurses.c program.
1650         + correct missing _tracef in getmouse(), to balance the returnCode
1651           macro.
1652         + simplify show_attr() in ncurses.c using termattrs().
1653         > patches by Juergen Pfeifer:
1654         + provides missing inlines for mvw[hv]line in cursesw.h of the C++
1655           binding
1656         + fixes a typo in a comment of frm_driver.c
1657         + Enhances Ada95 Makefiles to fulfill the requirement of GNAT-3.10 that
1658           generics should be compiled.  Proper fixes to the configuration
1659           scripts are also provided.
1660
1661 970920
1662         + several modifications to the configure script (requested by Ward
1663           Horner):
1664           + add configure options --without-progs, to suppress the build of the
1665             utility programs, e.g., for cross-compiling.
1666           + add $(HOSTCCFLAGS) and $(HOSTLDFLAGS) symbols to ncurses
1667             Makefile.in, to simplify setup for cross compiling.
1668           + add logic in configure script to recognize "--target=vxworks", and
1669             generate load/install actions for VxWorks objects.
1670         + move typedef for sigaction_t into SigAction.h to work around problem
1671           generating lint library.
1672         + modify fty_regex.c to reflect renaming of ifdef's for regular
1673           expressions.
1674         + simplify ifdef in lib_setup.c for TIOCGWINSZ since that symbol may
1675           reside in <sys/ioctl.h>.
1676         + merge testcurs.c with version from PDCurses 2.3, clarifying some of
1677           the more obscure tests, which rely upon color.
1678         + use macros getbegyx() and getmaxyx() in newdemo.c and testcurs.c
1679         + modify ncurses.c to use getbegyx() and getmaxyx() macros to cover up
1680           implementation difference wrt SVr4 curses, allow 's' test to work.
1681         + add missing endwin() to testscanw.c program (reported by Fausto
1682           Saporito <fausap@itb.it>).
1683         + fixes/updates for Makefile.glibc and related files under sysdeps
1684           (patch by H.J.Lu).
1685         > patches by Juergen Pfeifer:
1686         + add checks for null pointers, especially WINDOW's throughout the
1687           ncurses library.
1688         + solve a problem with wrong calculation of panel overlapping (reported
1689           by Ward Horner):
1690           + make sure that a panel's window isn't a pad.
1691           + do more error checking in module lib_touch.c
1692         + missing files for Ada95 binding from the last patch
1693         + synch. of generated html pages (RCS-Id's were wrong in html files)
1694         + support for Key_Resize in Ada binding
1695         + changed documentation style in ./c++/cursesm.h
1696         > patches by Alexander V. Lukyanov:
1697         + undo attempt to do recursive inlining for PutChar(), noting that it
1698           did not improve timing measurably, but inflated the size of
1699           lib_doupdate.o
1700
1701 970913
1702         + modify rain.c to use color.
1703         + correct scroll_csr_backward() to match scroll_csr_forward().
1704         + minor adjustment to llib-lncurses, to work with Solaris 2.5.1
1705         + minor fixes to sysdeps/unix/sysv/linux/configure to reflect renaming
1706           of configure cache variables in 970906.
1707         + correct logic involving changes to O_VISIBLE option in
1708           Synchronize_Options function in frm_driver.c (Tony Hoffmann
1709           <Tony.Hoffmann@hia.nrc.ca>)
1710         + add $(HOSTCC) symbol to ncurses Makefile.in, to simplify setup for
1711           cross compiling (suggested by Chris Johns).
1712         + modify ifdef in lib_setup.c to only include <sys/ioctl.h> if we can
1713           use it to support screen-size calculation (reported by Chris Johns).
1714         + #undef unctrl to avoid symbol conflict in port to RTEMS (reported by
1715           Chris Johns <cjohns@plessey.com.au>)
1716         > patches by Juergen Pfeifer:
1717         + simplified, made minor corrections to Ada95 binding to form fieldtype.
1718         + The C++ binding has been enhanced:
1719           + Improve NCursesWindow class:  added additional methods to cover
1720             more ncurses functionality.  Make refresh() and noutrefresh()
1721             virtual members to allow different implementation in the
1722             NCursesPanel class.
1723           + CAUTION:  changed order of parameters in vline() and hline() of
1724             NCursesWindow class.
1725           + Make refresh() in NCursesPanel non-static, it is now a
1726             reimplementation of refresh() in the base class.  Added
1727             noutrefresh() to NCursesPanel.
1728           + Added NCursesForm and related classes to support libform
1729             functionality.
1730           + Moved most of configuration related stuff from cursesw.h to etip.h
1731           + Added NCursesApplication class to support easy configuration of
1732             menu and forms related attributes as well as ripped of title lines
1733             and Soft-Label-Keys for an application.
1734           + Support of Auto-Cleanup for a menu's fieldlist.
1735           + Change of return type for current_item() and operator[] for menus.
1736           + Enhanced demo.
1737         + Fixed a bug in form/fld_def.c:  take into account that copyarg and
1738           freearg for a fieldtype may be NULL, makearg must not be NULL
1739         + Fixed a bug in form/fld_type.c:  in set_fieldtype_arg() makearg must
1740           not be NULL, copyarg and freearg may be NULL.
1741         + Fixed a bug in form/frm_def.c:  Allow Disconnect_Fields() if it is
1742           already disconnected.
1743         + Enhance form/frm_driver.c:  Allow growth of dynamic fields also on
1744           navigation requests.
1745         + Fixed a bug in form/fty_enum.c:  wrong position of postincrement in
1746           case-insensitiva comparision routine.
1747         + Enhanced form/lib_adabind.c with function _nc_get_field() to get a
1748           forms field by index.
1749         + Enhanced menu/m_adabind.c with function _nc_get_item() to get a menus
1750           item by index.
1751         + Fixed in curses.h.in:  make chtype argument for pechochar() constant.
1752           Mark wbkgdset() as implemented, remove wbkgdset macro, because it was
1753           broken (didn't handle colors correctly).
1754         + Enhanced lib_mouse.c: added _nc_has_mouse() function
1755         + Added _nc_has_mouse() prototype to curses.priv.h
1756         + Modified lib_bkgd.c:  hopefully correct implementation of wbkgdset();
1757           streamlined implementation of wbkgd()
1758         + Modified lib_mvwin.c:  Disable move of a pad.  Implement (costly)
1759           move of subwindows.  Fixed update behaviour of movements of regular
1760           windows.
1761         + Fixed lib_pad.c:  make chtype argument of pechochar() const.
1762         + Fixed lib_window.c:  dupwin() is not(!) in every bit a really clone
1763           of the original.  Subwindows become regular windows by doing a
1764           dupwin().
1765         + Improved manpage form_fieldtype.3x
1766         > patches by Alexander V. Lukyanov:
1767         + simplify the PutChar() handling of exit_am_mode, because we already
1768           know that auto_right_margin is true.
1769         + add a check in PutChar() for ability to insert to the case of
1770           shifting character to LR corner.
1771         + in terminal initialization by _nc_screen_resume(), make sure that
1772           terminal right margin mode is known.
1773         + move logic that invokes touchline(), or does the equivalent, into
1774           _nc_scroll_window().
1775         + modify scrolling logic use of insert/delete line capability, assuming
1776           that they affect the screen contents only within the current
1777           scrolling region.
1778         + modify rain.c to demonstrate SIGWINCH handler.
1779         + remove logic from getch() that would return an ERR if the application
1780           called getch() when the cursor was at the lower-right corner of the
1781           physical screen, and the terminal does not have insert-character
1782           ability.
1783         + change view.c so that it breaks out of getch() loop if a KEY_RESIZE
1784           is read, and modify logic in getch() so this fix will yield the
1785           desired behavior, i.e., the screen is repainted automatically when
1786           the terminal window is resized.
1787
1788 970906
1789         + add configure option --enable-sigwinch
1790         + modify view.c to test KEY_RESIZE logic, with "-r" option.
1791         + modify testcurs.c to eliminate misleading display wrt cursor type
1792           by testing if the terminal supports cnorm, civis, cvvis.
1793         + several fixes for m68k/NeXT 4.0, to bring cur_term, _nc_curr_line and
1794           _nc_curr_col variables into linked programs:  move these variables,
1795           making new modules lib_cur_term and trace_buf (reported by Francisco
1796           Alberto Tomei Torres <fatomei@sandburg.unm.edu>).
1797         > patches by Alexander V. Lukyanov:
1798         + add pseudo-functionkey KEY_RESIZE which is returned by getch() when
1799           the SIGWINCH handler has been called since the last call to
1800           doupdate().
1801         + modify lib_twait.c to hide EINTR only if HIDE_EINTR is defined.
1802         + add SIGWINCH handler to ncurses library which is used if there is no
1803           application SIGWINCH handler in effect when the screen is
1804           initialized.
1805         + make linked list of all SCREEN structures.
1806         + move curses.h include before definition of SCREEN to use types in
1807           that structure.
1808         + correction to ensure that wgetstr uses only a newline to force a
1809           scroll (970831).
1810
1811 970831
1812         + add experimental configure option --enable-safe-sprintf; the normal
1813           mode now allocates a buffer as large as the screen for the
1814           lib_printw.c functions.
1815         + modify wgetch to refresh screen when reading ungetch'd characters,
1816           since the application may require this - SVr4 does this.
1817         + refine treatment of newline in wgetstr to echo only when this would
1818           force the screen to scroll.
1819
1820 970830
1821         + remove override in wgetstr() that forces keypad(), since SVr4 does
1822           not do this.
1823         + correct y-reference for erasure in wgetstr() when a wrap forces a
1824           scroll.
1825         + correct x-position in waddch() after a wrap forces a scroll.
1826         + echo newline in wgetstr(), making testscanw.c scroll properly when
1827           scanw is done.
1828         + modify vwscanw() to avoid potential buffer overflow.
1829         + rewrote lib_printw.c to eliminate fixed-buffer limits.
1830         > patches by Alexander V. Lukyanov:
1831         + correct an error in handling cooked mode in wgetch(); processing
1832           was in the wrong order.
1833         + simplified logic in wgetch() that handles backspace, etc., by using
1834           wechochar().
1835         + correct wechochar() so that it interprets the output character as
1836           in waddch().
1837         + modify pechochar() to use prefresh() rather than doupdate(), since
1838           the latter does not guarantee immediate refresh of the pad.
1839         + modify pechochar() so that if called with a non-pad WINDOW, will
1840           invoke wechochar() instead.
1841         + modify fifo indices to allow fifo to be longer than 127 bytes.
1842
1843 970823
1844         + add xterm-8bit to terminfo.src
1845         + moved logic for SP->_fifohold inside check_pending() to make it
1846           work properly when we add calls to that function.
1847         + ensure that bool functions return only TRUE or FALSE, and TRUE/FALSE
1848           are assigned to bool values (patch by H.J.Lu).
1849         > patches by Alexander V. Lukyanov:
1850         + several fixes to getch:
1851           1.  Separate cooked and raw keys in fifo
1852           2.  Fix the case of ungetch'ed KEY_MOUSE
1853           3.  wrap the code for hiding EINTR with ifdef HIDE_EINTR
1854           4.  correctly handle input errors (i.e., EINTR) without loss of raw
1855               keys
1856           5.  recognize ESC KEY_LEFT and similar
1857           6.  correctly handle the case of receiption of KEY_MOUSE from gpm
1858         + correct off-by-one indexing error in _nc_mouse_parse(), that caused
1859           single mouse events (press/release) to be ignored in favor of
1860           composed events (click).  Improves on a fix from integrating gpm
1861           support in 961229.
1862         + add another call to check_pending, before scrolling, for
1863           line-breakout optimization
1864         + improve hashmap.c by
1865           1.  fixed loop condition in grow_hunks()
1866           2.  not marking lines with offset 0
1867           3.  fixed condition of 'too far' criteria, thus one-line hunks are
1868           ignored and two lines interchanged won't pass.
1869         + rewrote/simplified _nc_scroll_optimize() by separating into two
1870           passes, forward/backward, looking for chunks moving only in the given
1871           direction.
1872         + move logic that emits sgr0 when initializing the screen to
1873           _nc_screen_init(), now invoked from newterm.
1874         + move cursor-movement cleanup from endwin() into _nc_mvcur_wrap()
1875           function and screen cleanup (i.e., color) into _nc_screen_wrap()
1876           function.
1877         + add new functions _nc_screen_init(), _nc_screen_resume() and
1878           _nc_screen_wrap().
1879         + rename _nc_mvcur_scrolln() to _nc_scrolln().
1880         + add a copy of acs_map[] to the SCREEN structure, where it can be
1881           stored/retrieved via set_term().
1882         + move variables _nc_idcok, _nc_idlok, _nc_windows into the SCREEN
1883           structure.
1884
1885 970816
1886         + implement experimental _nc_perform_scroll().
1887         + modify newterm (actually _nc_setupscreen()) to emit an sgr0 when
1888           initializing the screen, as does SVr4 (reported by Alexander V.
1889           Lukyanov).
1890         + added test_progs rule to ncurses/Makefile.
1891         + modify test/configure.in to check if initscr is already in $LIBS
1892           before looking for (n)curses library.
1893         + correct version-number in configure script for OSF1 shared-library
1894           options (patch by Tim Mooney).
1895         + add -DNDEBUG to CPPFLAGS for --enable-assertions (as Juergen
1896           originally patched) since the c++ demo files do not necessarily
1897           include ncurses_cfg.h
1898         + supply default value for --enable-assertions option in configure
1899           script (reported by Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>).
1900         > patches by Alexander V. Lukyanov:
1901         + correct/simplify logic of werase(), wclrtoeol() and wclrbot().  See
1902           example firstlast.c
1903         + optimize waddch_literal() and waddch_nosync() by factoring out
1904           common subexpressions.
1905         + correct sense of NDEBUG ifdef for CHECK_POSITION macro.
1906         + corrections to render_char(), to make handling of colored blanks
1907           match SVr4 curses, as well as to correct a bug that xor'd space
1908           against the background character.
1909         + replaced hash function with a faster one (timed it)
1910         + rewrote the hashmap algorithm to be one-pass, this avoids multiple
1911           cost_effective() calls on the same lines.
1912         + modified cost_effective() so it is now slightly more precise.
1913         > patches by H.J.Lu for glibc integration:
1914         + add modules define_key, keyok, name_match, tries
1915         + add makefile rules for some of the unit tests in ncurses (mvcur,
1916           captoinfo, hardscroll, hashmap).
1917         + update Linux configure-script for wide-character definitions.
1918
1919 970809
1920         + modify _tracebits() to show the character size (e.g., CS8).
1921         + modify tparm() to emit '\200' where the generated string would have a
1922           null (reported by From:  Ian Dall <Ian.Dall@dsto.defence.gov.au> for
1923           terminal type ncr7900).
1924         + modify install process so that ldconfig is not invoked if the
1925           package is built with an install-prefix.
1926         + correct test program for chtype size (reported by Tim Mooney).
1927         + add configure option --disable-scroll-hints, using this to ifdef the
1928           logic that computes indices for _nc_scroll_optimize().
1929         + add module ncurses/softscroll.c, to perform single-stage computation
1930           of scroll indices used in _nc_scroll_optimize().  This is faster than
1931           the existing scrolling algorithm, but tends to make too-small hunks.
1932         + eliminate fixed buffer size in _nc_linedump().
1933         + minor fixes to lib_doupdate.c to add tradeoff between clr_eol (el)
1934           and clr_bol (el1), refine logic in ClrUpdate() and ClrBottom() (patch
1935           by Alexander V. Lukyanov).
1936         + add test/testaddch.c, from a pending patch by Alexander V. Lukyanov.
1937         + correct processing of "configure --enable-assertions" option (patch
1938           by Juergen Pfeifer).
1939
1940 970802
1941         + add '-s' (single-step) option too test/hashtest.c, correct an error
1942           in loop limit for '-f' (footer option), toggle scrollok() when
1943           writing footer to avoid wrap at lower-right corner.
1944         + correct behavior of clrtoeol() immediately after wrapping cursor,
1945           which was not clearing the line at the cursor position (reported by
1946           Liviu Daia <daia@stoilow.imar.ro>).
1947         + corrected mapping for ACS_LANTERN, which was 'I' rather than 'i'
1948           (reported by Klaus Weide <kweide@tezcat.com>).
1949         + many corrections to make progs/capconvert work, as well as make it
1950           reasonably portable and integrated with ncurses 4.1 (reported by Dave
1951           Furstenau <df@ravine.binary.net>).
1952
1953 970726
1954         + add flag SP->_fifohold, corresponding logic to modify the behavior of
1955           the line breakout logic so that if the application does not read
1956           input, refreshes will not be stopped, but only slowed.
1957         + generate slk_attr_off(), slk_attr_on(), slk_attr_set(), vid_attr(),
1958           ifdef'd for wide-character support, since ncurses' WA_xxx attribute
1959           masks are identical with the A_xxx masks.
1960         + modify MKlib_gen.sh to generate ifdef'd functions to support optional
1961           configuration of wide-characters.
1962         + modify tset to behave more like SVr4's tset, which does not modify
1963           the settings of intr, quit or erase unless they are given as command
1964           options (reported by Nelson H. F. Beebe <beebe@math.utah.edu>).
1965         + modify tset to look in /etc/ttys or /etc/ttytype if the configuration
1966           does not have getttynam().
1967         + extend baudrate table in tset.c to match baudrate() function.
1968         + add table entries for 230400 and 460800 bd to baudrate() function.
1969         + improve breakout logic by allowing it before the first line updated,
1970           which is what SVr4 curses does (patch by Alexander V. Lukyanov).
1971         + correct initialization of vcost in relative_move(), for cursor-down
1972           case (patch by Alexander V. Lukyanov).
1973         > nits gleaned from Debian distribution of 1.9.9g-3:
1974         + install symbolic link for intotocap.
1975         + reference libc directly when making shared libraries.
1976         + correct renaming of curs_scr_dmp.3x in man_db.renames.
1977         + guard tgetflag() and other termcap functions against null cur_term
1978           pointer.
1979
1980 970719
1981         + corrected initial state of software echo (error in 970405, reported
1982           by Alexander V. Lukyanov).
1983         + reviewed/added messages to configure script, so that all non-test
1984           options should be accompanied by a message.
1985         + add configure check for long filenames, using this to determine if
1986           it is safe to allow long aliases for terminal descriptions as does
1987           SVr4.
1988         + add configure options for widec (wide character), hashmap (both
1989           experimental).
1990         > patch by Alexander V. Lukyanov:
1991         + hashmap.c - improved by heuristic, so that scroll test works much
1992           better when csr is not available.
1993         + hardscroll.c - patched so that it continues to scroll other chunks
1994           after failure to scroll one.
1995         + lib_doupdate.c - _nc_mvcur_scrolln extended to handle more cases; csr
1996           is avoided as it is relative costly.  Fixed wrong coordinates in one
1997           case and wrong string in TRACE.
1998         > patch by Juergen Pfeifer:
1999         + modify C++ binding to compile on AIX 4.x with the IBM C-SET++
2000           compiler.
2001
2002 970712
2003         + remove alternate character set from kterm terminfo entry; it uses the
2004           shift-out control for a purpose incompatible with curses, i.e., font
2005           switching.
2006         + disentangle 'xterm' terminfo entry from some derived entries that
2007           should be based on xterm-r6 instead.
2008         + add cbt to xterm-xf86-xv32 terminfo entry; I added the emulation for
2009           XFree86 3.1.2F, but overlooked its use in terminfo then - T.Dickey.
2010         + correct logic in lib_mvcur.c that uses back_tab.
2011
2012 970706
2013         + correct change from 970628 to ClrUpdate() in lib_doupdate.c so that
2014           contents of curscr are saved in newscr before clearing the screen.
2015           This is needed to make repainting work with the present logic of
2016           TransformLine().
2017         + use napms() rather than sleep() in tset.c to avoid interrupting I/O.
2018
2019 970705
2020         + add limit checks to _nc_read_file_entry() to guard against overflow
2021           of buffer when reading incompatible terminfo format, e.g, from OSF/1.
2022         + correct some loop-variable errors in xmc support in lib_doupdate.c
2023         + modify ncurses 'b' test to add gaps, specified by user, to allow
2024           investigation of interaction with xmc (magic cookie) code.
2025         + correct typo in 970524 mods to xmas.c, had omitted empty parameter
2026           list from has_colors(), which gcc ignores, but SVr4 does not
2027           (reported by Larry Virden).
2028         + correct rmso capability in wy50-mc description.
2029         + add configure option "--enable-hard-tabs", renamed TABS_OK ifdef to
2030           USE_HARD_TABS.
2031         > patch by Juergen Pfeifer:
2032         + Add bindings for keyok() and define_key() to the Ada95 packages.
2033         + Improve man pages menu_post.3x and menu_format.3x
2034         + Fix the HTML pages in the Ada95/html directory to reflect the above
2035           changes.
2036
2037 970628
2038         + modify change from 970101 to ClrUpdate() in lib_doupdate.c so that
2039           pending changes to both curscr and newscr are flushed properly.
2040           This fixes a case where the first scrolling operation in nvi would
2041           cause the screen to be cleared unnecessarily and repainted before
2042           doing the indexing, i.e., by repeatedly pressing 'j' (reported by
2043           Juergen Pfeifer).
2044         + correct error in trans_string() which added embedded newlines in a
2045           terminfo description to the stored strings.
2046         + remove spurious newlines from sgr in wyse50 (and several other)
2047           terminfo descriptions.
2048         + add configure option for experimental xmc (magic cookie) code,
2049           "--enable-xmc-glitch".  When disabled (the default), attributes that
2050           would store a magic cookie are suppressed in vidputs().  The magic
2051           cookie code is far from workable at this stage; the configuration
2052           option is a stopgap.
2053         + move _nc_initscr() from lib_initscr.c to lib_newterm.c
2054         + correct path for invoking make_keys (a missing "./").
2055
2056 970621
2057         + correct sign-extension problem with "infocmp -e", which corrupted
2058           acsc values computed for linux fallback data.
2059         + correct dependency on ncurses/names.c (a missing "./").
2060         + modify configure script to use '&&' even for cd'ing to existing
2061           directories to work around broken shell interpreters.
2062         + correct a loop-limit in _nc_hash_map() (patch by Alexander V.
2063           Lukyanov).
2064
2065 970615
2066         + restore logic in _nc_scroll_optimize() which marks as touched the
2067           lines in curscr that are shifted.
2068         + add new utility 'make_keys' to compute keys.tries as a table rather
2069           than a series of function calls.
2070         + correct include-dependency for tic.h used by name_match
2071         + removed buffer-allocation for name and description from m_item_new.c,
2072           since this might result in incompatibilities with SVr4.  Also fixed
2073           the corresponding Ada95 binding module (patch by Juergen Pfeifer,
2074           from report by Avery Pennarun <apenwarr@foxnet.net>)
2075         + removed the mechanism to timestamp the generated Ada95 sources.  This
2076           resulted always in generating patches for the HTML doc, even when
2077           nothing really changed (patch by Juergen Pfeifer).
2078         + improve man page mitem_new.3x (patch by Juergen Pfeifer).
2079
2080 970614
2081         + remove ech capability from rxvt description because it does not work.
2082         + add missing case logic for infocmp -I option (reported by Lorenzo M.
2083           Catucci <lorenzo@argon.roma2.infn.it>)
2084         + correct old bug in pnoutrefresh() unmasked by fix in 970531; this
2085           caused glitches in the ncurses 'p' test since the area outside the
2086           pad was not compared when setting up indices for _nc_scroll_optimize.
2087         + rewrote tracebits() to workaround misdefinition of TOSTOP on Ultrix
2088           4.4, as well as to eliminate fixed-size buffer (reported by Chris
2089           Tanner <tannerc@aecl.ca>)
2090         + correct prototype for termattrs() as per XPG4 version 2.
2091         + add placeholder prototypes for color_set(), erasewchar(),
2092           term_attrs(), wcolor_set() as per XPG4 version 2.
2093         + correct attribution for progs/progs.priv.h and lib_twait.c
2094         + improve line-breakout logic by checking based on changed lines rather
2095           than total lines (patch by Alexander V. Lukyanov).
2096         + correct loop limits for table-lookup of enumerated value in form
2097           (patch by Juergen Pfeifer).
2098         + improve threshhold computation for determining when to call ClrToEOL
2099           (patch by Alexander V. Lukyanov).
2100
2101 970531
2102         + add configure option --disable-database to force the library to
2103           use only the fallback data.
2104         + add configure option --with-fallbacks, to specify list of fallback
2105           terminal descriptions.
2106         + add a symbolic link for ncurses.h during install; too many programs
2107           still assume there's an ncurses.h
2108         + add new terminfo.src entry for xterm-xf86-v33.
2109         + restore terminfo.src entry for emu to using setf/setb, since it is
2110           not, after all, generating ANSI sequences.  Corrected missing comma
2111           that caused setf/setb entries to merge.
2112         + modify mousemask() to use keyok() to enable/disable KEY_MOUSE, so
2113           that applications can disable ncurses' mouse and supply their own
2114           handler.
2115         + add extensions keyok() and define_key().  These are designed to allow
2116           the user's application better control over the use of function keys,
2117           e.g., disabling the ncurses KEY_MOUSE.  (The define_key idea was from
2118           a mailing-list thread started by kjahds@kjahds.com Nov'1995).
2119         + restore original behavior in ncurses 'g' test, i.e., explicitly
2120           set the keypad mode rather than use the default, since it confuses
2121           people.
2122         + rewrote the newdemo banner so it's readable (reported by Hugh Daniel).
2123         + tidy up exit from hashtest (reported by Hugh Daniel).
2124         + restore check for ^Q in ncurses 'g' test broken in 970510 (reported
2125           by Hugh Daniel)
2126         + correct tput program, checking return-value of setupterm (patch by
2127           Florian La Roche).
2128         + correct logic in pnoutrefresh() and pechochar() functions (reported
2129           by Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>).  The computation
2130           of 'wide' date to eric's #283 (1.9.9), and the pechochar bug to the
2131           original implementation (1.9.6).
2132         + correct typo in vt102-w terminfo.src entry (patch by Robert Wuest
2133           <rwuest@sire.vt.com>)
2134         + move calls of _nc_background() out of various loops, as its return
2135           value will be the same for the whole window being operated on (patch
2136           by J.T.Conklin).
2137         + add macros getcur[xy] getbeg[xy] getpar[xy], which are defined in
2138           SVr4 headers (patch by J.T.Conklin <jtc@NetBSD.ORG>)
2139         + modify glibc addon-configure scripts (patch by H.J.Lu).
2140         + correct a bug in hashmap.c: the size used for clearing the hashmap
2141           table was incorrect, causing stack corruption for large values of
2142           LINES, e.g., >MAXLINES/2 (patch by Alexander V. Lukyanov).
2143         + eric's terminfo 9.13.23 & 9.13.24 changes: replaced minitel-2 entry,
2144           added MGR, ansi-nt (note: the changes described for 9.13.24 have not
2145           been applied).
2146         > several changes by Juergen Pfeifer:
2147         + correct a missing error-return in form_driver.c when wrapping of a
2148           field is not possible.
2149         + correct logic in form_driver.c for configurations that do not have
2150           memccpy() (reported by Sidik Isani <isani@cfht.hawaii.edu>)
2151         + change several c++ binding functions to inline.
2152         + modify c++ menu binding to inherit from panels, for proper
2153           initialization.
2154         + correct freeing of menu items in c++ binding.
2155         + modify c++ binding to reflect removal of const from user data pointer
2156           in forms/menus libraries.
2157
2158 970524
2159         + add description of xterm-16color.
2160         + modify name of shared-library on *BSD to end with $(REL_VERSION)
2161           rather than $(ABI_VERSION) to match actual convention on FreeBSD
2162           (cf: 960713).
2163         + add OpenBSD to shared-library case, same as NetBSD and FreeBSD
2164           (reported by Hugh Daniel <hugh@rat.toad.com>).
2165         + corrected include-dependency in menu/Makefile so that "make install"
2166           works properly w/o first doing "make".
2167         + add fallback definition for isascii, used in infocmp.
2168         + modify xmas to use color, and to exit right away when a key is
2169           pressed.
2170         + modify gdc so that the scrolled digits function as described (there
2171           was no time delay between the stages, and the digits overwrote the
2172           bounding box without tidying up).
2173         + modify lib_color.c to use setaf/setab only for the ANSI color codes
2174           0 through 7.  Using 16 colors requires setf/setb.
2175         + modify ncurses 'c' test to work with 16 colors, as well as the normal
2176           8 colors.
2177         + remove const qualifier from user data pointer in forms and menus
2178           libraries (patch by Juergen Pfeifer).
2179         + rewrote 'waddchnstr()' to avoid using the _nc_waddch_nosync()
2180           function, thereby not interpreting tabs, etc., as per spec (patch by
2181           Alexander V. Lukyanov).
2182
2183 970517
2184         + suppress check for pre-existing ncurses header if the --prefix
2185           option is specified.
2186         + add configure options "--with-system-type" and "--with-system-release"
2187           to assist in checking the generated makefiles.
2188         + add configure option "--enable-rpath" to allow installers to specify
2189           that programs linked against shared libraries will have their library
2190           path embedded, allowing installs into nonstandard locations.
2191         + add flags to OSF1 shared-library options to specify version and
2192           symbol file (patch by Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>)
2193         + add missing definition for ABI_VERSION to c++/Makefile.in (reported
2194           by Satoshi Adachi <adachi@wisdom.aa.ap.titech.ac.jp>).
2195         + modify link flags to accommodate HP-UX linker which embeds absolute
2196           pathnames in executables linked against shared libraries (reported by
2197           Jason Evans <jasone@mrc.uidaho.edu>, solved by Alan Shutko
2198           <ats@hubert.wustl.edu>).
2199         + drop unnecessary check for attribute-change in onscreen_mvcur() since
2200           mvcur() is the only caller within the library, and that check in turn
2201           is exercised only from lib_doupdate.c (patch by Alexander V.
2202           Lukyanov).
2203         + add 'blank' parameter to _nc_scroll_window() so _nc_mvcur_scrolln()
2204           can use the background of stdscr as a parameter to that function
2205           (patch by Alexander V. Lukyanov).
2206         + moved _nc_mvcur_scrolln() from lib_mvcur.c to lib_doupdate.c, to use
2207           the latter's internal functions, as well as to eliminate unnecessary
2208           cursor save/restore operations (patch by Alexander V. Lukyanov).
2209         + omit parameter of ClrUpdate(), since it is called only for newscr,
2210           further optimized/reduced by using ClearScreen() and TransformLine()
2211           to get rid of duplicate code (patch by Alexander V. Lukyanov).
2212         + modify scrolling algorithm in _nc_scroll_optimize() to reject hunks
2213           that are smaller than the distance to be moved (patch by Alexander V.
2214           Lukyanov).
2215         + correct a place where the panel library was not ifdef'd in ncurses.c
2216           (Juergen Pfeifer)
2217         + documentation fixes (Juergen Pfeifer)
2218
2219 970515  4.1 release for upload to prep.ai.mit.edu
2220         + re-tag changes since 970505 as 4.1 release.
2221
2222 970510
2223         + modify ncurses 'g' test to allow mouse input
2224         + modify default xterm description to include mouse.
2225         + modify configure script to add -Wwrite-strings if gcc warnings are
2226           enabled while configuring --enable-const (and fixed related warnings).
2227         + add toggle, status display for keypad mode to ncurses 'g' test to
2228           verify that keypad and scrollok are not inherited from parent window
2229           during a call to newwin.
2230         + correction to MKexpanded.sh to make it work when configure --srcdir is
2231           used (reported by H.J.Lu).
2232         + revise test for bool-type, ensuring that it checks if builtin.h is
2233           available before including it, adding test for sizeof(bool) equal
2234           to sizeof(short), and warning user if the size cannot be determined
2235           (reported by Alexander V. Lukyanov).
2236         + add files to support configuration of ncurses as an add-on library
2237           for GNU libc (patch by H.J.Lu <hjl@lucon.org>)
2238
2239 970506
2240         + correct buffer overrun in lib_traceatr.c
2241         + modify change to lib_vidattr.c to avoid redundant orig_pair.
2242         + turn on 'echo()' in hanoi.c, since it is initially off.
2243         + rename local 'errno' variable in etip.h to avoid conflict with global
2244           (H.J.Lu).
2245         + modify configure script to cache LD, AR, AR_OPTS (patch by H.J.Lu
2246           <hjl@lucon.org>)
2247
2248 970505  4.1 pre-release
2249         + regenerate the misc directory html dumps without the link list, which
2250           is not useful.
2251         + correct dependency in form directory makefile which caused unnecessary
2252           recompiles.
2253         + correct substitution for ABI_VERSION in test-makefile
2254         + modify install rules for shared-library targets to remove the target
2255           before installing, since some install programs do not properly handle
2256           overwrite of symbolic links.
2257         + change order of top-level targets so that 'include' immediate
2258           precedes the 'ncurses' directory, reducing the time between new
2259           headers and new libraries (requested by Larry Virden).
2260         + modify lib_vidattr.c so that colors are turned off only before
2261           modifying other attributes, turned on after others.  This makes the
2262           hanoi.c program display correctly on FreeBSD console.
2263         + modify debug code in panel library to print user-data addresses
2264           rather than the strings which they (may) point to.
2265         + add check to ensure that C++ binding and demo are not built with g++
2266           versions below 2.7, since the binding uses templates.
2267         + modify c++ binding and demo to build and run with SGI's c++ compiler.
2268           (It also compiles with the Sun SparcWorks compiler, but the demo does
2269           not link, due to a vtbl problem).
2270         + corrections to demo.cc, to fix out-of-scope variables (Juergen
2271           Pfeifer).
2272
2273 970503
2274         + correct memory leak in _nc_trace_buf().
2275         + add configure test for regexpr.h, for Unixware 1.x.
2276         + correct missing "./" prefixing names of generated files in ncurses
2277           directory.
2278         + use single-quotes in configure scripts assignments for MK_SHARED_LIB
2279           to workaround shell bug on FreeBSD 2.1.5
2280         + remove tabs from intermediate #define's for GCC_PRINTF, GCC_SCANF
2281           that caused incorrect result in ncurses_cfg.h
2282         + correct initialization in lib_trace.c, which omitted version info.
2283         + remove ech, el1 attributes from cons25w description; they appear to
2284           malfunction in FreeBSD 2.1.5
2285         + correct color attributes in terminfo.src and lib_color.c to match
2286           SVr4 behavior by interchanging codes 1,4, 3,6 in the setf/setb
2287           capabilities.
2288         + use curs_set() rather than checks via tigetstr() for test programs
2289           that hide the cursor: firework, rain, worm.
2290         + ensure that if the terminal lacks change_scroll_region, parm_index
2291           and parm_rindex are used only to scroll the whole screen (patch by
2292           Peter Wemm).
2293         + correct curs_set() logic, which did not return ERR if the requested
2294           attributes did not exist, nor did it assume an unknown initial state
2295           for the cursor (patch by Alexander V. Lukyanov).
2296         + combine IDcTransformLine and NoIDcTransformLine to new TransformLine
2297           function in lib_doupdate.c (patch by Alexander V. Lukyanov).
2298         + correct hashmap.c, which did not update index information (patch by
2299           Alexander V. Lukyanov).
2300         + patch by Juergen Pfeifer for C++ binding and demo (see c++/NEWS)
2301         + correct index in lib_instr.c (Juergen Pfeifer).
2302         + correct typo in 970426 patch from Tom's cleanup of lib_overlay.c
2303           (Juergen Pfeifer).
2304
2305 970426
2306         + corrected cost computation in PutRange(), which was using
2307           milliseconds compared to characters by adding two new members to the
2308           SCREEN struct, _hpa_ch_cost and _cup_ch_cost.
2309         + drop ncurses/lib_unctrl.c, add ncurses/MKunctrl.awk to generate a
2310           const array of strings (suggested by Alexander V. Lukyanov, though
2311           with a perl script 970118).
2312         + rewrote ncurses 'b' test to better exercise magic-cookie (xmc), as
2313           well as noting the attributes that are not supported by a terminal.
2314         + trace the computation of cost values in lib_mvcur.c
2315         + modify _nc_visbuf() to use octal rather than hex, corrected sign
2316           extension bug in that function that caused buffer overflow.
2317         + modify trace in lib_acs.c to use _nc_visbuf().
2318         + suppress trace within _traceattr2().
2319         + correct logic of _tracechtype2(), which did not account for repeats
2320           or redefinition within an acsc string.
2321         + modify debug-library version baudrate() to use environment variable
2322           $BAUDRATE to override speed computation.  This is needed for
2323           regression testing.
2324         + correct problems shown by "weblint -pedantic".
2325         + update mailing-list information (now ncurses@bsdi.com).
2326
2327 970419
2328         + Improve form_field_validation.3x manpage to better describe the
2329           precision parameter for TYPE_NUMERIC and TYPE_INTEGER.  Provide more
2330           precise information how the range checking can be avoided.  (patch by
2331           Juergen Pfeifer, reported by Bryan Henderson)
2332         + change type of min/max value of form types TYPE_INTEGER to long to
2333           match SVr4 documentation.
2334         + set the form window to stdscr in set_form_win() so that form_win()
2335           won't return null (patch by Juergen Pfeifer, reported by Bryan
2336           Henderson <bryanh@giraffe.netgate.net>).
2337
2338 970412
2339         + corrected ifdef'ing of inline (from 970321) for TRACE vs C++.
2340         + corrected toggle_attr_off() macro (patch by Andries.Brouwer).
2341         + modify treatment of empty token in $MANPATH to /usr/man (reported by
2342           <Andries.Brouwer@cwi.nl>)
2343         + modify traces that record functions-called so that chtype and attr_t
2344           values are expressed symbolically, to simplify reuse of generated
2345           test-scripts on SVr4 regression testing.
2346         + add new trace functions _traceattr2() and _tracechtype2()
2347
2348 970405
2349         + add configure option --enable-const, to support the use of 'const'
2350           where XSI should have, but did not, specify.  This defines
2351           NCURSES_CONST, which is an empty token otherwise, for strict
2352           compatibility.
2353         + make processing of configure options more verbose by echoing the
2354           --enable/--with values.
2355         + add configure option --enable-big-core
2356         + set initial state of software echo off as per XSI.
2357         + check for C++ builtin.h header
2358         + correct computation of absolute-path for $INSTALL that dropped "-c"
2359           parameter from the expression.
2360         + rename config.h to ncurses_cfg.h to avoid naming-conflict when ncurses
2361           is integrated into larger systems (from diffs by H.J.Lu for libc).
2362         + correct inequality in lib_doupdate.c that caused a single-char to not
2363           be updated when the char on the right-margin was not blank, idcok()
2364           was true (patch by Alexander V.  Lukyanov 970124, also reported by
2365           Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu> 970329).
2366         + modify 'clean' rule in include/Makefile so that files created by
2367           configure script are removed in 'distclean' rule instead.
2368
2369 970328
2370         + correct array limit in tparam_internal(), add case to interpret "%x"
2371           (patch by Andreas Schwab)
2372         + rewrote number-parsing in ncurses.c 'd' test; it did not reset the
2373           value properly when non-numeric characters were given (reported by
2374           Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>)
2375
2376 970321
2377         + move definition of __INTERNAL_CAPS_VISIBLE before include for
2378           progs.priv.h (patch by David MacKenzie).
2379         + add configuration summary, reordered check for default include
2380           directory to better accommodate a case where installer is configuring
2381           a second copy of ncurses (reported by Klaus Weide
2382           <kweide@tezcat.com>)
2383         + moved the #define for 'inline' as an empty token from the
2384           $(CFLAGS_DEBUG) symbol into config.h, to avoid redefinition warning
2385           (reported by Ward Horner).
2386         + modify test for bool builtin type to use 'unsigned' rather than
2387           'unknown' when cross-compiling (reported by Ward Horner).
2388
2389 970315
2390         + add header dependencies so that "make install.libs" will succeed
2391           even if "make all" is not done first.
2392         + moved some macros from lib_doupdate.c to curses.priv.h to use in
2393           expanded functions with ATAC.
2394         + correct implementation of lib_instr.c; both XSI and SVr4 agree that
2395           the winnstr functions can return more characters than will fit on one
2396           line.
2397
2398 970308
2399         + modify script that generates lib_gen.c to support traces of called &
2400           return.
2401         + add new configure option "--disable-macros", for testing calls within
2402           lib_gen.c
2403         + corrected logic that screens level-checking of called/return traces.
2404
2405 970301
2406         + use new configure macro NC_SUBST to replace AC_PATH_PROG, better
2407           addressing request by Ward Horner.
2408         + check for cross-compiling before trying to invoke the autoconf
2409           AC_FUNC_SETVBUF_REVERSED macro (reported by Ward Horner)
2410         + correct/simplify loop in _nc_visbuf(), 970201 changes omitted
2411           a pointer-increment.
2412         + eliminate obsolete symbol SHARED_ABI from dist.mk (noted by
2413           Florian La Roche).
2414
2415 970215
2416         + add configure option --enable-expanded, together with code that
2417           implements an expanded form of certain complex macros, for testing
2418           with ATAC.
2419         + disable CHECK_POSITION unless --with-assertions is configured
2420           (Alexander Lukyanov pointed out that this is redundant).
2421         + use keyname() to show traced chtype values where applicable rather
2422           than _tracechar(), which truncates the value to 8-bits.
2423         + minor fixes to TRACE_ICALLS, added T_CREATE, TRACE_CCALLS macros.
2424         + modify makefiles in progs and test directories to avoid using C
2425           preprocessor options on link commands (reported by Ward Horner)
2426         + correct ifdef/include-order for nc_alloc.h vs lib_freeall.c (reported
2427           by Ward Horner)
2428         + modify ifdef's to use configure-defined symbols consistently
2429           (reported by Ward Horner)
2430         + add/use new makefile symbols AR, AR_OPTS and LD to assist in non-UNIX
2431           ports (reported by Ward Horner <whorner@tsi-telsys.com>)
2432         + rename struct try to struct tries, to avoid name conflict with C++
2433           (reported by Gary Johnson).
2434         + modify worm.c to hide cursor while running.
2435         + add -Wcast-qual to gcc warnings, fix accordingly.
2436         + use PutChar rather than PutAttrChar in ClrToEOL to properly handle
2437           wrapping (Alexander Lukyanov).
2438         + correct spurious echoing of input in hanoi.c from eric's #291 & #292
2439           patches (reported by Vernon C. Hoxie <vern@zebra.alphacdc.com>).
2440         + extend IRIX configuration to IRIX64
2441         + supply missing install.libs rule needed after restructuring
2442           test/Makefile.in
2443
2444 970208
2445         + modify "make mostlyclean" to leave automatically-generated source
2446           in the ncurses directory, for use in cross-compiles.
2447         + autogenerated object-dependencies for test directory
2448         + add configure option --with-rcs-ids
2449         + modify configuration scripts to generate major/minor/patch versions
2450           (suggested by Alexander Lukyanov).
2451         + supply missing va_end's in lib_scanw.c
2452         + use stream I/O for trace-output, to eliminate fixed-size buffer
2453         + add TRACE_ICALLS definition/support to lib_trace.c
2454         + modify Ada95 binding to work with GNAT 3.09 (Juergen Pfeifer).
2455
2456 970201
2457         + add/modify traces for called/return values to simplify extraction
2458           for test scripts.
2459         + changed _nc_visbuf to quote its result, and to dynamically allocate
2460           the returned buffer.
2461         + invoke ldconfig after installing shared library
2462         + modify install so that overwrite applies to shared library -lcurses
2463           in preference to static library (reported by Zeyd 960928).
2464         + correct missing ';' in 961221 mod to overwrite option use of $(LN_S).
2465         + fixes to allow "make install" to work without first doing a "make
2466           all" (suggested by Larry Virden).
2467
2468 970125
2469         + correct order of #ifdef for TABS_OK.
2470         + instrumented toe.c to test memory-leaks.
2471         + correct memory-deallocation in toe.c (patch by Jesse Thilo).
2472         + include <sys/types.h> in configuration test for regex.h (patch by
2473           Andreas Schwab)
2474         + make infocmp recognize -I option, for SVr4 compatibility (reported by
2475           Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>)
2476
2477 970118
2478         + add extension 'use_default_colors()', modified test applications that
2479           use default background (firework, gdc, hanoi, knight, worm) to
2480           demonstrate.
2481         + correct some limit checks in lib_doupdate.c exposed while running
2482           worm.
2483         + use typeCalloc macro for readability.
2484         + add/use definition for CONST to accommodate testing with Solaris
2485           (SVr4) curses, which doesn't use 'const' in its prototypes.
2486         + modify ifdef's in test/hashtest.c and test/view.c to compile with
2487           Solaris curses.
2488         + modify _tracedump() to pad pad colors & attrs lines to match change
2489           in 970101 showing first/last changes.
2490         + corrected location of terminating null on dynamically allocated forms
2491           fields (patch by Per Foreby).
2492
2493 970111
2494         + added headers to make view.c compile on SCO with the resizeterm()
2495           code (i.e., struct winsize) - though this compiles, I don't have a
2496           suitable test configuration since SIGWINCH doesn't pass my network to
2497           that machine - T.Dickey.
2498         + update test/configure.in to supply some default substitutions.
2499         + modify configure script to add -lncurses after -lgpm to fix problem
2500           linking against static libraries.
2501         + add a missing noraw() to test/ncurses.c (places noted by Jeremy
2502           Buhler)
2503         + add a missing wclear() to test/testcurs.c (patch by Jeremy Buhler
2504           <jbuhler@cs.washington.edu>)
2505         + modify headers to accommodate compilers that don't allow duplicate
2506           "#define" lines for NCURSES_VERSION (reported by Larry W. Virden
2507           <lvirden@cas.org>)
2508         + fix formatting glitch in curs_getch.3x (patch by Jesse Thilo).
2509         + modify lib_doupdate to make el, el1 and ed optimization use the
2510           can_clear_with macro, and change EmitRange to allow leaving cursor at
2511           the middle of interval, rather than always at the end (patch by
2512           Alexander Lukyanov originally 960929, resync 970106).
2513
2514 970104
2515         + workaround defect in autoconf 2.12 (which terminates configuration
2516           if no C++ compiler is found) by adding an option --without-cxx.
2517         + modify several man-pages to use tbl, where .nf/.fi was used (reported
2518           by Jesse Thilo).
2519         + correct font-codes in some man-pages (patch by Jesse Thilo
2520           <Jesse.Thilo@pobox.com>)
2521         + use configure script's knowledge of existence of g++ library for the
2522           c++ Makefile (reported by Paul Jackson).
2523         + correct misleading description of --datadir configuration option
2524           (reported by Paul Jackson <pj@sam.engr.sgi.com>)
2525
2526 970101
2527         + several corrections to _nc_mvcur_scrolln(), prompted by a bug report
2528           from Peter Wemm:
2529         > the logic for non_dest_scroll_region was interchanged between the
2530           forward & reverse scrolling cases.
2531         > multiple returns from the function allowed certain conditions to do
2532           part of an operation before discovering that it couldn't be
2533           completed, returning an error without restoring the cursor.
2534         > some returns were ERR, where the function had completed the
2535           operation, because the insert/delete line logic was improperly
2536           tested (this was probably the case Peter saw).
2537         > contrary to comments, some scrolling cases were tested after the
2538           insert/delete line method.
2539         + modify _tracedump() to show first/last changes.
2540         + modify param of ClrUpdate() in lib_doupdate.c to 'newscr', fixes
2541           refresh problem (reported by Peter Wemm) that caused nvi to not show
2542           result of ":r !ls" until a ^L was typed.
2543
2544 961229  (internal alpha)
2545         + correct some of the writable-strings warnings (reported by Gary
2546           Johnson <gjohnson@season.com>).  Note that most of the remaining ones
2547           are part of the XSI specification, and can't be "fixed".
2548         + improve include-dependencies in form, menu, panel directories.
2549         + correct logic of delay_output(), which would return early if
2550           there is data on stdin.
2551         + modify interface & logic of _nc_timed_wait() to support 2 file
2552           descriptors, needed for GPM.
2553         + integrate patch by Andrew Kuchling <amk@magnet.com> for GPM (mouse)
2554           support, correcting logic in wgetch() and _nc_mouse_parse() which
2555           prevented patch from working properly.
2556         + improve performance of panel algorithm (Juergen Pfeifer 961203).
2557         + strip RCS id's from generated .html files in Ada95 subtree.
2558         + resync with generated .html files (Juergen Pfeifer 961223).
2559         + terminfo.src 10.1.0 from Eric.
2560
2561 961224  4.0 release
2562         + release as 4.0 to accommodate Linux ld.so.1.8.5
2563         + correct syntax/spelling, regenerated .doc files from .html using
2564           lynx 2.5
2565         + refined forms/menus makefiles (Juergen Pfeifer 961223).
2566
2567 961221  - snapshot
2568         + remove logic in read_entry.c that attempts to refine errno by using
2569           'access()' for the directory (from patch by Florian La Roche).
2570         + correct configure test/substitution that inhibits generating
2571           include-path to /usr/include if gcc is used (reported by Florian La
2572           Roche).
2573         + modify setupterm() to allocate new TERMINAL for each call, just as
2574           solaris' curses does (Alexander Lukyanov 960829).
2575         + corrected memory leaks in read_entry.c
2576         + add configure options --with-dbmalloc, --with-dmalloc, and
2577           --disable-leaks, tested by instrumenting infocmp, ncurses programs.
2578         + move #include's for stdlib.h and string.h to *.priv.h to accommodate
2579           use of dbmalloc.
2580         + modify use of $(LN_S) to follow recommendation in autoconf 2.12,
2581           i.e., set current directory before linking.
2582         + split-out panel.priv.h, improve dependencies for forms, menus
2583           (Juergen Pfeifer 961204).
2584         + modify _nc_freewin() to reset globals curscr/newscr/stdscr when
2585           freeing the corresponding WINDOW (Purify).
2586         + modify delwin() to return ERR if the window to be deleted has
2587           subwindows, needed as a side-effect of resizeterm() (Purify).  Tested
2588           and found that SVr4 curses behaves this way.
2589         + implement logic for _nc_freeall(), bringing stub up to date.
2590
2591 961215
2592         + modify wbkgd() so that it doesn't set nulls in the rendered text,
2593           even if its argument doesn't specify a character (fixes test case by
2594           Juergen Pfeifer for bug-report).
2595         + set window-attributes in wbkgd(), to simplify comparison against
2596           Solaris curses, which does this.
2597
2598 961214  - snapshot
2599         + replace most constants in ncurses 'o' test by expressions, making it
2600           work with wider range of screen sizes.
2601         + add options to ncurses.c to specify 'e' test softkey format, and the
2602           number of header/footer lines to rip-off.
2603         + add ^R (repaint after resize), ^L (refresh) commands to ncurses 'p'
2604           test.
2605         + add shell-out (!) command to ncurses 'p' test to allow test of
2606           resize between endwin/refresh.
2607         + correct line-wrap case in mvcur() by emitting carriage return,
2608           overlooked in 960928, but needed due to SVr4 compatibility changes to
2609           terminal modes in 960907.
2610         + correct logic in wresize that causes new lines to be allocated,
2611           broken for the special case of increasing rows only in 960907's fix
2612           for subwindows.
2613         + modify configure script to generate $(LDFLAGS) with -L and -l options
2614           in preference to explicit library filenames.  (NOTE: this may
2615           require further amending, since I vaguely recall a dynamic loader
2616           that did not work properly without the full names, but it should be
2617           handled as an exception to the rule, since some linkers do bulk
2618           inclusion of libraries when given the full name - T.Dickey).
2619         + modify configure script to allow user-supplied $CFLAGS to set the
2620           debug-option in all libraries (requested by lots of people).
2621         + use return consistently from main(), rather than exit (reported by
2622           Florian La Roche).
2623         + add --enable-getcap-cache option to configure, normally disabled
2624           (requested by Florian La Roche).
2625         + make configure test for gettimeofday() and possibly -lbsd more
2626           efficient (requested by Florian La Roche florian@knorke.saar.de)
2627         + minor adjustments to Ada95 binding (patches by Juergen Pfeifer)
2628         + correct attributes after emitting orig_pair in lib_vidattr.c (patch
2629           by lav@yars.free.net).
2630
2631 961208
2632         + corrected README wrt Ada95 (Juergen Pfeifer)
2633
2634 961207  - snapshot
2635         + integrate resizeterm() into doupdate(), so that if screen size
2636           changes between endwin/refresh, ncurses will resize windows to fit
2637           (this needs additional testing with pads and softkeys).
2638         + add, for memory-leak testing, _nc_freeall() entrypoint to free all
2639           data used in ncurses library.
2640         + initialize _nc_idcok, _nc_idlok statically to resolve discrepancy
2641           between initscr() and newwin() initialization (reported by
2642           lav@yars.free.net).
2643         + test built VERSION=4.0, SHARED_ABI=4 with Linux ld.so.1.8.5
2644           (set beta versions to those values -- NOTE that subsequent pre-4.0
2645           beta may not be interchangeable).
2646         + modify configure script to work with autoconf 2.12
2647
2648 961130  1.9.9g release
2649         + add copyright notices to configuration scripts (written by Thomas
2650           Dickey).
2651
2652 961127
2653         > patch by Juergen Pfeifer (mostly for panel):
2654         + cosmetic improvement for a few routines in the ncurses core library
2655           to avoid warning messages.
2656         + the panel overlap detection was broken
2657         + the panel_window() function was not fool-proof.
2658         + Some inlining...
2659         + Cosmetic changes (also to avoid warning messages when compiling with
2660           -DTRACE).
2661
2662 961126
2663         > patch by Juergen Pfeifer:
2664         + eliminates warning messages for the compile of libform.
2665         + inserts Per Foreby's new field type TYPE_IPV4 into libform.
2666         + Updates man page and the Ada95 binding to reflect this.
2667         + Improves inlining in libmenu and libform.
2668
2669 961120
2670         + improve the use of the "const" qualifier in the
2671           panel library (Juergen Pfeifer)
2672         + change set_panel_userptr() and panel_userptr() to use void*
2673           (Juergen Pfeifer)
2674
2675 961119
2676         + change ABI to 3.4
2677         + package with 961119 version of Ada95 binding (fixes for gnat-3.07).
2678           (Juergen Pfeifer)
2679         + correct initialization of the stdscr pseudo panel in panel library
2680           (Juergen Pfeifer)
2681         + use MODULE_ID (rcs keywords) in forms and menus libraries (Juergen
2682           Pfeifer).
2683         > patch #324 by Eric.
2684         + typo in curs_termcap man page (reported by Hendrik Reichel
2685           <106065.2344@compuserve.com>)
2686         + change default xterm entry to xterm-r6.
2687         + add entry for color_xterm
2688
2689 961116  - snapshot
2690         + lint found several functions that had only #define implementations
2691           (e.g., attr_off), modified curses.h.in to generate them as per XSI
2692           Curses requirement that every macro be available as a function.
2693         + add check in infocmp.c to guard against string compare of
2694           CANCELLED_STRING values.
2695         + modify firework.c, rain.c to hide cursor while running.
2696         + correct missing va_end in lib_tparm.c
2697         + modify hanoi.c to work on non-color terminals, and to use timing
2698           delays when in autoplay mode.
2699         + correct 'echochar()' to refresh immediately (reported by Adrian
2700           Garside 94ajg2@eng.cam.ac.uk)
2701         > patch #322 by eric:
2702         + reorganize terminfo.src entries for xterm.
2703
2704 961109  - snapshot
2705         + corrected error in line-breakout logic (lib_doupdate.c)
2706         + modified newdemo to use wgetch(win) rather than getch() to eliminate
2707           a spurious clear-screen.
2708         + corrected ifdef's for 'poll()' configuration.
2709         + added modules to ncurses, form, menu for Ada95 binding (Juergen
2710           Pfeifer).
2711         + modify set_field_buffer() to allow assignment of string longer than
2712           the initial buffer length, and to return the complete string rather
2713           than only the initial size (Juergen Pfeifer and Per Foreby
2714           <perf@efd.lth.se>).
2715
2716 961102  - snapshot
2717         + configure for 'poll()' in preference to 'select()', since older
2718           systems are more likely to have a broken 'select()'.
2719         + modified render_char() to avoid OR'ing colors.
2720         + minor fixes to testcurs.c, newdemo.c test programs: ifdef'd out the
2721           resize test, use wbkgd and corrected box() parameters.
2722         + make flushinp() test work in ncurses.c by using napms() instead of
2723           sleep().
2724         + undo Eric's changes to xterm-x11r6 (it no longer matched the X11R6.1
2725           distribution, as stated)
2726         + terminfo 9.13.18 (resync by Eric)
2727         + check for getenv("HOME") returning null (Eric).
2728         + change buffer used to decode xterm-mouse commands to unsigned to
2729           handle displays wider than 128 chars (Juergen Pfeifer).
2730         + correct typo curs_outopts.3x (Juergen Pfeifer).
2731         + correct limit-checking in wenclose() (Juergen Pfeifer).
2732         + correction to Peter Wemm's newwin change (Thomas Fehr <fehr@suse.de>).
2733         + corrections to logic that combines colors and attributes; they must
2734           not be OR'd (Juergen Pfeifer, extending from report/patch by Rick
2735           Marshall).
2736
2737 961026  - snapshot
2738         + reset flags in 'getwin()' that might cause refresh to attempt to
2739           manipulate the non-existent parent of a window that is read from a
2740           file (lib_screen.c).
2741         + restructure _nc_timed_wait() to log more information, and to try to
2742           recover from badly-behaved 'select()' calls (still testing this).
2743         + move define for GOOD_SELECT into configure script.
2744         + corrected extra '\' character inserted before ',' in comp_scan.c
2745         + corrected expansion of %-format characters in dump_entry.c; some were
2746           rendered as octal constants.
2747         + modify dump_entry.c to make terminfo output more readable and like
2748           SVr4, by using "\s" for spaces (leading/trailing only), "\," for
2749           comma, "\^" and "\:" as well.
2750         + corrected some memory leaks in ncurses.c, and a minor logic error
2751           in the top-level command-parser.
2752         + correction for label format 4 (PC style with info line), a
2753           slk_clear(), slk_restore() sequence didn't redraw the info line
2754           (Juergen Pfeifer).
2755         + modified the slk window (if simulated) to inherit the background and
2756           default character attributes from stdscr (Juergen Pfeifer).
2757         + corrected limit-check in set_top_row (Juergen Pfeifer).
2758
2759 961019  - snapshot
2760         + correct loop-limit in wnoutrefresh(), bug exposed during pipe-testing
2761           had '.lastchar' entry one beyond '._maxx'.
2762         + modify ncurses test-program to work with data piped to it.
2763         + corrected pathname computation in run_tic.sh, removing extra "../"
2764           (reported by Tim Mooney).
2765         + modified configure script to use previous install's location for
2766           curses.h
2767         + added NetBSD and FreeBSD to platforms that use --prefix=/usr as
2768           a default.
2769
2770 961013
2771         + revised xterm terminfo descriptions to reflect the several versions
2772           that are available.
2773         + corrected a pointer reference in dump_entry.c that didn't test if
2774           the pointer was -1.
2775
2776 961005  - snapshot
2777         + correct _nc_mvcur_scrolln for terminals w/o scrolling region.
2778         + add -x option to hashtest to control whether it allows writes to the
2779           lower-right corner.
2780         + ifdef'd (NCURSES_TEST) the logic for _nc_optimize_enable to make it
2781           simpler to construct tests (for double-check of _nc_hash_map tests).
2782         + correct ifdef's for c++ in curses.h
2783         + change default xterm type to xterm-x11r6.
2784         + correct quoting in configure that made man-pages installed with
2785           $datadir instead of actual terminfo path.
2786         + correct whitespace in include/Caps, which caused kf11, clr_eol and
2787           clr_end to be omitted from terminfo.5
2788         + fix memory leaks in delscreen() (adapted from Alexander Lukyanov).
2789         + improve appearance of marker in multi-selection menu (Juergen
2790           Pfeifer)
2791         + fix behaviour for forms with all fields inactive (Juergen
2792           Pfeifer)
2793         + document 'field_index()' (Juergen Pfeifer)
2794         > patch #321 by eric:
2795         + add some more XENIX keycap translations to include/Caps.
2796         + modify newwin to set initial state of each line to 'touched'
2797           (from patch by Peter Wemm <peter@spinner.dialix.com>)
2798         + in SET_TTY, replace TCSANOW with TCSADRAIN (Alexander Lukyanov).
2799
2800 960928  - snapshot
2801         + ifdef'd out _nc_hash_map (still slower)
2802         + add graphic characters to vt52 description.
2803         + use PutAttrChar in ClrToEOL to ensure proper background, position.
2804         + simplify/correct logic in 'mvcur()' that does wrapping; it was
2805           updating the position w/o actually moving the cursor, which broke
2806           relative moves.
2807         + ensure that 'doupdate()' sets the .oldindex values back to a sane
2808           state; this was causing a spurious refresh in ncurses 'r'.
2809         + add logic to configure (from vile) to guard against builders who
2810           don't remove config.cache & config.status when doing new builds.
2811         + corrected logic for 'repeat_char' in EmitRange (from #317), which
2812           did not follow the 2-parameter scheme specified in XSI.
2813         + corrected logic of wrefresh, wnoutrefresh broken in #319, making
2814           clearok work properly (from report by Michael Elkins).
2815         + corrected problem with endwin introduced by #314 (removing the
2816           scrolling-region reset) that broke ncurses.c tests.
2817         + corrected order of args in AC_CHECK_LIB (from report by Ami Fischman
2818           <fischman@math.ucla.edu>).
2819         + corrected formatting of terminfo.5 tables (Juergen Ehling)
2820         > patch 320 by eric:
2821         + change ABI to 3.3
2822         + emit a carriage-return in 'endwin()' to workaround a kernel bug in
2823           BSDI.  (requested by Mike Karels <karels@redrock.bsdi.com>)
2824         + reverse the default o configure --enable-termcap (consensus).
2825         > patch 319 by eric:
2826         + modified logic for clearok and related functions (from report by
2827           Michael Elkins) - untested
2828         > patch 318 by eric:
2829         + correction to #317.
2830         > patch 317 by eric:
2831         + re-add _nc_hash_map
2832         + modify EmitRange to maintain position as per original design.
2833         + add hashtest.c, program to time the hashmap optimization.
2834         > patch 316 by eric:
2835         + add logic to deal with magic-cookie (how was this tested?)
2836           (lib_doupdate.c).
2837         + add ncurses.c driver for magic-cookie, some fixes to ncurses.c
2838         > patch 315 by eric:
2839         + merged A. Lukyanov's patch to use ech and rep - untested
2840           (lib_doupdate.c).
2841         + modified handling of interrupted system calls - untested
2842           (lib_getch.c, lib_twait.c).
2843         + new function _nc_mvcur_resume()
2844         + fix return value for 'overlay()', 'overwrite()'
2845
2846 960914  - snapshot
2847         + implement subwindow-logic in wresize, minor fixes to ncurses 'g'
2848           test.
2849         + corrected bracketing of fallback.c (reported/suggested fix by Juergen
2850           Ehling <eh@eclipse.aball.de>).
2851         + update xterm-color to reflect XFree86 3.1.3G release.
2852         + correct broken dtterm description from #314 patch (e.g., spurious
2853           newline.  The 'pairs' change might work, but no one's tested it
2854           either ;-)
2855         + clarify the documentation for the builtin form fieldtypes (Juergen
2856           Pfeifer)
2857         > patch 314 by eric:
2858         + Enhancement suggested by A. Lukyanov -- reset scroll region on
2859           startup rather than at wrapup time.
2860         + Fix suggested by A. Lukyanov, make storage of palette tables
2861           and their size counts per-screen for multi-terminal applications.
2862         + Improved error reporting for infotocap translation errors.
2863         + Update terminfo.src to 9.13.14.
2864
2865 960907  - snapshot
2866         + rewrote wgetstr to make it erase control chars and also fix bogus use
2867           of _nc_outstr which caused the display to not wrap properly (display
2868           problem reported by John M. Flinchbaugh <glynis@netrax.net>)
2869         + modify ncurses 'f' test to accommodate terminal responses to C1 codes
2870           (and split up this screen to accommodate non-ANSI terminals).
2871         + test enter_insert_mode and exit_insert_mode in has_ic().
2872         + removed bogus logic in mvcur that assumes nl/nonl set output modes
2873           (XSI says they are input modes; SVr4 implements this).
2874         + added macros SET_TTY, GET_TTY to term.h
2875         + correct getstr() logic that altered terminal modes w/o restoring.
2876         + disable ICRNL, etc., during initialization to match SVr4, removing
2877           the corresponding logic from raw, cbreak, etc.
2878         + disable ONLCR during initialization, to match SVr4 (this is needed
2879           for cursor optimization when the cursor-down is a newline).
2880         + replaced Eric's imitation of wresize with my original (his didn't
2881           work).
2882
2883 960831  - snapshot
2884         + memory leaks (Alexander V. Lukyanov).
2885         + modified pnoutrefresh() to be more tolerant of too-large screen
2886           size (reported by Michael Elkins).
2887         + correct handling of terminfo files with no strings (Philippe De
2888           Muyter)
2889         + correct "tic -s" to take into account -I, -C options.
2890         + modify ncurses 'f' test to not print codes 80 through 9F, since they
2891           are considered control codes by ANSI terminals.
2892
2893 960824  - snapshot
2894         + correct speed variable-type in 'tgetent()' (reported by Peter Wemm)
2895         + make "--enable-getcap" configuration-option work (reported by
2896           Peter Wemm <peter@spinner.DIALix.COM>)
2897
2898 960820
2899         + correct err in 960817 that changed return-value of tigetflag()
2900           (reported by Alexander V. Lukyanov).
2901         + modify infocmp to use library default search-path for terminfo
2902           directory (Alexander V. Lukyanov).
2903
2904 960817  - snapshot
2905         + corrected an err in mvcur that broke resizing-behavior.
2906         + correct fall-thru behavior of _nc_read_entry(), which was not finding
2907           descriptions that existed in directories past the first one searched
2908           (reported by Alexander V. Lukyanov)
2909         + corrected typo in dtterm description.
2910         > patch 313 by eric:
2911         + add dtterm description
2912         + clarify ncurses 'i' test (drop vscanf subtest)
2913
2914 960810  - snapshot
2915         + correct nl()/nonl() to work as per SVr4 & XSI.
2916         + minor fixes to ncurses.c (use 'noraw()', mvscanw return-code)
2917         + refine configure-test for -g option (Tim Mooney).
2918         + correct interaction between O_BLANK and NEW_LINE request in form
2919           library (Juergen Pfeifer)
2920
2921 960804
2922         + revised fix to tparm; previous fix reversed parameter order.
2923         > patch 312 by eric:
2924           correct terminfo.src corrupted by #310
2925         > patch 311 by eric:
2926         + fix idlok() and idcok() and the default of the idlok switch.
2927
2928 960803  - snapshot
2929         + corrected tparm to handle capability strings without explicit pop
2930           (reported by William P Setzer)
2931         + add fallback def for GCC_NORETURN, GCC_UNUSED for termcap users
2932           (reported by Tim Mooney).
2933         > patch 310 by eric:
2934         + documentation and prototyping errors for has_color, immedok and idcok
2935           (reported by William P Setzer <wsetzer@pams.ncsu.edu>)
2936         + updated qnx terminfo entry (by Michael Hunter)
2937
2938 960730
2939         + eliminate quoted includes in ncurses subdirectory, ensure config.h
2940           is included first.
2941         + newterm initializes terminal settings the same as initscr (reported
2942           by Tim Mooney).
2943
2944 960727  - snapshot
2945         + call cbreak() in initscr(), as per XSI & SVr4.
2946         + turn off hardware echo in initscr() as per XSI & SVr4
2947         > patch 309 by eric:
2948         + terminfo changes (9.3.10), from BRL
2949         + add more checks to terminfo parser.
2950         + add more symbols to infocmp.
2951
2952 960720  - snapshot
2953         + save previous-attribute in lib_vidattr.c if SP is null (reported by
2954           Ju"rgen Fluk <louis@dachau.marco.de>)
2955         + corrected calls on _nc_render so that background character is set
2956           as per XSI.
2957         + corrected wbkgdset macro (XSI allows background character to be null),
2958           and tests that use it.
2959         + more corrections to terminfo (xterm & rxvt)
2960         + undid change to mcprint prototype (cannot use size_t in curses.h
2961           because not all systems declare it in the headers that we can safely
2962           include therein).
2963         + move the ifdefs for errno into curses.priv.h
2964         > patch 308 by eric:
2965         + terminfo changes (9.3.8)
2966         + modified logic of error-reporting in terminfo parser
2967
2968 960713  - snapshot
2969         + always check for <sys/bsdtypes.h> since ISC needs it to declare
2970           fd_set (Juergen Pfeifer)
2971         + install shared-libraries on NetBSD/FreeBSD with ABI-version (reported
2972           by several people:  Juergen Pfeifer, Mike Long)
2973         + add LOCAL_LDFLAGS2 symbol (Juergen Pfeifer)
2974         + corrected prototype for delay_output() -- bump ABI to 3.2
2975         + terminfo patches #306/307 from Eric.
2976         + moved logic that filters out rmul and rmso from setupterm to newterm
2977           where it is less likely to interfere with termcap applications.
2978
2979 960707
2980         + rollback Eric's #305 change to terminfo.src (it breaks existing
2981           applications, e.g., 'less 290').
2982         + correct path of edit_man.sh, and fix typo that made all man-pages
2983           preformatted.
2984         + restore man/menu_requestname.3x omitted in Zeyd's resync (oops).
2985         + auto-configure the GCC_PRINTFLIKE/GCC_SCANFLIKE macros (reported by
2986           Philippe De Muyter).
2987
2988 960706  - snapshot
2989         + make lib_vidattr.c more readable using macros.
2990         + filter out rmul, rmso that conflict with sgr0 when reading terminal
2991           descriptions.
2992         + added sanity-checking of various paired string attributes (Eric).
2993         + work around autoconf bug, force $INSTALL to absolute path.
2994           (reported by Zeyd).
2995         + modify man-page install for BSDI to install preformatted .0 files
2996           (reported by David MacKenzie).
2997         + add/use gcc __attribute__ for printf and scanf in curses.h
2998         + added SGR attributes test-case to ncurses
2999         + revised ncurses 't' logic to show trace-disable effect in the menu.
3000         + use getopt in ncurses program to process -s and -t options.
3001         + make ncurses 'p' legend toggle with '?'
3002         + disable scrollok during the ncurses 'p' test; if it is enabled the
3003           stdscr will scroll when putting the box-corners in the lower-right
3004           of the screen.
3005
3006 960629  - snapshot
3007         + check return code of _nc_mvcur_scrolln() in _nc_scroll_optimize() for
3008           terminals with no scrolling-support (reported by Nikolay Shadrin
3009           <queen@qh.mirea.ac.ru>)
3010         + added ^S scrollok-toggle to ncurses 'g' test.
3011         + added ^T trace-toggle to ncurses tests.
3012         + modified ncurses test program to use ^Q or ESC consistently for
3013           terminating tests (rather than ^D), and to use control keys rather
3014           than function keys in 'g' test.
3015         + corrected misplaced wclrtoeol calls in addch to accommodate wrapping
3016           (reported by Philippe De Muyter).
3017         + modify lib_doupdate.c to use effective costs to tradeoff between
3018           delete-character/insert-character vs normal updating (reported by
3019           David MacKenzie).
3020         + compute effective costs for screen update operations (e.g., clr_eos,
3021           delete_character).
3022         + corrected error in knight.c exposed by wrap fixes in 960622; the
3023           msgwin needed scrollok set.
3024         + corrected last change to IDcTransformLine logic to avoid conflict
3025           between PutRange and InsStr
3026         + modified run_tic.sh to not use /usr/tmp (reported by David MacKenzie),
3027           and further revised it and aclocal.m4 to use $TMPDIR if set.
3028         + corrected off-by-one in RoomFor call in read_entry.c
3029
3030 960622  - snapshot
3031         + modified logic that wraps cursor in addch to follow the XSI spec,
3032           (implemented in SVr4) which states that the cursor position is
3033           updated when wrapping.  Renamed _NEED_WRAP to _WRAPPED to reflect the
3034           actual semantics.
3035         + added -s option to tic, to provide better diagnostics in run_tic.sh
3036         + improved error-recovery for tabset install.
3037         + change ABI to 3.1 (dropped tparam, corrected getbkgd(), added
3038           _yoffset to WINDOW).
3039         + modified initialization of SP->_ofp so that init_acs() is called with
3040           the "right" file pointer (reported by Rick Marshall <rjm@nlc.net.au>
3041         + documentation fixes (Juergen Pfeifer).
3042         + corrected, using new SCREEN and WINDOW members, the behavior of
3043           ncurses if one uses ripoffline() to remove a line from the top of the
3044           screen (Juergen Pfeifer).
3045         + modified autoconf scripts to prepare for Ada95 (GNAT) binding to
3046           ncurses (Juergen Pfeifer).
3047         + incorrect buffer-size in _nc_read_entry, reported by Eric Raymond.
3048
3049 960617
3050         + corrected two logic errors in read_entry.c, write_entry.c (called by
3051           tic, the write/read of terminfo entries used inconsistent rules for
3052           locating the entries; the $TERMINFO_DIRS code would find only the
3053           first entry in a list).
3054         + refined pathname computation in run_tic.sh and shlib.
3055         + corrected initialization of $IP in misc/run_tic.sh
3056
3057 960615  - snapshot
3058         + ifdef'd out _nc_hash_map() call because it does not improve speed.
3059         + display version of gcc if configure script identifies it.
3060         + modify configure script to use /usr as Linux's default prefix.
3061         + modify run_tic.sh to use shlib script, fixes some problems installing
3062           with a shared-library configuration.
3063         + adjusted configure script so that it doesn't run tests with the
3064           warnings turned on, which makes config.log hard to read.
3065         + added 'lint' rule to top-level Makefile.
3066         + added configure option '--with-install-prefix' for use by system
3067           builders to install into staging locations (from request by
3068           charles@comm.polymtl.ca)
3069         + corrected autoconfigure for Debian man program; it's not installed
3070           as "man_db".
3071         + set noecho in 'worm'; it was ifdef'd for debug only
3072         + updated test/configure.in for timing-display in ncurses 'p' test
3073         + corrected misspelled 'getbkgd()'.
3074         + corrected wbkgdset to work like observed syvr4 (sets A_CHARTEXT part
3075           to blank if no character given, copies attributes to window's
3076           attributes).
3077         + modified lib_doupdate.c to use lower-level SP's current_attr state
3078           instead of curscr's state, since it is redundant.
3079         + correction to IDcTransformLine logic which controls where InsStr is
3080           invoked (refined by lav@yars.free.net).
3081         > patches 303 by eric
3082         + conditionally include Chris Torek's hash function _nc_hash_map().
3083         + better fix for nvi refresh-bug (Rick Marshall)
3084         + fix for bug in handling of interrupted keystroke waits,
3085           (Werner Fleck).
3086
3087 960601  - snapshot
3088         + auto-configure man-page compression-format and renames for Debian.
3089         + corrected several typos in curses.h.in (i.e., the mvXXXX macros).
3090         + re-order curses.priv.h for lint.
3091         + added rules for lintlib, lint
3092         + corrected ifdef for BROKEN_LINKER in MKnames.awk.in
3093         + corrected missing INSTALL_DATA in misc/Makefile.in
3094         + flush output when changing cursor-visibility (Rick Marshall)
3095         + fix a minor bug in the _nc_ripoff() routine and improve error checking
3096           when creating the label window (Juergen Pfeifer).
3097         + enhancement to the control over the new PC-style soft key format.
3098           allow caller now to select whether or not one wants to have
3099           the index-line; see curs_slk.3x for documentation (Juergen Pfeifer).
3100         + typos, don't use inline with -g (Philippe De Muyter)
3101         + fixes for menus & wattr-, slk-functions (Juergen Pfeifer)
3102
3103 960526  - snapshot
3104         + removed --with-ticdir option altogether, maintain compatibility with
3105           existing applications via symbolic link in run_tic.sh
3106         + patch for termio.h, signal (Philippe De Muyter)
3107         + auto-configure gcc warning options rather than infer from version.
3108         + auto-configure __attribute__ for different gcc versions.
3109         + corrected special use of clearok() in hardscroll.c by resetting flag
3110           in wrefresh().
3111         + include stdlib.h before defs for EXIT_SUCCESS, for OSF/1.
3112         + include sys/types.h in case stdlib.h does not declare size_t.
3113         + fixes for makefile (Tim Mooney)
3114         + fixes for menus & forms (Juergen.Pfeifer@T-Online.de)
3115
3116 960518  - snapshot
3117         + revised ncurses.c panner test, let pad abut all 4 sides of screen.
3118         + refined case in lib_doupdate.c for ClrToEOL().
3119         + corrected prior change for PutRange (Alexander V.  Lukyanov:
3120           lav@yars.free.net).
3121         + autoconf mods (Tim Mooney: mooney@dogbert.cc.ndsu.NoDak.edu).
3122         + locale fix for forms (Philippe De Muyter: phdemuyt@ulb.ac.be)
3123         + renamed "--with-datadir" option to "--with-ticdir" to avoid
3124           confusion, and made this check for the /usr/lib/terminfo pre-existing
3125           directory.
3126         > patches 299-301 by eric:
3127         + added hashmap.c
3128         + mods to tracing, especially for ACS chars.
3129         + corrected off-by-one in IDCtransform.
3130         + corrected intermittent mouse bug by using return-value from read().
3131         + mods to parse_entry.c, for smarter defaults.
3132
3133 960512
3134         + use getopt in 'tic'; added -L option and modified -e option to allow
3135           list from a file.
3136
3137 960511
3138         + don't use fixed buffer-size in tparm().
3139         + modified tic to create terminfo directory if it doesn't exist.
3140         + added -T options to tic and infocmp (for testing/analysis)
3141         + refined the length criteria for termcap and terminfo
3142         + optimize lib_doupdate with memcpy, PutRange
3143         > patches 297, 298 by eric
3144         + implement TERMINFO_DIRS, and -o option of tic
3145         + added TRACE_IEVENT
3146         + removed boolean version of 'getm'
3147         + added lib_print.c (for Rick Marshall)
3148         + added has_key()
3149         + added 't' to ncurses.c test.
3150         + moved delay_output() to lib_tputs.c
3151         + removed tparam().
3152         + misc cursor & optimization fixes.
3153
3154 960504  - snapshot
3155         + modified ncurses 'p' test to allow full-screen range for panner size.
3156         + fixes for locale (phdm@labauto1.ulb.ac.be)
3157         + don't use fixed buffer-size in fmt_entry().
3158         + added usage-message to 'infocmp'.
3159         + modified install.includes rules to prepend subdirectory-name to
3160           "#include" if needed.
3161
3162 960430
3163         + protect wrefresh, wnoutrefresh from invocation with pad argument.
3164         + corrected default CCFLAGS in test/Makefile.
3165
3166 960428  - snapshot
3167         + implemented logic to support terminals with background color erase
3168           (e.g., rxvt and the newer color xterm).
3169         + improved screen update logic (off-by-one logic error; use clr_eos if
3170           possible)
3171
3172 960426  - snapshot
3173         + change ncurses 'a' test to run in raw mode.
3174         + make TIOCGWINSZ configure test less stringent, in case user
3175           configures via terminal that cannot get screen size.
3176         > patches 295, 296 by eric:
3177         + new "-e" option of tic.
3178         + fix for "infocmp -e".
3179         + restore working-directory in read_termcap.c
3180         + split lib_kernel.c, lib_setup.c and names.c in order to reduce
3181           overhead for programs that use only termcap features.
3182
3183 960418  - snapshot
3184         + use autoconf 2.9
3185         + fix for AIX 3.2.5 (must define _POSIX_SOURCE to get termios struct
3186           definitions via <termios.h>, modified macros in lib_raw.c to avoid
3187           K&R-style substitution)
3188         > patches 293, 294 by eric:
3189         + mods to wgetch() in cooked mode
3190         + corrected askuser() logic in tset
3191         + correct interaction of endwin() with mouse processing
3192         + added trace support for TTY flags
3193
3194 960406
3195         + fixes for NeXT, ISC and HPUX auto-configure
3196         + autogenerate development header-dependencies (config.h, *.priv.h)
3197         + corrected single-column formatting of "use=" (e.g., in tic)
3198         + modify tic to read full terminfo-names
3199         + corrected divide-by-zero that caused hang (or worse) when redirecting output
3200         + modify tic to generate directories only as-needed (and corrected
3201           instance of use of data from function that had already returned).
3202
3203 ### ncurses-1.9.8a -> 1.9.9e
3204
3205 * fixed broken wsyncup()/wysncdown(), as a result wnoutrefresh() now has
3206   copy-changed-lines behavior.
3207 * added and documented wresize() function.
3208 * more fixes to LOWER-RIGHT corner handling.
3209 * changed the line-breakout optimization code to allow some lines to be
3210   emitted before the first check.
3211 * added option for tic to use symbolic instead of hard links (for AFS)
3212 * fix to restore auto-wrap mode.
3213 * trace level can be controlled by environment variable.
3214 * better handling of NULs in terminal descriptions.
3215 * improved compatibility with observed SVR4 behavior.
3216 * the refresh behavior of over-lapping windows is now more efficient and
3217   behaves like SVR4.
3218 * use autoconf 2.7, which results in a working setup for SCO 5.0.
3219 * support for ESCDELAY.
3220 * small fixes for menu/form code.
3221 * the test directory has its own configure.
3222 * fixes to pads when optimizing scrolling.
3223 * fixed several off-by-one bugs.
3224 * fixes for termcap->terminfo translation; less restrictions more correct
3225   behavior.
3226
3227 ### ncurses-1.9.7 -> 1.9.8a
3228
3229 * teach infocmp -i to recognize ECMA highlight sequences
3230 * infocmp now dumps all SVr4 termcaps (not just the SVr4 ones) on -C
3231 * support infocmp -RBSD.
3232 * satisfy XSI Curses requirement that every macro be available as a function.
3233 * This represents the last big change to the public interface of ncurses. The
3234   ABI_VERSION has now been set at 3.0 and should stay there barring any great
3235   catastrophies or acts of God.
3236 * The C++ has been cleaned up in reaction to the changes to satisfy XSI's
3237   requirements.
3238 * libncurses now gets linked to libcurses to help seamless emulation
3239   (replacement) of a vendor's curses. --disable-overwrite turns this behavior
3240   off.
3241
3242 ### ncurses-1.9.6 -> 1.9.7
3243
3244 * corrected return values of setupterm()
3245 * Fixed some bugs in tput (it does padding now)
3246 * fixed a bug in tic that made it do the wrong thing on entries with more than
3247   one `use' capability.
3248 * corrected the screen-size calculation at startup time to alter the
3249   numeric capabilities as per SVr4, not just LINES and COLS.
3250 * toe(1) introduced; does what infocmp -T used to.
3251 * tic(1) can now translate AIX box1 and font[0123] capabilities.
3252 * tic uses much less core, the dotic.sh kluge can go away now.
3253 * fix read_entry() and write_entry() to pass through cancelled capabilities OK.
3254 * Add $HOME/.terminfo as source/target directory for terminfo entries.
3255 * termcap compilation now automatically dumps an entry to $HOME/.terminfo.
3256 * added -h option to toe(1).
3257 * added -R option to tic(1) and infocmp(1).
3258 * added fallback-entry-list feature.
3259 * added -i option to infocmp(1).
3260 * do a better job at detecting if we're on SCO.
3261
3262 ### ncurses-1.9.5 -> 1.9.6
3263
3264 * handling of TERMCAP environment variables now works correctly.
3265 * various changes to shorten termcap translations to less that 1024 chars.
3266 * tset(1) added
3267 * mouse support for xterm.
3268 * most data tables are now const and accordingly live in shareable text space.
3269 * Obey the XPG4/SVr4 practice that echo() is initally off.
3270 * tic is much better at translating XENIX and AIX termcap entries now.
3271 * tic can interpret ko capabilities now.
3272 * integrated Juergen Pfeifer's forms library.
3273 * taught write_entry() how not to write more than it needs to; this change
3274   reduces the size of the terminfo tree by a full 26%!
3275 * infocmp -T option added.
3276 * better warnings about historical tic quirks from tic.
3277
3278 ### ncurses 1.9.4 -> 1.9.5
3279
3280 * menus library is now included with documentation.
3281 * lib_mvcur has been carefully profiled and tuned.
3282 * Fixed a ^Z-handling bug that was tanking lynx(1).
3283 * HJ Lu's patches for ELF shared libraries under Linux
3284 * terminfo.src 9.8.2
3285 * tweaks for compiling in seperate directories.
3286 * Thomas Dickey's patches to support NeXT's brain-dead linker
3287 * Eric Raymond's patches to fix problems with long termcap entries.
3288 * more support for shared libraries under SunOS and IRIX.
3289
3290 ### ncurses 1.9.3 -> 1.9.4
3291
3292 * fixed an undefined-order-of-evaluation bug in lib_acs.c
3293 * systematically gave non-API public functions and data an _nc_ prefix.
3294 * integrated Juergen Pfeifer's menu code into the distribution.
3295 * totally rewrote the knight test game's interface
3296
3297 ### ncurses 1.9.2c -> 1.9.3
3298
3299 * fixed the TERMCAP_FILE Support.
3300 * fixed off-by-one errors in scrolling code
3301 * added tracemunch to the test tools
3302 * took steps to cut the running time of make install.data
3303
3304 ### ncurses 1.9.2c -> 1.9.2d
3305
3306 * revised 'configure' script to produce libraries for normal, debug,
3307   profile and shared object models.
3308
3309 ### ncurses 1.9.1 -> 1.9.2
3310
3311 * use 'autoconf' to implement 'configure' script.
3312 * panels support added
3313 * tic now checks for excessively long termcap entries when doing translation
3314 * first cut at eliminating namespace pollution.
3315
3316 ### ncurses 1.8.9 -> 1.9
3317
3318 * cleanup gcc warnings for the following: use size_t where 'int' is not
3319   appropriate, fixed some shadowed variables, change attr_t to compatible with
3320   chtype, use attr_t in some places where it was confused with 'int'.
3321 * use chtype/attr_t casts as appropriate to ensure portability of masking
3322   operations.
3323 * added-back waddchnstr() to lib_addstr.c (it had been deleted).
3324 * supplied missing prototypes in curses.h
3325 * include <termcap.h> in lib_termcap.c to ensure that the prototypes
3326   are consistent (they weren't).
3327 * corrected prototype of tputs in <termcap.h>
3328 * rewrote varargs parsing in lib_tparm.c (to avoid referencing memory
3329   that may be out of bounds on the stack) -- Purify found this.
3330 * ensure that TRACE is defined in lib_trace.c (to solve prototype
3331   warnings from gcc).
3332 * corrected scrolling-region size in 'mvcur_wrap()'
3333 * more spelling fixes
3334 * use 'calloc()' to allocate WINDOW struct in lib_newwin.c (Purify).
3335 * set default value for SP->_ofp in lib_set_term.c (otherwise SunOS dumps
3336   core in init_acs()).