ncurses 4.2
[ncurses.git] / NEWS
1 -- $Id: NEWS,v 1.316 1998/02/28 23:10:26 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 980228  pre-release
10         + add linux-koi8r replace linux-koi8, which is not KOI8 (patch by
11           QingLong <qinglong@Bolizm.ihep.su>).
12         + minor documentation fixes (patch by Juergen Pfeifer).
13         + add setlocale() call to ncurses.c (reported by Claes G. Lindblad
14           <claesg@algonet.se>).
15         + correct sign-extension in lib_insstr.c (reported by Sotiris
16           Vassilopoulos <svas@leon.nrcps.ariadne-t.gr>)
17
18 980221  pre-release
19         + regenerated some documentation overlooked in 980214 patch
20           (ncurses-intro.doc, curs_outopts.3x.html)
21         + minor ifdef change to C++ binding to work with gcc 2.8.0 (patch by
22           Juergen Pfeifer).
23         + change maintainer's mailing address to florian@gnu.org, change
24           tentative mailing list address to bug-ncurses-request@gnu.org (patch
25           by Florian La Roche).
26         + add definition of $(REL_VERSION) to c++/Makefile.in (reported by Gran
27           Hasse <gh@raditex.se>).
28         + restore version numbers to Ada95 binding, accidentally deleted by
29           copyright patch (patch by Juergen Pfeifer).
30
31 980214  pre-release
32         + remove ncurses.lsm from MANIFEST so that it won't be used in FSF
33           distributions, though it is retained in development.
34         + correct scaling of milliseconds to nanoseconds in lib_napms.c (patch
35           by Jeremy Buhler).
36         + update mailing-list information (bug-ncurses@gnu.org).
37         + update announcement for upcoming 4.2 release.
38         + modify -lm test to check for 'sin()' rather than 'floor()'
39         + remove spurious commas from terminfo.src descriptions.
40         + change copyright notices to Free Software Foundation
41
42 980207
43         + minor fixes for autoconf macros CF_ERRNO, CF_HELP_MESSAGE and
44           CF_SIZECHANGE
45         + modify Makefile.glibc so that $(objpfx) is defined (H.J.Lu).
46         + ifdef-out true-return from _nc_mouse_inline() which depends on
47           merge of QNX patch (pending 4.2 release).
48         > patch by J.T.Conklin, to split off seldom-used modules in ncurses
49           (reduces size by up to 2.6kb):
50         + move functionality of _nc_usleep into napms, add configuration case
51           for nanosleep().
52         + moved wchgat() from lib_addch.c to lib_chgat.c
53         + moved clearok(), immedok(), leaveok(), and scrollok() from
54           lib_options.c to lib_clearok.c, lib_immedok.c, lib_leaveok.c and
55           lib_scrollok.c.
56         + moved napms() from lib_kernel.c to lib_napms.c
57         + moved echo() and noecho() from lib_raw.c to lib_echo.c
58         + moved nl() and nonl() from lib_raw.c to lib_nl.c
59
60 980131
61         + corrected conversion in tclock.c (cf: 971018).
62         + updates to Makefile.glibc and associated Linux configure script
63           (patch by H.J.Lu).
64         + workaround a quoting problem on SunOS with tar-copy.sh
65         + correct init_pair() calls in worm.c to work when use_default_colors()
66           is not available.
67         + include <sys/types.h> in CF_SYS_TIME_SELECT to work with FreeBSD 2.1.5
68         + add ncv capability to FreeBSD console (cons25w), making reverse
69           work with color.
70         + correct sense of configure-test for sys/time.h inclusion with
71           sys/select.h
72         + fixes for Ada95/ada_include/Makefile.in to work with --srcdir option.
73         + remove unused/obsolete test-program rules from progs/Makefile.in
74           (the rules in ncurses/Makefile.in work).
75         + remove shared-library loader flags from test/Makefile.in, etc.
76         + simplify test/configure.in using new version of autoconf to create
77           test/ncurses_cfg.h
78         + suppress suffix rules in test/Makefile.in, provide explicit dependency
79           to work with --srcdir option and less capable 'make' programs.
80         > adapted from patch for QNX by Xiaodan Tang:
81         + initialize %P and %g variables set/used in tparm, and also ensure
82           that empty strings don't return a null result from tparam_internal
83         + add QNX-specific prototype for vsscanf()
84         + move initialization of SP->_keytry from init_keytry() to newterm() to
85           avoid resetting it via a keyok() call by mouse_activate().
86         + reorganized some functions in lib_mouse() to use case-statements.
87         + remove sgr string from qnx terminfo entry since it is reported to
88           turn off attributes inconsistently.
89
90 980124 
91         + add f/F/b/B commands to ncurses 'b' test to toggle colors, providing
92           test for no_color_video.
93         + adjusted emx.src to use no_color_video, now works with ncurses 'b'
94           and 'k' tests.
95         + implement no_color_video attribute, and as a special case, reverse
96           colors when the reverse attribute cannot be combined with color.
97         + check for empty string in $TERM variable (reported by Brett Michaels
98           <brett@xylan.com>).
99         > from reports by Fred Fish:
100         + add configure-test for isascii
101         + add configure-test for -lm library.
102         + modify CF_BOOL_SIZE to check if C++ bool types are unsigned.
103         > patches by J.J.G.Ripoll
104         + add configure/makefile variables to support .exe extension on
105           OS/2 EMX (requires additional autoconf patches).
106         + explicitly initialize variables in lib_data.c to appease OS/2 linker
107         > patches by Fred Fish <fnf@ninemoons.com>
108         + misc/Makefile.in (install.data):  Avoid trying to install the CVS
109           directory.
110         + aclocal.m4 (install.includes):  Remove files in the include directory
111           where we are going to install new ones, not the original source
112           files.
113         + misc/terminfo.src:  Add entry for "beterm", derived from termcap
114           distributed with BeOS PR2 using captoinfo.
115         + aclocal.m4: Wrap $cf_cv_type_of_bool with quotes (contains space)
116         + aclocal.m4: Assume bool types are unsigned.
117         + progs/infocmp.c: workaround mwcc 32k function data limit
118
119 980117
120         + correct initialization of color-pair (from 970524) in xmas.c, which
121           was using only one color-pair for all colors (reported by
122           J.J.G.Ripoll).
123         + add multithread options for objects build on EMX, for compatibility
124           with XFree86.
125         + split up an expression in MKlib_gen.sh to work around a problem on
126           OS/2 EMX, with 'ash' (patch by J.J.G.Ripoll).
127         + change terminfo entries xterm (xterm-xf86-v40), xterm-8bit rs1 to use
128           hard reset.
129         + rename terminfo entry xterm-xf86-v39t to xterm-xf86-v40
130         + remove bold/underline from sun console entries since they're not
131           implemented.
132         + correct _tracef calls in _tracedump(), which did not separate format
133           from parameters.
134         + correct getopt string for tic "-o" option, and add it to man-page
135           synopsis (reported by Darren Hiebert <darren@hmi.com>).
136         + correct typo in panel/Makefile.in, reversed if-statement in scrolling
137           optimization (Alexander V.  Lukyanov).
138         + test for 'remove()', use 'unlink() if not found (patch by Philippe De
139           Muyter <phdm@macqel.be>).
140         > patches by Juergen Pfeifer:
141         + Improve a feature of the forms driver.  For invisible fields
142           (O_VISIBLE off) only the contents but not the attributes are cleared.
143           We now clear both.  (Reported by Javier Kohan
144           <jkohan@adan.fceia.unr.edu.ar>)
145         + The man page form_field_opts.3x makes now clear, that invisible
146           fields are also always inactive.
147         + adjust ifdef's to compile the C++ binding with the just released
148           gcc-2.8.0 c++ and the corresponding new C++ libraries.
149
150 980110
151         + correct "?" command in ncurses.c; it was performing non-screen writes
152           while the program was in screen mode.  (It "worked" in 1.9.9e because
153           that version sets OPOST and OCRNL incorrectly).
154         + return error from functions in lib_kernel, lib_raw and lib_ti if
155           cur_term is null, or if underlying I/O fails.
156         + amend change to tputs() so that it does not return an error if
157           cur_term is null, since some applications depend on being able to use
158           tputs without initializing the terminal (reported by Christian J.
159           Robinson <infynity@cyberhighway.net>).
160
161 980103
162         + add a copy of emx.src from J.J.G.Ripoll's OS/2 EMX version of ncurses
163           1.9.9e, together with fixes/additions for the "ansi" terminal type.
164         + add tic check for save/restore cursor if change_scroll_region is
165           defined (from O'Reilly book).
166         + modify read_termcap.c to handle EMX-style pathnames (reported by
167           J.J.G.Ripoll).
168         + modify lib_raw.c to use EMX's setmode (from J.J.G.Ripoll, who says
169           EMX's curses does this).
170         + modify _nc_tic_expand() to generate \0 rather than \200.
171         + move/revise 'expand()' from dump_entry.c to ncurses library as
172           _nc_tic_expand(), for use by tack.
173         + decode \a as \007 for terminfo, as per XSI.
174         + correct translation of terminfo "^@", to \200, like \0.
175         + modify next_char() to treat <cr><lf> the same as <newline>, for
176           cross-platform compatibility.
177         + use new version of autoconf (971230) to work around limited
178           environment on CLIX, due to the way autoconf builds --help message.
179         > patch by Juergen Pfeifer:
180         + check that the Ada95 binding runs against the correct version of
181           ncurses.
182         + insert constants about the library version into the main spec-file of
183           the Ada95 binding.
184
185 971227
186         + modify open/fopen calls to use binary mode, needed for EMX.
187         + modify configure script to work with autoconf 2.10 mods for OS/2
188           EMX from J.J.G.Ripoll.
189         + generated ncurses_cfg.h with patch (971222) to autoconf 2.12 which
190           bypasses limited sed buffer length.
191         > several changes from Juan Jose Garcia Ripoll <worm@arrakis.es>
192           (J.J.G.Ripoll) to support OS/2 EMX:
193         + add a _scrolling flag to SP, to set when we encounter a terminal
194           that simply cannot scroll.
195         + corrected logic in _nc_add_to_try(), by ensuring that strings with
196           embedded \200 characters are matched.
197         + don't assume the host has 'link()' function, for linking terminfo
198           entries.
199
200 971220
201         + if there's no ioctl's to support sigwinch handler, disable it.
202         + add configure option --disable-ext-funcs to remove the extended
203           functions from the build.
204         + add configure option --with-termlib to generate the terminfo
205           functions as a separate library.
206         + add 'sources' rule to facilitate cross-compiling.
207         + review/fix order of mostlyclean/clean/distclean rules.
208         + modify install-rule for headers to first remove old header, in
209           case there was a symbolic link that confuses the install script.
210         + corrected substitution for NCURSES_CONST in term.h (cf: 971108)
211         + add null pointer checks in wnoutrefresh(), overlap() (patch by
212           Xiaodan Tang <xtang@qnx.com>)
213         + correct tputs(), which could dereference a null cur_term if invoked
214           before terminal is initialized (patch by Christopher Seawood
215           <cls@seawood.org>)
216         > patch by Juergen Pfeifer:
217         + makes better use of "pragma Inline" in the Ada95 binding
218         + resynchronizes the generated html manpages
219
220 971213
221         + additional fixes for man-pages section-references
222         + add (for debugging) a check for ich/ich1 conflict with smir/rmir
223           to tic, etc.
224         + remove hpa/vpa from rxvt terminal description because they are not
225           implemented correctly, added sgr0.
226         + change ncurses 's' to use raw mode, so ^Q works (reported by Rudolf
227           Leitgeb <leitgeb@leland.stanford.edu>)
228
229 971206
230         + modify protection when installing libraries to (normally) not
231           executable.  HP-UX shared libraries are an exception.
232         + add configure check for 'tack'.
233         + implement script for renaming section-references in man-page install,
234           for Debian configuration.
235         + add validity-check for SP in trace code in baudrate() (reported by
236           Daniel Weaver).
237         > patch by Alexander V. Lukyanov (fixes to match sol25 curses)
238         + modify 'overlay()' so that copy applies target window background to
239           characters.
240         + correct 'mvwin()' so that it does not clear the previous locations.
241         + correct lib_acs.c so that 8-bit character is not sign expanded in
242           case of wide characters in chtype.
243         + correct control-char test in lib_addch.c for use with wide chars
244         + use attribute in the chtype when adding a control character in
245           lib_addch.c control char was added with current attribute
246
247 971129
248         + save/restore errno in _tracef() function
249         + change treatment of initialize_color to use a range of 0..1000
250           (recommended by Daniel Weaver).
251         + set umask in mkinstalldirs, fixing problems reported by users who
252           have set root's umask to 077.
253         + correct bug in tic that caused capabilities to be reprinted at the
254           end of output when they had embedded comments.
255         + rewrote wredrawln to correspond to XSI, and split-out since it is
256           not often used (from report by Alexander V. Lukyanov, 970825)
257         + rewrote Dan Nelson's change to make it portable, as well as to
258           correct logic for handling backslashes.
259         + add code to _nc_tgetent() to make it work more like a real tgetent().
260           It removes all empty fields, and removes all but the first in a group
261           of duplicate caps.  The code was pulled from the BSD libtermcap code
262           in termcap.c (patch by Dan Nelson <dnelson@emsphone.com>
263         + don't include --enable-widec in the --with-develop configure option,
264           since it is not binary-compatible with 4.1 (noted by Alexander V.
265           Lukyanov)
266         > patch by Juergen Pfeifer:
267         + further improvements of the usage of elaboration pragmas in the Ada95
268           binding
269         + enhanced Ada95 sample to use the user_data mechanism for panels.
270         + a fix for the configuration script to make gnat-3.10 the required
271           version.
272         + resync of the html version of the manpages
273
274 971122
275         > fixes/updates for terminfo.src:
276         + add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97
277           version.
278         + add hds200 description (Walter Skorski)
279         + add EMX 0.9b descriptions
280         + correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver)
281         + rename xhpterm back to hpterm.
282         > patch by Juergen Pfeifer:
283         + Improves the usage of elaboration pragmas for the Ada95 binding.
284         + Adds a translation of the test/rain.c into Ada95 to the samples.
285           This has been contributed to the project by Laurent Pautet
286           (pautet@gnat.com)
287
288 971115
289         + increase MAX_NAME_SIZE to 512 to handle extremely long alias list
290           in HP-UX terminfo.
291         + correction & simplification of delay computation in tputs, based on
292           comments from Daniel Weaver.
293         + replace test for SCO with more precise header tests.
294         + add configure test for unsigned literals, use in NCURSES_BITS macro.
295         + comment-out the -PIC, etc., flags from c++, progs and test makefiles
296           since they probably are not needed, and are less efficient (noted by.
297           Ju"rgen Fluk)
298         + add -L$(libdir) to loader options, after -L../lib so that loaders
299           that record this information will tend to do the right thing if
300           the programs are moved around after installing them (suggested by.
301           Ju"rgen Fluk).
302         + add -R option to loader options for programs for Solaris if the
303           --enable-rpath option is specified for the libraries.
304
305 971112
306         + correct installed filename for shared libraries on *BSD (reported by
307           Ju"rgen Fluk).
308
309 971108
310         + cleanup logic for deciding when tputs() should call delay_output(),
311           based on comments from Daniel Weaver.
312         + modified tputs() to avoid use of float.
313         + correct use of trailpad in tputs(), which used the wrong variable
314           in call to delay_output().
315         + correct inverted expression for null-count in delay_output()
316           (analysis by Daniel Weaver).
317         + apply --enable-rpath option to Solaris (requested by Larry Virden).
318         + correct substitution of EXTRA_CFLAGS for gcc 2.6.3
319         + correct check for error-return by _nc_tgetent(), which returns 0
320           for success.
321         + add configure test for BSD 4.4 cgetent() function, modify
322           read_termcap.c to use the host's version of that if found, using the
323           terminal database on FreeBSD (reported by Peter Wemm).
324         + add u8, u9 strings to sun-il description for Daniel Weaver.
325         + use NCURSES_CONST in panel's user-pointer.
326         + modify edit_cfg.sh and MKterm.h.awk.in to substitute NCURSES_CONST
327           so that will work on NeXT.
328         + use _nc_set_screen() rather than assignments to SP to fix port to
329           NeXT (reported by Francisco A. Tomei Torres).
330
331 971101
332         + force mandatory padding in bell and flash_screen, as specified in XSI.
333         + don't allow padding_baud_rate to override mandatory delays (reported
334           by Daniel Weaver).
335         + modify delay_output() to use _nc_timed_wait() if no baudrate has been
336           defined, or if the cur_term pointer is not initialized.  XSI treats
337           this as unspecified.  (requested by Daniel Weaver).
338         + change getcap-cache ifdef's to eliminate unnecessary chdir/mkdir
339           when that feature is not configured.
340         + remove _nc_err_abort() calls when write_entry.c finds a directory but
341           cannot write to it, e.g., when translating part/all of /etc/termcap
342           (reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>).
343           (this dates back to 951102, in 1.9.7a).
344         + minor ifdef fixes to compile with atac and glibc 2.0.5c
345         + add check for -lgen when configuring regexpr.h
346         + modify Solaris shared-library option "-d y" to "-dy" to workaround
347           incompatibility of gcc 2.7.2 vs vendor's tools.
348
349 971026
350         + correct ifdef's for struct winsize vs struct ttysize in lib_setup.c
351           to compile on SCO.
352         + remove dangling backslash in panel/Makefile.in
353         + modify MKkeyname.awk to work with SCO's nawk, which dumps core in the
354           length() function.
355         + correct length of allocation in _nc_add_to_try(), to allow for
356           trailing null.
357         + correct logic in _nc_remove_key(), which was discarding too many
358           nodes (patch by Alexander V. Lukyanov)
359
360 971025
361         + add definition for $(REL_VERSION) to test/Makefile.in, so *BSD
362           shared libraries link properly (see 970524).
363         + modify Linux shared-library generation to include library
364           dependencies (e.g., -lncurses and -lgpm) in the forms, menu and
365           panel libraries (suggested by Juergen Pfeifer).
366         + modify configure script to use config.guess and config.sub rather
367           than uname, which is unreliable on some systems.
368         + updated Makefile.glibc, test-built with glibc 2.0.5c
369         + modify keyname() to return values consistent with SVr4 curses (patch
370           by Ju"rgen Fluk).
371         > changes requested by Daniel Weaver:
372         + modify delay_output() so that it uses the same output function as
373           tputs() if called from that function.
374         + move _baudrate from SCREEN to TERMINAL so that low-level use of
375           tputs works when SP is not set.
376         > patch by Juergen Pfeifer:
377         + factor lib_menu and lib_form into smaller modules
378         + clean up the interface between panel and SCREEN
379         + minor changes to the Ada95 mouse support implemenation
380         + minor bugfix in C++ binding to ripoff windows
381         + fix a few Ada95 html documentation pages
382
383 971018
384         + split-out lib_ungetch.c, make runtime link to resizeterm() to
385           decouple those modules from lib_restart.c
386         + add xterm-xf86-v39t description to terminfo.src
387         + reset SP->_endwin in lib_tstp.c cleanup() function after calling
388           endwin() to avoid unnecessary repainting if the application has
389           established an atexit function, etc.  Encountered this problem in
390           the c++ demo, whose destructors repaint the screen.
391         + combine _nc_get_screensize() and resizeterm() calls as new function
392           _nc_update_screensize().
393         + minor fixes to allow compile with g++ (suggested by Nelson H. F.
394           Beebe).
395         + implement install-rules for Ada95 makefiles.
396         + use screen_lines or MAXLINES as needed where LINES was coded,
397           as well as screen_columns for COLS, in the ncurses library.
398         > patch by Alexander V. Lukyanov:
399         + modify logic for ripped-off lines to handle several SCREENs.
400         > patch by Juergen Pfeifer:
401         + factors lib_slk.c into some smaller modules
402         + factors panel.c into some smaller modules
403         + puts the static information about the current panel stack into the
404           SCREEN structure to allow different panel stacks on different
405           screens.
406         + preliminary fix for an error adjusting LINES to account for
407           ripped-off lines.
408
409 971011
410         + move _nc_max_click_interval and other mouse interface items to SCREEN
411           struct so that they are associated with a single terminal, and also
412           save memory when the application does not need a mouse (roughly 3k vs
413           0.5k on Linux).
414         + modify mouseinterval() so that a negative parameter queries the
415           click-interval without modifying it.
416         + modify ncurses 'i' test to work with ncurses' apparent extension from
417           SVr4, i.e., allows nocbreak+noecho (analysis by Alexander V.
418           Lukyanov).
419         + add configure options --with-ada-includes and --with-ada-objects,
420           to drive Ada95 binding install (not yet implemented).
421         + install C++ binding as -lncurses++ and associated headers with the
422           other ncurses headers.
423         + fix header uninstall if configure --srcdir is used.
424         > minor interface changes (request by Daniel Weaver <danw@znyx.com>,
425           to support 'tack' program):
426         + export functions _nc_trans_string() and _nc_msec_cost().
427         + add variable _nc_nulls_sent, to record the number of padding
428           characters output in delay_output().
429         + move tests for generic_type and hard_copy terminals in setupterm()
430           to the end of that function so that the library will still be
431           initialized, though not generally useful for curses programs.
432         > patches by Alexander V. Lukyanov:
433         + modify ClrBottom() to avoid using clr_eos if there is only one line
434           to erase.
435         + typo in configure --help.
436         > patch by J.T.Conklin (with minor resync against Juergen's changes)
437         + split-out lib_flash.c from lib_beep.c
438         + split-out lib_hline.c and lib_vline.c from lib_box.c
439         + split-out lib_wattron.c, lib_wattroff.c from lib_addch.c
440
441 971005
442         > patch by Juergen Pfeifer:
443         + correct source/target of c++/edit_cfg.sh
444
445 971004
446         + add color, mouse support to kterm terminfo entry.
447         + modify lib_mouse.c to recognize rxvt, kterm, color_xterm also as
448           providing "xterm"-style mouse.
449         + updated rxvt's terminfo description to correspond to 2.21b, with
450           fixes for the acsc (the box1 capability is incorrect, ech1 does not
451           work).
452         + fix logic in parse_entry.c that discarded acsc when 'synthesizing'
453           an entry from equivalents in XENIX or AIX.  This lets ncurses handle
454           the distribution copy of rxvt's terminfo.
455         + modify acsc capability for linux and linux-koi8 terminfo descriptions
456           (from Pavel Roskin <pavel@absolute.spb.su>).
457         + corrected definition in curses.h for ACS_LANTERN, which was 'I'
458           rather than 'i' (see 970802).
459         + updated terminfo.src with reformatted acsc entries, and repaired the
460           trashed entries with spurious '\' characters that this exposed.
461         + add logic to dump_entry.c to reformat acsc entries into canonical
462           form (sorted, unique mapping).
463         + add configure script to generate c++/etip.h
464         + add configure --with-develop option, to enable by default most of the
465           experimental options (requested by Alexander V. Lukyanov).
466         + rename 'deinstall' to 'uninstall', following GNU convention (suggested
467           by Alexander V. Lukyanov).
468         > patches by Alexander V. Lukyanov:
469         + modify tactics 2 and 5 in onscreen_mvcur(), to allow them on the last
470           line of the screen, since carriage return will not cause a newline.
471         + remove clause from PutCharLR() that would try to use
472           eat_newline_glitch since that apparently does not work on some
473           terminals (e.g., M$ telnet).
474         + correct a limit check in scroll_csr_backward()
475         > patches by Juergen Pfeifer:
476         + adds dummy implementations of methods above() and below() to the
477           NCursesPanel class.
478         + fixes missing returncode in NCursesWindow::ripoffline()
479         + fixes missing returncode in TestApplication::run() in demo.cc
480         + We should at least give a comment in etip.h why it is currently a
481           problem to install the C++ binding somewhere
482         + makes the WINDOW* argument of wenclose() a const.
483         + modifies several of the routines in lib_adabind.c to use a const
484           WINDOW* argument.
485
486 970927
487         + add 'deinstall' rules.
488         + use explicit assignments in configure --without-progs option to
489           work around autoconf bug which doesn't always set $withval.
490         + check for ldconfig, don't try to run it if not found.
491         + implement simple/unoptimized case in lib_doupdate.c to handle
492           display with magic cookie glitch, tested with ncurses.c program.
493         + correct missing _tracef in getmouse(), to balance the returnCode
494           macro.
495         + simplify show_attr() in ncurses.c using termattrs().
496         > patches by Juergen Pfeifer:
497         + provides missing inlines for mvw[hv]line in cursesw.h of the C++
498           binding
499         + fixes a typo in a comment of frm_driver.c
500         + Enhances Ada95 Makefiles to fulfill the requirement of GNAT-3.10 that
501           generics should be compiled.  Proper fixes to the configuration
502           scripts are also provided.
503
504 970920
505         + several modifications to the configure script (requested by Ward
506           Horner):
507           + add configure options --without-progs, to suppress the build of the
508             utility programs, e.g., for cross-compiling.
509           + add $(HOSTCCFLAGS) and $(HOSTLDFLAGS) symbols to ncurses
510             Makefile.in, to simplify setup for cross compiling.
511           + add logic in configure script to recognize "--target=vxworks", and
512             generate load/install actions for VxWorks objects.
513         + move typedef for sigaction_t into SigAction.h to work around problem
514           generating lint library.
515         + modify fty_regex.c to reflect renaming of ifdef's for regular
516           expressions.
517         + simplify ifdef in lib_setup.c for TIOCGWINSZ since that symbol may
518           reside in <sys/ioctl.h>.
519         + merge testcurs.c with version from PDCurses 2.3, clarifying some of
520           the more obscure tests, which rely upon color.
521         + use macros getbegyx() and getmaxyx() in newdemo.c and testcurs.c
522         + modify ncurses.c to use getbegyx() and getmaxyx() macros to cover up
523           implementation difference wrt SVr4 curses, allow 's' test to work.
524         + add missing endwin() to testscanw.c program (reported by Fausto
525           Saporito <fausap@itb.it>).
526         + fixes/updates for Makefile.glibc and related files under sysdeps
527           (patch by H.J.Lu).
528         > patches by Juergen Pfeifer:
529         + add checks for null pointers, especially WINDOW's throughout the
530           ncurses library.
531         + solve a problem with wrong calculation of panel overlapping (reported
532           by Ward Horner):
533           + make sure that a panel's window isn't a pad.
534           + do more error checking in module lib_touch.c
535         + missing files for Ada95 binding from the last patch
536         + synch. of generated html pages (RCS-Id's were wrong in html files)
537         + support for Key_Resize in Ada binding
538         + changed documentation style in ./c++/cursesm.h
539         > patches by Alexander V. Lukyanov:
540         + undo attempt to do recursive inlining for PutChar(), noting that it
541           did not improve timing measurably, but inflated the size of
542           lib_doupdate.o
543
544 970913
545         + modify rain.c to use color.
546         + correct scroll_csr_backward() to match scroll_csr_forward().
547         + minor adjustment to llib-lncurses, to work with Solaris 2.5.1
548         + minor fixes to sysdeps/unix/sysv/linux/configure to reflect renaming
549           of configure cache variables in 970906.
550         + correct logic involving changes to O_VISIBLE option in
551           Synchronize_Options function in frm_driver.c (Tony Hoffmann
552           <Tony.Hoffmann@hia.nrc.ca>)
553         + add $(HOSTCC) symbol to ncurses Makefile.in, to simplify setup for
554           cross compiling (suggested by Chris Johns).
555         + modify ifdef in lib_setup.c to only include <sys/ioctl.h> if we can
556           use it to support screen-size calculation (reported by Chris Johns).
557         + #undef unctrl to avoid symbol conflict in port to RTEMS (reported by
558           Chris Johns <cjohns@plessey.com.au>)
559         > patches by Juergen Pfeifer:
560         + simplified, made minor corrections to Ada95 binding to form fieldtype.
561         + The C++ binding has been enhanced:
562           + Improve NCursesWindow class:  added additional methods to cover
563             more ncurses functionality.  Make refresh() and noutrefresh()
564             virtual members to allow different implementation in the
565             NCursesPanel class.
566           + CAUTION:  changed order of parameters in vline() and hline() of
567             NCursesWindow class.
568           + Make refresh() in NCursesPanel non-static, it is now a
569             reimplementation of refresh() in the base class.  Added
570             noutrefresh() to NCursesPanel.
571           + Added NCursesForm and related classes to support libform
572             functionality.
573           + Moved most of configuration related stuff from cursesw.h to etip.h
574           + Added NCursesApplication class to support easy configuration of
575             menu and forms related attributes as well as ripped of title lines
576             and Soft-Label-Keys for an application.
577           + Support of Auto-Cleanup for a menu's fieldlist.
578           + Change of return type for current_item() and operator[] for menus.
579           + Enhanced demo.
580         + Fixed a bug in form/fld_def.c:  take into account that copyarg and
581           freearg for a fieldtype may be NULL, makearg must not be NULL
582         + Fixed a bug in form/fld_type.c:  in set_fieldtype_arg() makearg must
583           not be NULL, copyarg and freearg may be NULL.
584         + Fixed a bug in form/frm_def.c:  Allow Disconnect_Fields() if it is
585           already disconnected.
586         + Enhance form/frm_driver.c:  Allow growth of dynamic fields also on
587           navigation requests.
588         + Fixed a bug in form/fty_enum.c:  wrong position of postincrement in
589           case-insensitiva comparision routine.
590         + Enhanced form/lib_adabind.c with function _nc_get_field() to get a
591           forms field by index.
592         + Enhanced menu/m_adabind.c with function _nc_get_item() to get a menus
593           item by index.
594         + Fixed in curses.h.in:  make chtype argument for pechochar() constant.
595           Mark wbkgdset() as implemented, remove wbkgdset macro, because it was
596           broken (didn't handle colors correctly).
597         + Enhanced lib_mouse.c: added _nc_has_mouse() function
598         + Added _nc_has_mouse() prototype to curses.priv.h
599         + Modified lib_bkgd.c:  hopefully correct implementation of wbkgdset();
600           streamlined implementation of wbkgd()
601         + Modified lib_mvwin.c:  Disable move of a pad.  Implement (costly)
602           move of subwindows.  Fixed update behaviour of movements of regular
603           windows.
604         + Fixed lib_pad.c:  make chtype argument of pechochar() const.
605         + Fixed lib_window.c:  dupwin() is not(!) in every bit a really clone
606           of the original.  Subwindows become regular windows by doing a
607           dupwin().
608         + Improved manpage form_fieldtype.3x
609         > patches by Alexander V. Lukyanov:
610         + simplify the PutChar() handling of exit_am_mode, because we already
611           know that auto_right_margin is true.
612         + add a check in PutChar() for ability to insert to the case of
613           shifting character to LR corner.
614         + in terminal initialization by _nc_screen_resume(), make sure that
615           terminal right margin mode is known.
616         + move logic that invokes touchline(), or does the equivalent, into
617           _nc_scroll_window().
618         + modify scrolling logic use of insert/delete line capability, assuming
619           that they affect the screen contents only within the current
620           scrolling region.
621         + modify rain.c to demonstrate SIGWINCH handler.
622         + remove logic from getch() that would return an ERR if the application
623           called getch() when the cursor was at the lower-right corner of the
624           physical screen, and the terminal does not have insert-character
625           ability.
626         + change view.c so that it breaks out of getch() loop if a KEY_RESIZE
627           is read, and modify logic in getch() so this fix will yield the
628           desired behavior, i.e., the screen is repainted automatically when
629           the terminal window is resized.
630
631 970906
632         + add configure option --enable-sigwinch
633         + modify view.c to test KEY_RESIZE logic, with "-r" option.
634         + modify testcurs.c to eliminate misleading display wrt cursor type
635           by testing if the terminal supports cnorm, civis, cvvis.
636         + several fixes for m68k/NeXT 4.0, to bring cur_term, _nc_curr_line and
637           _nc_curr_col variables into linked programs:  move these variables,
638           making new modules lib_cur_term and trace_buf (reported by Francisco
639           Alberto Tomei Torres <fatomei@sandburg.unm.edu>).
640         > patches by Alexander V. Lukyanov:
641         + add pseudo-functionkey KEY_RESIZE which is returned by getch() when
642           the SIGWINCH handler has been called since the last call to
643           doupdate().
644         + modify lib_twait.c to hide EINTR only if HIDE_EINTR is defined.
645         + add SIGWINCH handler to ncurses library which is used if there is no
646           application SIGWINCH handler in effect when the screen is
647           initialized.
648         + make linked list of all SCREEN structures.
649         + move curses.h include before definition of SCREEN to use types in
650           that structure.
651         + correction to ensure that wgetstr uses only a newline to force a
652           scroll (970831).
653
654 970831
655         + add experimental configure option --enable-safe-sprintf; the normal
656           mode now allocates a buffer as large as the screen for the
657           lib_printw.c functions.
658         + modify wgetch to refresh screen when reading ungetch'd characters,
659           since the application may require this - SVr4 does this.
660         + refine treatment of newline in wgetstr to echo only when this would
661           force the screen to scroll.
662
663 970830
664         + remove override in wgetstr() that forces keypad(), since SVr4 does
665           not do this.
666         + correct y-reference for erasure in wgetstr() when a wrap forces a
667           scroll.
668         + correct x-position in waddch() after a wrap forces a scroll.
669         + echo newline in wgetstr(), making testscanw.c scroll properly when
670           scanw is done.
671         + modify vwscanw() to avoid potential buffer overflow.
672         + rewrote lib_printw.c to eliminate fixed-buffer limits.
673         > patches by Alexander V. Lukyanov:
674         + correct an error in handling cooked mode in wgetch(); processing
675           was in the wrong order.
676         + simplified logic in wgetch() that handles backspace, etc., by using
677           wechochar().
678         + correct wechochar() so that it interprets the output character as
679           in waddch().
680         + modify pechochar() to use prefresh() rather than doupdate(), since
681           the latter does not guarantee immediate refresh of the pad.
682         + modify pechochar() so that if called with a non-pad WINDOW, will
683           invoke wechochar() instead.
684         + modify fifo indices to allow fifo to be longer than 127 bytes.
685
686 970823
687         + add xterm-8bit to terminfo.src
688         + moved logic for SP->_fifohold inside check_pending() to make it
689           work properly when we add calls to that function.
690         + ensure that bool functions return only TRUE or FALSE, and TRUE/FALSE
691           are assigned to bool values (patch by H.J.Lu).
692         > patches by Alexander V. Lukyanov:
693         + several fixes to getch:
694           1.  Separate cooked and raw keys in fifo
695           2.  Fix the case of ungetch'ed KEY_MOUSE
696           3.  wrap the code for hiding EINTR with ifdef HIDE_EINTR
697           4.  correctly handle input errors (i.e., EINTR) without loss of raw
698               keys
699           5.  recognize ESC KEY_LEFT and similar
700           6.  correctly handle the case of receiption of KEY_MOUSE from gpm
701         + correct off-by-one indexing error in _nc_mouse_parse(), that caused
702           single mouse events (press/release) to be ignored in favor of
703           composed events (click).  Improves on a fix from integrating gpm
704           support in 961229.
705         + add another call to check_pending, before scrolling, for
706           line-breakout optimization
707         + improve hashmap.c by
708           1.  fixed loop condition in grow_hunks()
709           2.  not marking lines with offset 0
710           3.  fixed condition of 'too far' criteria, thus one-line hunks are
711           ignored and two lines interchanged won't pass.
712         + rewrote/simplified _nc_scroll_optimize() by separating into two
713           passes, forward/backward, looking for chunks moving only in the given
714           direction.
715         + move logic that emits sgr0 when initializing the screen to
716           _nc_screen_init(), now invoked from newterm.
717         + move cursor-movement cleanup from endwin() into _nc_mvcur_wrap()
718           function and screen cleanup (i.e., color) into _nc_screen_wrap()
719           function.
720         + add new functions _nc_screen_init(), _nc_screen_resume() and
721           _nc_screen_wrap().
722         + rename _nc_mvcur_scrolln() to _nc_scrolln().
723         + add a copy of acs_map[] to the SCREEN structure, where it can be
724           stored/retrieved via set_term().
725         + move variables _nc_idcok, _nc_idlok, _nc_windows into the SCREEN
726           structure.
727
728 970816
729         + implement experimental _nc_perform_scroll().
730         + modify newterm (actually _nc_setupscreen()) to emit an sgr0 when
731           initializing the screen, as does SVr4 (reported by Alexander V.
732           Lukyanov).
733         + added test_progs rule to ncurses/Makefile.
734         + modify test/configure.in to check if initscr is already in $LIBS
735           before looking for (n)curses library.
736         + correct version-number in configure script for OSF1 shared-library
737           options (patch by Tim Mooney).
738         + add -DNDEBUG to CPPFLAGS for --enable-assertions (as Juergen
739           originally patched) since the c++ demo files do not necessarily
740           include ncurses_cfg.h
741         + supply default value for --enable-assertions option in configure
742           script (reported by Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>).
743         > patches by Alexander V. Lukyanov:
744         + correct/simplify logic of werase(), wclrtoeol() and wclrbot().  See
745           example firstlast.c
746         + optimize waddch_literal() and waddch_nosync() by factoring out
747           common subexpressions.
748         + correct sense of NDEBUG ifdef for CHECK_POSITION macro.
749         + corrections to render_char(), to make handling of colored blanks
750           match SVr4 curses, as well as to correct a bug that xor'd space
751           against the background character.
752         + replaced hash function with a faster one (timed it)
753         + rewrote the hashmap algorithm to be one-pass, this avoids multiple
754           cost_effective() calls on the same lines.
755         + modified cost_effective() so it is now slightly more precise.
756         > patches by H.J.Lu for glibc integration:
757         + add modules define_key, keyok, name_match, tries
758         + add makefile rules for some of the unit tests in ncurses (mvcur,
759           captoinfo, hardscroll, hashmap).
760         + update Linux configure-script for wide-character definitions.
761
762 970809
763         + modify _tracebits() to show the character size (e.g., CS8).
764         + modify tparm() to emit '\200' where the generated string would have a
765           null (reported by From:  Ian Dall <Ian.Dall@dsto.defence.gov.au> for
766           terminal type ncr7900).
767         + modify install process so that ldconfig is not invoked if the
768           package is built with an install-prefix.
769         + correct test program for chtype size (reported by Tim Mooney).
770         + add configure option --disable-scroll-hints, using this to ifdef the
771           logic that computes indices for _nc_scroll_optimize().
772         + add module ncurses/softscroll.c, to perform single-stage computation
773           of scroll indices used in _nc_scroll_optimize().  This is faster than
774           the existing scrolling algorithm, but tends to make too-small hunks.
775         + eliminate fixed buffer size in _nc_linedump().
776         + minor fixes to lib_doupdate.c to add tradeoff between clr_eol (el)
777           and clr_bol (el1), refine logic in ClrUpdate() and ClrBottom() (patch
778           by Alexander V. Lukyanov).
779         + add test/testaddch.c, from a pending patch by Alexander V. Lukyanov.
780         + correct processing of "configure --enable-assertions" option (patch
781           by Juergen Pfeifer).
782
783 970802
784         + add '-s' (single-step) option too test/hashtest.c, correct an error
785           in loop limit for '-f' (footer option), toggle scrollok() when
786           writing footer to avoid wrap at lower-right corner.
787         + correct behavior of clrtoeol() immediately after wrapping cursor,
788           which was not clearing the line at the cursor position (reported by
789           Liviu Daia <daia@stoilow.imar.ro>).
790         + corrected mapping for ACS_LANTERN, which was 'I' rather than 'i'
791           (reported by Klaus Weide <kweide@tezcat.com>).
792         + many corrections to make progs/capconvert work, as well as make it
793           reasonably portable and integrated with ncurses 4.1 (reported by Dave
794           Furstenau <df@ravine.binary.net>).
795
796 970726
797         + add flag SP->_fifohold, corresponding logic to modify the behavior of
798           the line breakout logic so that if the application does not read
799           input, refreshes will not be stopped, but only slowed.
800         + generate slk_attr_off(), slk_attr_on(), slk_attr_set(), vid_attr(),
801           ifdef'd for wide-character support, since ncurses' WA_xxx attribute
802           masks are identical with the A_xxx masks.
803         + modify MKlib_gen.sh to generate ifdef'd functions to support optional
804           configuration of wide-characters.
805         + modify tset to behave more like SVr4's tset, which does not modify
806           the settings of intr, quit or erase unless they are given as command
807           options (reported by Nelson H. F. Beebe <beebe@math.utah.edu>).
808         + modify tset to look in /etc/ttys or /etc/ttytype if the configuration
809           does not have getttynam().
810         + extend baudrate table in tset.c to match baudrate() function.
811         + add table entries for 230400 and 460800 bd to baudrate() function.
812         + improve breakout logic by allowing it before the first line updated,
813           which is what SVr4 curses does (patch by Alexander V. Lukyanov).
814         + correct initialization of vcost in relative_move(), for cursor-down
815           case (patch by Alexander V. Lukyanov).
816         > nits gleaned from Debian distribution of 1.9.9g-3:
817         + install symbolic link for intotocap.
818         + reference libc directly when making shared libraries.
819         + correct renaming of curs_scr_dmp.3x in man_db.renames.
820         + guard tgetflag() and other termcap functions against null cur_term
821           pointer.
822
823 970719
824         + corrected initial state of software echo (error in 970405, reported
825           by Alexander V. Lukyanov).
826         + reviewed/added messages to configure script, so that all non-test
827           options should be accompanied by a message.
828         + add configure check for long filenames, using this to determine if
829           it is safe to allow long aliases for terminal descriptions as does
830           SVr4.
831         + add configure options for widec (wide character), hashmap (both
832           experimental).
833         > patch by Alexander V. Lukyanov:
834         + hashmap.c - improved by heuristic, so that scroll test works much
835           better when csr is not available.
836         + hardscroll.c - patched so that it continues to scroll other chunks
837           after failure to scroll one.
838         + lib_doupdate.c - _nc_mvcur_scrolln extended to handle more cases; csr
839           is avoided as it is relative costly.  Fixed wrong coordinates in one
840           case and wrong string in TRACE.
841         > patch by Juergen Pfeifer:
842         + modify C++ binding to compile on AIX 4.x with the IBM C-SET++
843           compiler.
844
845 970712
846         + remove alternate character set from kterm terminfo entry; it uses the
847           shift-out control for a purpose incompatible with curses, i.e., font
848           switching.
849         + disentangle 'xterm' terminfo entry from some derived entries that
850           should be based on xterm-r6 instead.
851         + add cbt to xterm-xf86-xv32 terminfo entry; I added the emulation for
852           XFree86 3.1.2F, but overlooked its use in terminfo then - T.Dickey.
853         + correct logic in lib_mvcur.c that uses back_tab.
854
855 970706
856         + correct change from 970628 to ClrUpdate() in lib_doupdate.c so that
857           contents of curscr are saved in newscr before clearing the screen.
858           This is needed to make repainting work with the present logic of
859           TransformLine().
860         + use napms() rather than sleep() in tset.c to avoid interrupting I/O.
861
862 970705
863         + add limit checks to _nc_read_file_entry() to guard against overflow
864           of buffer when reading incompatible terminfo format, e.g, from OSF/1.
865         + correct some loop-variable errors in xmc support in lib_doupdate.c
866         + modify ncurses 'b' test to add gaps, specified by user, to allow
867           investigation of interaction with xmc (magic cookie) code.
868         + correct typo in 970524 mods to xmas.c, had omitted empty parameter
869           list from has_colors(), which gcc ignores, but SVr4 does not
870           (reported by Larry Virden).
871         + correct rmso capability in wy50-mc description.
872         + add configure option "--enable-hard-tabs", renamed TABS_OK ifdef to
873           USE_HARD_TABS.
874         > patch by Juergen Pfeifer:
875         + Add bindings for keyok() and define_key() to the Ada95 packages.
876         + Improve man pages menu_post.3x and menu_format.3x
877         + Fix the HTML pages in the Ada95/html directory to reflect the above
878           changes.
879
880 970628
881         + modify change from 970101 to ClrUpdate() in lib_doupdate.c so that
882           pending changes to both curscr and newscr are flushed properly.
883           This fixes a case where the first scrolling operation in nvi would
884           cause the screen to be cleared unnecessarily and repainted before
885           doing the indexing, i.e., by repeatedly pressing 'j' (reported by
886           Juergen Pfeifer).
887         + correct error in trans_string() which added embedded newlines in a
888           terminfo description to the stored strings.
889         + remove spurious newlines from sgr in wyse50 (and several other)
890           terminfo descriptions.
891         + add configure option for experimental xmc (magic cookie) code,
892           "--enable-xmc-glitch".  When disabled (the default), attributes that
893           would store a magic cookie are suppressed in vidputs().  The magic
894           cookie code is far from workable at this stage; the configuration
895           option is a stopgap.
896         + move _nc_initscr() from lib_initscr.c to lib_newterm.c
897         + correct path for invoking make_keys (a missing "./").
898
899 970621
900         + correct sign-extension problem with "infocmp -e", which corrupted
901           acsc values computed for linux fallback data.
902         + correct dependency on ncurses/names.c (a missing "./").
903         + modify configure script to use '&&' even for cd'ing to existing
904           directories to work around broken shell interpreters.
905         + correct a loop-limit in _nc_hash_map() (patch by Alexander V.
906           Lukyanov).
907
908 970615
909         + restore logic in _nc_scroll_optimize() which marks as touched the
910           lines in curscr that are shifted.
911         + add new utility 'make_keys' to compute keys.tries as a table rather
912           than a series of function calls.
913         + correct include-dependency for tic.h used by name_match
914         + removed buffer-allocation for name and description from m_item_new.c,
915           since this might result in incompatibilities with SVr4.  Also fixed
916           the corresponding Ada95 binding module (patch by Juergen Pfeifer,
917           from report by Avery Pennarun <apenwarr@foxnet.net>)
918         + removed the mechanism to timestamp the generated Ada95 sources.  This
919           resulted always in generating patches for the HTML doc, even when
920           nothing really changed (patch by Juergen Pfeifer).
921         + improve man page mitem_new.3x (patch by Juergen Pfeifer).
922
923 970614
924         + remove ech capability from rxvt description because it does not work.
925         + add missing case logic for infocmp -I option (reported by Lorenzo M.
926           Catucci <lorenzo@argon.roma2.infn.it>)
927         + correct old bug in pnoutrefresh() unmasked by fix in 970531; this
928           caused glitches in the ncurses 'p' test since the area outside the
929           pad was not compared when setting up indices for _nc_scroll_optimize.
930         + rewrote tracebits() to workaround misdefinition of TOSTOP on Ultrix
931           4.4, as well as to eliminate fixed-size buffer (reported by Chris
932           Tanner <tannerc@aecl.ca>)
933         + correct prototype for termattrs() as per XPG4 version 2.
934         + add placeholder prototypes for color_set(), erasewchar(),
935           term_attrs(), wcolor_set() as per XPG4 version 2.
936         + correct attribution for progs/progs.priv.h and lib_twait.c
937         + improve line-breakout logic by checking based on changed lines rather
938           than total lines (patch by Alexander V. Lukyanov).
939         + correct loop limits for table-lookup of enumerated value in form
940           (patch by Juergen Pfeifer).
941         + improve threshhold computation for determining when to call ClrToEOL
942           (patch by Alexander V. Lukyanov).
943
944 970531
945         + add configure option --disable-database to force the library to
946           use only the fallback data.
947         + add configure option --with-fallbacks, to specify list of fallback
948           terminal descriptions.
949         + add a symbolic link for ncurses.h during install; too many programs
950           still assume there's an ncurses.h
951         + add new terminfo.src entry for xterm-xf86-v33.
952         + restore terminfo.src entry for emu to using setf/setb, since it is
953           not, after all, generating ANSI sequences.  Corrected missing comma
954           that caused setf/setb entries to merge.
955         + modify mousemask() to use keyok() to enable/disable KEY_MOUSE, so
956           that applications can disable ncurses' mouse and supply their own
957           handler.
958         + add extensions keyok() and define_key().  These are designed to allow
959           the user's application better control over the use of function keys,
960           e.g., disabling the ncurses KEY_MOUSE.  (The define_key idea was from
961           a mailing-list thread started by kjahds@kjahds.com Nov'1995).
962         + restore original behavior in ncurses 'g' test, i.e., explicitly
963           set the keypad mode rather than use the default, since it confuses
964           people.
965         + rewrote the newdemo banner so it's readable (reported by Hugh Daniel).
966         + tidy up exit from hashtest (reported by Hugh Daniel).
967         + restore check for ^Q in ncurses 'g' test broken in 970510 (reported
968           by Hugh Daniel)
969         + correct tput program, checking return-value of setupterm (patch by
970           Florian La Roche).
971         + correct logic in pnoutrefresh() and pechochar() functions (reported
972           by Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>).  The computation
973           of 'wide' date to eric's #283 (1.9.9), and the pechochar bug to the
974           original implementation (1.9.6).
975         + correct typo in vt102-w terminfo.src entry (patch by Robert Wuest
976           <rwuest@sire.vt.com>)
977         + move calls of _nc_background() out of various loops, as its return
978           value will be the same for the whole window being operated on (patch
979           by J.T.Conklin).
980         + add macros getcur[xy] getbeg[xy] getpar[xy], which are defined in
981           SVr4 headers (patch by J.T.Conklin <jtc@NetBSD.ORG>)
982         + modify glibc addon-configure scripts (patch by H.J.Lu).
983         + correct a bug in hashmap.c: the size used for clearing the hashmap
984           table was incorrect, causing stack corruption for large values of
985           LINES, e.g., >MAXLINES/2 (patch by Alexander V. Lukyanov).
986         + eric's terminfo 9.13.23 & 9.13.24 changes: replaced minitel-2 entry,
987           added MGR, ansi-nt (note: the changes described for 9.13.24 have not
988           been applied).
989         > several changes by Juergen Pfeifer:
990         + correct a missing error-return in form_driver.c when wrapping of a
991           field is not possible.
992         + correct logic in form_driver.c for configurations that do not have
993           memccpy() (reported by Sidik Isani <isani@cfht.hawaii.edu>)
994         + change several c++ binding functions to inline.
995         + modify c++ menu binding to inherit from panels, for proper
996           initialization.
997         + correct freeing of menu items in c++ binding.
998         + modify c++ binding to reflect removal of const from user data pointer
999           in forms/menus libraries.
1000
1001 970524
1002         + add description of xterm-16color.
1003         + modify name of shared-library on *BSD to end with $(REL_VERSION)
1004           rather than $(ABI_VERSION) to match actual convention on FreeBSD
1005           (cf: 960713).
1006         + add OpenBSD to shared-library case, same as NetBSD and FreeBSD
1007           (reported by Hugh Daniel <hugh@rat.toad.com>).
1008         + corrected include-dependency in menu/Makefile so that "make install"
1009           works properly w/o first doing "make".
1010         + add fallback definition for isascii, used in infocmp.
1011         + modify xmas to use color, and to exit right away when a key is
1012           pressed.
1013         + modify gdc so that the scrolled digits function as described (there
1014           was no time delay between the stages, and the digits overwrote the
1015           bounding box without tidying up).
1016         + modify lib_color.c to use setaf/setab only for the ANSI color codes
1017           0 through 7.  Using 16 colors requires setf/setb.
1018         + modify ncurses 'c' test to work with 16 colors, as well as the normal
1019           8 colors.
1020         + remove const qualifier from user data pointer in forms and menus
1021           libraries (patch by Juergen Pfeifer).
1022         + rewrote 'waddchnstr()' to avoid using the _nc_waddch_nosync()
1023           function, thereby not interpreting tabs, etc., as per spec (patch by
1024           Alexander V. Lukyanov).
1025
1026 970517
1027         + suppress check for pre-existing ncurses header if the --prefix
1028           option is specified.
1029         + add configure options "--with-system-type" and "--with-system-release"
1030           to assist in checking the generated makefiles.
1031         + add configure option "--enable-rpath" to allow installers to specify
1032           that programs linked against shared libraries will have their library
1033           path embedded, allowing installs into nonstandard locations.
1034         + add flags to OSF1 shared-library options to specify version and
1035           symbol file (patch by Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>)
1036         + add missing definition for ABI_VERSION to c++/Makefile.in (reported
1037           by Satoshi Adachi <adachi@wisdom.aa.ap.titech.ac.jp>).
1038         + modify link flags to accommodate HP-UX linker which embeds absolute
1039           pathnames in executables linked against shared libraries (reported by
1040           Jason Evans <jasone@mrc.uidaho.edu>, solved by Alan Shutko
1041           <ats@hubert.wustl.edu>).
1042         + drop unnecessary check for attribute-change in onscreen_mvcur() since
1043           mvcur() is the only caller within the library, and that check in turn
1044           is exercised only from lib_doupdate.c (patch by Alexander V.
1045           Lukyanov).
1046         + add 'blank' parameter to _nc_scroll_window() so _nc_mvcur_scrolln()
1047           can use the background of stdscr as a parameter to that function
1048           (patch by Alexander V. Lukyanov).
1049         + moved _nc_mvcur_scrolln() from lib_mvcur.c to lib_doupdate.c, to use
1050           the latter's internal functions, as well as to eliminate unnecessary
1051           cursor save/restore operations (patch by Alexander V. Lukyanov).
1052         + omit parameter of ClrUpdate(), since it is called only for newscr,
1053           further optimized/reduced by using ClearScreen() and TransformLine()
1054           to get rid of duplicate code (patch by Alexander V. Lukyanov).
1055         + modify scrolling algorithm in _nc_scroll_optimize() to reject hunks
1056           that are smaller than the distance to be moved (patch by Alexander V.
1057           Lukyanov).
1058         + correct a place where the panel library was not ifdef'd in ncurses.c
1059           (Juergen Pfeifer)
1060         + documentation fixes (Juergen Pfeifer)
1061
1062 970515  4.1 release for upload to prep.ai.mit.edu
1063         + re-tag changes since 970505 as 4.1 release.
1064
1065 970510
1066         + modify ncurses 'g' test to allow mouse input
1067         + modify default xterm description to include mouse.
1068         + modify configure script to add -Wwrite-strings if gcc warnings are
1069           enabled while configuring --enable-const (and fixed related warnings).
1070         + add toggle, status display for keypad mode to ncurses 'g' test to
1071           verify that keypad and scrollok are not inherited from parent window
1072           during a call to newwin.
1073         + correction to MKexpanded.sh to make it work when configure --srcdir is
1074           used (reported by H.J.Lu).
1075         + revise test for bool-type, ensuring that it checks if builtin.h is
1076           available before including it, adding test for sizeof(bool) equal
1077           to sizeof(short), and warning user if the size cannot be determined
1078           (reported by Alexander V. Lukyanov).
1079         + add files to support configuration of ncurses as an add-on library
1080           for GNU libc (patch by H.J.Lu <hjl@lucon.org>)
1081
1082 970506
1083         + correct buffer overrun in lib_traceatr.c
1084         + modify change to lib_vidattr.c to avoid redundant orig_pair.
1085         + turn on 'echo()' in hanoi.c, since it is initially off.
1086         + rename local 'errno' variable in etip.h to avoid conflict with global
1087           (H.J.Lu).
1088         + modify configure script to cache LD, AR, AR_OPTS (patch by H.J.Lu
1089           <hjl@lucon.org>)
1090
1091 970505  4.1 pre-release
1092         + regenerate the misc directory html dumps without the link list, which
1093           is not useful.
1094         + correct dependency in form directory makefile which caused unnecessary
1095           recompiles.
1096         + correct substitution for ABI_VERSION in test-makefile
1097         + modify install rules for shared-library targets to remove the target
1098           before installing, since some install programs do not properly handle
1099           overwrite of symbolic links.
1100         + change order of top-level targets so that 'include' immediate
1101           precedes the 'ncurses' directory, reducing the time between new
1102           headers and new libraries (requested by Larry Virden).
1103         + modify lib_vidattr.c so that colors are turned off only before
1104           modifying other attributes, turned on after others.  This makes the
1105           hanoi.c program display correctly on FreeBSD console.
1106         + modify debug code in panel library to print user-data addresses
1107           rather than the strings which they (may) point to.
1108         + add check to ensure that C++ binding and demo are not built with g++
1109           versions below 2.7, since the binding uses templates.
1110         + modify c++ binding and demo to build and run with SGI's c++ compiler.
1111           (It also compiles with the Sun SparcWorks compiler, but the demo does
1112           not link, due to a vtbl problem).
1113         + corrections to demo.cc, to fix out-of-scope variables (Juergen
1114           Pfeifer).
1115
1116 970503
1117         + correct memory leak in _nc_trace_buf().
1118         + add configure test for regexpr.h, for Unixware 1.x.
1119         + correct missing "./" prefixing names of generated files in ncurses
1120           directory.
1121         + use single-quotes in configure scripts assignments for MK_SHARED_LIB
1122           to workaround shell bug on FreeBSD 2.1.5
1123         + remove tabs from intermediate #define's for GCC_PRINTF, GCC_SCANF
1124           that caused incorrect result in ncurses_cfg.h
1125         + correct initialization in lib_trace.c, which omitted version info.
1126         + remove ech, el1 attributes from cons25w description; they appear to
1127           malfunction in FreeBSD 2.1.5
1128         + correct color attributes in terminfo.src and lib_color.c to match
1129           SVr4 behavior by interchanging codes 1,4, 3,6 in the setf/setb
1130           capabilities.
1131         + use curs_set() rather than checks via tigetstr() for test programs
1132           that hide the cursor: firework, rain, worm.
1133         + ensure that if the terminal lacks change_scroll_region, parm_index
1134           and parm_rindex are used only to scroll the whole screen (patch by
1135           Peter Wemm).
1136         + correct curs_set() logic, which did not return ERR if the requested
1137           attributes did not exist, nor did it assume an unknown initial state
1138           for the cursor (patch by Alexander V. Lukyanov).
1139         + combine IDcTransformLine and NoIDcTransformLine to new TransformLine
1140           function in lib_doupdate.c (patch by Alexander V. Lukyanov).
1141         + correct hashmap.c, which did not update index information (patch by
1142           Alexander V. Lukyanov).
1143         + patch by Juergen Pfeifer for C++ binding and demo (see c++/NEWS)
1144         + correct index in lib_instr.c (Juergen Pfeifer).
1145         + correct typo in 970426 patch from Tom's cleanup of lib_overlay.c
1146           (Juergen Pfeifer).
1147
1148 970426
1149         + corrected cost computation in PutRange(), which was using
1150           milliseconds compared to characters by adding two new members to the
1151           SCREEN struct, _hpa_ch_cost and _cup_ch_cost.
1152         + drop ncurses/lib_unctrl.c, add ncurses/MKunctrl.awk to generate a
1153           const array of strings (suggested by Alexander V. Lukyanov, though
1154           with a perl script 970118).
1155         + rewrote ncurses 'b' test to better exercise magic-cookie (xmc), as
1156           well as noting the attributes that are not supported by a terminal.
1157         + trace the computation of cost values in lib_mvcur.c
1158         + modify _nc_visbuf() to use octal rather than hex, corrected sign
1159           extension bug in that function that caused buffer overflow.
1160         + modify trace in lib_acs.c to use _nc_visbuf().
1161         + suppress trace within _traceattr2().
1162         + correct logic of _tracechtype2(), which did not account for repeats
1163           or redefinition within an acsc string.
1164         + modify debug-library version baudrate() to use environment variable
1165           $BAUDRATE to override speed computation.  This is needed for
1166           regression testing.
1167         + correct problems shown by "weblint -pedantic".
1168         + update mailing-list information (now ncurses@bsdi.com).
1169
1170 970419
1171         + Improve form_field_validation.3x manpage to better describe the
1172           precision parameter for TYPE_NUMERIC and TYPE_INTEGER.  Provide more
1173           precise information how the range checking can be avoided.  (patch by
1174           Juergen Pfeifer, reported by Bryan Henderson)
1175         + change type of min/max value of form types TYPE_INTEGER to long to
1176           match SVr4 documentation.
1177         + set the form window to stdscr in set_form_win() so that form_win()
1178           won't return null (patch by Juergen Pfeifer, reported by Bryan
1179           Henderson <bryanh@giraffe.netgate.net>).
1180
1181 970412
1182         + corrected ifdef'ing of inline (from 970321) for TRACE vs C++.
1183         + corrected toggle_attr_off() macro (patch by Andries.Brouwer).
1184         + modify treatment of empty token in $MANPATH to /usr/man (reported by
1185           <Andries.Brouwer@cwi.nl>)
1186         + modify traces that record functions-called so that chtype and attr_t
1187           values are expressed symbolically, to simplify reuse of generated
1188           test-scripts on SVr4 regression testing.
1189         + add new trace functions _traceattr2() and _tracechtype2()
1190
1191 970405
1192         + add configure option --enable-const, to support the use of 'const'
1193           where XSI should have, but did not, specify.  This defines
1194           NCURSES_CONST, which is an empty token otherwise, for strict
1195           compatibility.
1196         + make processing of configure options more verbose by echoing the
1197           --enable/--with values.
1198         + add configure option --enable-big-core
1199         + set initial state of software echo off as per XSI.
1200         + check for C++ builtin.h header
1201         + correct computation of absolute-path for $INSTALL that dropped "-c"
1202           parameter from the expression.
1203         + rename config.h to ncurses_cfg.h to avoid naming-conflict when ncurses
1204           is integrated into larger systems (from diffs by H.J.Lu for libc).
1205         + correct inequality in lib_doupdate.c that caused a single-char to not
1206           be updated when the char on the right-margin was not blank, idcok()
1207           was true (patch by Alexander V.  Lukyanov 970124, also reported by
1208           Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu> 970329).
1209         + modify 'clean' rule in include/Makefile so that files created by
1210           configure script are removed in 'distclean' rule instead.
1211
1212 970328
1213         + correct array limit in tparam_internal(), add case to interpret "%x"
1214           (patch by Andreas Schwab)
1215         + rewrote number-parsing in ncurses.c 'd' test; it did not reset the
1216           value properly when non-numeric characters were given (reported by
1217           Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>)
1218
1219 970321
1220         + move definition of __INTERNAL_CAPS_VISIBLE before include for
1221           progs.priv.h (patch by David MacKenzie).
1222         + add configuration summary, reordered check for default include
1223           directory to better accommodate a case where installer is configuring
1224           a second copy of ncurses (reported by Klaus Weide
1225           <kweide@tezcat.com>)
1226         + moved the #define for 'inline' as an empty token from the
1227           $(CFLAGS_DEBUG) symbol into config.h, to avoid redefinition warning
1228           (reported by Ward Horner).
1229         + modify test for bool builtin type to use 'unsigned' rather than
1230           'unknown' when cross-compiling (reported by Ward Horner).
1231
1232 970315
1233         + add header dependencies so that "make install.libs" will succeed
1234           even if "make all" is not done first.
1235         + moved some macros from lib_doupdate.c to curses.priv.h to use in
1236           expanded functions with ATAC.
1237         + correct implementation of lib_instr.c; both XSI and SVr4 agree that
1238           the winnstr functions can return more characters than will fit on one
1239           line.
1240
1241 970308
1242         + modify script that generates lib_gen.c to support traces of called &
1243           return.
1244         + add new configure option "--disable-macros", for testing calls within
1245           lib_gen.c
1246         + corrected logic that screens level-checking of called/return traces.
1247
1248 970301
1249         + use new configure macro NC_SUBST to replace AC_PATH_PROG, better
1250           addressing request by Ward Horner.
1251         + check for cross-compiling before trying to invoke the autoconf
1252           AC_FUNC_SETVBUF_REVERSED macro (reported by Ward Horner)
1253         + correct/simplify loop in _nc_visbuf(), 970201 changes omitted
1254           a pointer-increment.
1255         + eliminate obsolete symbol SHARED_ABI from dist.mk (noted by
1256           Florian La Roche).
1257
1258 970215
1259         + add configure option --enable-expanded, together with code that
1260           implements an expanded form of certain complex macros, for testing
1261           with ATAC.
1262         + disable CHECK_POSITION unless --with-assertions is configured
1263           (Alexander Lukyanov pointed out that this is redundant).
1264         + use keyname() to show traced chtype values where applicable rather
1265           than _tracechar(), which truncates the value to 8-bits.
1266         + minor fixes to TRACE_ICALLS, added T_CREATE, TRACE_CCALLS macros.
1267         + modify makefiles in progs and test directories to avoid using C
1268           preprocessor options on link commands (reported by Ward Horner)
1269         + correct ifdef/include-order for nc_alloc.h vs lib_freeall.c (reported
1270           by Ward Horner)
1271         + modify ifdef's to use configure-defined symbols consistently
1272           (reported by Ward Horner)
1273         + add/use new makefile symbols AR, AR_OPTS and LD to assist in non-UNIX
1274           ports (reported by Ward Horner <whorner@tsi-telsys.com>)
1275         + rename struct try to struct tries, to avoid name conflict with C++
1276           (reported by Gary Johnson).
1277         + modify worm.c to hide cursor while running.
1278         + add -Wcast-qual to gcc warnings, fix accordingly.
1279         + use PutChar rather than PutAttrChar in ClrToEOL to properly handle
1280           wrapping (Alexander Lukyanov).
1281         + correct spurious echoing of input in hanoi.c from eric's #291 & #292
1282           patches (reported by Vernon C. Hoxie <vern@zebra.alphacdc.com>).
1283         + extend IRIX configuration to IRIX64
1284         + supply missing install.libs rule needed after restructuring
1285           test/Makefile.in
1286
1287 970208
1288         + modify "make mostlyclean" to leave automatically-generated source
1289           in the ncurses directory, for use in cross-compiles.
1290         + autogenerated object-dependencies for test directory
1291         + add configure option --with-rcs-ids
1292         + modify configuration scripts to generate major/minor/patch versions
1293           (suggested by Alexander Lukyanov).
1294         + supply missing va_end's in lib_scanw.c
1295         + use stream I/O for trace-output, to eliminate fixed-size buffer
1296         + add TRACE_ICALLS definition/support to lib_trace.c
1297         + modify Ada95 binding to work with GNAT 3.09 (Juergen Pfeifer).
1298
1299 970201
1300         + add/modify traces for called/return values to simplify extraction
1301           for test scripts.
1302         + changed _nc_visbuf to quote its result, and to dynamically allocate
1303           the returned buffer.
1304         + invoke ldconfig after installing shared library
1305         + modify install so that overwrite applies to shared library -lcurses
1306           in preference to static library (reported by Zeyd 960928).
1307         + correct missing ';' in 961221 mod to overwrite option use of $(LN_S).
1308         + fixes to allow "make install" to work without first doing a "make
1309           all" (suggested by Larry Virden).
1310
1311 970125
1312         + correct order of #ifdef for TABS_OK.
1313         + instrumented toe.c to test memory-leaks.
1314         + correct memory-deallocation in toe.c (patch by Jesse Thilo).
1315         + include <sys/types.h> in configuration test for regex.h (patch by
1316           Andreas Schwab)
1317         + make infocmp recognize -I option, for SVr4 compatibility (reported by
1318           Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>)
1319
1320 970118
1321         + add extension 'use_default_colors()', modified test applications that
1322           use default background (firework, gdc, hanoi, knight, worm) to
1323           demonstrate.
1324         + correct some limit checks in lib_doupdate.c exposed while running
1325           worm.
1326         + use typeCalloc macro for readability.
1327         + add/use definition for CONST to accommodate testing with Solaris
1328           (SVr4) curses, which doesn't use 'const' in its prototypes.
1329         + modify ifdef's in test/hashtest.c and test/view.c to compile with
1330           Solaris curses.
1331         + modify _tracedump() to pad pad colors & attrs lines to match change
1332           in 970101 showing first/last changes.
1333         + corrected location of terminating null on dynamically allocated forms
1334           fields (patch by Per Foreby).
1335
1336 970111
1337         + added headers to make view.c compile on SCO with the resizeterm()
1338           code (i.e., struct winsize) - though this compiles, I don't have a
1339           suitable test configuration since SIGWINCH doesn't pass my network to
1340           that machine - T.Dickey.
1341         + update test/configure.in to supply some default substitutions.
1342         + modify configure script to add -lncurses after -lgpm to fix problem
1343           linking against static libraries.
1344         + add a missing noraw() to test/ncurses.c (places noted by Jeremy
1345           Buhler)
1346         + add a missing wclear() to test/testcurs.c (patch by Jeremy Buhler
1347           <jbuhler@cs.washington.edu>)
1348         + modify headers to accommodate compilers that don't allow duplicate
1349           "#define" lines for NCURSES_VERSION (reported by Larry W. Virden
1350           <lvirden@cas.org>)
1351         + fix formatting glitch in curs_getch.3x (patch by Jesse Thilo).
1352         + modify lib_doupdate to make el, el1 and ed optimization use the
1353           can_clear_with macro, and change EmitRange to allow leaving cursor at
1354           the middle of interval, rather than always at the end (patch by
1355           Alexander Lukyanov originally 960929, resync 970106).
1356
1357 970104
1358         + workaround defect in autoconf 2.12 (which terminates configuration
1359           if no C++ compiler is found) by adding an option --without-cxx.
1360         + modify several man-pages to use tbl, where .nf/.fi was used (reported
1361           by Jesse Thilo).
1362         + correct font-codes in some man-pages (patch by Jesse Thilo
1363           <Jesse.Thilo@pobox.com>)
1364         + use configure script's knowledge of existence of g++ library for the
1365           c++ Makefile (reported by Paul Jackson).
1366         + correct misleading description of --datadir configuration option
1367           (reported by Paul Jackson <pj@sam.engr.sgi.com>)
1368
1369 970101
1370         + several corrections to _nc_mvcur_scrolln(), prompted by a bug report
1371           from Peter Wemm:
1372         > the logic for non_dest_scroll_region was interchanged between the
1373           forward & reverse scrolling cases.
1374         > multiple returns from the function allowed certain conditions to do
1375           part of an operation before discovering that it couldn't be
1376           completed, returning an error without restoring the cursor.
1377         > some returns were ERR, where the function had completed the
1378           operation, because the insert/delete line logic was improperly
1379           tested (this was probably the case Peter saw).
1380         > contrary to comments, some scrolling cases were tested after the
1381           insert/delete line method.
1382         + modify _tracedump() to show first/last changes.
1383         + modify param of ClrUpdate() in lib_doupdate.c to 'newscr', fixes
1384           refresh problem (reported by Peter Wemm) that caused nvi to not show
1385           result of ":r !ls" until a ^L was typed.
1386
1387 961229  (internal alpha)
1388         + correct some of the writable-strings warnings (reported by Gary
1389           Johnson <gjohnson@season.com>).  Note that most of the remaining ones
1390           are part of the XSI specification, and can't be "fixed".
1391         + improve include-dependencies in form, menu, panel directories.
1392         + correct logic of delay_output(), which would return early if
1393           there is data on stdin.
1394         + modify interface & logic of _nc_timed_wait() to support 2 file
1395           descriptors, needed for GPM.
1396         + integrate patch by Andrew Kuchling <amk@magnet.com> for GPM (mouse)
1397           support, correcting logic in wgetch() and _nc_mouse_parse() which
1398           prevented patch from working properly.
1399         + improve performance of panel algorithm (Juergen Pfeifer 961203).
1400         + strip RCS id's from generated .html files in Ada95 subtree.
1401         + resync with generated .html files (Juergen Pfeifer 961223).
1402         + terminfo.src 10.1.0 from Eric.
1403
1404 961224  4.0 release
1405         + release as 4.0 to accommodate Linux ld.so.1.8.5
1406         + correct syntax/spelling, regenerated .doc files from .html using
1407           lynx 2.5
1408         + refined forms/menus makefiles (Juergen Pfeifer 961223).
1409
1410 961221  - snapshot
1411         + remove logic in read_entry.c that attempts to refine errno by using
1412           'access()' for the directory (from patch by Florian La Roche).
1413         + correct configure test/substitution that inhibits generating
1414           include-path to /usr/include if gcc is used (reported by Florian La
1415           Roche).
1416         + modify setupterm() to allocate new TERMINAL for each call, just as
1417           solaris' curses does (Alexander Lukyanov 960829).
1418         + corrected memory leaks in read_entry.c
1419         + add configure options --with-dbmalloc, --with-dmalloc, and
1420           --disable-leaks, tested by instrumenting infocmp, ncurses programs.
1421         + move #include's for stdlib.h and string.h to *.priv.h to accommodate
1422           use of dbmalloc.
1423         + modify use of $(LN_S) to follow recommendation in autoconf 2.12,
1424           i.e., set current directory before linking.
1425         + split-out panel.priv.h, improve dependencies for forms, menus
1426           (Juergen Pfeifer 961204).
1427         + modify _nc_freewin() to reset globals curscr/newscr/stdscr when
1428           freeing the corresponding WINDOW (Purify).
1429         + modify delwin() to return ERR if the window to be deleted has
1430           subwindows, needed as a side-effect of resizeterm() (Purify).  Tested
1431           and found that SVr4 curses behaves this way.
1432         + implement logic for _nc_freeall(), bringing stub up to date.
1433
1434 961215
1435         + modify wbkgd() so that it doesn't set nulls in the rendered text,
1436           even if its argument doesn't specify a character (fixes test case by
1437           Juergen Pfeifer for bug-report).
1438         + set window-attributes in wbkgd(), to simplify comparison against
1439           Solaris curses, which does this.
1440
1441 961214  - snapshot
1442         + replace most constants in ncurses 'o' test by expressions, making it
1443           work with wider range of screen sizes.
1444         + add options to ncurses.c to specify 'e' test softkey format, and the
1445           number of header/footer lines to rip-off.
1446         + add ^R (repaint after resize), ^L (refresh) commands to ncurses 'p'
1447           test.
1448         + add shell-out (!) command to ncurses 'p' test to allow test of
1449           resize between endwin/refresh.
1450         + correct line-wrap case in mvcur() by emitting carriage return,
1451           overlooked in 960928, but needed due to SVr4 compatibility changes to
1452           terminal modes in 960907.
1453         + correct logic in wresize that causes new lines to be allocated,
1454           broken for the special case of increasing rows only in 960907's fix
1455           for subwindows.
1456         + modify configure script to generate $(LDFLAGS) with -L and -l options
1457           in preference to explicit library filenames.  (NOTE: this may
1458           require further amending, since I vaguely recall a dynamic loader
1459           that did not work properly without the full names, but it should be
1460           handled as an exception to the rule, since some linkers do bulk
1461           inclusion of libraries when given the full name - T.Dickey).
1462         + modify configure script to allow user-supplied $CFLAGS to set the
1463           debug-option in all libraries (requested by lots of people).
1464         + use return consistently from main(), rather than exit (reported by
1465           Florian La Roche).
1466         + add --enable-getcap-cache option to configure, normally disabled
1467           (requested by Florian La Roche).
1468         + make configure test for gettimeofday() and possibly -lbsd more
1469           efficient (requested by Florian La Roche florian@knorke.saar.de)
1470         + minor adjustments to Ada95 binding (patches by Juergen Pfeifer)
1471         + correct attributes after emitting orig_pair in lib_vidattr.c (patch
1472           by lav@yars.free.net).
1473
1474 961208
1475         + corrected README wrt Ada95 (Juergen Pfeifer)
1476
1477 961207  - snapshot
1478         + integrate resizeterm() into doupdate(), so that if screen size
1479           changes between endwin/refresh, ncurses will resize windows to fit
1480           (this needs additional testing with pads and softkeys).
1481         + add, for memory-leak testing, _nc_freeall() entrypoint to free all
1482           data used in ncurses library.
1483         + initialize _nc_idcok, _nc_idlok statically to resolve discrepancy
1484           between initscr() and newwin() initialization (reported by
1485           lav@yars.free.net).
1486         + test built VERSION=4.0, SHARED_ABI=4 with Linux ld.so.1.8.5
1487           (set beta versions to those values -- NOTE that subsequent pre-4.0
1488           beta may not be interchangeable).
1489         + modify configure script to work with autoconf 2.12
1490
1491 961130  1.9.9g release
1492         + add copyright notices to configuration scripts (written by Thomas
1493           Dickey).
1494
1495 961127
1496         > patch by Juergen Pfeifer (mostly for panel):
1497         + cosmetic improvement for a few routines in the ncurses core library
1498           to avoid warning messages.
1499         + the panel overlap detection was broken
1500         + the panel_window() function was not fool-proof.
1501         + Some inlining...
1502         + Cosmetic changes (also to avoid warning messages when compiling with
1503           -DTRACE).
1504
1505 961126
1506         > patch by Juergen Pfeifer:
1507         + eliminates warning messages for the compile of libform.
1508         + inserts Per Foreby's new field type TYPE_IPV4 into libform.
1509         + Updates man page and the Ada95 binding to reflect this.
1510         + Improves inlining in libmenu and libform.
1511
1512 961120
1513         + improve the use of the "const" qualifier in the
1514           panel library (Juergen Pfeifer)
1515         + change set_panel_userptr() and panel_userptr() to use void*
1516           (Juergen Pfeifer)
1517
1518 961119
1519         + change ABI to 3.4
1520         + package with 961119 version of Ada95 binding (fixes for gnat-3.07).
1521           (Juergen Pfeifer)
1522         + correct initialization of the stdscr pseudo panel in panel library
1523           (Juergen Pfeifer)
1524         + use MODULE_ID (rcs keywords) in forms and menus libraries (Juergen
1525           Pfeifer).
1526         > patch #324 by Eric.
1527         + typo in curs_termcap man page (reported by Hendrik Reichel
1528           <106065.2344@compuserve.com>)
1529         + change default xterm entry to xterm-r6.
1530         + add entry for color_xterm
1531
1532 961116  - snapshot
1533         + lint found several functions that had only #define implementations
1534           (e.g., attr_off), modified curses.h.in to generate them as per XSI
1535           Curses requirement that every macro be available as a function.
1536         + add check in infocmp.c to guard against string compare of
1537           CANCELLED_STRING values.
1538         + modify firework.c, rain.c to hide cursor while running.
1539         + correct missing va_end in lib_tparm.c
1540         + modify hanoi.c to work on non-color terminals, and to use timing
1541           delays when in autoplay mode.
1542         + correct 'echochar()' to refresh immediately (reported by Adrian
1543           Garside 94ajg2@eng.cam.ac.uk)
1544         > patch #322 by eric:
1545         + reorganize terminfo.src entries for xterm.
1546
1547 961109  - snapshot
1548         + corrected error in line-breakout logic (lib_doupdate.c)
1549         + modified newdemo to use wgetch(win) rather than getch() to eliminate
1550           a spurious clear-screen.
1551         + corrected ifdef's for 'poll()' configuration.
1552         + added modules to ncurses, form, menu for Ada95 binding (Juergen
1553           Pfeifer).
1554         + modify set_field_buffer() to allow assignment of string longer than
1555           the initial buffer length, and to return the complete string rather
1556           than only the initial size (Juergen Pfeifer and Per Foreby
1557           <perf@efd.lth.se>).
1558
1559 961102  - snapshot
1560         + configure for 'poll()' in preference to 'select()', since older
1561           systems are more likely to have a broken 'select()'.
1562         + modified render_char() to avoid OR'ing colors.
1563         + minor fixes to testcurs.c, newdemo.c test programs: ifdef'd out the
1564           resize test, use wbkgd and corrected box() parameters.
1565         + make flushinp() test work in ncurses.c by using napms() instead of
1566           sleep().
1567         + undo Eric's changes to xterm-x11r6 (it no longer matched the X11R6.1
1568           distribution, as stated)
1569         + terminfo 9.13.18 (resync by Eric)
1570         + check for getenv("HOME") returning null (Eric).
1571         + change buffer used to decode xterm-mouse commands to unsigned to
1572           handle displays wider than 128 chars (Juergen Pfeifer).
1573         + correct typo curs_outopts.3x (Juergen Pfeifer).
1574         + correct limit-checking in wenclose() (Juergen Pfeifer).
1575         + correction to Peter Wemm's newwin change (Thomas Fehr <fehr@suse.de>).
1576         + corrections to logic that combines colors and attributes; they must
1577           not be OR'd (Juergen Pfeifer, extending from report/patch by Rick
1578           Marshall).
1579
1580 961026  - snapshot
1581         + reset flags in 'getwin()' that might cause refresh to attempt to
1582           manipulate the non-existent parent of a window that is read from a
1583           file (lib_screen.c).
1584         + restructure _nc_timed_wait() to log more information, and to try to
1585           recover from badly-behaved 'select()' calls (still testing this).
1586         + move define for GOOD_SELECT into configure script.
1587         + corrected extra '\' character inserted before ',' in comp_scan.c
1588         + corrected expansion of %-format characters in dump_entry.c; some were
1589           rendered as octal constants.
1590         + modify dump_entry.c to make terminfo output more readable and like
1591           SVr4, by using "\s" for spaces (leading/trailing only), "\," for
1592           comma, "\^" and "\:" as well.
1593         + corrected some memory leaks in ncurses.c, and a minor logic error
1594           in the top-level command-parser.
1595         + correction for label format 4 (PC style with info line), a
1596           slk_clear(), slk_restore() sequence didn't redraw the info line
1597           (Juergen Pfeifer).
1598         + modified the slk window (if simulated) to inherit the background and
1599           default character attributes from stdscr (Juergen Pfeifer).
1600         + corrected limit-check in set_top_row (Juergen Pfeifer).
1601
1602 961019  - snapshot
1603         + correct loop-limit in wnoutrefresh(), bug exposed during pipe-testing
1604           had '.lastchar' entry one beyond '._maxx'.
1605         + modify ncurses test-program to work with data piped to it.
1606         + corrected pathname computation in run_tic.sh, removing extra "../"
1607           (reported by Tim Mooney).
1608         + modified configure script to use previous install's location for
1609           curses.h
1610         + added NetBSD and FreeBSD to platforms that use --prefix=/usr as
1611           a default.
1612
1613 961013
1614         + revised xterm terminfo descriptions to reflect the several versions
1615           that are available.
1616         + corrected a pointer reference in dump_entry.c that didn't test if
1617           the pointer was -1.
1618
1619 961005  - snapshot
1620         + correct _nc_mvcur_scrolln for terminals w/o scrolling region.
1621         + add -x option to hashtest to control whether it allows writes to the
1622           lower-right corner.
1623         + ifdef'd (NCURSES_TEST) the logic for _nc_optimize_enable to make it
1624           simpler to construct tests (for double-check of _nc_hash_map tests).
1625         + correct ifdef's for c++ in curses.h
1626         + change default xterm type to xterm-x11r6.
1627         + correct quoting in configure that made man-pages installed with
1628           $datadir instead of actual terminfo path.
1629         + correct whitespace in include/Caps, which caused kf11, clr_eol and
1630           clr_end to be omitted from terminfo.5
1631         + fix memory leaks in delscreen() (adapted from Alexander Lukyanov).
1632         + improve appearance of marker in multi-selection menu (Juergen
1633           Pfeifer)
1634         + fix behaviour for forms with all fields inactive (Juergen
1635           Pfeifer)
1636         + document 'field_index()' (Juergen Pfeifer)
1637         > patch #321 by eric:
1638         + add some more XENIX keycap translations to include/Caps.
1639         + modify newwin to set initial state of each line to 'touched'
1640           (from patch by Peter Wemm <peter@spinner.dialix.com>)
1641         + in SET_TTY, replace TCSANOW with TCSADRAIN (Alexander Lukyanov).
1642
1643 960928  - snapshot
1644         + ifdef'd out _nc_hash_map (still slower)
1645         + add graphic characters to vt52 description.
1646         + use PutAttrChar in ClrToEOL to ensure proper background, position.
1647         + simplify/correct logic in 'mvcur()' that does wrapping; it was
1648           updating the position w/o actually moving the cursor, which broke
1649           relative moves.
1650         + ensure that 'doupdate()' sets the .oldindex values back to a sane
1651           state; this was causing a spurious refresh in ncurses 'r'.
1652         + add logic to configure (from vile) to guard against builders who
1653           don't remove config.cache & config.status when doing new builds.
1654         + corrected logic for 'repeat_char' in EmitRange (from #317), which
1655           did not follow the 2-parameter scheme specified in XSI.
1656         + corrected logic of wrefresh, wnoutrefresh broken in #319, making
1657           clearok work properly (from report by Michael Elkins).
1658         + corrected problem with endwin introduced by #314 (removing the
1659           scrolling-region reset) that broke ncurses.c tests.
1660         + corrected order of args in AC_CHECK_LIB (from report by Ami Fischman
1661           <fischman@math.ucla.edu>).
1662         + corrected formatting of terminfo.5 tables (Juergen Ehling)
1663         > patch 320 by eric:
1664         + change ABI to 3.3
1665         + emit a carriage-return in 'endwin()' to workaround a kernel bug in
1666           BSDI.  (requested by Mike Karels <karels@redrock.bsdi.com>)
1667         + reverse the default o configure --enable-termcap (consensus).
1668         > patch 319 by eric:
1669         + modified logic for clearok and related functions (from report by
1670           Michael Elkins) - untested
1671         > patch 318 by eric:
1672         + correction to #317.
1673         > patch 317 by eric:
1674         + re-add _nc_hash_map
1675         + modify EmitRange to maintain position as per original design.
1676         + add hashtest.c, program to time the hashmap optimization.
1677         > patch 316 by eric:
1678         + add logic to deal with magic-cookie (how was this tested?)
1679           (lib_doupdate.c).
1680         + add ncurses.c driver for magic-cookie, some fixes to ncurses.c
1681         > patch 315 by eric:
1682         + merged A. Lukyanov's patch to use ech and rep - untested
1683           (lib_doupdate.c).
1684         + modified handling of interrupted system calls - untested
1685           (lib_getch.c, lib_twait.c).
1686         + new function _nc_mvcur_resume()
1687         + fix return value for 'overlay()', 'overwrite()'
1688
1689 960914  - snapshot
1690         + implement subwindow-logic in wresize, minor fixes to ncurses 'g'
1691           test.
1692         + corrected bracketing of fallback.c (reported/suggested fix by Juergen
1693           Ehling <eh@eclipse.aball.de>).
1694         + update xterm-color to reflect XFree86 3.1.3G release.
1695         + correct broken dtterm description from #314 patch (e.g., spurious
1696           newline.  The 'pairs' change might work, but no one's tested it
1697           either ;-)
1698         + clarify the documentation for the builtin form fieldtypes (Juergen
1699           Pfeifer)
1700         > patch 314 by eric:
1701         + Enhancement suggested by A. Lukyanov -- reset scroll region on
1702           startup rather than at wrapup time.
1703         + Fix suggested by A. Lukyanov, make storage of palette tables
1704           and their size counts per-screen for multi-terminal applications.
1705         + Improved error reporting for infotocap translation errors.
1706         + Update terminfo.src to 9.13.14.
1707
1708 960907  - snapshot
1709         + rewrote wgetstr to make it erase control chars and also fix bogus use
1710           of _nc_outstr which caused the display to not wrap properly (display
1711           problem reported by John M. Flinchbaugh <glynis@netrax.net>)
1712         + modify ncurses 'f' test to accommodate terminal responses to C1 codes
1713           (and split up this screen to accommodate non-ANSI terminals).
1714         + test enter_insert_mode and exit_insert_mode in has_ic().
1715         + removed bogus logic in mvcur that assumes nl/nonl set output modes
1716           (XSI says they are input modes; SVr4 implements this).
1717         + added macros SET_TTY, GET_TTY to term.h
1718         + correct getstr() logic that altered terminal modes w/o restoring.
1719         + disable ICRNL, etc., during initialization to match SVr4, removing
1720           the corresponding logic from raw, cbreak, etc.
1721         + disable ONLCR during initialization, to match SVr4 (this is needed
1722           for cursor optimization when the cursor-down is a newline).
1723         + replaced Eric's imitation of wresize with my original (his didn't
1724           work).
1725
1726 960831  - snapshot
1727         + memory leaks (Alexander V. Lukyanov).
1728         + modified pnoutrefresh() to be more tolerant of too-large screen
1729           size (reported by Michael Elkins).
1730         + correct handling of terminfo files with no strings (Philippe De
1731           Muyter)
1732         + correct "tic -s" to take into account -I, -C options.
1733         + modify ncurses 'f' test to not print codes 80 through 9F, since they
1734           are considered control codes by ANSI terminals.
1735
1736 960824  - snapshot
1737         + correct speed variable-type in 'tgetent()' (reported by Peter Wemm)
1738         + make "--enable-getcap" configuration-option work (reported by
1739           Peter Wemm <peter@spinner.DIALix.COM>)
1740
1741 960820
1742         + correct err in 960817 that changed return-value of tigetflag()
1743           (reported by Alexander V. Lukyanov).
1744         + modify infocmp to use library default search-path for terminfo
1745           directory (Alexander V. Lukyanov).
1746
1747 960817  - snapshot
1748         + corrected an err in mvcur that broke resizing-behavior.
1749         + correct fall-thru behavior of _nc_read_entry(), which was not finding
1750           descriptions that existed in directories past the first one searched
1751           (reported by Alexander V. Lukyanov)
1752         + corrected typo in dtterm description.
1753         > patch 313 by eric:
1754         + add dtterm description
1755         + clarify ncurses 'i' test (drop vscanf subtest)
1756
1757 960810  - snapshot
1758         + correct nl()/nonl() to work as per SVr4 & XSI.
1759         + minor fixes to ncurses.c (use 'noraw()', mvscanw return-code)
1760         + refine configure-test for -g option (Tim Mooney).
1761         + correct interaction between O_BLANK and NEW_LINE request in form
1762           library (Juergen Pfeifer)
1763
1764 960804
1765         + revised fix to tparm; previous fix reversed parameter order.
1766         > patch 312 by eric:
1767           correct terminfo.src corrupted by #310
1768         > patch 311 by eric:
1769         + fix idlok() and idcok() and the default of the idlok switch.
1770
1771 960803  - snapshot
1772         + corrected tparm to handle capability strings without explicit pop
1773           (reported by William P Setzer)
1774         + add fallback def for GCC_NORETURN, GCC_UNUSED for termcap users
1775           (reported by Tim Mooney).
1776         > patch 310 by eric:
1777         + documentation and prototyping errors for has_color, immedok and idcok
1778           (reported by William P Setzer <wsetzer@pams.ncsu.edu>)
1779         + updated qnx terminfo entry (by Michael Hunter)
1780
1781 960730
1782         + eliminate quoted includes in ncurses subdirectory, ensure config.h
1783           is included first.
1784         + newterm initializes terminal settings the same as initscr (reported
1785           by Tim Mooney).
1786
1787 960727  - snapshot
1788         + call cbreak() in initscr(), as per XSI & SVr4.
1789         + turn off hardware echo in initscr() as per XSI & SVr4
1790         > patch 309 by eric:
1791         + terminfo changes (9.3.10), from BRL
1792         + add more checks to terminfo parser.
1793         + add more symbols to infocmp.
1794
1795 960720  - snapshot
1796         + save previous-attribute in lib_vidattr.c if SP is null (reported by
1797           Ju"rgen Fluk <louis@dachau.marco.de>)
1798         + corrected calls on _nc_render so that background character is set
1799           as per XSI.
1800         + corrected wbkgdset macro (XSI allows background character to be null),
1801           and tests that use it.
1802         + more corrections to terminfo (xterm & rxvt)
1803         + undid change to mcprint prototype (cannot use size_t in curses.h
1804           because not all systems declare it in the headers that we can safely
1805           include therein).
1806         + move the ifdefs for errno into curses.priv.h
1807         > patch 308 by eric:
1808         + terminfo changes (9.3.8)
1809         + modified logic of error-reporting in terminfo parser
1810
1811 960713  - snapshot
1812         + always check for <sys/bsdtypes.h> since ISC needs it to declare
1813           fd_set (Juergen Pfeifer)
1814         + install shared-libraries on NetBSD/FreeBSD with ABI-version (reported
1815           by several people:  Juergen Pfeifer, Mike Long)
1816         + add LOCAL_LDFLAGS2 symbol (Juergen Pfeifer)
1817         + corrected prototype for delay_output() -- bump ABI to 3.2
1818         + terminfo patches #306/307 from Eric.
1819         + moved logic that filters out rmul and rmso from setupterm to newterm
1820           where it is less likely to interfere with termcap applications.
1821
1822 960707
1823         + rollback Eric's #305 change to terminfo.src (it breaks existing
1824           applications, e.g., 'less 290').
1825         + correct path of edit_man.sh, and fix typo that made all man-pages
1826           preformatted.
1827         + restore man/menu_requestname.3x omitted in Zeyd's resync (oops).
1828         + auto-configure the GCC_PRINTFLIKE/GCC_SCANFLIKE macros (reported by
1829           Philippe De Muyter).
1830
1831 960706  - snapshot
1832         + make lib_vidattr.c more readable using macros.
1833         + filter out rmul, rmso that conflict with sgr0 when reading terminal
1834           descriptions.
1835         + added sanity-checking of various paired string attributes (Eric).
1836         + work around autoconf bug, force $INSTALL to absolute path.
1837           (reported by Zeyd).
1838         + modify man-page install for BSDI to install preformatted .0 files
1839           (reported by David MacKenzie).
1840         + add/use gcc __attribute__ for printf and scanf in curses.h
1841         + added SGR attributes test-case to ncurses
1842         + revised ncurses 't' logic to show trace-disable effect in the menu.
1843         + use getopt in ncurses program to process -s and -t options.
1844         + make ncurses 'p' legend toggle with '?'
1845         + disable scrollok during the ncurses 'p' test; if it is enabled the
1846           stdscr will scroll when putting the box-corners in the lower-right
1847           of the screen.
1848
1849 960629  - snapshot
1850         + check return code of _nc_mvcur_scrolln() in _nc_scroll_optimize() for
1851           terminals with no scrolling-support (reported by Nikolay Shadrin
1852           <queen@qh.mirea.ac.ru>)
1853         + added ^S scrollok-toggle to ncurses 'g' test.
1854         + added ^T trace-toggle to ncurses tests.
1855         + modified ncurses test program to use ^Q or ESC consistently for
1856           terminating tests (rather than ^D), and to use control keys rather
1857           than function keys in 'g' test.
1858         + corrected misplaced wclrtoeol calls in addch to accommodate wrapping
1859           (reported by Philippe De Muyter).
1860         + modify lib_doupdate.c to use effective costs to tradeoff between
1861           delete-character/insert-character vs normal updating (reported by
1862           David MacKenzie).
1863         + compute effective costs for screen update operations (e.g., clr_eos,
1864           delete_character).
1865         + corrected error in knight.c exposed by wrap fixes in 960622; the
1866           msgwin needed scrollok set.
1867         + corrected last change to IDcTransformLine logic to avoid conflict
1868           between PutRange and InsStr
1869         + modified run_tic.sh to not use /usr/tmp (reported by David MacKenzie),
1870           and further revised it and aclocal.m4 to use $TMPDIR if set.
1871         + corrected off-by-one in RoomFor call in read_entry.c
1872
1873 960622  - snapshot
1874         + modified logic that wraps cursor in addch to follow the XSI spec,
1875           (implemented in SVr4) which states that the cursor position is
1876           updated when wrapping.  Renamed _NEED_WRAP to _WRAPPED to reflect the
1877           actual semantics.
1878         + added -s option to tic, to provide better diagnostics in run_tic.sh
1879         + improved error-recovery for tabset install.
1880         + change ABI to 3.1 (dropped tparam, corrected getbkgd(), added
1881           _yoffset to WINDOW).
1882         + modified initialization of SP->_ofp so that init_acs() is called with
1883           the "right" file pointer (reported by Rick Marshall <rjm@nlc.net.au>
1884         + documentation fixes (Juergen Pfeifer).
1885         + corrected, using new SCREEN and WINDOW members, the behavior of
1886           ncurses if one uses ripoffline() to remove a line from the top of the
1887           screen (Juergen Pfeifer).
1888         + modified autoconf scripts to prepare for Ada95 (GNAT) binding to
1889           ncurses (Juergen Pfeifer).
1890         + incorrect buffer-size in _nc_read_entry, reported by Eric Raymond.
1891
1892 960617
1893         + corrected two logic errors in read_entry.c, write_entry.c (called by
1894           tic, the write/read of terminfo entries used inconsistent rules for
1895           locating the entries; the $TERMINFO_DIRS code would find only the
1896           first entry in a list).
1897         + refined pathname computation in run_tic.sh and shlib.
1898         + corrected initialization of $IP in misc/run_tic.sh
1899
1900 960615  - snapshot
1901         + ifdef'd out _nc_hash_map() call because it does not improve speed.
1902         + display version of gcc if configure script identifies it.
1903         + modify configure script to use /usr as Linux's default prefix.
1904         + modify run_tic.sh to use shlib script, fixes some problems installing
1905           with a shared-library configuration.
1906         + adjusted configure script so that it doesn't run tests with the
1907           warnings turned on, which makes config.log hard to read.
1908         + added 'lint' rule to top-level Makefile.
1909         + added configure option '--with-install-prefix' for use by system
1910           builders to install into staging locations (from request by
1911           charles@comm.polymtl.ca)
1912         + corrected autoconfigure for Debian man program; it's not installed
1913           as "man_db".
1914         + set noecho in 'worm'; it was ifdef'd for debug only
1915         + updated test/configure.in for timing-display in ncurses 'p' test
1916         + corrected misspelled 'getbkgd()'.
1917         + corrected wbkgdset to work like observed syvr4 (sets A_CHARTEXT part
1918           to blank if no character given, copies attributes to window's
1919           attributes).
1920         + modified lib_doupdate.c to use lower-level SP's current_attr state
1921           instead of curscr's state, since it is redundant.
1922         + correction to IDcTransformLine logic which controls where InsStr is
1923           invoked (refined by lav@yars.free.net).
1924         > patches 303 by eric
1925         + conditionally include Chris Torek's hash function _nc_hash_map().
1926         + better fix for nvi refresh-bug (Rick Marshall)
1927         + fix for bug in handling of interrupted keystroke waits,
1928           (Werner Fleck).
1929
1930 960601  - snapshot
1931         + auto-configure man-page compression-format and renames for Debian.
1932         + corrected several typos in curses.h.in (i.e., the mvXXXX macros).
1933         + re-order curses.priv.h for lint.
1934         + added rules for lintlib, lint
1935         + corrected ifdef for BROKEN_LINKER in MKnames.awk.in
1936         + corrected missing INSTALL_DATA in misc/Makefile.in
1937         + flush output when changing cursor-visibility (Rick Marshall)
1938         + fix a minor bug in the _nc_ripoff() routine and improve error checking
1939           when creating the label window (Juergen Pfeifer).
1940         + enhancement to the control over the new PC-style soft key format.
1941           allow caller now to select whether or not one wants to have
1942           the index-line; see curs_slk.3x for documentation (Juergen Pfeifer).
1943         + typos, don't use inline with -g (Philippe De Muyter)
1944         + fixes for menus & wattr-, slk-functions (Juergen Pfeifer)
1945
1946 960526  - snapshot
1947         + removed --with-ticdir option altogether, maintain compatibility with
1948           existing applications via symbolic link in run_tic.sh
1949         + patch for termio.h, signal (Philippe De Muyter)
1950         + auto-configure gcc warning options rather than infer from version.
1951         + auto-configure __attribute__ for different gcc versions.
1952         + corrected special use of clearok() in hardscroll.c by resetting flag
1953           in wrefresh().
1954         + include stdlib.h before defs for EXIT_SUCCESS, for OSF/1.
1955         + include sys/types.h in case stdlib.h does not declare size_t.
1956         + fixes for makefile (Tim Mooney)
1957         + fixes for menus & forms (Juergen.Pfeifer@T-Online.de)
1958
1959 960518  - snapshot
1960         + revised ncurses.c panner test, let pad abut all 4 sides of screen.
1961         + refined case in lib_doupdate.c for ClrToEOL().
1962         + corrected prior change for PutRange (Alexander V.  Lukyanov:
1963           lav@yars.free.net).
1964         + autoconf mods (Tim Mooney: mooney@dogbert.cc.ndsu.NoDak.edu).
1965         + locale fix for forms (Philippe De Muyter: phdemuyt@ulb.ac.be)
1966         + renamed "--with-datadir" option to "--with-ticdir" to avoid
1967           confusion, and made this check for the /usr/lib/terminfo pre-existing
1968           directory.
1969         > patches 299-301 by eric:
1970         + added hashmap.c
1971         + mods to tracing, especially for ACS chars.
1972         + corrected off-by-one in IDCtransform.
1973         + corrected intermittent mouse bug by using return-value from read().
1974         + mods to parse_entry.c, for smarter defaults.
1975
1976 960512
1977         + use getopt in 'tic'; added -L option and modified -e option to allow
1978           list from a file.
1979
1980 960511
1981         + don't use fixed buffer-size in tparm().
1982         + modified tic to create terminfo directory if it doesn't exist.
1983         + added -T options to tic and infocmp (for testing/analysis)
1984         + refined the length criteria for termcap and terminfo
1985         + optimize lib_doupdate with memcpy, PutRange
1986         > patches 297, 298 by eric
1987         + implement TERMINFO_DIRS, and -o option of tic
1988         + added TRACE_IEVENT
1989         + removed boolean version of 'getm'
1990         + added lib_print.c (for Rick Marshall)
1991         + added has_key()
1992         + added 't' to ncurses.c test.
1993         + moved delay_output() to lib_tputs.c
1994         + removed tparam().
1995         + misc cursor & optimization fixes.
1996
1997 960504  - snapshot
1998         + modified ncurses 'p' test to allow full-screen range for panner size.
1999         + fixes for locale (phdm@labauto1.ulb.ac.be)
2000         + don't use fixed buffer-size in fmt_entry().
2001         + added usage-message to 'infocmp'.
2002         + modified install.includes rules to prepend subdirectory-name to
2003           "#include" if needed.
2004
2005 960430
2006         + protect wrefresh, wnoutrefresh from invocation with pad argument.
2007         + corrected default CCFLAGS in test/Makefile.
2008
2009 960428  - snapshot
2010         + implemented logic to support terminals with background color erase
2011           (e.g., rxvt and the newer color xterm).
2012         + improved screen update logic (off-by-one logic error; use clr_eos if
2013           possible)
2014
2015 960426  - snapshot
2016         + change ncurses 'a' test to run in raw mode.
2017         + make TIOCGWINSZ configure test less stringent, in case user
2018           configures via terminal that cannot get screen size.
2019         > patches 295, 296 by eric:
2020         + new "-e" option of tic.
2021         + fix for "infocmp -e".
2022         + restore working-directory in read_termcap.c
2023         + split lib_kernel.c, lib_setup.c and names.c in order to reduce
2024           overhead for programs that use only termcap features.
2025
2026 960418  - snapshot
2027         + use autoconf 2.9
2028         + fix for AIX 3.2.5 (must define _POSIX_SOURCE to get termios struct
2029           definitions via <termios.h>, modified macros in lib_raw.c to avoid
2030           K&R-style substitution)
2031         > patches 293, 294 by eric:
2032         + mods to wgetch() in cooked mode
2033         + corrected askuser() logic in tset
2034         + correct interaction of endwin() with mouse processing
2035         + added trace support for TTY flags
2036
2037 960406
2038         + fixes for NeXT, ISC and HPUX auto-configure
2039         + autogenerate development header-dependencies (config.h, *.priv.h)
2040         + corrected single-column formatting of "use=" (e.g., in tic)
2041         + modify tic to read full terminfo-names
2042         + corrected divide-by-zero that caused hang (or worse) when redirecting output
2043         + modify tic to generate directories only as-needed (and corrected
2044           instance of use of data from function that had already returned).
2045
2046 ### ncurses-1.9.8a -> 1.9.9e
2047
2048 * fixed broken wsyncup()/wysncdown(), as a result wnoutrefresh() now has
2049   copy-changed-lines behavior.
2050 * added and documented wresize() function.
2051 * more fixes to LOWER-RIGHT corner handling.
2052 * changed the line-breakout optimization code to allow some lines to be
2053   emitted before the first check.
2054 * added option for tic to use symbolic instead of hard links (for AFS)
2055 * fix to restore auto-wrap mode.
2056 * trace level can be controlled by environment variable.
2057 * better handling of NULs in terminal descriptions.
2058 * improved compatibility with observed SVR4 behavior.
2059 * the refresh behavior of over-lapping windows is now more efficient and
2060   behaves like SVR4.
2061 * use autoconf 2.7, which results in a working setup for SCO 5.0.
2062 * support for ESCDELAY.
2063 * small fixes for menu/form code.
2064 * the test directory has its own configure.
2065 * fixes to pads when optimizing scrolling.
2066 * fixed several off-by-one bugs.
2067 * fixes for termcap->terminfo translation; less restrictions more correct
2068   behavior.
2069
2070 ### ncurses-1.9.7 -> 1.9.8a
2071
2072 * teach infocmp -i to recognize ECMA highlight sequences
2073 * infocmp now dumps all SVr4 termcaps (not just the SVr4 ones) on -C
2074 * support infocmp -RBSD.
2075 * satisfy XSI Curses requirement that every macro be available as a function.
2076 * This represents the last big change to the public interface of ncurses. The
2077   ABI_VERSION has now been set at 3.0 and should stay there barring any great
2078   catastrophies or acts of God.
2079 * The C++ has been cleaned up in reaction to the changes to satisfy XSI's
2080   requirements.
2081 * libncurses now gets linked to libcurses to help seamless emulation
2082   (replacement) of a vendor's curses. --disable-overwrite turns this behavior
2083   off.
2084
2085 ### ncurses-1.9.6 -> 1.9.7
2086
2087 * corrected return values of setupterm()
2088 * Fixed some bugs in tput (it does padding now)
2089 * fixed a bug in tic that made it do the wrong thing on entries with more than
2090   one `use' capability.
2091 * corrected the screen-size calculation at startup time to alter the
2092   numeric capabilities as per SVr4, not just LINES and COLS.
2093 * toe(1) introduced; does what infocmp -T used to.
2094 * tic(1) can now translate AIX box1 and font[0123] capabilities.
2095 * tic uses much less core, the dotic.sh kluge can go away now.
2096 * fix read_entry() and write_entry() to pass through cancelled capabilities OK.
2097 * Add $HOME/.terminfo as source/target directory for terminfo entries.
2098 * termcap compilation now automatically dumps an entry to $HOME/.terminfo.
2099 * added -h option to toe(1).
2100 * added -R option to tic(1) and infocmp(1).
2101 * added fallback-entry-list feature.
2102 * added -i option to infocmp(1).
2103 * do a better job at detecting if we're on SCO.
2104
2105 ### ncurses-1.9.5 -> 1.9.6
2106
2107 * handling of TERMCAP environment variables now works correctly.
2108 * various changes to shorten termcap translations to less that 1024 chars.
2109 * tset(1) added
2110 * mouse support for xterm.
2111 * most data tables are now const and accordingly live in shareable text space.
2112 * Obey the XPG4/SVr4 practice that echo() is initally off.
2113 * tic is much better at translating XENIX and AIX termcap entries now.
2114 * tic can interpret ko capabilities now.
2115 * integrated Juergen Pfeifer's forms library.
2116 * taught write_entry() how not to write more than it needs to; this change
2117   reduces the size of the terminfo tree by a full 26%!
2118 * infocmp -T option added.
2119 * better warnings about historical tic quirks from tic.
2120
2121 ### ncurses 1.9.4 -> 1.9.5
2122
2123 * menus library is now included with documentation.
2124 * lib_mvcur has been carefully profiled and tuned.
2125 * Fixed a ^Z-handling bug that was tanking lynx(1).
2126 * HJ Lu's patches for ELF shared libraries under Linux
2127 * terminfo.src 9.8.2
2128 * tweaks for compiling in seperate directories.
2129 * Thomas Dickey's patches to support NeXT's brain-dead linker
2130 * Eric Raymond's patches to fix problems with long termcap entries.
2131 * more support for shared libraries under SunOS and IRIX.
2132
2133 ### ncurses 1.9.3 -> 1.9.4
2134
2135 * fixed an undefined-order-of-evaluation bug in lib_acs.c
2136 * systematically gave non-API public functions and data an _nc_ prefix.
2137 * integrated Juergen Pfeifer's menu code into the distribution.
2138 * totally rewrote the knight test game's interface
2139
2140 ### ncurses 1.9.2c -> 1.9.3
2141
2142 * fixed the TERMCAP_FILE Support.
2143 * fixed off-by-one errors in scrolling code
2144 * added tracemunch to the test tools
2145 * took steps to cut the running time of make install.data
2146
2147 ### ncurses 1.9.2c -> 1.9.2d
2148
2149 * revised 'configure' script to produce libraries for normal, debug,
2150   profile and shared object models.
2151
2152 ### ncurses 1.9.1 -> 1.9.2
2153
2154 * use 'autoconf' to implement 'configure' script.
2155 * panels support added
2156 * tic now checks for excessively long termcap entries when doing translation
2157 * first cut at eliminating namespace pollution.
2158
2159 ### ncurses 1.8.9 -> 1.9
2160
2161 * cleanup gcc warnings for the following: use size_t where 'int' is not
2162   appropriate, fixed some shadowed variables, change attr_t to compatible with
2163   chtype, use attr_t in some places where it was confused with 'int'.
2164 * use chtype/attr_t casts as appropriate to ensure portability of masking
2165   operations.
2166 * added-back waddchnstr() to lib_addstr.c (it had been deleted).
2167 * supplied missing prototypes in curses.h
2168 * include <termcap.h> in lib_termcap.c to ensure that the prototypes
2169   are consistent (they weren't).
2170 * corrected prototype of tputs in <termcap.h>
2171 * rewrote varargs parsing in lib_tparm.c (to avoid referencing memory
2172   that may be out of bounds on the stack) -- Purify found this.
2173 * ensure that TRACE is defined in lib_trace.c (to solve prototype
2174   warnings from gcc).
2175 * corrected scrolling-region size in 'mvcur_wrap()'
2176 * more spelling fixes
2177 * use 'calloc()' to allocate WINDOW struct in lib_newwin.c (Purify).
2178 * set default value for SP->_ofp in lib_set_term.c (otherwise SunOS dumps
2179   core in init_acs()).
2180 * include <errno.h> in write_entry.c (most "braindead" includes declare errno
2181   in that file).
2182
2183 ### ncurses 1.8.8 -> 1.8.9
2184
2185 * compile (mostly) clean with gcc 2.5.8 -Wall -Wstrict-prototypes
2186   -Wmissing-prototypes -Wconversion and using __attribute__ to flush out
2187   non-portable use of "%x" for pointers, or for chtype data (which is declared
2188   as a long).
2189 * modified doupdate to ensure that typahead was turned on before attempting
2190   select-call (otherwise, some implementations hang).
2191 * added trace mask TRACE_FIFO, use this in lib_getch.c to allow finer
2192   resolution of traces.
2193 * improved bounds checking on several critical functions.
2194 * the data directory has been replaced by the new master terminfo file.
2195 * -F file-comparison option added to infocmp.
2196 * compatibility with XSI Curses is now documented in the man bages.
2197 * wsyncup/wsyncdown functions are reliable now; subwindow code in general
2198   is much less flaky.
2199 * capabilities ~msgr, tilde_glitch, insert_padding, generic_type, no_pad_char,
2200   memory_above, memory_below, and hard_copy are now used properly.
2201 * cursor-movement optimization has been completely rewritten.
2202 * vertical-movement optimization now uses hardware scrolling, il, dl.
2203
2204 ### ncurses 1.8.7 -> 1.8.8
2205 * untic no longer exists, infocmp replaces it.
2206 * tic can understand termcap now, especially if it is called captoinfo.
2207 * The Linux Standard Console terminfo entry is called linux insead of console.
2208   It also uses the kernel's new method of changing charsets.
2209 * initscr() will EXIT upon error (as the docs say) This wil mostly happen if
2210   you try to run on an undefined terminal.
2211 * I can get things running on AIX but tic can't compile terminfo. I have to
2212   compile entries on another machine. Volunteers to hunt this bug are welcome.
2213 * wbkgd() and wbkgdset() can be used to set a windows background to color.
2214   wclear()/werase() DO NOT use the current attribute to clear the screen.
2215   This is the way SVR4 curses works. PDCurses 2.1 is broken in this respect,
2216   though PDCurses 2.2 has been fixed.
2217 * cleaned up the test/ directory.
2218 * test/worm will segfault after quite a while.
2219 * many spelling corrections courtesy of Thomas E. Dickey
2220
2221 ### ncurses 1.8.6 -> 1.8.7
2222 * cleaned up programs in test/ directory.
2223 * fixed wbkgdset() macro.
2224 * modified getstr() to stop it from advancing cursor in noecho mode.
2225 * modified linux terminfo entry to work with the latest kernel to get
2226   the correct alternate character set.
2227 * also added a linux-mono entry for those running on monochrome screens.
2228 * changed initscr() so that it behaves like the man page says it does.
2229   this fixes the problem with programs in test/ crashing with SIGSEV if
2230   a terminal is undefined.
2231 * modified addch() to avoid using any term.h #define's
2232 * removed duplicate tgoto() in lib_tparm.c
2233 * modified dump_entry.c so that infocmp deals correctly with ',' in acsc
2234 * modified delwin() to correctly handle deleting subwindows.
2235 * fixed Makefile.dist to stop installing an empty curses.h
2236 * fixed a couple of out-of-date notes in man pages.
2237
2238 ### ncurses 1.8.5 -> 1.8.6
2239 * Implemented wbkgd(), bkgd(), bkgdset(), and wbkgdset().
2240 * The handling of attributes has been improved and now does not turn off color
2241   if other attributes are turned off.
2242 * scrolling code is improved. Scrolling in subwindows is still broken.
2243 * Fixes to several bugs that manifest them on platforms other than Linux.
2244 * The default to meta now depends on the status of the terminal when ncurses
2245   is started.
2246 * The interface to the tracing facility has changed.  Instead of the pair of
2247   functions traceon() and traceoff(), there is just one function trace() which
2248   takes a trace mask argument.  The trace masks, defined in curses.h, are
2249   as follows:
2250
2251         #define TRACE_DISABLE   0x00    /* turn off tracing */
2252         #define TRACE_ORDINARY  0x01    /* ordinary trace mode */
2253         #define TRACE_CHARPUT   0x02    /* also trace all character outputs */
2254         #define TRACE_MAXIMUM   0x0f    /* maximum trace level */
2255
2256   More trace masks may be added, or these may be changed, in future releases.
2257 * The pad code has been improved and the pad test code in test/ncurses.c has
2258   been improved.
2259 * The prototype ansi entry has been changed to work with a wider variety
2260   of emulators.
2261 * Fix to the prototype ansi entry that enables it to work with PC emulators
2262   that treat trailing ";m" in a highlight sequence as ";0m"; this doesn't
2263   break operation with any emulators.
2264 * There are now working infocmp, captoinfo, tput, and tclear utilities.
2265 * tic can now compile entries in termcap syntax.
2266 * Core-dump bug in pnoutrefresh fixed.
2267 * We now recognize and compile all the nonstandard capabilities in Ross
2268   Ridge's mytinfo package (rendering it obsolete).
2269 * General cleanup and documentation improvements.
2270 * Fixes and additions to the installation-documentation files.
2271 * Take cursor to normal mode on endwin.
2272
2273 ### ncurses 1.8.4 -> 1.8.5
2274 * serious bugs in updating screen which caused erratic non-display,
2275   fixed.
2276 * fixed initialization for getch() related variable which cause
2277   unpredictable results.
2278 * fixed another doupdate bug which only appeared if you have
2279   parm_char.
2280 * implemented redrawln() and redrawwin().
2281 * implemented winsnstr() and related functions.
2282 * cleaned up insertln() and deleteln() and implemented (w)insdeln().
2283 * changed Makefile.dist so that installation of man pages will
2284   take note of the terminfo directory.
2285 * fixed Configure (removed the mysterious 'X').
2286 * Eric S. Raymond fixed the script.* files so that they work with
2287   stock awk.
2288
2289 #### ncurses 1.8.3 -> 1.8.4 #### ####
2290 * fixed bug in refreshing the screen after return from shell_mode.
2291   There are still problems but they don't manifest themselves on
2292   my machine (Linux 0.99.14f).
2293 * added wgetnstr() and modified things accordingly.
2294 * fixed the script.src script.test to work with awk not just gawk.
2295 * Configure can now take an argument of the target system.
2296 * added test/ncurses.c which replaces several other programs and
2297   performs more testing.
2298 [Thanks to Eric S Raymond for the last 4]
2299 * more fixes to lib_overlay.c and added test/over.c to illustrate
2300   how it works.
2301 * fixed ungetch() to take int instead of ch.
2302 * fixes to cure wgetch() if flushinp() is called.
2303
2304 One note I forgot to mention in 1.8.3 is that tracing is off by
2305 default starting in the version. If you want tracing output, put
2306 traceon(); in your code and link with -ldcurses.
2307
2308 #### ncurses 1.8.2 -> ncurses 1.8.3 #### ####
2309 MAJOR CHANGES:
2310 1) The order of capabilities has been changed in order to achieve
2311 binary compatibility with SVR4 terminfo database. This has the
2312 unfortunate effect of breaking application currently linked with
2313 ncurses. To ensure correct behavior, recompile all such programs.
2314 Most programs using color or newer capabilities will break, others
2315 will probably continue to work ok.
2316
2317 2) Pavel Curtis has renounced his copyright to the public domain.
2318 This means that his original sources (posted to comp.sources.unix,
2319 volume 1) are now in the public domain.  The current sources are
2320 NOT in the public domain, they are copyrighted by me.  I'm
2321 entertaining ideas on what the new terms ncurses is released under.
2322
2323 3) Eric S. Raymond has supplied a complete set of man pages for
2324 ncurses in ?roff format. They will eventually replace most of the
2325 current docs. Both sets are included in this release.
2326
2327 Other changes and notes from 1.8.2 include:
2328 * SIGSEGV during scrolling no longer occurs.
2329 * Other problems with scrolling and use of idl have been corrected.
2330 * lib_getch.c has been re-written and should perform flawlessly.
2331   please use test/getch.c and any other programs to test this.
2332 * ripoffline() is implemented (Thanks to Eric) and slk_ functions
2333   changed accordingly.
2334 * I've added support for terminals that scroll if you write in the
2335   bottom-right corner.
2336 * fixed more bugs in pads code. If anybody has a program that uses
2337   pads I'd love a copy.
2338 * correct handling for terminal with back_color_erase capability
2339   (such as Linux console, and most PC terminals)
2340 * ^Z handling apparently didn't work (I should never trust code
2341   sent me to me without extensive testing). It now seems to be
2342   fixed. Let me know if you have problems.
2343 * I've added support for Apollo and NeXT, but it may still be
2344   incomplete, especially when dealing with the lack of POSIX
2345   features.
2346 * scrolling should be more efficient on terminals with idl
2347   capabilities. Please see src/lib_scroll.c for more notes.
2348 * The line drawing routines were offset by 1 at both ends. This
2349   is now fixed.
2350 * added a few missing prototypes and macros (e.g. setterm())
2351 * fixed code in src/lib_overlay.c which used to crash.
2352 * added a few more programs in test/ The ones from the PDCurses
2353   package are useful, especially if you have SVR4 proper. I'm
2354   interested in the results you get on such a systems (Eric? ;-).
2355   They already exposed certain bugs in ncurses.
2356 * See src/README for porting notes.
2357 * The C++ code should really replace ncurses.h instead of working
2358   around it. It should avoid name-space clashes with nterm.h (use
2359   rows instead of lines, etc.)
2360 * The C++ should compile ok. I've added explicit rules to the
2361   Makefile because no C++ defaults are documented on the suns.
2362 * The docs say that echo() and nocbreak() are mutually exclusive.
2363   At the moment ncurses will switch to cbreak() if the case above
2364   occurs. Should it continue to do so? How about echo() and noraw()?
2365 * PDCurses seem to assume that wclear() will use current attribute
2366   when clearing the screen. According to Eric this is not the case
2367   with SVR4.
2368 * I have discovered, to my chagrin, SunOS 4.x (and probably other systems)
2369   * doesn't have vsscanf and God knows what else!  I've will do a vsscanf().
2370 * I've also found out that the src/script.* rely on gawk and will not
2371   work with stock awk or even with nawk. Any changes are welcome.
2372 * Linux is more tolerant of NULL dereferences than most systems. This
2373   fact was exposed by hanoi.
2374 * ncurses still seems inefficient in drawing the screen on a serial
2375   link between Linux and suns. The padding may be the culprit.
2376 * There seems to be one lingering problem with doupdate() after shelling
2377   out. Despite the fact the it is sending out the correct information
2378   to the terminal, nothing takes effect until you press ^L or another
2379   refresh takes place. And yes, output does get flushed.
2380
2381 #### ncurses 1.8.1 -> ncurses 1.8.2 #### Nov 28, 1993 ####
2382
2383 * added support for SVR4 and BSDI's BSD/386.
2384 * major update and fix to scrolling routine.
2385 * MORE fixes to stuff in lib_getch.c.
2386 * cleaned-up configuration options and can now generate
2387         Config.* files through an awk script.
2388 * changed setupterm() so it can be called more than once,
2389         add added set_curterm(), del_curterm().
2390 * a few minor cleanups.
2391 * added more prototypes in curses.h
2392
2393 #### ncurses 1.8 -> ncurses 1.8.1 #### Nov 4, 1993 ####
2394
2395 * added support for NeXTStep 3.0
2396 * added termcap emulation (not well tested).
2397 * more complete C++ interface to ncurses.
2398 * fixed overlay(), overwrite(), and added copywin().
2399 * a couple of bug fixes.
2400 * a few code cleanups.
2401
2402 #### ncurses 0.7.2/0.7.3 -> ncurses 1.8 #### Aug 31, 1993 ####
2403
2404 * The annoying message "can't open file." was due to missing
2405   terminfo entry for the used terminal. It has now been
2406   replaced by a hopefully more helpful message.
2407 * Problems with running on serial lines are now fixed.
2408 * Added configuration files for SunOS, Linux, HP/UX, Ultrix,
2409   386bsd/BSDI (if you have others send'em to me)
2410 * Cleaner Makefile.
2411 * The documentation in manual.doc is now more uptodate.
2412 * update optimization and support for hp terminals, and 386bsd
2413   console driver(s).
2414 * mvcur optimization for terminals without cursor addressing
2415   (doesn't work on Linux)
2416 * if cursor moved since last update, getch() will refresh the
2417   screen before working.
2418 * getch() & alarm() can now live together. in 0.7.3 a signal
2419   interrupted getch() (bug or feature?) now the getch is
2420   restarted.
2421 * scanw() et all were sick, now fixed.
2422 * support for 8-bit input (use meta()).
2423 * added default screen size to all terminfos.
2424 * added c++ Ncursesw class.
2425 * several minor bug fixes.
2426
2427 #### ncurses 0.7.2 -> ncurses 0.7.3 #### May 27, 1993 ####
2428
2429 * Config file to cope with different platforms (386BSD, BSDI, Ultrix, SunOS)
2430 * more fixes to lib_getch.c
2431 * changes related to Config
2432
2433 #### ncurses 0.7 -> ncurses 0.7.2 #### May 22, 1993 ####
2434
2435 * docs updated slightly (color usage is now documented).
2436 * yet another fix for getch(), this one fixes problems with ESC being swallowed
2437   if another character is typed before the 1 second timeout.
2438 * Hopefully, addstr() and addch() are 8-bit clean.
2439 * fixed lib_tparm.c to use stdarg.h (should run on suns now)
2440 * order of capabilities changed to reflect that specified in SYSV
2441   this will allow for binary-compatibility with existing terminfo dbs.
2442 * added halfdelay()
2443 * fixed problems with asc_init()
2444 * added A_PROTECT and A_INVIS
2445 * cleaned up vidputs()
2446 * general cleanup of the code
2447 * more attention to portability to other systems
2448 * added terminfos for hp70092 (wont work until changes to lib_update.c are
2449   made) and 386BSD pcvt drivers.
2450
2451 Thanks to Hellmuth Michaelis for his help.
2452 optimization code is slated for the next major release, stay tuned!
2453
2454 #### ncurses 0.6/0.61 -> ncurses 0.7 #### April 1, 1993
2455 Please note that the next release will be called 1.8. If you want to know about
2456 the rationale drop me a line.
2457
2458 Included are several test programs in test/.
2459 I've split up the panels library, reversi, tetris, sokoban. They are now
2460 available separately from netcom.com:pub/zmbenhal/
2461
2462 * color and ACS support is now fully compatible with SYSV at the terminfo
2463   level.
2464 * Capabilities now includes as many SYSV caps I could find.
2465 * tigetflag,tigetnum,tigetstr functions added.
2466 * boolnames, boolfnames, boolcodes numnames, numfnames, numcodes,
2467   strnames, strfnames, strcodes arrays are now added.
2468 * keyname() is added.
2469 * All function keys can be defined in terminfo entries.
2470 * fixed lin_tparm.c to behave properly.
2471 * terminfo entries for vt* and xterm are included (improvements are welcome)
2472 * more automation in handling caps and keys.
2473 * included fixes from 0.6.1
2474 * added a few more missing functions.
2475 * fixed a couple of minor bugs.
2476 * updated docs JUST a little (still miles behind in documenting the newer
2477         features).
2478
2479 #### ncurses 0.6 -> ncurses 0.61 ####
2480
2481 1) Included the missing data/console.
2482
2483 2) allow attributes when drawing boxes.
2484
2485 3) corrected usage of win->_delay value.
2486
2487 4) fixed a bug in lib_getch.c. if it didn't recognize a sequence it would
2488         simply return the last character in the sequence. The correct
2489         behavior is to return the entire sequence one character at a time.
2490
2491 #### ncurses0.5 -> ncurses0.6 #### March 1, 1993 ####
2492 * removed _numchngd from struct _win_st and made appropriate changes.
2493 * rewritten kgetch() to remove problems with interaction between alarm and
2494   read(). It caused SIGSEGV every now and then.
2495 * fixed a bug that miscounted the numbers of columns when updating.
2496   (in lib_doupdate.c(ClrUpdate() -- iterate to columns not columns-1)
2497 * fixed a bug that cause the lower-right corner to be incorrect.
2498   (in lib_doupdate.c(putChar() -- check against columns not columns-1)
2499 * made resize() and cleanup() static to lib_newterm.c
2500 * added notimeout().
2501 * added timeout() define in curses.h
2502 * added more function prototypes and fixed napms.
2503 * added use_env().
2504 * moved screen size detection to lib_setup.c.
2505 * fixed newterm() to confirm to prototype.
2506 * removed SIGWINCH support as SYSV does not define its semantics.
2507 * cleaned-up lib_touch.c
2508 * added waddnstr() and relatives.
2509 * added slk_* support.
2510 * fixed a bug in wdeleteln().
2511 * added PANEL library.
2512 * modified Makefile for smoother installation.
2513 * terminfo.h is really term.h
2514
2515 #### ncurses 0.4 -> ncurses 0.5 #### Feb 14, 1993 ####
2516 * changed _win_st structure to allow support for missing functionality.
2517 * Addition of terminfo support for all KEY_*.
2518 * Support for nodelay(), timeout(), notimeout().
2519 * fixed a bug with the keypad char reading that did not return ESC until
2520   another key is pressed.
2521 * nl mapping no longer occur on output (as should be)
2522   fixed bug '\n' no causing a LF.
2523 * fixed bug that reset terminal colors regardless of whether we use color
2524   or not.
2525 * Better support for ACS (not quite complete).
2526 * fixed bug in wvline().
2527 * added curs_set().
2528 * changed from signal() to sigaction().
2529 * re-included the contents of important.patch into source.
2530
2531 #### ncurses 0.3 -> ncurses 0.4 #### Feb 3, 1993 ####
2532 * Addition of more KEY_* definitions.
2533 * Addition of function prototypes.
2534 * Addition of several missing functions.
2535 * No more crashes if screen size is undefined (use SIGWINCH handler).
2536 * added a handler to cleanup after SIGSEGV (hopefully never needed).
2537 * changed SRCDIR from /etc/term to /usr/lib/terminfo.
2538 * renamed compile/dump to tic/untic.
2539 * New scrolling code.
2540 * fixed bug that reversed the sense of nl() and nonl().
2541
2542 #### ncurses 0.2 -> ncurses 0.3  #### Jan 20, 1993 ####
2543 * more support for color and graphics see test/ for examples.
2544 * fixed various files to allow correct update after shelling out.
2545 * more fixes for updates.
2546 * no more core dumps if you don't have a terminfo entry.
2547 * support for LINES and COLUMNS environment variables.
2548 * support for SIGWINCH signal.
2549 * added a handler for SIGINT for clean exits.
2550
2551 #### ncurses 0.1 -> ncurses 0.2 #### Aug 14, 1992 ####
2552 * support for color.
2553 * support for PC graphic characters.
2554 * lib_trace.c updated to use stdarg.h and vprintf routines.
2555 * added gdc.c (Great Digital Clock) as an example of using color.
2556
2557 #### ncurses -> ncurses 0.1 #### Jul 31, 1992 ####
2558 * replacing sgtty stuff by termios stuff.
2559 * ANSIfication of some functions.
2560 * Disabling cost analysis 'cause it's incorrect.
2561 * A quick hack for a terminfo entry.