From fd84c3e3a39c0f7f3e7faa34725e049371f8ab01 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 14 Apr 2008 22:13:44 +0000 Subject: ncurses: Drop unused patches git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4254 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/packages/ncurses/ncurses/20030906.patch | 43248 -------------------- meta/packages/ncurses/ncurses/configure.patch | 193 - meta/packages/ncurses/ncurses/mk_shared_lib.patch | 27 - meta/packages/ncurses/ncurses/run_tic.patch | 23 - meta/packages/ncurses/ncurses/tic.patch | 19 - 5 files changed, 43510 deletions(-) delete mode 100644 meta/packages/ncurses/ncurses/20030906.patch delete mode 100644 meta/packages/ncurses/ncurses/configure.patch delete mode 100644 meta/packages/ncurses/ncurses/mk_shared_lib.patch delete mode 100644 meta/packages/ncurses/ncurses/run_tic.patch delete mode 100644 meta/packages/ncurses/ncurses/tic.patch diff --git a/meta/packages/ncurses/ncurses/20030906.patch b/meta/packages/ncurses/ncurses/20030906.patch deleted file mode 100644 index f65dfafef1..0000000000 --- a/meta/packages/ncurses/ncurses/20030906.patch +++ /dev/null @@ -1,43248 +0,0 @@ -diff -urNd -urNd ncurses-5.3/ANNOUNCE ncurses-5.3.20030906.orig/ANNOUNCE ---- ncurses-5.3/ANNOUNCE Sat Oct 12 18:36:19 2002 -+++ ncurses-5.3.20030906.orig/ANNOUNCE Tue May 13 20:08:22 2003 -@@ -23,8 +23,8 @@ - manual pages are provided for the library and tools. - - The ncurses distribution is available via anonymous FTP at the GNU -- distribution site [1]ftp://ftp.gnu.org/pub/gnu/ncurses. -- It is also available at [2]ftp://invisible-island.net/ncurses. -+ distribution site [1]ftp://ftp.gnu.org/gnu/ncurses/ . -+ It is also available at [2]ftp://invisible-island.net/ncurses/ . - - Release Notes - -@@ -268,60 +268,60 @@ - - cdk - Curses Development Kit -- [3]http://invisible-island.net/cdk. -- [4]http://www.vexus.ca/CDK.html -+ [3]http://invisible-island.net/cdk/ -+ [4]http://www.vexus.ca/products/CDK/ - - ded - directory-editor -- [5]http://invisible-island.net/ded. -+ [5]http://invisible-island.net/ded/ - - dialog - the underlying application used in Slackware's setup, and the - basis for similar applications on GNU/Linux. -- [6]http://invisible-island.net/dialog. -+ [6]http://invisible-island.net/dialog/ - - lynx - the character-screen WWW browser -- [7]http://lynx.isc.org/release. -+ [7]http://lynx.isc.org/release/ - - Midnight Commander - file manager -- [8]www.gnome.org/mc/. -+ [8]http://www.ibiblio.org/mc/ - - mutt - mail utility -- [9]http://www.mutt.org. -+ [9]http://www.mutt.org/ - - ncftp - file-transfer utility -- [10]http://www.ncftp.com. -+ [10]http://www.ncftp.com/ - - nvi - New vi versions 1.50 are able to use ncurses versions 1.9.7 and - later. -- [11]http://www.bostic.com/vi/. -+ [11]http://www.bostic.com/vi/ - - tin - newsreader, supporting color, MIME -- [12]http://www.tin.org. -+ [12]http://www.tin.org/ - - taper - tape archive utility -- [13]http://members.iinet.net.au/~yusuf/taper/. -+ [13]http://taper.e-survey.net.au/ - - vh-1.6 - Volks-Hypertext browser for the Jargon File -- [14]http://www.bg.debian.org/Packages/unstable/text/vh.html. -+ [14]http://www.debian.org/Packages/unstable/text/vh.html - - as well as some that use ncurses for the terminfo support alone: - - minicom - terminal emulator -- [15]http://www.pp.clinet.fi/~walker/minicom.html. -+ [15]http://www.netsonic.fi/~walker/minicom.html - - vile - vi-like-emacs -- [16]http://invisible-island.net/vile. -+ [16]http://invisible-island.net/vile/ - - The ncurses distribution includes a selection of test programs - (including a few games). -@@ -342,7 +342,7 @@ - and testing of this package. - - Beta versions of ncurses and patches to the current release are made -- available at [23]ftp://invisible-island.net/ncurses. -+ available at [23]ftp://invisible-island.net/ncurses/ . - - Future Plans - -@@ -357,35 +357,35 @@ - - The distribution includes and uses a version of the terminfo-format - terminal description file maintained by Eric Raymond. -- [24]http://earthspace.net/~esr/terminfo. -+ [24]http://www.tuxedo.org/~esr/terminfo/ . - - You can find lots of information on terminal-related topics not -- covered in the terminfo file at [25]Richard Shuford's archive. -+ covered in the terminfo file at [25]Richard Shuford's archive . - - References - -- 1. ftp://ftp.gnu.org/pub/gnu/ncurses -- 2. ftp://invisible-island.net/ncurses -- 3. http://invisible-island.net/cdk/cdk.html -- 4. http://www.vexus.ca/CDK.html -- 5. http://invisible-island.net/ded/ded.html -- 6. http://invisible-island.net/dialog/dialog.html -+ 1. ftp://ftp.gnu.org/gnu/ncurses/ -+ 2. ftp://invisible-island.net/ncurses/ -+ 3. http://invisible-island.net/cdk/ -+ 4. http://www.vexus.ca/products/CDK/ -+ 5. http://invisible-island.net/ded/ -+ 6. http://invisible-island.net/dialog/ - 7. http://lynx.isc.org/release/ -- 8. file://localhost/usr/build/ncurses/ncurses-5.2-20021012/doc/html/www.gnome.org/mc/ -+ 8. http://www.ibiblio.org/mc/ - 9. http://www.mutt.org/ - 10. http://www.ncftp.com/ - 11. http://www.bostic.com/vi/ - 12. http://www.tin.org/ -- 13. http://members.iinet.net.au/~yusuf/taper/ -- 14. http://www.bg.debian.org/Packages/unstable/text/vh.html -- 15. http://www.pp.clinet.fi/~walker/minicom.html -- 16. http://invisible-island.net/vile/vile.html -+ 13. http://taper.e-survey.net.au/ -+ 14. http://www.debian.org/Packages/unstable/text/vh.html -+ 15. http://www.netsonic.fi/~walker/minicom.html -+ 16. http://invisible-island.net/vile/ - 17. mailto:zmbenhal@netcom.com -- 18. http://www.ccil.org/~esr/home.html -+ 18. http://www.tuxedo.org/~esr/ - 19. mailto:dickey@herndon4.his.com - 20. http://www.familiepfeifer.de/Contact.aspx?Lang=en - 21. mailto:dickey@herndon4.his.com - 22. mailto:bug-ncurses@gnu.org -- 23. ftp://invisible-island.net/ncurses -- 24. http://earthspace.net/~esr/terminfo -+ 23. ftp://invisible-island.net/ncurses/ -+ 24. http://www.tuxedo.org/~esr/terminfo/ - 25. http://www.cs.utk.edu/~shuford/terminal_index.html -diff -urNd -urNd ncurses-5.3/Ada95/gen/Makefile.in ncurses-5.3.20030906.orig/Ada95/gen/Makefile.in ---- ncurses-5.3/Ada95/gen/Makefile.in Sat Jul 13 07:02:28 2002 -+++ ncurses-5.3.20030906.orig/Ada95/gen/Makefile.in Tue May 13 20:08:22 2003 -@@ -1,5 +1,5 @@ - ############################################################################## --# Copyright (c) 1998 Free Software Foundation, Inc. # -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. # - # # - # Permission is hereby granted, free of charge, to any person obtaining a # - # copy of this software and associated documentation files (the "Software"), # -@@ -30,7 +30,7 @@ - # Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en - # - # Version Control --# $Revision: 1.41 $ -+# $Revision: 1.43 $ - # - .SUFFIXES: - -@@ -53,6 +53,7 @@ - AWK = @AWK@ - LN_S = @LN_S@ - -+CC = @CC@ - HOST_CC = @BUILD_CC@ - CFLAGS = @CFLAGS@ - -@@ -171,9 +172,9 @@ - install \ - install.libs :: $(ADA_OBJECTS) - @echo installing package $(ALIB) in $(ADA_OBJECTS) -- @chmod a-wx $(ADA_SRCDIR)/*.ali -+ @-chmod a-wx $(ADA_SRCDIR)/*.ali - @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ali' $(ADA_SRCDIR) $(ADA_OBJECTS) -- @chmod u+x $(ADA_SRCDIR)/*.ali -+ @-chmod u+x $(ADA_SRCDIR)/*.ali - - uninstall \ - uninstall.libs :: -diff -urNd -urNd ncurses-5.3/Ada95/src/Makefile.in ncurses-5.3.20030906.orig/Ada95/src/Makefile.in ---- ncurses-5.3/Ada95/src/Makefile.in Sat Jul 13 07:02:23 2002 -+++ ncurses-5.3.20030906.orig/Ada95/src/Makefile.in Tue May 13 20:08:22 2003 -@@ -30,7 +30,7 @@ - # Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en - # - # Version Control --# $Revision: 1.26 $ -+# $Revision: 1.27 $ - # - .SUFFIXES: - -@@ -214,19 +214,19 @@ - - - $(ABASE)-terminfo.o: \ -- $(ABASE)-terminfo.ads \ -+ $(srcdir)/$(ABASE)-terminfo.ads \ - $(srcdir)/$(ABASE)-terminfo.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-terminfo.adb - - - $(ABASE)-termcap.o: \ -- $(ABASE)-termcap.ads \ -+ $(srcdir)/$(ABASE)-termcap.ads \ - $(srcdir)/$(ABASE)-termcap.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-termcap.adb - - - $(ABASE)-putwin.o: \ -- $(ABASE)-putwin.ads \ -+ $(srcdir)/$(ABASE)-putwin.ads \ - $(srcdir)/$(ABASE)-putwin.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-putwin.adb - -diff -urNd -urNd ncurses-5.3/INSTALL ncurses-5.3.20030906.orig/INSTALL ---- ncurses-5.3/INSTALL Sun Sep 1 17:42:11 2002 -+++ ncurses-5.3.20030906.orig/INSTALL Fri Sep 12 16:42:40 2003 -@@ -1,4 +1,4 @@ ---- $Id: INSTALL,v 1.56 2002/09/01 22:42:11 tom Exp $ -+-- $Id: INSTALL,v 1.65 2003/08/30 22:44:10 tom Exp $ - --------------------------------------------------------------------- - How to install Ncurses/Terminfo on your system - --------------------------------------------------------------------- -@@ -168,6 +168,11 @@ - databases are SVr4-compatible, but most seem to be. Exceptions include - DEC's Digital Unix (formerly known as OSF/1). - -+ If you run the test programs WITHOUT installing terminfo, ncurses may -+ read the termcap file and cache that in $HOME/.terminfo, which will -+ thereafter be used instead of the terminfo database. See the comments -+ on "--enable-getcap-cache", to see why this is a Bad Thing. -+ - It is possible to configure ncurses to use other terminfo database formats. - A few are provided as examples in the include-directory (see --with-caps). - -@@ -312,10 +317,6 @@ - Compile without scroll-hints code. This option is ignored when - hashmap scrolling is configured, which is the default. - -- --enable-add-ons=DIR... -- This is used to check if this package is a glibc add-on. This is used -- only by the glibc makefiles. -- - --enable-assertions - For testing, compile-in assertion code. This is used only for a few - places where ncurses cannot easily recover by returning an error code. -@@ -454,6 +455,11 @@ - --enable-xmc-glitch - Compile-in support experimental xmc (magic cookie) code. - -+ --with-abi-version=NUM -+ Override the ABI version, which is used in shared library filenames. -+ Normally this is the same as the release version; some ports have -+ special requirements for compatibility. -+ - --with-ada-compiler=CMD - Specify the Ada95 compiler command (default "gnatmake") - -@@ -472,7 +478,7 @@ - - --with-build-cc=XXX - If cross-compiling, specify a host C compiler, which is needed to -- compile a few utilties which generate source modules for ncurses. -+ compile a few utilities which generate source modules for ncurses. - If you do not give this option, the configure script checks if the - $BUILD_CC variable is set, and otherwise defaults to gcc or cc. - -@@ -482,7 +488,7 @@ - host compiler. - - --with-build-cppflags=XXX -- If cross-compiling, specify the host C preprocesor-flags. You might -+ If cross-compiling, specify the host C preprocessor-flags. You might - need to do this if the target compiler has unusual flags which confuse - the host compiler. - -@@ -544,9 +550,17 @@ - NOTE: a few systems build shared libraries with fixed pathnames; this - option probably will not work for those configurations. - -- --with-libtool -- Generate libraries with libtool. If this option is selected, then -- it overrides all other library model specifications. -+ --with-libtool[=XXX] -+ Generate libraries with libtool. If this option is selected, then it -+ overrides all other library model specifications. Note that libtool -+ must already be installed, uses makefile rules dependent on GNU make, -+ and does not promise to follow the version numbering convention of -+ other shared libraries on your system. However, if the --with-shared -+ option does not succeed, you may get better results with this option. -+ -+ If a parameter value is given, it must be the full pathname of the -+ particular version of libtool, e.g., -+ /usr/bin/libtool-1.2.3 - - --with-manpage-format=XXX - Tell the configure script how you would like to install man-pages. The -@@ -609,6 +623,9 @@ - This is normally chosen automatically based on the type of system - which you are building on. We use it for testing the configure script. - -+ --with-sysmouse -+ use FreeBSD sysmouse interface provide mouse support on the console. -+ - --with-system-type=XXX - For testing, override the derived host system-type which is used to - decide things such as the linker commands used to build shared -@@ -673,7 +690,7 @@ - you may encounter when building a system with different versions of - ncurses: - -- 5.3 (pre-release) -+ 5.3 (October 12, 2002) - Interface changes: - - + change type for bool used in headers to NCURSES_BOOL, which usually -@@ -895,31 +912,34 @@ - IF YOU ARE A SYSTEM INTEGRATOR: - ------------------------------ - -- Beginning with 1.9.9, the ncurses distribution includes both a tset -- utility and /usr/share/tabset directory. If you are installing ncurses, -- it is no longer either necessary or desirable to install tset-jv. -- - Configuration and Installation: - -- Configure with --prefix=/usr to make the install productions put -- libraries and headers in the correct locations (overwriting any -- previous curses libraries and headers). This will put the terminfo -- hierarchy under /usr/share/terminfo; you may want to override this with -- --datadir=/usr/share/misc; terminfo and tabset are installed under the -- data directory. -+ On platforms where ncurses is assumed to be installed in /usr/lib, -+ the configure script uses "/usr" as a default: - -- Please configure the ncurses library in a pure-terminfo mode; that -- is, with the --disable-termcap option. This will make the ncurses -- library smaller and faster. The ncurses library includes a termcap -- emulation that queries the terminfo database, so even applications -- that use raw termcap to query terminal characteristics will win -- (providing you recompile and relink them!). -+ Linux, FreeBSD, NetBSD, OpenBSD, Cygwin - -- If you must configure with termcap fallback enabled, you may also -- wish to use the --enable-getcap option. This option speeds up -- termcap-based startups, at the expense of not allowing personal -- termcap entries to reference the terminfo tree. See the code in -- ncurses/tinfo/read_termcap.c for details. -+ For other platforms, the default is "/usr/local". See the discussion -+ of the "--disable-overwrite" option. -+ -+ The location of the terminfo is set indirectly by the "--datadir" -+ configure option, e.g., /usr/share/terminfo, given a datadir of -+ /usr/share. You may want to override this if you are installing -+ ncurses libraries in nonstandard locations, but wish to share the -+ terminfo database. -+ -+ Normally the ncurses library is configured in a pure-terminfo mode; -+ that is, with the --disable-termcap option. This makes the ncurses -+ library smaller and faster. The ncurses library includes a termcap -+ emulation that queries the terminfo database, so even applications that -+ use raw termcap to query terminal characteristics will win (providing -+ you recompile and relink them!). -+ -+ If you must configure with termcap fallback enabled, you may also wish -+ to use the --enable-getcap option. This speeds up termcap-based -+ startups, at the expense of not allowing personal termcap entries to -+ reference the terminfo tree. See comments in -+ ncurses/tinfo/read_termcap.c for further details. - - Note that if you have $TERMCAP set, ncurses will use that value - to locate termcap data. In particular, running from xterm will -@@ -939,11 +959,11 @@ - - Naming the Console Terminal - -- In various Linuxes (and possibly elsewhere) there has been a practice -- of designating the system console driver type as `console'. Please -- do not do this any more! It complicates peoples' lives, because it -- can mean that several different terminfo entries from different -- operating systems all logically want to be called `console'. -+ In various systems there has been a practice of designating the system -+ console driver type as `console'. Please do not do this! It -+ complicates peoples' lives, because it can mean that several different -+ terminfo entries from different operating systems all logically want to -+ be called `console'. - - Please pick a name unique to your console driver and set that up - in the /etc/inittab table or local equivalent. Send the entry to the -diff -urNd -urNd ncurses-5.3/MANIFEST ncurses-5.3.20030906.orig/MANIFEST ---- ncurses-5.3/MANIFEST Sun Sep 1 17:08:22 2002 -+++ ncurses-5.3.20030906.orig/MANIFEST Sun Jul 20 14:02:09 2003 -@@ -166,13 +166,11 @@ - ./Ada95/src/terminal_interface.ads - ./INSTALL - ./MANIFEST --./Makefile.glibc - ./Makefile.in - ./Makefile.os2 - ./NEWS - ./README - ./README.emx --./README.glibc - ./TO-DO - ./aclocal.m4 - ./announce.html.in -@@ -394,6 +392,7 @@ - ./doc/html/man/form_win.3x.html - ./doc/html/man/infocmp.1m.html - ./doc/html/man/infotocap.1m.html -+./doc/html/man/key_defined.3x.html - ./doc/html/man/keybound.3x.html - ./doc/html/man/keyok.3x.html - ./doc/html/man/menu.3x.html -@@ -593,6 +592,7 @@ - ./man/form_win.3x - ./man/infocmp.1m - ./man/infotocap.1m -+./man/key_defined.3x - ./man/keybound.3x - ./man/keyok.3x - ./man/make_sed.sh -@@ -673,6 +673,7 @@ - ./misc/chkdef.cmd - ./misc/cleantic.cmd - ./misc/cmpdef.cmd -+./misc/csort - ./misc/emx.src - ./misc/form.def - ./misc/form.ref -@@ -706,6 +707,7 @@ - ./ncurses/base/MKunctrl.awk - ./ncurses/base/README - ./ncurses/base/define_key.c -+./ncurses/base/key_defined.c - ./ncurses/base/keybound.c - ./ncurses/base/keyok.c - ./ncurses/base/lib_addch.c -@@ -736,7 +738,6 @@ - ./ncurses/base/lib_initscr.c - ./ncurses/base/lib_insch.c - ./ncurses/base/lib_insdel.c --./ncurses/base/lib_insstr.c - ./ncurses/base/lib_instr.c - ./ncurses/base/lib_isendwin.c - ./ncurses/base/lib_leaveok.c -@@ -861,6 +862,7 @@ - ./ncurses/tty/tty_display.h - ./ncurses/tty/tty_input.h - ./ncurses/tty/tty_update.c -+./ncurses/widechar/charable.c - ./ncurses/widechar/lib_box_set.c - ./ncurses/widechar/lib_cchar.c - ./ncurses/widechar/lib_erasewchar.c -@@ -869,9 +871,9 @@ - ./ncurses/widechar/lib_hline_set.c - ./ncurses/widechar/lib_in_wch.c - ./ncurses/widechar/lib_in_wchnstr.c --./ncurses/widechar/lib_ins_nwstr.c - ./ncurses/widechar/lib_ins_wch.c - ./ncurses/widechar/lib_inwstr.c -+./ncurses/widechar/lib_slk_wset.c - ./ncurses/widechar/lib_unget_wch.c - ./ncurses/widechar/lib_vid_attr.c - ./ncurses/widechar/lib_vline_set.c -@@ -913,12 +915,6 @@ - ./progs/toe.c - ./progs/tput.c - ./progs/tset.c --./sysdeps/unix/sysv/linux/Makefile --./sysdeps/unix/sysv/linux/alpha/configure --./sysdeps/unix/sysv/linux/configure --./sysdeps/unix/sysv/linux/edit_man.sed --./sysdeps/unix/sysv/linux/edit_man.sh --./sysdeps/unix/sysv/linux/run_tic.sh - ./tack/COPYING - ./tack/HISTORY - ./tack/Makefile.in -@@ -945,6 +941,7 @@ - ./tar-copy.sh - ./test/Makefile.in - ./test/README -+./test/aclocal.m4 - ./test/blue.c - ./test/bs.6 - ./test/bs.c -@@ -952,8 +949,15 @@ - ./test/cardfile.dat - ./test/configure - ./test/configure.in -+./test/demo_defkey.c -+./test/demo_forms.c -+./test/demo_keyok.c -+./test/demo_menus.c -+./test/demo_panels.c - ./test/ditto.c - ./test/dots.c -+./test/edit_field.c -+./test/edit_field.h - ./test/filter.c - ./test/firework.c - ./test/firstlast.c -@@ -961,8 +965,11 @@ - ./test/gdc.c - ./test/hanoi.c - ./test/hashtest.c -+./test/ins_wide.c -+./test/inserts.c - ./test/keynames.c - ./test/knight.c -+./test/listused.sh - ./test/lrtest.c - ./test/modules - ./test/ncurses.c -diff -urNd -urNd ncurses-5.3/NEWS ncurses-5.3.20030906.orig/NEWS ---- ncurses-5.3/NEWS Sat Oct 12 17:35:42 2002 -+++ ncurses-5.3.20030906.orig/NEWS Fri Sep 12 16:42:59 2003 -@@ -1,4 +1,4 @@ ---- $Id: NEWS,v 1.714 2002/10/12 22:35:42 tom Exp $ -+-- $Id: NEWS,v 1.766 2003/09/06 22:40:56 tom Exp $ - - This is a log of changes that ncurses has gone through since Zeyd started - working with Pavel Curtis' original work, pcurses, in 1992. -@@ -6,6 +6,531 @@ - Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim. - Changes since 1.9.9e are recorded by Thomas Dickey. - -+20030906 -+ + modify configure script to avoid using "head -1", which does not -+ work if POSIXLY_CORRECT (sic) is set. -+ + modify run_tic.in to avoid using wrong shared libraries when -+ cross-compiling (Dan Kegel). -+ -+20030830 -+ + alter configure script help message to make it clearer that -+ --with-build-cc does not specify a cross-compiler (suggested by Dan -+ Kegel ). -+ + modify configure script to accommodate libtool 1.5, as well as add an -+ parameter to the "--with-libtool" option which can specify the -+ pathname of libtool (report by Chris Zubrzycki). We note that -+ libtool 1.5 has more than one bug in its C++ support, so it is not -+ able to install libncurses++, for instance, if $DESTDIR or the option -+ --with-install-prefix is used. -+ -+20030823 -+ > Philippe Blain: -+ + move assignments to SP->_cursrow, SP->_curscol into online_mvcur(). -+ + make baudrate computation in delay_output() consistent with the -+ assumption in _nc_mvcur_init(), i.e., a byte is 9 bits. -+ -+20030816 -+ + modify logic in waddch_literal() to take into account zh_TW.Big5 -+ whose multibyte sequences may contain "printable" characters, e.g., -+ a "g" in the sequence "\247g" (Debian #204889, cf: 20030621). -+ + improve storage used by _nc_safe_strcpy() by ensuring that the size -+ is reset based on the initialization call, in case it were called -+ after other strcpy/strcat calls (report by Philippe Blain). -+ > Philippe Blain: -+ + remove an unused ifdef for REAL_ATTR & WANT_CHAR -+ + correct a place where _cup_cost was used rather than _cuu_cost -+ -+20030809 -+ + fix a small memory leak in _nc_free_termtype(). -+ + close trace-file if trace() is called with a zero parameter. -+ + free memory allocated for soft-key strings, in delscreen(). -+ + fix an allocation size in safe_sprintf.c for the "*" format code. -+ + correct safe_sprintf.c to not return a null pointer if the format -+ happens to be an empty string. This applies to the "configure -+ --enable-safe-sprintf" option (Redhat #101486). -+ -+20030802 -+ + modify casts used for ABSENT_BOOLEAN and CANCELLED_BOOLEAN (report by -+ Daniel Jacobowitz). -+ > Philippe Blain: -+ + change padding for change_scroll_region to not be proportional to -+ the size of the scroll-region. -+ + correct error-return in _nc_safe_strcat(). -+ -+20030726 -+ + correct limit-checks in _nc_scroll_window() (report and test-case by -+ Thomas Graf cf: 20011020). -+ + re-order configure checks for _XOPEN_SOURCE to avoid conflict with -+ _GNU_SOURCE check. -+ -+20030719 -+ + use clr_eol in preference to blanks for bce terminals, so select and -+ paste will have fewer trailing blanks, e.g., when using xterm -+ (request by Vincent Lefevre). -+ + correct prototype for wunctrl() in manpage. -+ + add configure --with-abi-version option (discussion with Charles -+ Wilson). -+ > cygwin changes from Charles Wilson: -+ + aclocal.m4: on cygwin, use autodetected prefix for import -+ and static lib, but use "cyg" for DLL. -+ + include/ncurses_dll.h: correct the comments to reflect current -+ status of cygwin/mingw port. Fix compiler warning. -+ + misc/run_tic.in: ensure that tic.exe can find the uninstalled -+ DLL, by adding the lib-directory to the PATH variable. -+ + misc/terminfo.src (nxterm|xterm-color): make xterm-color -+ primary instead of nxterm, to match XFree86's xterm.terminfo -+ usage and to prevent circular links. -+ (rxvt): add additional codes from rxvt.org. -+ (rxvt-color): new alias -+ (rxvt-xpm): new alias -+ (rxvt-cygwin): like rxvt, but with special acsc codes. -+ (rxvt-cygwin-native): ditto. rxvt may be run under XWindows, or -+ with a "native" MSWin GUI. Each takes different acsc codes, -+ which are both different from the "normal" rxvt's acsc. -+ (cygwin): cygwin-in-cmd.exe window. Lots of fixes. -+ (cygwinDBG): ditto. -+ + mk-1st.awk: use "cyg" for the DLL prefix, but "lib" for import -+ and static libs. -+ -+20030712 -+ + update config.guess, config.sub -+ + add triples for configuring shared libraries with the Debian -+ GNU/FreeBSD packages (patch by Robert Millan ). -+ -+20030705 -+ + modify CF_GCC_WARNINGS so it only applies to gcc, not g++. Some -+ platforms have installed g++ along with the native C compiler, which -+ would not accept gcc warning options. -+ + add -D_XOPEN_SOURCE=500 when configuring with --enable-widec, to -+ get mbstate_t declaration on HPUX 11.11 (report by David Ellement). -+ + add _nc_pathlast() to get rid of casts in _nc_basename() calls. -+ + correct a sign-extension in wadd_wch() and wecho_wchar() from -+ 20030628 (report by Tomohiro KUBOTA). -+ + work around omission of btowc() and wctob() from wide-character -+ support (sic) in NetBSD 1.6 using mbtowc() and wctomb() (report by -+ Gabor Z Papp). -+ + add portability note to curs_get_wstr.3x (Debian #199957). -+ -+20030628 -+ + rewrite wadd_wch() and wecho_wchar() to call waddch() and wechochar() -+ respectively, to avoid calling waddch_noecho() with wide-character -+ data, since that function assumes its input is 8-bit data. -+ Similarly, modify waddnwstr() to call wadd_wch(). -+ + remove logic from waddnstr() which transformed multibyte character -+ strings into wide-characters. Rewrite of waddch_literal() from -+ 20030621 assumes its input is raw multibyte data rather than wide -+ characters (report by Tomohiro KUBOTA). -+ -+20030621 -+ + write getyx() and related 2-return macros in terms of getcury(), -+ getcurx(), etc. -+ + modify waddch_literal() in case an application passes bytes of a -+ multibyte character directly to waddch(). In this case, waddch() -+ must reassemble the bytes into a wide-character (report by Tomohiro -+ KUBOTA ). -+ -+20030614 -+ + modify waddch_literal() in case a multibyte value occupies more than -+ two cells. -+ + modify PutAttrChar() to compute the number of character cells that -+ are used in multibyte values. This fixes a problem displaying -+ double-width characters (report/test by Mitsuru Chinen -+ ). -+ + add a null-pointer check for result of keyname() in _tracechar() -+ + modify _tracechar() to work around glibc sprintf bug. -+ -+20030607 -+ + add a call to setlocale() in cursesmain.cc, making demo display -+ properly in a UTF-8 locale. -+ + add a fallback definition in curses.priv.h for MB_LEN_MAX (prompted -+ by discussion with Gabor Z Papp). -+ + use macros NCURSES_ACS() and NCURSES_WACS() to hide cast needed to -+ appease -Wchar-subscript with g++ 3.3 (Debian #195732). -+ + fix a redefinition of $RANLIB in the configure script when libtool -+ is used, which broke configure on Mac OS X (report by Chris Zubrzycki -+ ). -+ + simplify ifdef for bool declaration in curses.h.in (suggested by -+ Albert Chin-A-Young). -+ + remove configure script check to allow -Wconversion for older -+ versions of gcc (suggested by Albert Chin-A-Young). -+ -+20030531 -+ + regenerated html manpages. -+ + modify ifdef's in curses.h.in that disabled use of __attribute__() -+ for g++, since recent versions implement the cases which ncurses uses -+ (Debian #195230). -+ + modify _nc_get_token() to handle a case where an entry has no -+ description, and capabilities begin on the same line as the entry -+ name. -+ + fix a typo in ncurses_dll.h reported by gcc 3.3. -+ + add an entry for key_defined.3x to man_db.renames. -+ -+20030524 -+ + modify setcchar() to allow converting control characters to complex -+ characters (report/test by Mitsuru Chinen ). -+ + add tkterm entry -TD -+ + modify parse_entry.c to allow a terminfo entry with a leading -+ 2-character name (report by Don Libes). -+ + corrected acsc in screen.teraterm, which requires a PC-style mapping. -+ + fix trace statements in read_entry.c to use lseek() rather than -+ tell(). -+ + fix signed/unsigned warnings from Sun's compiler (gcc should give -+ these warnings, but it is unpredictable). -+ + modify configure script to omit -Winline for gcc 3.3, since that -+ feature is broken. -+ + modify manlinks.sed to add a few functions that were overlooked since -+ they return function pointers: field_init, field_term, form_init, -+ form_term, item_init, item_term, menu_init and menu_term. -+ -+20030517 -+ + prevent recursion in wgetch() via wgetnstr() if the connection cannot -+ be switched between cooked/raw modes because it is not a TTY (report -+ by Wolfgang Gutjahr ). -+ + change parameter of define_key() and key_defined() to const (prompted -+ by Debian #192860). -+ + add a check in test/configure for ncurses extensions, since there -+ are some older versions, etc., which would not compile with the -+ current test programs. -+ + corrected demo in test/ncurses.c of wgetn_wstr(), which did not -+ convert wchar_t string to multibyte form before printing it. -+ + corrections to lib_get_wstr.c: -+ + null-terminate buffer passed to setcchar(), which occasionally -+ failed. -+ + map special characters such as erase- and kill-characters into -+ key-codes so those will work as expected even if they are not -+ mentioned in the terminfo. -+ + modify PUTC() and Charable() macros to make wide-character line -+ drawing work for POSIX locale on Linux console (cf: 20021221). -+ -+20030510 -+ + make typography for program options in manpages consistent (report -+ by Miloslav Trmac ). -+ + correct dependencies in Ada95/src/Makefile.in, so the builds with -+ "--srcdir" work (report by Warren L Dodge). -+ + correct missing definition of $(CC) in Ada95/gen/Makefile.in -+ (reported by Warren L Dodge ). -+ + fix typos and whitespace in manpages (patch by jmc -+ ). -+ -+20030503 -+ + fix form_driver() cases for REQ_CLR_EOF, REQ_CLR_EOL, REQ_DEL_CHAR, -+ REQ_DEL_PREV and REQ_NEW_LINE, which did not ensure the cursor was at -+ the editing position before making modifications. -+ + add test/demo_forms and associated test/edit_field.c demos. -+ + modify test/configure.in to use test/modules for the list of objects -+ to compile rather than using the list of programs. -+ -+20030419 -+ + modify logic of acsc to use the original character if no mapping is -+ defined, noting that Solaris does this. -+ + modify ncurses 'b' test to avoid using the acs_map[] array since -+ 20021231 changes it to no longer contain information from the acsc -+ string. -+ + modify makefile rules in c++, progs, tack and test to ensure that -+ the compiler flags (e.g., $CFLAGS or $CCFLAGS) are used in the link -+ command (report by Jose Luis Rico Botella ). -+ + modify soft-key initialization to use A_REVERSE if A_STANDOUT would -+ not be shown when colors are used, i.e., if ncv#1 is set in the -+ terminfo as is done in "screen". -+ -+20030412 -+ + add a test for slk_color(), in ncurses.c -+ + fix some issues reported by valgrind in the slk_set() and slk_wset() -+ code, from recent rewrite. -+ + modify ncurses 'E' test to use show previous label via slk_label(), -+ as in 'e' test. -+ + modify wide-character versions of NewChar(), NewChar2() macros to -+ ensure that the whole struct is initialized. -+ -+20030405 -+ + modify setupterm() to check if the terminfo and terminal-modes have -+ already been read. This ensures that it does not reinvoke -+ def_prog_mode() when an application calls more than one function, -+ such as tgetent() and initscr() (report by Olaf Buddenhagen). -+ -+20030329 -+ + add 'E' test to ncurses.c, to exercise slk_wset(). -+ + correct handling of carriage-return in wgetn_wstr(), used in demo of -+ slk_wset(). -+ + first draft of slk_wset() function. -+ -+20030322 -+ + improved warnings in tic when suppressing items to fit in termcap's -+ 1023-byte limit. -+ + built a list in test/README showing which externals are being used -+ by either programs in the test-directory or via internal library -+ calls. -+ + adjust include-options in CF_ETIP_DEFINES to avoid missing -+ ncurses_dll.h, fixing special definitions that may be needed for -+ etip.h (reported by Greg Schafer ). -+ -+20030315 -+ + minor fixes for cardfile.c, to make it write the updated fields to -+ a file when ^W is given. -+ + add/use _nc_trace_bufcat() to eliminate some fixed buffer limits in -+ trace code. -+ -+20030308 -+ + correct a case in _nc_remove_string(), used by define_key(), to avoid -+ infinite loop if the given string happens to be a substring of other -+ strings which are assigned to keys (report by John McCutchan). -+ + add key_defined() function, to tell which keycode a string is bound -+ to (discussion with John McCutchan ). -+ + correct keybound(), which reported definitions in the wrong table, -+ i.e., the list of definitions which are disabled by keyok(). -+ + modify demo_keydef.c to show the details it changes, and to check -+ for errors. -+ -+20030301 -+ + restructured test/configure script, make it work for libncursesw. -+ + add description of link_fieldtype() to manpage (report by -+ L Dee Holtsclaw ). -+ -+20030222 -+ + corrected ifdef's relating to configure check for wchar_t, etc. -+ + if the output is a socket or other non-tty device, use 1 millisecond -+ for the cost in mvcur; previously it was 9 milliseconds because the -+ baudrate was not known. -+ + in _nc_get_tty_mode(), initialize the TTY buffer on error, since -+ glibc copies uninitialized data in that case, as noted by valgrind. -+ + modify tput to use the same parameter analysis as tparm() does, to -+ provide for user-defined strings, e.g., for xterm title, a -+ corresponding capability might be -+ title=\E]2;%p1%s^G, -+ + modify MKlib_gen.sh to avoid passing "#" tokens through the C -+ preprocessor. This works around Mac OS X's preprocessor, which -+ insists on adding a blank on each side of the token (report/analysis -+ by Kevin Murphy ). -+ -+20030215 -+ + add configure check for wchar_t and wint_t types, rather than rely -+ on preprocessor definitions. Also work around for gcc fixinclude -+ bug which creates a shadow copy of curses.h if it sees these symbols -+ apparently typedef'd. -+ + if database is disabled, do not generate run_tic.sh -+ + minor fixes for memory-leak checking when termcap is read. -+ -+20030208 -+ + add checking in tic for incomplete line-drawing character mapping. -+ + update configure script to reflect fix for AC_PROG_GCC_TRADITIONAL, -+ which is broken in autoconf 2.5x for Mac OS X 10.2.3 (report by -+ Gerben Wierda ). -+ + make return value from _nc_printf_string() consistent. Before, -+ depending on whether --enable-safe-sprintf was used, it might not be -+ cached for reallocating. -+ -+20030201 -+ + minor fixes for memory-leak checking in lib_tparm.c, hardscroll.c -+ + correct a potentially-uninitialized value if _read_termtype() does -+ not read as much data as expected (report by Wolfgang Rohdewald -+ ). -+ + correct several places where the aclocal.m4 macros relied on cache -+ variable names which were incompatible (as usual) between autoconf -+ 2.13 and 2.5x, causing the test for broken-linker to give incorrect -+ results (reports by Gerben Wierda and Thomas Esser -+ ). -+ + do not try to open gpm mouse driver if standard output is not a tty; -+ the gpm library does not make this check (from bug report for dialog -+ by David Oliveira ). -+ -+20030125 -+ + modified emx.src to correspond more closely to terminfo.src, added -+ emx-base to the latter -TD -+ + add configure option for FreeBSD sysmouse, --with-sysmouse, and -+ implement support for that in lib_mouse.c, lib_getch.c -+ -+20030118 -+ + revert 20030105 change to can_clear_with(), does not work for the -+ case where the update is made on cells which are blanks with -+ attributes, e.g., reverse. -+ + improve ifdef's to guard against redefinition of wchar_t and wint_t -+ in curses.h (report by Urs Jansen). -+ -+20030111 -+ + improve mvcur() by checking if it is safe to move when video -+ attributes are set (msgr), and if not, reset/restore attributes -+ within that function rather than doing it separately in the GoTo() -+ function in tty_update.c (suggested by Philippe Blain). -+ + add a message in run_tic.in to explain more clearly what does not -+ work when attempting to create a symbolic link for /usr/lib/terminfo -+ on OS/2 and other platforms with no symbolic links (report by John -+ Polterak). -+ + change several sed scripts to avoid using "\+" since it is not a BRE -+ (basic regular expression). One instance caused terminfo.5 to be -+ misformatted on FreeBSD (from a FreeBSD bug report by Kazuo Horikawa -+ ). -+ + correct misspelled 'wint_t' in curs_get_wch.3x (Michael Elkins). -+ -+20030105 -+ + improve description of terminfo operators, especially static/dynamic -+ variables (comments by Mark I Manning IV ). -+ + demonstrate use of FIELDTYPE by modifying test/ncurses 'r' test to -+ use the predefined TYPE_ALPHA field-type, and by defining a -+ specialized type for the middle initial/name. -+ + fix MKterminfo.sh, another workaround for POSIXLY_CORRECT misfeature -+ of sed 4.0 -+ > Philippe Blain: -+ + optimize can_clear_with() a little by testing first if the parameter -+ is indeed a "blank". -+ + simplify ClrBottom() a little by allowing it to use clr_eos to clear -+ sections as small as one line. -+ + improve ClrToEOL() by checking if clr_eos is available before trying -+ to use it. -+ + use tputs() rather than putp() in a few cases in tty_update.c since -+ the corresponding delays are proportional to the number of lines -+ affected: repeat_char, clr_eos, change_scroll_region. -+ -+20021231 -+ + rewrite of lib_acs.c conflicts with copying of SCREEN acs_map to/from -+ global acs_map[] array; removed the lines that did the copying. -+ -+20021228 -+ + change some overlooked tputs() calls in scrolling code to use putp() -+ (report by Philippe Blain). -+ + modify lib_getch.c to avoid recursion via wgetnstr() when the input -+ is not a tty and consequently mode-changes do not work (report by -+ ). -+ + rewrote lib_acs.c to allow PutAttrChar() to decide how to render -+ alternate-characters, i.e., to work with Linux console and UTF-8 -+ locale. -+ + correct line/column reference in adjust_window(), needed to make -+ special windows such as curscr track properly when resizing (report -+ by Lucas Gonze ). -+ > Philippe Blain: -+ + correct the value used for blank in ClrBottom() (broken in 20000708). -+ + correct an off-by-one in GoTo() parameter in _nc_scrolln(). -+ -+20021221 -+ + change several tputs() calls in scrolling code to use putp(), to -+ enable padding which may be needed for some terminals (patch by -+ by Philippe Blain). -+ + use '%' as sed substitute delimiter in run_tic script to avoid -+ problems with pathname delimiters such as ':' and '@' (report by John -+ Polterak). -+ + implement a workaround so that line-drawing works with screen's -+ crippled UTF-8 support (tested with 3.9.13). This only works with -+ the wide-character support (--enable-widec); the normal library will -+ simply suppress line-drawing when running in a UTF-8 locale in screen. -+ -+20021214 -+ + allow BUILD_CC and related configure script variables to be -+ overridden from the environment. -+ + make build-tools variables in ncurses/Makefile.in consistent with -+ the configure script variables (report by Maciej W Rozycki). -+ + modify ncurses/modules to allow -+ configure --disable-leaks --disable-ext-funcs -+ to build (report by Gary Samuelson). -+ + fix a few places in configure.in which lacked quotes (report by -+ Gary Samuelson ). -+ + correct handling of multibyte characters in waddch_literal() which -+ force wrapping because they are started too late on the line (report -+ by Sam Varshavchik). -+ + small fix for CF_GNAT_VERSION to ignore the help-message which -+ gnatmake adds to its version-message. -+ > Maciej W Rozycki : -+ + use AC_CHECK_TOOL to get proper values for AR and LD for cross -+ compiling. -+ + use $cross_compiling variable in configure script rather than -+ comparing $host_alias and $target alias, since "host" is -+ traditionally misused in autoconf to refer to the target platform. -+ + change configure --help message to use "build" rather than "host" -+ when referring to the --with-build-XXX options. -+ -+20021206 -+ + modify CF_GNAT_VERSION to print gnatmake's version, and to allow for -+ possible gnat versions such as 3.2 (report by Chris Lingard -+ ). -+ + modify #define's for CKILL and other default control characters in -+ tset to use the system's default values if they are defined. -+ + correct interchanged defaults for kill and interrupt characters -+ in tset, which caused it to report unnecessarily (Debian #171583). -+ + repair check for missing C++ compiler, which is broken in autoconf -+ 2.5x by hardcoding it to g++ (report by Martin Mokrejs). -+ + update config.guess, config.sub (2002-11-30) -+ + modify configure script to skip --with-shared, etc., when the -+ --with-libtool option is given, since they would be ignored anyway. -+ + fix to allow "configure --with-libtool --with-termlib" to build. -+ + modify configure script to show version number of libtool, to help -+ with bug reports. libtool still gets confused if the installed -+ ncurses libraries are old, since it ignores the -L options at some -+ point (tested with libtool 1.3.3 and 1.4.3). -+ + reorder configure script's updating of $CPPFLAGS and $CFLAGS to -+ prevent -I options in the user's environment from introducing -+ conflicts with the build -I options (may be related to reports by -+ Patrick Ash and George Goffe). -+ + rename test/define_key.c to test/demo_defkey.c, test/keyok.c to -+ test/demo_keyok.c to allow building these with libtool. -+ -+20021123 -+ + add example program test/define_key.c for define_key(). -+ + add example program test/keyok.c for keyok(). -+ + add example program test/ins_wide.c for wins_wch() and wins_wstr(). -+ + modify wins_wch() and wins_wstr() to interpret tabs by using the -+ winsch() internal function. -+ + modify setcchar() to allow for wchar_t input strings that have -+ more than one spacing character. -+ -+20021116 -+ + fix a boundary check in lib_insch.c (patch by Philippe Blain). -+ + change type for *printw functions from NCURSES_CONST to const -+ (prompted by comment by Pedro Palhoto Matos , -+ but really from a note on X/Open's website stating that either is -+ acceptable, and the latter will be used in a future revision). -+ + add xterm-1002, xterm-1003 terminfo entries to demonstrate changes in -+ lib_mouse.c (20021026) -TD -+ + add screen-bce, screen-s entries from screen 3.9.13 (report by -+ Adam Lazur ) -TD -+ + add mterm terminfo entries -TD -+ -+20021109 -+ + split-out useful fragments in terminfo for vt100 and vt220 numeric -+ keypad, i.e., vt100+keypad, vt100+pfkeys, vt100+fnkeys and -+ vt220+keypad. The last as embedded in various entries had ka3 and -+ kb2 interchanged (report/discussion with Leonard den Ottolander -+ ). -+ + add check in tic for keypads consistent with vt100 layout. -+ + improve checks in tic for color capabilities -+ -+20021102 -+ + check for missing/empty/illegal terminfo name in _nc_read_entry() -+ (report by Martin Mokrejs, where $TERM was set to an empty string). -+ + rewrote lib_insch.c, combining it with lib_insstr.c so both handle -+ tab and other control characters consistently (report by Philippe -+ Blain). -+ + remove an #undef for KEY_EVENT from curses.tail used in the -+ experimental NCURSES_WGETCH_EVENTS feature. The #undef confuses -+ dpkg's build script (Debian #165897). -+ + fix MKlib_gen.sh, working around the ironically named POSIXLY_CORRECT -+ feature of GNU sed 4.0 (reported by Ervin Nemeth ). -+ -+20021026 -+ + implement logic in lib_mouse.c to handle position reports which are -+ generated when XFree86 xterm is initialized with private modes 1002 -+ or 1003. These are returned to the application as the -+ REPORT_MOUSE_POSITION mask, which was not implemented. Tested both -+ with ncurses 'a' menu (prompted by discussion with Larry Riedel -+ ). -+ + modify lib_mouse.c to look for "XM" terminfo string, which allows -+ one to override the escape sequence used to enable/disable mouse -+ mode. In particular this works for XFree86 xterm private modes -+ 1002 and 1003. If "XM" is missing (note that this is an extended -+ name), lib_mouse uses the conventional private mode 1000. -+ + correct NOT_LOCAL() macro in lib_mvcur.c to refer to screen_columns -+ where it used screen_lines (report by Philippe Blain). -+ + correct makefile rules for the case when both --with-libtool and -+ --with-gpm are given (report by Mr E_T ). -+ + add note to terminfo manpage regarding the differences between -+ setaf/setab and setf/setb capabilities (report by Pavel Roskin). -+ -+20021019 -+ + remove redundant initialization of TABSIZE in newterm(), since it is -+ already done in setupterm() (report by Philippe Blain). -+ + add test/inserts.c, to test winnstr() and winsch(). -+ + replace 'sort' in dist.mk with script that sets locale to POSIX. -+ + update URLs in announce.html.in (patch by Frederic L W Meunier). -+ + remove glibc add-on files, which are no longer needed (report by -+ Frederic L W Meunier). -+ - 20021012 5.3 release for upload to ftp.gnu.org - + modify ifdef's in etip.h.in to allow the etip.h header to compile - with gcc 3.2 (patch by Dimitar Zhekov ). -diff -urNd -urNd ncurses-5.3/README ncurses-5.3.20030906.orig/README ---- ncurses-5.3/README Sat Aug 12 18:31:21 2000 -+++ ncurses-5.3.20030906.orig/README Tue May 13 20:08:22 2003 -@@ -1,4 +1,4 @@ ---- $Id: README,v 1.20 2000/08/12 23:31:21 tom Exp $ -+-- $Id: README,v 1.21 2003/02/08 19:36:39 tom Exp $ - ------------------------------------------------------------------------------- - README file for the ncurses package - -@@ -43,6 +43,14 @@ - libform.so (shared) - libform_g.a (debug enabled) - -+If you configure using the --enable-widec option, a "w" is appended to the -+library names (e.g., libncursesw.a), and the resulting libraries support -+wide-characters, e.g., via a UTF-8 locale. The corresponding header files -+are compatible with the non-wide-character configuration; wide-character -+features are provided by ifdef's in the header files. The wide-character -+library interfaces are not binary-compatible with the non-wide-character -+version. -+ - The ncurses libraries implement the curses API. The panel, menu and forms - libraries implement clones of the SVr4 panel, menu and forms APIs. The source - code for these lives in the `ncurses', `panel', `menu', and `form' directories -diff -urNd -urNd ncurses-5.3/aclocal.m4 ncurses-5.3.20030906.orig/aclocal.m4 ---- ncurses-5.3/aclocal.m4 Sat Sep 21 18:59:01 2002 -+++ ncurses-5.3.20030906.orig/aclocal.m4 Fri Sep 12 16:42:59 2003 -@@ -1,5 +1,5 @@ - dnl*************************************************************************** --dnl Copyright (c) 1998-2000,2001,2002 Free Software Foundation, Inc. * -+dnl Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - dnl * - dnl Permission is hereby granted, free of charge, to any person obtaining a * - dnl copy of this software and associated documentation files (the * -@@ -26,22 +26,24 @@ - dnl authorization. * - dnl*************************************************************************** - dnl --dnl Author: Thomas E. Dickey 1996,1997,1998,1999,2000,2001 -+dnl Author: Thomas E. Dickey 1995-2003 - dnl --dnl $Id: aclocal.m4,v 1.285 2002/09/21 23:59:01 tom Exp $ -+dnl $Id: aclocal.m4,v 1.313 2003/09/06 23:46:28 tom Exp $ - dnl Macros used in NCURSES auto-configuration script. - dnl - dnl See http://invisible-island.net/autoconf/ for additional information. - dnl - dnl --------------------------------------------------------------------------- - dnl --------------------------------------------------------------------------- -+dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15 -+dnl ------------------- - dnl Construct the list of include-options for the C programs in the Ada95 - dnl binding. - AC_DEFUN([CF_ADA_INCLUDE_DIRS], - [ --ACPPFLAGS="$ACPPFLAGS -I. -I../../include" -+ACPPFLAGS="-I. -I../../include $ACPPFLAGS" - if test "$srcdir" != "."; then -- ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include" -+ ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS" - fi - if test "$GCC" != yes; then - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" -@@ -57,6 +59,8 @@ - AC_SUBST(ACPPFLAGS) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_ADD_CFLAGS version: 5 updated: 2002/12/01 00:12:15 -+dnl ------------- - dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS - dnl The second parameter if given makes this macro verbose. - AC_DEFUN([CF_ADD_CFLAGS], -@@ -88,11 +92,13 @@ - - if test -n "$cf_new_cppflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)]) -- CPPFLAGS="$CPPFLAGS $cf_new_cppflags" -+ CPPFLAGS="$cf_new_cppflags $CPPFLAGS" - fi - - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34 -+dnl ---------------- - dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES' - dnl in the sharutils 4.2 distribution. - AC_DEFUN([CF_ANSI_CC_CHECK], -@@ -143,6 +149,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44 -+dnl --------------- - dnl For programs that must use an ANSI compiler, obtain compiler options that - dnl will make it recognize prototypes. We'll do preprocessor checks in other - dnl macros, since tools such as unproto can fake prototypes, but only part of -@@ -159,6 +167,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_BOOL_DECL version: 6 updated: 2001/12/02 01:39:28 -+dnl ------------ - dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some - dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc - dnl 2.6.3 does, in anticipation of the ANSI C++ standard. -@@ -185,6 +195,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31 -+dnl ------------ - dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type). - dnl Don't bother looking for bool.h, since it's been deprecated. - dnl -@@ -251,6 +263,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_CFG_DEFAULTS version: 6 updated: 2003/07/12 15:15:19 -+dnl --------------- - dnl Determine the default configuration into which we'll install ncurses. This - dnl can be overridden by the user's command-line options. There's two items to - dnl look for: -@@ -267,7 +281,7 @@ - if test "x$prefix" = "xNONE" ; then - case "$cf_cv_system_name" in - # non-vendor systems don't have a conflict -- openbsd*|netbsd*|freebsd*|linux*|cygwin*) -+ openbsd*|netbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu) - prefix=/usr - ;; - *) prefix=$ac_default_prefix -@@ -303,6 +317,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52 -+dnl ---------- - dnl Check if the terminal-capability database functions are available. If not, - dnl ncurses has a much-reduced version. - AC_DEFUN([CF_CGETENT],[ -@@ -324,6 +340,8 @@ - test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_CHECK_CACHE version: 7 updated: 2001/12/19 00:50:10 -+dnl -------------- - dnl Check if we're accidentally using a cache from a different machine. - dnl Derive the system name, as a check for reusing the autoconf cache. - dnl -@@ -354,6 +372,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23 -+dnl -------------- - dnl Check for data that is usually declared in or , e.g., - dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it - dnl ourselves. -@@ -383,6 +403,8 @@ - CF_CHECK_EXTERN_DATA($1,int) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23 -+dnl -------------------- - dnl Check for existence of external data in the current set of libraries. If - dnl we can modify it, it's real enough. - dnl $1 = the name to check -@@ -406,6 +428,8 @@ - - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18 -+dnl ----------------- - dnl Check if the C++ compiler accepts duplicate parameter initialization. This - dnl is a late feature for the standard and is not in some recent compilers - dnl (1999/9/11). -@@ -439,6 +463,8 @@ - test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28 -+dnl ----------------- - dnl Check if the g++ compiler supports vscan function (not a standard feature). - AC_DEFUN([CF_CPP_VSCAN_FUNC], - [ -@@ -515,9 +541,13 @@ - esac - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 -+dnl ---------- - dnl "dirname" is not portable, so we fake it with a shell script. --AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's:/[[^/]]*$::'`])dnl -+AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31 -+dnl --------------- - AC_DEFUN([CF_DIRS_TO_MAKE], - [ - DIRS_TO_MAKE="lib" -@@ -537,12 +567,16 @@ - AC_SUBST(DIRS_TO_MAKE) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39 -+dnl -------- - dnl Check if 'errno' is declared in - AC_DEFUN([CF_ERRNO], - [ - CF_CHECK_ERRNO(errno) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43 -+dnl --------------- - dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between - dnl math.h and builtin.h, only for ncurses - AC_DEFUN([CF_ETIP_DEFINES], -@@ -554,7 +588,7 @@ - do - for cf_excp in "" MATH_EXCEPTION - do -- CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu" -+ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include" - test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}" - test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}" - AC_TRY_COMPILE([ -@@ -571,6 +605,8 @@ - CXXFLAGS="$cf_save_CXXFLAGS" - ]) - dnl --------------------------------------------------------------------------- -+dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52 -+dnl --------------- - dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither - dnl is found, add our own version of memmove to the list of objects. - AC_DEFUN([CF_FUNC_MEMMOVE], -@@ -600,6 +636,8 @@ - fi - ])])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04 -+dnl ------------ - dnl See if the poll function really works. Some platforms have poll(), but - dnl it does not work for terminals or files. - AC_DEFUN([CF_FUNC_POLL],[ -@@ -627,6 +665,8 @@ - test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24 -+dnl --------------- - dnl Some old/broken variations define tcgetattr() only as a macro in - dnl termio(s).h - AC_DEFUN([CF_FUNC_TERMIOS],[ -@@ -654,6 +694,8 @@ - test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10 -+dnl --------------- - dnl Check for vsscanf() function, which is in c9x but generally not in earlier - dnl versions of C. It is in the GNU C library, and can often be simulated by - dnl other functions. -@@ -697,6 +739,8 @@ - - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_GCC_ATTRIBUTES version: 9 updated: 2002/12/21 19:25:52 -+dnl ----------------- - dnl Test for availability of useful gcc __attribute__ directives to quiet - dnl compiler warnings. Though useful, not all are supported -- and contrary - dnl to documentation, unrecognized directives cause older compilers to barf. -@@ -761,8 +805,6 @@ - if AC_TRY_EVAL(ac_compile); then - test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute) - cat conftest.h >>confdefs.h --# else --# sed -e 's/__attr.*/\/*nothing*\//' conftest.h >>confdefs.h - fi - done - else -@@ -772,17 +814,35 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_GCC_VERSION version: 3 updated: 2003/09/06 19:16:57 -+dnl -------------- -+dnl Find version of gcc -+AC_DEFUN([CF_GCC_VERSION],[ -+AC_REQUIRE([AC_PROG_CC]) -+GCC_VERSION=none -+if test "$GCC" = yes ; then -+ AC_MSG_CHECKING(version of $CC) -+ GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`" -+ test -z "$GCC_VERSION" && GCC_VERSION=unknown -+ AC_MSG_RESULT($GCC_VERSION) -+fi -+])dnl -+dnl --------------------------------------------------------------------------- -+dnl CF_GCC_WARNINGS version: 15 updated: 2003/07/05 18:42:30 -+dnl --------------- - dnl Check if the compiler supports useful warning options. There's a few that - dnl we don't use, simply because they're too noisy: - dnl - dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x) - dnl -Wredundant-decls (system headers make this too noisy) - dnl -Wtraditional (combines too many unrelated messages, only a few useful) --dnl -Wwrite-strings (too noisy, but should review occasionally) -+dnl -Wwrite-strings (too noisy, but should review occasionally). This -+dnl is enabled for ncurses using "--enable-const". - dnl -pedantic - dnl - AC_DEFUN([CF_GCC_WARNINGS], - [ -+AC_REQUIRE([CF_GCC_VERSION]) - if test "$GCC" = yes - then - cat > conftest.$ac_ext <&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\ -- sed -e 's/[[^0-9 \.]]//g' | $AWK '{print $[1];}'` --case $cf_cv_gnat_version in -+AC_MSG_CHECKING(for gnat version) -+cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\ -+ sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'` -+AC_MSG_RESULT($cf_gnat_version) -+ -+case $cf_gnat_version in - 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*) - cf_cv_prog_gnat_correct=yes - ;; -- *) echo Unsupported GNAT version $cf_cv_gnat_version. Required is 3.11 or better. Disabling Ada95 binding. -+ *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding. - cf_cv_prog_gnat_correct=no - ;; - esac --case $cf_cv_gnat_version in -- 3.1*|[[4-9]].*) -+case $cf_gnat_version in -+ 3.[[1-9]]*|[[4-9]].*) - cf_compile_generics=generics - cf_generic_objects="\$(GENOBJS)" - ;; -@@ -867,6 +945,8 @@ - esac - ]) - dnl --------------------------------------------------------------------------- -+dnl CF_GNU_SOURCE version: 3 updated: 2000/10/29 23:30:53 -+dnl ------------- - dnl Check if we must define _GNU_SOURCE to get a reasonable value for - dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect - dnl (or misfeature) of glibc2, which breaks portability of many applications, -@@ -895,6 +975,8 @@ - test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46 -+dnl -------------- - dnl If we're trying to use g++, test if libg++ is installed (a rather common - dnl problem :-). If we have the compiler but no library, we'll be able to - dnl configure, but won't be able to build the c++ demo program. -@@ -909,7 +991,7 @@ - cf_gpp_libname=g++ - ;; - esac --if test "$ac_cv_prog_gxx" = yes; then -+if test "$GXX" = yes; then - AC_MSG_CHECKING([for lib$cf_gpp_libname]) - cf_save="$LIBS" - LIBS="$LIBS -l$cf_gpp_libname" -@@ -937,20 +1019,37 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_GXX_VERSION version: 3 updated: 2003/09/06 19:16:21 -+dnl -------------- -+dnl Check for version of g++ -+AC_DEFUN([CF_GXX_VERSION],[ -+AC_REQUIRE([AC_PROG_CPP]) -+GXX_VERSION=none -+if test "$GXX" = yes; then -+ AC_MSG_CHECKING(version of g++) -+ GXX_VERSION="`${CXX-g++} --version|sed -e '2,$d'`" -+ AC_MSG_RESULT($GXX_VERSION) -+fi -+])dnl -+dnl --------------------------------------------------------------------------- -+dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23 -+dnl --------------- - dnl Insert text into the help-message, for readability, from AC_ARG_WITH. - AC_DEFUN([CF_HELP_MESSAGE], - [AC_DIVERT_HELP([$1])dnl - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15 -+dnl --------------- - dnl Construct the list of include-options according to whether we're building - dnl in the source directory or using '--srcdir=DIR' option. If we're building - dnl with gcc, don't append the includedir if it happens to be /usr/include, - dnl since that usually breaks gcc's shadow-includes. - AC_DEFUN([CF_INCLUDE_DIRS], - [ --CPPFLAGS="$CPPFLAGS -I. -I../include" -+CPPFLAGS="-I. -I../include $CPPFLAGS" - if test "$srcdir" != "."; then -- CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include" -+ CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS" - fi - if test "$GCC" != yes; then - CPPFLAGS="$CPPFLAGS -I\$(includedir)" -@@ -966,6 +1065,8 @@ - AC_SUBST(CPPFLAGS) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52 -+dnl ---------- - dnl Check if we have either a function or macro for 'isascii()'. - AC_DEFUN([CF_ISASCII], - [ -@@ -979,6 +1080,8 @@ - test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32 -+dnl ---------- - dnl Check for libutf8 - AC_DEFUN([CF_LIBUTF8], - [ -@@ -998,6 +1101,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48 -+dnl ------------- - dnl Compute the library-prefix for the given host system - dnl $1 = variable to set - AC_DEFUN([CF_LIB_PREFIX], -@@ -1011,6 +1116,8 @@ - AC_SUBST(LIB_PREFIX) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_LIB_RULES version: 29 updated: 2003/07/19 16:05:52 -+dnl ------------ - dnl Append definitions and rules for the given models to the subdirectory - dnl Makefiles, and the recursion rule for the top-level Makefile. If the - dnl subdirectory is a library-source directory, modify the LIBRARIES list in -@@ -1054,8 +1161,10 @@ - esac - fi - # cygwin needs import library, and has unique naming convention -+ # use autodetected ${cf_prefix} for import lib and static lib, but -+ # use 'cyg' prefix for shared lib. - if test $cf_cv_shlib_version = cygdll ; then -- SHARED_LIB="../lib/${cf_prefix}${cf_dir}\$(ABI_VERSION).dll" -+ SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll" - IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a" - LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)" - continue -@@ -1070,7 +1179,7 @@ - termlib+*) #(vi - ;; - *) #(vi -- cf_item=`echo $LIBS_TO_MAKE |sed -e s/$LIB_NAME/$TINFO_NAME/g` -+ cf_item=`echo $LIBS_TO_MAKE |sed -e s%$LIB_NAME%$TINFO_NAME%g` - LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE" - ;; - esac -@@ -1128,7 +1237,7 @@ - ldconfig="$LDCONFIG" \ - overwrite=$WITH_OVERWRITE \ - depend="$cf_depend" \ -- target="$target" \ -+ host="$host" \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - for cf_subdir2 in $cf_subdirs lib - do -@@ -1364,6 +1473,8 @@ - - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_LIB_SUFFIX version: 12 updated: 2002/01/20 01:43:41 -+dnl ------------- - dnl Compute the library file-suffix from the given model name - dnl $1 = model name - dnl $2 = variable to set -@@ -1387,6 +1498,8 @@ - test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}" - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49 -+dnl ----------- - dnl Compute the string to append to -library from the given model name - dnl $1 = model name - dnl $2 = variable to set -@@ -1403,6 +1516,8 @@ - test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}" - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46 -+dnl ---------------- - dnl Some systems have a non-ANSI linker that doesn't pull in modules that have - dnl only data (i.e., no functions), for example NeXT. On those systems we'll - dnl have to provide wrappers for global tables to ensure they're linked -@@ -1418,7 +1533,7 @@ - EOF - if AC_TRY_EVAL(ac_compile) ; then - mv conftest.o data.o && \ -- ( $AR $AR_OPTS conftest.a data.o ) 2>&5 1>/dev/null -+ ( $AR $AR_OPTS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null - fi - rm -f conftest.$ac_ext data.o - cat >conftest.$ac_ext <&5 1>/dev/null -+ ( $AR $AR_OPTS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null - fi - rm -f conftest.$ac_ext func.o -- ( eval $ac_cv_prog_RANLIB conftest.a ) 2>&5 >/dev/null -+ ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null - cf_saveLIBS="$LIBS" - LIBS="conftest.a $LIBS" - AC_TRY_RUN([ -@@ -1464,6 +1579,8 @@ - - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46 -+dnl ------------- - dnl Most Unix systems have both link and symlink, a few don't have symlink. - dnl A few non-Unix systems implement symlink, but not link. - dnl A few non-systems implement neither (or have nonfunctional versions). -@@ -1473,7 +1590,7 @@ - remove \ - unlink ) - --if test "$ac_cv_prog_cc_cross" = yes ; then -+if test "$cross_compiling" = yes ; then - AC_CHECK_FUNCS( \ - link \ - symlink ) -@@ -1519,6 +1636,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27 -+dnl ------------ - dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make' - dnl options to lower-levels. It's very useful for "make -n" -- if we have it. - dnl (GNU 'make' does both, something POSIX 'make', which happens to make the -@@ -1556,6 +1675,8 @@ - AC_SUBST(cf_cv_makeflags) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40 -+dnl ------------ - dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have - dnl a monocase filesystem. - AC_DEFUN([CF_MAKE_TAGS],[ -@@ -1583,6 +1704,8 @@ - AC_SUBST(MAKE_LOWER_TAGS) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_MANPAGE_FORMAT version: 6 updated: 2002/01/19 22:51:32 -+dnl ----------------- - dnl Option to allow user to override automatic configuration of manpage format. - dnl There are several special cases. - AC_DEFUN([CF_MANPAGE_FORMAT], -@@ -1635,6 +1758,8 @@ - AC_MSG_RESULT($MANPAGE_FORMAT) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_MANPAGE_RENAMES version: 6 updated: 2002/01/19 22:51:32 -+dnl ------------------ - dnl The Debian people have their own naming convention for manpages. This - dnl option lets us override the name of the file containing renaming, or - dnl disable it altogether. -@@ -1680,6 +1805,8 @@ - AC_SUBST(MANPAGE_RENAMES) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_MANPAGE_SYMLINKS version: 3 updated: 2002/01/19 22:51:32 -+dnl ------------------- - dnl Some people expect each tool to make all aliases for manpages in the - dnl man-directory. This accommodates the older, less-capable implementations - dnl of 'man', and is optional. -@@ -1695,6 +1822,8 @@ - AC_MSG_RESULT($MANPAGE_SYMLINKS) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32 -+dnl -------------- - dnl This option causes manpages to be run through tbl(1) to generate tables - dnl correctly. - AC_DEFUN([CF_MANPAGE_TBL], -@@ -1709,6 +1838,8 @@ - AC_MSG_RESULT($MANPAGE_TBL) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_MAN_PAGES version: 23 updated: 2002/12/21 22:46:07 -+dnl ------------ - dnl Try to determine if the man-pages on the system are compressed, and if - dnl so, what format is used. Use this information to construct a script that - dnl will install man-pages. -@@ -1888,7 +2019,7 @@ - ;; - esac - cat >>man/edit_man.sh < --#ifdef HAVE_LIBUTF8_H --#include --#endif], -- [mbstate_t state], -- [cf_cv_mbstate_t=no], -- [AC_TRY_COMPILE([ --#include --#include --#ifdef HAVE_LIBUTF8_H --#include --#endif], -- [mbstate_t value], -- [cf_cv_mbstate_t=yes], -- [cf_cv_mbstate_t=unknown])])]) -- --if test "$cf_cv_mbstate_t" = yes ; then -- AC_DEFINE(NEED_WCHAR_H) --fi -- --if test "$cf_cv_mbstate_t" != unknown ; then -- AC_DEFINE(HAVE_MBSTATE_T) --fi --])dnl --dnl --------------------------------------------------------------------------- -+dnl CF_MIXEDCASE_FILENAMES version: 2 updated: 2000/10/04 09:18:40 -+dnl ---------------------- - dnl Check if the file-system supports mixed-case filenames. If we're able to - dnl create a lowercase name and see it as uppercase, it doesn't support that. - AC_DEFUN([CF_MIXEDCASE_FILENAMES], -@@ -2017,6 +2121,8 @@ - test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_MKSTEMP version: 3 updated: 2001/11/08 20:59:59 -+dnl ---------- - dnl Check for a working mkstemp. This creates two files, checks that they are - dnl successfully created and distinct (AmigaOS apparently fails on the last). - AC_DEFUN([CF_MKSTEMP],[ -@@ -2065,6 +2171,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31 -+dnl ------------- - dnl Compute the object-directory name from the given model name - AC_DEFUN([CF_OBJ_SUBDIR], - [ -@@ -2083,6 +2191,8 @@ - esac - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53 -+dnl ---------- - dnl Provide a value for the $PATH and similar separator - AC_DEFUN([CF_PATHSEP], - [ -@@ -2094,6 +2204,8 @@ - AC_SUBST(PATHSEP) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38 -+dnl -------------- - dnl Check the argument to see that it looks like a pathname. Rewrite it if it - dnl begins with one of the prefix/exec_prefix variables, and then again if the - dnl result begins with 'NONE'. This is necessary to work around autoconf's -@@ -2123,6 +2235,41 @@ - esac - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56 -+dnl ------------ -+dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles. -+dnl -+dnl $1 = symbol to test -+dnl $2 = value (if any) to use for a predefinition -+AC_DEFUN([CF_PREDEFINE], -+[ -+AC_MSG_CHECKING(if we must define $1) -+AC_TRY_COMPILE([#include -+],[ -+#ifndef $1 -+make an error -+#endif],[cf_result=no],[cf_result=yes]) -+AC_MSG_RESULT($cf_result) -+ -+if test "$cf_result" = yes ; then -+ CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])" -+elif test "x$2" != "x" ; then -+ AC_MSG_CHECKING(checking for compatible value versus $2) -+ AC_TRY_COMPILE([#include -+],[ -+#if $1-$2 < 0 -+make an error -+#endif],[cf_result=yes],[cf_result=no]) -+ AC_MSG_RESULT($cf_result) -+ if test "$cf_result" = no ; then -+ # perhaps we can override it - try... -+ CPPFLAGS="$CPPFLAGS -D$1=$2" -+ fi -+fi -+])dnl -+dnl --------------------------------------------------------------------------- -+dnl CF_PROG_EXT version: 8 updated: 2002/12/21 19:25:52 -+dnl ----------- - dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX. - AC_DEFUN([CF_PROG_EXT], - [ -@@ -2134,7 +2281,7 @@ - CFLAGS="$CFLAGS -Zmt" - CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__" - CXXFLAGS="$CXXFLAGS -Zmt" -- LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed "s/-Zexe//g"` -+ LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed -e "s%-Zexe%%g"` - PROG_EXT=".exe" - ;; - cygwin*) -@@ -2145,6 +2292,8 @@ - test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT") - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07 -+dnl --------------- - dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the - dnl misc/tabset install won't work properly. Usually this happens only when - dnl using the fallback mkinstalldirs script -@@ -2156,11 +2305,13 @@ - *) - CF_DIRNAME(cf_dir,$INSTALL) - test -z "$cf_dir" && cf_dir=. -- INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's:^.*/::'` -+ INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'` - ;; - esac - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01 -+dnl -------- - dnl Attempt to determine if we've got one of the flavors of regular-expression - dnl code that we can support. - AC_DEFUN([CF_REGEX], -@@ -2193,6 +2344,8 @@ - esac - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_SHARED_OPTS version: 29 updated: 2003/07/12 15:15:19 -+dnl -------------- - dnl Attempt to determine the appropriate CC/LD options for creating a shared - dnl library. - dnl -@@ -2303,7 +2456,7 @@ - MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]' - cf_cv_rm_so_locs=yes - ;; -- linux*|gnu*) -+ linux*|gnu*|k*bsd*-gnu) - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" -@@ -2364,7 +2517,7 @@ - ;; - sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98 - # tested with osr5.0.5 -- if test "$ac_cv_prog_gcc" != yes; then -+ if test "$GCC" != yes; then - CC_SHARED_OPTS='-belf -KPIC' - fi - MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@' -@@ -2378,7 +2531,7 @@ - ;; - sunos4*) - # tested with SunOS 4.1.1 and gcc 2.7.0 -- if test "$ac_cv_prog_gcc" != yes; then -+ if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]' -@@ -2386,7 +2539,7 @@ - ;; - solaris2*) - # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2 -- if test "$ac_cv_prog_gcc" != yes; then -+ if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]' -@@ -2402,7 +2555,7 @@ - ;; - sysv5uw7*|unix_sv*) - # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc) -- if test "$ac_cv_prog_gcc" != yes; then -+ if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -d y -G -o [$]@' -@@ -2449,6 +2602,8 @@ - AC_SUBST(INSTALL_LIB) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16 -+dnl ------------- - dnl Check for definitions & structures needed for window size-changing - dnl FIXME: check that this works with "snake" (HP-UX 10.x) - AC_DEFUN([CF_SIZECHANGE], -@@ -2517,6 +2672,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_SRC_MODULES version: 14 updated: 2002/01/19 22:51:32 -+dnl -------------- - dnl For each parameter, test if the source-directory exists, and if it contains - dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll - dnl use in CF_LIB_RULES. -@@ -2614,6 +2771,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_STDCPP_LIBRARY version: 5 updated: 2000/08/12 23:18:52 -+dnl ----------------- - dnl Check for -lstdc++, which is GNU's standard C++ library. - AC_DEFUN([CF_STDCPP_LIBRARY], - [ -@@ -2642,10 +2801,14 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52 -+dnl -------------- - dnl Remove "-g" option from the compiler options - AC_DEFUN([CF_STRIP_G_OPT], --[$1=`echo ${$1} | sed -e 's/-g //' -e 's/-g$//'`])dnl -+[$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52 -+dnl ------------------- - dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only - dnl do this if we've found the sigaction function. - dnl -@@ -2671,6 +2834,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46 -+dnl ----------------- - dnl Some machines require _POSIX_SOURCE to completely define struct termios. - dnl If so, define SVR4_TERMIO - AC_DEFUN([CF_STRUCT_TERMIOS],[ -@@ -2705,6 +2870,8 @@ - fi - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28 -+dnl -------- - dnl Shorthand macro for substituting things that the user may override - dnl with an environment variable. - dnl -@@ -2721,6 +2888,8 @@ - $2=${cf_cv_subst_$2} - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51 -+dnl ------------------------ - dnl Get the version-number for use in shared-library naming, etc. - AC_DEFUN([CF_SUBST_NCURSES_VERSION], - [ -@@ -2739,12 +2908,13 @@ - dnl We need these values in the generated makefiles - AC_SUBST(cf_cv_rel_version) - AC_SUBST(cf_cv_abi_version) --AC_SUBST(cf_cv_cc_bool_type) - AC_SUBST(cf_cv_builtin_bool) - AC_SUBST(cf_cv_header_stdbool_h) - AC_SUBST(cf_cv_type_of_bool)dnl - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40 -+dnl ------------------ - dnl Check if we can include with ; this breaks on - dnl older SCO configurations. - AC_DEFUN([CF_SYS_TIME_SELECT], -@@ -2766,6 +2936,8 @@ - test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_TYPEOF_CHTYPE version: 4 updated: 2000/10/04 09:18:40 -+dnl ---------------- - dnl Determine the type we should use for chtype (and attr_t, which is treated - dnl as the same thing). We want around 32 bits, so on most machines want a - dnl long, but on newer 64-bit machines, probably want an int. If we're using -@@ -2835,6 +3007,8 @@ - - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52 -+dnl ----------------- - dnl - AC_DEFUN([CF_TYPE_SIGACTION], - [ -@@ -2849,6 +3023,8 @@ - test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16 -+dnl -------------------- - dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers - dnl won't, but they're still there. - AC_DEFUN([CF_UNSIGNED_LITERALS], -@@ -2862,6 +3038,8 @@ - AC_MSG_RESULT($cf_cv_unsigned_literals) - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59 -+dnl -------- - dnl Make an uppercase version of a variable - dnl $1=uppercase($2) - AC_DEFUN([CF_UPPER], -@@ -2869,11 +3047,184 @@ - $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14 -+dnl ---------- - dnl Use AC_VERBOSE w/o the warnings - AC_DEFUN([CF_VERBOSE], - [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_WCHAR_TYPE version: 1 updated: 2003/03/22 19:13:43 -+dnl ------------- -+dnl Check if type wide-character type $1 is declared, and if so, which header -+dnl file is needed. The second parameter is used to set a shell variable when -+dnl the type is not found. The first parameter sets a shell variable for the -+dnl opposite sense. -+AC_DEFUN([CF_WCHAR_TYPE], -+[ -+# This is needed on Tru64 5.0 to declare $1 -+AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[ -+AC_TRY_COMPILE([ -+#include -+#ifdef HAVE_LIBUTF8_H -+#include -+#endif], -+ [$1 state], -+ [cf_cv_$1=no], -+ [AC_TRY_COMPILE([ -+#include -+#include -+#ifdef HAVE_LIBUTF8_H -+#include -+#endif], -+ [$1 value], -+ [cf_cv_$1=yes], -+ [cf_cv_$1=unknown])])]) -+ -+if test "$cf_cv_$1" = yes ; then -+ AC_DEFINE(NEED_WCHAR_H) -+ NEED_WCHAR_H=1 -+fi -+ -+ifelse($2,,,[ -+# if we do not find $1 in either place, use substitution to provide a fallback. -+if test "$cf_cv_$1" = unknown ; then -+ $2=1 -+fi -+]) -+ifelse($3,,,[ -+# if we find $1 in either place, use substitution to provide a fallback. -+if test "$cf_cv_$1" != unknown ; then -+ $3=1 -+fi -+]) -+])dnl -+dnl --------------------------------------------------------------------------- -+dnl CF_WITH_DBMALLOC version: 2 updated: 2002/12/29 21:11:45 -+dnl ---------------- -+dnl Configure-option for dbmalloc -+AC_DEFUN([CF_WITH_DBMALLOC],[ -+AC_MSG_CHECKING(if you want to link with dbmalloc for testing) -+AC_ARG_WITH(dbmalloc, -+ [ --with-dbmalloc test: use Conor Cahill's dbmalloc library], -+ [with_dbmalloc=$withval], -+ [with_dbmalloc=no]) -+AC_MSG_RESULT($with_dbmalloc) -+if test $with_dbmalloc = yes ; then -+ AC_CHECK_LIB(dbmalloc,debug_malloc) -+fi -+])dnl -+dnl --------------------------------------------------------------------------- -+dnl CF_WITH_DMALLOC version: 2 updated: 2002/12/29 21:11:45 -+dnl --------------- -+dnl Configure-option for dmalloc -+AC_DEFUN([CF_WITH_DMALLOC],[ -+AC_MSG_CHECKING(if you want to link with dmalloc for testing) -+AC_ARG_WITH(dmalloc, -+ [ --with-dmalloc test: use Gray Watson's dmalloc library], -+ [with_dmalloc=$withval], -+ [with_dmalloc=no]) -+AC_MSG_RESULT($with_dmalloc) -+if test $with_dmalloc = yes ; then -+ AC_CHECK_LIB(dmalloc,dmalloc_debug) -+fi -+])dnl -+dnl --------------------------------------------------------------------------- -+dnl CF_WITH_LIBTOOL version: 8 updated: 2003/09/06 19:15:56 -+dnl --------------- -+dnl Provide a configure option to incorporate libtool. Define several useful -+dnl symbols for the makefile rules. -+AC_DEFUN([CF_WITH_LIBTOOL], -+[ -+LIBTOOL= -+ -+# common library maintenance symbols that are convenient for libtool scripts: -+LIB_CREATE='$(AR) -cr' -+LIB_OBJECT='$(OBJECTS)' -+LIB_SUFFIX=.a -+LIB_PREP="$RANLIB" -+ -+# symbols used to prop libtool up to enable it to determine what it should be -+# doing: -+LIB_CLEAN= -+LIB_COMPILE= -+LIB_LINK= -+LIB_INSTALL= -+LIB_UNINSTALL= -+ -+AC_MSG_CHECKING(if you want to build libraries with libtool) -+AC_ARG_WITH(libtool, -+ [ --with-libtool generate libraries with libtool], -+ [with_libtool=$withval], -+ [with_libtool=no]) -+AC_MSG_RESULT($with_libtool) -+if test "$with_libtool" != "no"; then -+ if test "$with_libtool" != "yes" ; then -+ CF_PATH_SYNTAX(with_libtool) -+ LIBTOOL=$with_libtool -+ else -+ AC_PATH_PROG(LIBTOOL,libtool) -+ fi -+ if test -z "$LIBTOOL" ; then -+ AC_MSG_ERROR(Cannot find libtool) -+ fi -+ -+ LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o' -+ LIB_OBJECT='$(OBJECTS:.o=.lo)' -+ LIB_SUFFIX=.la -+ LIB_CLEAN='$(LIBTOOL) --mode=clean' -+ LIB_COMPILE='$(LIBTOOL) --mode=compile' -+ LIB_LINK='$(LIBTOOL) --mode=link' -+ LIB_INSTALL='$(LIBTOOL) --mode=install' -+ LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall' -+ LIB_PREP=: -+ -+ # Show the version of libtool -+ AC_MSG_CHECKING(version of libtool) -+ -+ # Save the version in a cache variable - this is not entirely a good -+ # thing, but the version string from libtool is very ugly, and for -+ # bug reports it might be useful to have the original string. -+ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'` -+ AC_MSG_RESULT($cf_cv_libtool_version) -+ if test -z "$cf_cv_libtool_version" ; then -+ AC_MSG_ERROR(This is not libtool) -+ fi -+ -+ # special hack to add --tag option for C++ compiler -+ case $cf_cv_libtool_version in -+ 1.[[5-9]]*|[[2-9]]*) -+ LIBTOOL_CXX="$LIBTOOL --tag=CXX" -+ ;; -+ *) -+ LIBTOOL_CXX="$LIBTOOL" -+ ;; -+ esac -+else -+ LIBTOOL="" -+ LIBTOOL_CXX="" -+fi -+ -+test -z "$LIBTOOL" && ECHO_LT= -+ -+AC_SUBST(LIBTOOL) -+AC_SUBST(LIBTOOL_CXX) -+ -+AC_SUBST(LIB_CREATE) -+AC_SUBST(LIB_OBJECT) -+AC_SUBST(LIB_SUFFIX) -+AC_SUBST(LIB_PREP) -+ -+AC_SUBST(LIB_CLEAN) -+AC_SUBST(LIB_COMPILE) -+AC_SUBST(LIB_LINK) -+AC_SUBST(LIB_INSTALL) -+AC_SUBST(LIB_UNINSTALL) -+ -+])dnl -+dnl --------------------------------------------------------------------------- -+dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17 -+dnl ------------ - dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just - dnl defaulting to yes/no. - dnl -@@ -2891,6 +3242,8 @@ - AC_SUBST($3)dnl - ])dnl - dnl --------------------------------------------------------------------------- -+dnl CF_WITH_PATHLIST version: 5 updated: 2001/12/10 01:28:30 -+dnl ---------------- - dnl Process an option specifying a list of colon-separated paths. - dnl - dnl $1 = option name -@@ -2930,3 +3283,33 @@ - AC_SUBST($3)dnl - - ])dnl -+dnl --------------------------------------------------------------------------- -+dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43 -+dnl ---------------- -+dnl If we can compile with sysmouse, make it available unless it is not wanted. -+AC_DEFUN([CF_WITH_SYSMOUSE],[ -+# not everyone has "test -c" -+if test -c /dev/sysmouse 2>/dev/null ; then -+AC_MSG_CHECKING(if you want to use sysmouse) -+AC_ARG_WITH(sysmouse, -+ [ --with-sysmouse use sysmouse (FreeBSD console)], -+ [cf_with_sysmouse=$withval], -+ [cf_with_sysmouse=maybe]) -+ if test "$cf_with_sysmouse" != no ; then -+ AC_TRY_COMPILE([ -+#include -+#if (__FreeBSD_version >= 400017) -+#include -+#include -+#else -+#include -+#endif -+],[ -+ struct mouse_info the_mouse; -+ ioctl(0, CONS_MOUSECTL, &the_mouse); -+],[cf_with_sysmouse=yes],[cf_with_sysmouse=no]) -+ fi -+AC_MSG_RESULT($cf_with_sysmouse) -+test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE) -+fi -+])dnl -diff -urNd -urNd ncurses-5.3/announce.html.in ncurses-5.3.20030906.orig/announce.html.in ---- ncurses-5.3/announce.html.in Sat Oct 12 18:35:32 2002 -+++ ncurses-5.3.20030906.orig/announce.html.in Tue May 13 20:08:22 2003 -@@ -1,11 +1,12 @@ - - - - --Announcing ncurses @VERSION@ Pre-Release -+Announcing ncurses @VERSION@ - -+ - - - -@@ -35,9 +36,9 @@ - - The ncurses distribution is available via anonymous FTP at - the GNU distribution site --ftp://ftp.gnu.org/pub/gnu/ncurses. -+ftp://ftp.gnu.org/gnu/ncurses/ . -
It is also available at --ftp://invisible-island.net/ncurses. -+ftp://invisible-island.net/ncurses/ . - -

Release Notes

- -@@ -317,61 +318,61 @@ -
cdk -
Curses Development Kit -
--http://invisible-island.net/cdk. -+http://invisible-island.net/cdk/ -
--http://www.vexus.ca/CDK.html -+http://www.vexus.ca/products/CDK/ -
ded -
directory-editor -
--http://invisible-island.net/ded. -+http://invisible-island.net/ded/ -
dialog -
the underlying application used in Slackware's setup, and the basis - for similar applications on GNU/Linux. -
--http://invisible-island.net/dialog. -+http://invisible-island.net/dialog/ -
lynx -
the character-screen WWW browser -
--http://lynx.isc.org/release. -+http://lynx.isc.org/release/ -
Midnight Commander -
file manager -
--www.gnome.org/mc/. -+http://www.ibiblio.org/mc/ -
mutt -
mail utility -
--http://www.mutt.org. -+http://www.mutt.org/ -
ncftp -
file-transfer utility -
--http://www.ncftp.com. -+http://www.ncftp.com/ -
nvi -
New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. -
--http://www.bostic.com/vi/. -+http://www.bostic.com/vi/ -
tin -
newsreader, supporting color, MIME -
--http://www.tin.org. -+http://www.tin.org/ -
taper -
tape archive utility -
--http://members.iinet.net.au/~yusuf/taper/. -+http://taper.e-survey.net.au/ -
vh-1.6 -
Volks-Hypertext browser for the Jargon File -
--http://www.bg.debian.org/Packages/unstable/text/vh.html. -+http://www.debian.org/Packages/unstable/text/vh.html - - as well as some that use ncurses for the terminfo support alone: -
-
minicom -
terminal emulator -
--http://www.pp.clinet.fi/~walker/minicom.html. -+http://www.netsonic.fi/~walker/minicom.html -
vile -
vi-like-emacs -
--http://invisible-island.net/vile. -+http://invisible-island.net/vile/ -
-

- -@@ -382,7 +383,7 @@ - - The original developers of ncurses are Zeyd Ben-Halim and --Eric S. Raymond. -+Eric S. Raymond. - Ongoing work is being done by - Thomas Dickey - and -@@ -404,7 +405,7 @@ - testing of this package.

- - Beta versions of ncurses and patches to the current release are made available at --ftp://invisible-island.net/ncurses. -+ftp://invisible-island.net/ncurses/ . - -

Future Plans

-
    -@@ -418,12 +419,12 @@ - - The distribution includes and uses a version of the terminfo-format - terminal description file maintained by Eric Raymond. --http://earthspace.net/~esr/terminfo.

    -+http://www.tuxedo.org/~esr/terminfo/ .

    - - You can find lots of information on terminal-related topics - not covered in the terminfo file at - Richard Shuford's --archive. -+archive . - - - - - --Announcing ncurses 5.3 Pre-Release -+Announcing ncurses 5.3 - -+ - - - -@@ -35,9 +36,9 @@ - - The ncurses distribution is available via anonymous FTP at - the GNU distribution site --ftp://ftp.gnu.org/pub/gnu/ncurses. -+ftp://ftp.gnu.org/gnu/ncurses/ . -
    It is also available at --ftp://invisible-island.net/ncurses. -+ftp://invisible-island.net/ncurses/ . - -

    Release Notes

    - -@@ -317,61 +318,61 @@ -
    cdk -
    Curses Development Kit -
    --http://invisible-island.net/cdk. -+http://invisible-island.net/cdk/ -
    --http://www.vexus.ca/CDK.html -+http://www.vexus.ca/products/CDK/ -
    ded -
    directory-editor -
    --http://invisible-island.net/ded. -+http://invisible-island.net/ded/ -
    dialog -
    the underlying application used in Slackware's setup, and the basis - for similar applications on GNU/Linux. -
    --http://invisible-island.net/dialog. -+http://invisible-island.net/dialog/ -
    lynx -
    the character-screen WWW browser -
    --http://lynx.isc.org/release. -+http://lynx.isc.org/release/ -
    Midnight Commander -
    file manager -
    --www.gnome.org/mc/. -+http://www.ibiblio.org/mc/ -
    mutt -
    mail utility -
    --http://www.mutt.org. -+http://www.mutt.org/ -
    ncftp -
    file-transfer utility -
    --http://www.ncftp.com. -+http://www.ncftp.com/ -
    nvi -
    New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. -
    --http://www.bostic.com/vi/. -+http://www.bostic.com/vi/ -
    tin -
    newsreader, supporting color, MIME -
    --http://www.tin.org. -+http://www.tin.org/ -
    taper -
    tape archive utility -
    --http://members.iinet.net.au/~yusuf/taper/. -+http://taper.e-survey.net.au/ -
    vh-1.6 -
    Volks-Hypertext browser for the Jargon File -
    --http://www.bg.debian.org/Packages/unstable/text/vh.html. -+http://www.debian.org/Packages/unstable/text/vh.html - - as well as some that use ncurses for the terminfo support alone: -
    -
    minicom -
    terminal emulator -
    --http://www.pp.clinet.fi/~walker/minicom.html. -+http://www.netsonic.fi/~walker/minicom.html -
    vile -
    vi-like-emacs -
    --http://invisible-island.net/vile. -+http://invisible-island.net/vile/ -
    -

    - -@@ -382,7 +383,7 @@ - - The original developers of ncurses are Zeyd Ben-Halim and --Eric S. Raymond. -+Eric S. Raymond. - Ongoing work is being done by - Thomas Dickey - and -@@ -404,7 +405,7 @@ - testing of this package.

    - - Beta versions of ncurses and patches to the current release are made available at --ftp://invisible-island.net/ncurses. -+ftp://invisible-island.net/ncurses/ . - -

    Future Plans

    -
      -@@ -418,12 +419,12 @@ - - The distribution includes and uses a version of the terminfo-format - terminal description file maintained by Eric Raymond. --http://earthspace.net/~esr/terminfo.

      -+http://www.tuxedo.org/~esr/terminfo/ .

      - - You can find lots of information on terminal-related topics - not covered in the terminfo file at - Richard Shuford's --archive. -+archive . - - - - - -@@ -192,7 +192,7 @@ - mode. You can use other tic options such as -f and -x. - - The trace option isn't identical to SVr4's. Under SVr4, -- instead of following the -v with a trace level n, you -+ instead of following the -v with a trace level n, you - repeat it n times. - - -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_addch.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_addch.3x.html ---- ncurses-5.3/doc/html/man/curs_addch.3x.html Sat Aug 31 16:59:20 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_addch.3x.html Sun Jul 20 14:02:08 2003 -@@ -2,7 +2,7 @@ - - - -@@ -77,7 +77,7 @@ - sor one character left; at the left edge of a window it - does nothing. Newline does a clrtoeol, then moves the - cursor to the window left margin on the next line, -- scrolling the window if on the last line). Tabs are con- -+ scrolling the window if on the last line. Tabs are con- - sidered to be at every eighth column. The tab interval - may be altered by setting the TABSIZE variable. - -@@ -91,7 +91,7 @@ - passed to addch or related functions by logical-ORing them - into the character. (Thus, text, including attributes, - can be copied from one place to another using inch and -- addch.). See the curs_attr(3x) page for values of prede- -+ addch.) See the curs_attr(3x) page for values of prede- - fined video attribute constants that can be usefully OR'ed - into characters. - -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_beep.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_beep.3x.html ---- ncurses-5.3/doc/html/man/curs_beep.3x.html Sat Jun 22 16:25:17 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_beep.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_deleteln.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_deleteln.3x.html ---- ncurses-5.3/doc/html/man/curs_deleteln.3x.html Sat Jun 22 16:25:19 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_deleteln.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -@@ -73,7 +73,7 @@ - and move the remaining lines up. The bottom n lines are - cleared. The current cursor position remains the same. - -- The insertln and winsertln routines, insert a blank line -+ The insertln and winsertln routines insert a blank line - above the current line and the bottom line is lost. - - -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_extend.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_extend.3x.html ---- ncurses-5.3/doc/html/man/curs_extend.3x.html Sat Jun 22 16:25:19 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_extend.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -@@ -70,10 +70,10 @@ - standard names which may be compiled into the terminfo - description, i.e., via the terminfo or termcap interfaces. - Normally these names are available for use, since the -- essential descision is made by using the -x option of tic -+ essential decision is made by using the -x option of tic - to compile extended terminal definitions. However you can - disable this feature to ensure compatiblity with other -- implementations of curses -+ implementations of curses. - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_get_wch.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_get_wch.3x.html ---- ncurses-5.3/doc/html/man/curs_get_wch.3x.html Sat Jun 22 16:25:19 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_get_wch.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -@@ -52,10 +52,10 @@ -

      SYNOPSIS

      -        #include <curses.h>
      - 
      --       int get_wch(win_t *wch);
      --       int wget_wch(WINDOW *win, win_t *wch);
      --       int mvget_wch(int y, int x, win_t *wch);
      --       int mvwget_wch(WINDOW *win, int y, int x, win_t *wch);
      -+       int get_wch(wint_t *wch);
      -+       int wget_wch(WINDOW *win, wint_t *wch);
      -+       int mvget_wch(int y, int x, wint_t *wch);
      -+       int mvwget_wch(WINDOW *win, int y, int x, wint_t *wch);
      -        int unget_wch(const wchar_t wch);
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_getcchar.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_getcchar.3x.html
      ---- ncurses-5.3/doc/html/man/curs_getcchar.3x.html	Sat Jun 22 16:25:20 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_getcchar.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_getch.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_getch.3x.html
      ---- ncurses-5.3/doc/html/man/curs_getch.3x.html	Sat Jun 22 16:25:20 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_getch.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -2,7 +2,7 @@
      - 
      - 
      - 
      -@@ -89,7 +89,7 @@
      -        token for that function key is returned instead of the raw
      -        characters.    Possible   function  keys  are  defined  in
      -        <curses.h> as macros with  values  outside  the  range  of
      --       8-bit  characters  whose  names  begin  with KEY_. Thus, a
      -+       8-bit  characters  whose  names  begin  with KEY_. Thus, a
      -        variable intended to hold the return value of  a  function
      -        key must be of short size or larger.
      - 
      -@@ -114,103 +114,103 @@
      -        that  not  all  of  these are necessarily supported on any
      -        particular terminal.
      - 
      --           Name            Key name
      -+            Name            Key name
      - 
      --           KEY_BREAK       Break key
      --           KEY_DOWN        The four arrow keys ...
      --           KEY_UP
      --           KEY_LEFT
      --           KEY_RIGHT
      --           KEY_HOME        Home key (upward+left arrow)
      --           KEY_BACKSPACE   Backspace
      --           KEY_F0          Function keys; space for 64  keys
      --                           is reserved.
      --           KEY_F(n)        For 0 <= n <= 63
      --           KEY_DL          Delete line
      --           KEY_IL          Insert line
      --           KEY_DC          Delete character
      --           KEY_IC          Insert char or enter insert mode
      --           KEY_EIC         Exit insert char mode
      --           KEY_CLEAR       Clear screen
      --           KEY_EOS         Clear to end of screen
      --           KEY_EOL         Clear to end of line
      --           KEY_SF          Scroll 1 line forward
      --           KEY_SR          Scroll 1 line backward (reverse)
      --           KEY_NPAGE       Next page
      --           KEY_PPAGE       Previous page
      --           KEY_STAB        Set tab
      --           KEY_CTAB        Clear tab
      --           KEY_CATAB       Clear all tabs
      --           KEY_ENTER       Enter or send
      --           KEY_SRESET      Soft (partial) reset
      --           KEY_RESET       Reset or hard reset
      --           KEY_PRINT       Print or copy
      --           KEY_LL          Home down or bottom (lower left).
      --           KEY_A1          Upper left of keypad
      --           KEY_A3          Upper right of keypad
      --           KEY_B2          Center of keypad
      --           KEY_C1          Lower left of keypad
      --           KEY_C3          Lower right of keypad
      --           KEY_BTAB        Back tab key
      --           KEY_BEG         Beg(inning) key
      --           KEY_CANCEL      Cancel key
      -+            KEY_BREAK       Break key
      -+            KEY_DOWN        The four arrow keys ...
      -+            KEY_UP
      -+            KEY_LEFT
      -+            KEY_RIGHT
      -+            KEY_HOME        Home key (upward+left arrow)
      -+            KEY_BACKSPACE   Backspace
      -+            KEY_F0          Function keys; space for 64 keys
      -+                            is reserved.
      -+            KEY_F(n)        For 0 <= n <= 63
      -+            KEY_DL          Delete line
      -+            KEY_IL          Insert line
      -+            KEY_DC          Delete character
      -+            KEY_IC          Insert char or enter insert mode
      -+            KEY_EIC         Exit insert char mode
      -+            KEY_CLEAR       Clear screen
      -+            KEY_EOS         Clear to end of screen
      -+            KEY_EOL         Clear to end of line
      -+            KEY_SF          Scroll 1 line forward
      -+            KEY_SR          Scroll 1 line backward (reverse)
      -+            KEY_NPAGE       Next page
      -+            KEY_PPAGE       Previous page
      -+            KEY_STAB        Set tab
      -+            KEY_CTAB        Clear tab
      -+            KEY_CATAB       Clear all tabs
      -+            KEY_ENTER       Enter or send
      -+            KEY_SRESET      Soft (partial) reset
      -+            KEY_RESET       Reset or hard reset
      -+            KEY_PRINT       Print or copy
      -+            KEY_LL          Home down or bottom (lower left)
      -+            KEY_A1          Upper left of keypad
      -+            KEY_A3          Upper right of keypad
      -+            KEY_B2          Center of keypad
      -+            KEY_C1          Lower left of keypad
      -+            KEY_C3          Lower right of keypad
      -+            KEY_BTAB        Back tab key
      -+            KEY_BEG         Beg(inning) key
      -+            KEY_CANCEL      Cancel key
      - 
      --           KEY_CLOSE       Close key
      --           KEY_COMMAND     Cmd (command) key
      --           KEY_COPY        Copy key
      --           KEY_CREATE      Create key
      --           KEY_END         End key
      --           KEY_EXIT        Exit key
      --           KEY_FIND        Find key
      --           KEY_HELP        Help key
      --           KEY_MARK        Mark key
      --           KEY_MESSAGE     Message key
      --           KEY_MOUSE       Mouse event read
      --           KEY_MOVE        Move key
      --           KEY_NEXT        Next object key
      --           KEY_OPEN        Open key
      --           KEY_OPTIONS     Options key
      --           KEY_PREVIOUS    Previous object key
      --           KEY_REDO        Redo key
      --           KEY_REFERENCE   Ref(erence) key
      --           KEY_REFRESH     Refresh key
      --           KEY_REPLACE     Replace key
      --           KEY_RESIZE      Screen resized
      --           KEY_RESTART     Restart key
      --           KEY_RESUME      Resume key
      --           KEY_SAVE        Save key
      --           KEY_SBEG        Shifted beginning key
      --           KEY_SCANCEL     Shifted cancel key
      --           KEY_SCOMMAND    Shifted command key
      --           KEY_SCOPY       Shifted copy key
      --           KEY_SCREATE     Shifted create key
      --           KEY_SDC         Shifted delete char key
      --           KEY_SDL         Shifted delete line key
      --           KEY_SELECT      Select key
      --           KEY_SEND        Shifted end key
      --           KEY_SEOL        Shifted clear line key
      --           KEY_SEXIT       Shifted exit key
      --           KEY_SFIND       Shifted find key
      --           KEY_SHELP       Shifted help key
      --           KEY_SHOME       Shifted home key
      --           KEY_SIC         Shifted input key
      --           KEY_SLEFT       Shifted left arrow key
      --           KEY_SMESSAGE    Shifted message key
      --           KEY_SMOVE       Shifted move key
      --           KEY_SNEXT       Shifted next key
      --           KEY_SOPTIONS    Shifted options key
      --           KEY_SPREVIOUS   Shifted prev key
      --           KEY_SPRINT      Shifted print key
      --           KEY_SREDO       Shifted redo key
      --           KEY_SREPLACE    Shifted replace key
      --           KEY_SRIGHT      Shifted right arrow
      --           KEY_SRSUME      Shifted resume key
      --           KEY_SSAVE       Shifted save key
      --           KEY_SSUSPEND    Shifted suspend key
      --           KEY_SUNDO       Shifted undo key
      -+            KEY_CLOSE       Close key
      -+            KEY_COMMAND     Cmd (command) key
      -+            KEY_COPY        Copy key
      -+            KEY_CREATE      Create key
      -+            KEY_END         End key
      -+            KEY_EXIT        Exit key
      -+            KEY_FIND        Find key
      -+            KEY_HELP        Help key
      -+            KEY_MARK        Mark key
      -+            KEY_MESSAGE     Message key
      -+            KEY_MOUSE       Mouse event read
      -+            KEY_MOVE        Move key
      -+            KEY_NEXT        Next object key
      -+            KEY_OPEN        Open key
      -+            KEY_OPTIONS     Options key
      -+            KEY_PREVIOUS    Previous object key
      -+            KEY_REDO        Redo key
      -+            KEY_REFERENCE   Ref(erence) key
      -+            KEY_REFRESH     Refresh key
      -+            KEY_REPLACE     Replace key
      -+            KEY_RESIZE      Screen resized
      -+            KEY_RESTART     Restart key
      -+            KEY_RESUME      Resume key
      -+            KEY_SAVE        Save key
      -+            KEY_SBEG        Shifted beginning key
      -+            KEY_SCANCEL     Shifted cancel key
      -+            KEY_SCOMMAND    Shifted command key
      -+            KEY_SCOPY       Shifted copy key
      -+            KEY_SCREATE     Shifted create key
      -+            KEY_SDC         Shifted delete char key
      -+            KEY_SDL         Shifted delete line key
      -+            KEY_SELECT      Select key
      -+            KEY_SEND        Shifted end key
      -+            KEY_SEOL        Shifted clear line key
      -+            KEY_SEXIT       Shifted exit key
      -+            KEY_SFIND       Shifted find key
      -+            KEY_SHELP       Shifted help key
      -+            KEY_SHOME       Shifted home key
      -+            KEY_SIC         Shifted input key
      -+            KEY_SLEFT       Shifted left arrow key
      -+            KEY_SMESSAGE    Shifted message key
      -+            KEY_SMOVE       Shifted move key
      -+            KEY_SNEXT       Shifted next key
      -+            KEY_SOPTIONS    Shifted options key
      -+            KEY_SPREVIOUS   Shifted prev key
      -+            KEY_SPRINT      Shifted print key
      -+            KEY_SREDO       Shifted redo key
      -+            KEY_SREPLACE    Shifted replace key
      -+            KEY_SRIGHT      Shifted right arrow
      -+            KEY_SRSUME      Shifted resume key
      -+            KEY_SSAVE       Shifted save key
      -+            KEY_SSUSPEND    Shifted suspend key
      -+            KEY_SUNDO       Shifted undo key
      - 
      --           KEY_SUSPEND     Suspend key
      --           KEY_UNDO        Undo key
      -+            KEY_SUSPEND     Suspend key
      -+            KEY_UNDO        Undo key
      - 
      -        Keypad is arranged like this:
      - 
      -@@ -247,7 +247,7 @@
      -        according  to  whether  they treat these control keys spe-
      -        cially (and ignore the terminfo), or use the terminfo def-
      -        initions.   Ncurses  uses  the terminfo definition.  If it
      --       says that  KEY_ENTER  is  control/M,  getch,  will  return
      -+       says  that  KEY_ENTER  is  control/M,  getch  will  return
      -        KEY_ENTER when you press control/M.
      - 
      -        When  using  getch, wgetch, mvgetch, or mvwgetch, nocbreak
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_getstr.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_getstr.3x.html
      ---- ncurses-5.3/doc/html/man/curs_getstr.3x.html	Sat Jun 22 16:37:28 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_getstr.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -109,7 +109,7 @@
      -        SVr3  and early SVr4 curses implementations did not reject
      -        function keys; the SVr4.0 documentation claimed that "spe-
      -        cial  keys"  (such  as  function keys, "home" key, "clear"
      --       key, etc.) are interpreted" without  giving  details.   It
      -+       key, etc.) are "interpreted", without giving details.   It
      -        lied.   In  fact,  the  `character'  value appended to the
      -        string by those implementations was  predictable  but  not
      -        useful  (being,  in  fact, the low-order eight bits of the
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_getyx.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_getyx.3x.html
      ---- ncurses-5.3/doc/html/man/curs_getyx.3x.html	Sat Oct 12 18:27:50 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_getyx.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -74,7 +74,7 @@
      - 
      - 
      -

      RETURN VALUE

      --       The return values of these  macros  are  undefined  (i.e.,
      -+       The return values of these  macros  are  undefined  (i.e.,
      -        they  should not be used as the right-hand side of assign-
      -        ment statements).
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_initscr.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_initscr.3x.html
      ---- ncurses-5.3/doc/html/man/curs_initscr.3x.html	Sat Jul 27 19:39:31 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_initscr.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_inopts.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_inopts.3x.html
      ---- ncurses-5.3/doc/html/man/curs_inopts.3x.html	Sat Aug 31 16:59:27 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_inopts.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -172,9 +172,9 @@
      - 
      -        The timeout and wtimeout routines  set  blocking  or  non-
      -        blocking  read  for a given window.  If delay is negative,
      --       blocking  read  is  used  (i.e.,  waits  indefinitely  for
      -+       blocking  read  is  used  (i.e.,  waits  indefinitely  for
      -        input).   If delay is zero, then non-blocking read is used
      --       (i.e., read returns ERR if no input is waiting).  If delay
      -+       (i.e., read returns ERR if no input is waiting).  If delay
      -        is  positive, then read blocks for delay milliseconds, and
      -        returns ERR if there is still no input.  Hence, these rou-
      -        tines  provide the same functionality as nodelay, plus the
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_insch.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_insch.3x.html
      ---- ncurses-5.3/doc/html/man/curs_insch.3x.html	Sat Jun 22 16:25:23 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_insch.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -59,7 +59,7 @@
      - 
      - 
      -

      DESCRIPTION

      --       These routines, insert the character ch before the charac-
      -+       These routines insert the character ch before the  charac-
      -        ter  under the cursor.  All characters to the right of the
      -        cursor are moved one space to the right, with  the  possi-
      -        bility  of the rightmost character on the line being lost.
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_mouse.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_mouse.3x.html
      ---- ncurses-5.3/doc/html/man/curs_mouse.3x.html	Sat Jul 27 19:39:34 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_mouse.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -2,7 +2,7 @@
      - 
      - 
      - 
      -@@ -213,29 +213,36 @@
      -        than  xterm  and  there  is  no gpm daemon running on your
      -        machine, mouse events will not be visible  to  ncurses(3x)
      -        (and the wmousemask function will always return 0).
      -+       If  the  terminfo entry contains a XM string, this is used
      -+       in the xterm mouse driver to control the way the  terminal
      -+       is initialized for mouse operation.  The default, if XM is
      -+       not found, corresponds to private mode 1000 of xterm:
      -+
      -+           \E[?1000%?%p1%{1}%=%th%el%;
      -+
      -        The z member in the event structure is not presently used.
      --       It is intended for use with touch screens  (which  may  be
      -+       It  is  intended  for use with touch screens (which may be
      -        pressure-sensitive)   or   with   3D-mice/trackballs/power
      -        gloves.
      - 
      - 
      - 
      -

      BUGS

      --       Mouse events under xterm will not in fact be ignored  dur-
      --       ing  cooked mode, if they have been enabled by wmousemask.
      --       Instead, the xterm mouse report sequence  will  appear  in
      -+       Mouse  events under xterm will not in fact be ignored dur-
      -+       ing cooked mode, if they have been enabled by  wmousemask.
      -+       Instead,  the  xterm  mouse report sequence will appear in
      -        the string read.
      - 
      -        Mouse events under xterm will not be detected correctly in
      --       a window with its keypad bit off, since  they  are  inter-
      --       preted  as  a  variety  of  function  key.   Your terminfo
      --       description must have kmous set to "\E[M"  (the  beginning
      -+       a  window  with  its keypad bit off, since they are inter-
      -+       preted as  a  variety  of  function  key.   Your  terminfo
      -+       description  must  have kmous set to "\E[M" (the beginning
      -        of the response from xterm for mouse clicks).
      - 
      --       Because  there  are  no  standard  terminal responses that
      --       would serve to identify terminals which support the  xterm
      --       mouse  protocol,  ncurses assumes that if your $TERM envi-
      --       ronment variable contains "xterm", or kmous is defined  in
      -+       Because there are  no  standard  terminal  responses  that
      -+       would  serve to identify terminals which support the xterm
      -+       mouse protocol, ncurses assumes that if your  $TERM  envi-
      -+       ronment  variable contains "xterm", or kmous is defined in
      -        the terminal description, then the terminal may send mouse
      -        events.
      - 
      -@@ -246,13 +253,6 @@
      - 
      - 
      - 
      --
      --
      --
      --
      --
      --
      --
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_outopts.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_outopts.3x.html
      ---- ncurses-5.3/doc/html/man/curs_outopts.3x.html	Sat Jun 22 16:25:25 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_outopts.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -100,7 +100,7 @@
      - 
      -        If  immedok is called with TRUE as argument, any change in
      -        the window image, such  as  the  ones  caused  by  waddch,
      --       wclrtobot, wscrl, etc., automatically cause a call to wre-
      -+       wclrtobot, wscrl, etc., automatically cause a call to wre-
      -        fresh.  However, it may degrade performance  considerably,
      -        due  to  repeated  calls  to  wrefresh.  It is disabled by
      -        default.
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_pad.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_pad.3x.html
      ---- ncurses-5.3/doc/html/man/curs_pad.3x.html	Sat Jun 22 16:25:25 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_pad.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -70,7 +70,7 @@
      -        sarily associated with a particular part  of  the  screen.
      -        Pads can be used when a large window is needed, and only a
      -        part of the window will be on  the  screen  at  one  time.
      --       Automatic refreshes of pads (e.g., from scrolling or echo-
      -+       Automatic refreshes of pads (e.g., from scrolling or echo-
      -        ing of input) do not occur.  It is not legal to call  wre-
      -        fresh  with a pad as an argument; the routines prefresh or
      -        pnoutrefresh should be called instead.   Note  that  these
      -@@ -106,7 +106,7 @@
      -        The pechochar routine is functionally equivalent to a call
      -        to  addch  followed by a call to refresh, a call to waddch
      -        followed by a call to wrefresh, or a call to  waddch  fol-
      --       lowed  by  a  call  to prefresh. The knowledge that only a
      -+       lowed  by  a  call  to prefresh. The knowledge that only a
      -        single character is being output is taken into  considera-
      -        tion  and, for non-control characters, a considerable per-
      -        formance gain  might  be  seen  by  using  these  routines
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_print.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_print.3x.html
      ---- ncurses-5.3/doc/html/man/curs_print.3x.html	Sat Jun 22 16:25:26 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_print.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_printw.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_printw.3x.html
      ---- ncurses-5.3/doc/html/man/curs_printw.3x.html	Sat Jul 27 19:39:35 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_printw.3x.html	Tue May 13 20:08:22 2003
      -@@ -27,7 +27,7 @@
      -   * sale, use or other dealings in this Software without prior written       *
      -   * authorization.                                                           *
      -   ****************************************************************************
      --  * @Id: curs_printw.3x,v 1.12 2002/07/20 15:01:43 tom Exp @
      -+  * @Id: curs_printw.3x,v 1.13 2002/11/16 22:28:57 tom Exp @
      - -->
      - 
      - 
      -@@ -51,45 +51,48 @@
      - 

      SYNOPSIS

      -        #include <curses.h>
      - 
      --       int printw(char *fmt, ...);
      --       int wprintw(WINDOW *win, char *fmt, ...);
      --       int mvprintw(int y, int x, char *fmt, ...);
      --       int mvwprintw(WINDOW *win, int y, int x, char *fmt, ...);
      --       int vwprintw(WINDOW *win, char *fmt, va_list varglist);
      --       int vw_printw(WINDOW *win, char *fmt, va_list varglist);
      -+       int printw(const char *fmt, ...);
      -+       int wprintw(WINDOW *win, const char *fmt, ...);
      -+       int mvprintw(int y, int x, const char *fmt, ...);
      -+       int mvwprintw(WINDOW *win, int y, int x, const char  *fmt,
      -+       ...);
      -+       int  vwprintw(WINDOW  *win,  const char *fmt, va_list var-
      -+       glist);
      -+       int vw_printw(WINDOW *win, const char *fmt,  va_list  var-
      -+       glist);
      - 
      - 
      - 
      -

      DESCRIPTION

      --       The printw, wprintw, mvprintw and mvwprintw  routines  are
      --       analogous  to  printf  [see  printf(3S)].   In effect, the
      -+       The  printw,  wprintw, mvprintw and mvwprintw routines are
      -+       analogous to printf  [see  printf(3S)].   In  effect,  the
      -        string that would be output by printf is output instead as
      -        though waddstr were used on the given window.
      - 
      --       The  vwprintw  and  wv_printw  routines  are  analogous to
      --       vprintf [see printf(3S)] and perform  a  wprintw  using  a
      --       variable  argument list.  The third argument is a va_list,
      --       a  pointer  to  a  list  of  arguments,  as   defined   in
      -+       The vwprintw  and  wv_printw  routines  are  analogous  to
      -+       vprintf  [see  printf(3S)]  and  perform a wprintw using a
      -+       variable argument list.  The third argument is a  va_list,
      -+       a   pointer   to  a  list  of  arguments,  as  defined  in
      -        <stdarg.h>.
      - 
      - 
      - 
      -

      RETURN VALUE

      --       Routines  that  return  an integer return ERR upon failure
      --       and OK (SVr4 only specifies "an integer value  other  than
      -+       Routines that return an integer return  ERR  upon  failure
      -+       and  OK  (SVr4 only specifies "an integer value other than
      -        ERR") upon successful completion.
      - 
      - 
      - 
      -

      PORTABILITY

      --       The  XSI  Curses  standard,  Issue 4 describes these func-
      --       tions.  The function vwprintw is marked TO  BE  WITHDRAWN,
      --       and  is  to  be replaced by a function vw_printw using the
      -+       The XSI Curses standard, Issue  4  describes  these  func-
      -+       tions.   The  function vwprintw is marked TO BE WITHDRAWN,
      -+       and is to be replaced by a function  vw_printw  using  the
      -        <stdarg.h> interface.  The Single Unix Specification, Ver-
      --       sion  2  states  that  vw_printw  is preferred to vwprintw
      --       since the latter  requires  including  <varargs.h>,  which
      --       cannot  be  used  in  the  same  file as <stdarg.h>.  This
      --       implementation uses  <stdarg.h>  for  both,  because  that
      -+       sion 2 states that vw_printw   is  preferred  to  vwprintw
      -+       since  the  latter  requires  including <varargs.h>, which
      -+       cannot be used in  the  same  file  as  <stdarg.h>.   This
      -+       implementation  uses  <stdarg.h>  for  both,  because that
      -        header is included in <curses.h>.
      - 
      - 
      -@@ -99,9 +102,6 @@
      - 
      - 
      - 
      --
      --
      --
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_scroll.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_scroll.3x.html
      ---- ncurses-5.3/doc/html/man/curs_scroll.3x.html	Sat Jun 22 16:25:27 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_scroll.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_slk.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_slk.3x.html
      ---- ncurses-5.3/doc/html/man/curs_slk.3x.html	Sat Jun 22 16:25:27 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_slk.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -115,7 +115,7 @@
      -        The  slk_clear  routine  clears  the  soft labels from the
      -        screen.
      - 
      --       The slk_restore routine, restores the soft labels  to  the
      -+       The slk_restore routine restores the soft  labels  to  the
      -        screen after a slk_clear has been performed.
      - 
      -        The  slk_touch  routine  forces  all the soft labels to be
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_termcap.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_termcap.3x.html
      ---- ncurses-5.3/doc/html/man/curs_termcap.3x.html	Sat Jun 22 16:25:28 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_termcap.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -136,32 +136,86 @@
      -        will put out a literal "50" rather than  busy-waiting  for
      -        50 milliseconds.  Cope with it.
      - 
      -+       Note  that termcap has nothing analogous to terminfo's sgr
      -+       string.  One consequence of this is that termcap  applica-
      -+       tions  assume me (terminfo sgr0) does not reset the alter-
      -+       nate character set.  This implementation checks  for,  and
      -+       modifies the data shown to the termcap interface to accom-
      -+       modate termcap's limitation in this respect.
      -+
      - 
      - 
      -

      PORTABILITY

      --       The  XSI  Curses  standard,  Issue 4 describes these func-
      --       tions.  However, they are marked TO BE WITHDRAWN  and  may
      -+       The XSI Curses standard, Issue  4  describes  these  func-
      -+       tions.   However,  they are marked TO BE WITHDRAWN and may
      -        be removed in future versions.
      - 
      --       Neither  the  XSI  Curses  standard nor the SVr4 man pages
      --       documented the return values of tgetent correctly,  though
      --       all  three were in fact returned ever since SVr1.  In par-
      --       ticular, an omission in the XSI Curses  documentation  has
      --       been  misinterpreted  to  mean  that tgetent returns OK or
      -+       Neither the XSI Curses standard nor  the  SVr4  man  pages
      -+       documented  the return values of tgetent correctly, though
      -+       all three were in fact returned ever since SVr1.  In  par-
      -+       ticular,  an  omission in the XSI Curses documentation has
      -+       been misinterpreted to mean that  tgetent  returns  OK  or
      -        ERR.  Because the purpose of these functions is to provide
      --       compatibility  with  the termcap library, that is a defect
      -+       compatibility with the termcap library, that is  a  defect
      -        in XCurses, Issue 4, Version 2 rather than in ncurses.
      - 
      --       External variables are provided  for  support  of  certain
      --       termcap  applications.  However, termcap applications' use
      -+       External  variables  are  provided  for support of certain
      -+       termcap applications.  However, termcap applications'  use
      -        of those variables is poorly documented, e.g., not distin-
      --       guishing  between  input  and output.  In particular, some
      -+       guishing between input and output.   In  particular,  some
      -        applications are reported to declare and/or modify ospeed.
      - 
      - 
      - 
      -

      SEE ALSO

      -        curses(3x), terminfo(5), putc(3S).
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      - 
      -
      -
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_terminfo.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_terminfo.3x.html ---- ncurses-5.3/doc/html/man/curs_terminfo.3x.html Sat Jul 27 19:39:37 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_terminfo.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_util.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_util.3x.html ---- ncurses-5.3/doc/html/man/curs_util.3x.html Sat Oct 12 18:27:58 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_util.3x.html Tue May 13 20:08:22 2003 -@@ -27,7 +27,7 @@ - * sale, use or other dealings in this Software without prior written * - * authorization. * - **************************************************************************** -- * @Id: curs_util.3x,v 1.9 2002/09/01 19:44:37 tom Exp @ -+ * @Id: curs_util.3x,v 1.10 2002/12/21 22:21:37 tom Exp @ - --> - - -@@ -110,17 +110,18 @@ - The delay_output routine inserts an ms millisecond pause - in output. This routine should not be used extensively - because padding characters are used rather than a CPU -- pause. -+ pause. If no padding character is specified, this uses -+ napms to perform the delay. - -- The flushinp routine throws away any typeahead that has -- been typed by the user and has not yet been read by the -+ The flushinp routine throws away any typeahead that has -+ been typed by the user and has not yet been read by the - program. - - -
      -

      RETURN VALUE

      --       Except  for  flushinp,  routines  that  return  an integer
      --       return ERR upon failure and OK (SVr4  specifies  only  "an
      -+       Except for  flushinp,  routines  that  return  an  integer
      -+       return  ERR  upon  failure and OK (SVr4 specifies only "an
      -        integer value other than ERR") upon successful completion.
      - 
      -        flushinp always returns OK.
      -@@ -130,22 +131,21 @@
      - 
      - 
      -

      PORTABILITY

      --       The XSI Curses standard, Issue  4  describes  these  func-
      --       tions.   It  states  that unctrl and wunctrl will return a
      --       null pointer if unsuccessful,  but  does  not  define  any
      -+       The  XSI  Curses  standard,  Issue 4 describes these func-
      -+       tions.  It states that unctrl and wunctrl  will  return  a
      -+       null  pointer  if  unsuccessful,  but  does not define any
      -        error conditions.
      - 
      -        The SVr4 documentation describes the action of filter only
      --       in the vaguest terms.  The  description  here  is  adapted
      --       from  the  XSI Curses standard (which erroneously fails to
      -+       in  the  vaguest  terms.   The description here is adapted
      -+       from the XSI Curses standard (which erroneously  fails  to
      -        describe the disabling of cuu).
      - 
      - 
      - 
      -

      SEE ALSO

      --       curses(3x), curs_initscr(3x), curs_scr_dump(3x).
      --
      --
      -+       curses(3x),       curs_initscr(3x),       curs_kernel(3x),
      -+       curs_scr_dump(3x).
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/curs_window.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_window.3x.html
      ---- ncurses-5.3/doc/html/man/curs_window.3x.html	Sat Jun 22 16:25:29 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/curs_window.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/define_key.3x.html ncurses-5.3.20030906.orig/doc/html/man/define_key.3x.html
      ---- ncurses-5.3/doc/html/man/define_key.3x.html	Sat Jun 22 16:25:29 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/define_key.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -51,7 +51,7 @@
      - 

      SYNOPSIS

      -        #include <curses.h>
      - 
      --       int define_key(char *definition, int keycode);
      -+       int define_key(const char *definition, int keycode);
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/form_field.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field.3x.html ---- ncurses-5.3/doc/html/man/form_field.3x.html Sat Jun 22 16:25:31 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/form_field.3x.html Sun Jul 20 14:02:08 2003 -@@ -2,7 +2,7 @@ - - - -@@ -69,7 +69,7 @@ - The function field_count returns the count of fields in - form. - -- The function move_field move the given field (which must -+ The function move_field moves the given field (which must - be disconnected) to a specified location on the screen. - - -diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_buffer.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_buffer.3x.html ---- ncurses-5.3/doc/html/man/form_field_buffer.3x.html Sat Jun 22 16:25:31 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/form_field_buffer.3x.html Sun Jul 20 14:02:08 2003 -@@ -2,7 +2,7 @@ - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_just.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_just.3x.html ---- ncurses-5.3/doc/html/man/form_field_just.3x.html Sat Jun 22 16:25:32 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/form_field_just.3x.html Sun Jul 20 14:02:08 2003 -@@ -2,7 +2,7 @@ - - - -@@ -68,7 +68,7 @@ - The function field_just returns one of: NO_JUSTIFICATION, - JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER. - -- The function set_field_just return one of the following: -+ The function set_field_just returns one of the following: - - E_OK The routine succeeded. - -diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_new.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_new.3x.html ---- ncurses-5.3/doc/html/man/form_field_new.3x.html Sat Jun 22 16:25:32 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/form_field_new.3x.html Sun Jul 20 14:02:08 2003 -@@ -2,7 +2,7 @@ - - - -@@ -115,8 +115,8 @@ - - It may be unwise to count on the set of attributes copied - by dup_field(3x) being portable; the System V forms -- library documents are not very explicit on what gets -- copied and was not. -+ library documents are not very explicit about what gets -+ copied and what doesn't. - - -
      -diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_opts.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_opts.3x.html ---- ncurses-5.3/doc/html/man/form_field_opts.3x.html Sat Jun 22 16:25:32 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/form_field_opts.3x.html Sun Jul 20 14:02:08 2003 -@@ -2,7 +2,7 @@ - - - -@@ -75,7 +75,7 @@ - - O_VISIBLE - The field is displayed. If this option is off, dis- -- play of the field is suppressed, -+ play of the field is suppressed. - - O_ACTIVE - The field is visited during processing. If this -@@ -98,7 +98,7 @@ - at the first position. - - O_AUTOSKIP -- Skip to the next field when this one fills -+ Skip to the next field when this one fills. - - - O_NULLOK -diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_validation.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_validation.3x.html ---- ncurses-5.3/doc/html/man/form_field_validation.3x.html Sat Jun 22 16:25:33 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/form_field_validation.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -@@ -53,12 +53,20 @@ - FIELDTYPE *field_type(const FIELD *field); - void *field_arg(const FIELD *field); - -+ FIELDTYPE *TYPE_ALNUM; -+ FIELDTYPE *TYPE_ALPHA; -+ FIELDTYPE *TYPE_ENUM; -+ FIELDTYPE *TYPE_INTEGER; -+ FIELDTYPE *TYPE_NUMERIC; -+ FIELDTYPE *TYPE_REGEXP; -+ FIELDTYPE *TYPE_IPV4; -+ - - -

      DESCRIPTION

      -        The  function  set_field_type  declares  a data type for a
      -        given form field.  This is the type checked by  validation
      --       functions.  The types are as follows:
      -+       functions.  The predefined types are as follows:
      - 
      -        TYPE_ALNUM
      -             Alphanumeric  data.  Requires a third int argument, a
      -@@ -78,7 +86,7 @@
      -             than  one  list  elements  with  that prefix). Please
      -             notice that the string list is  not  copied,  only  a
      -             reference to it is stored in the field. So you should
      --            avoid to use a list that lives in automatic variables
      -+            avoid using a list that lives in automatic  variables
      -             on the stack.
      - 
      -        TYPE_INTEGER
      -@@ -86,9 +94,9 @@
      -             Requires a third int argument controlling the  preci-
      -             sion,  a  fourth  long  argument constraining minimum
      -             value, and a fifth long constraining  maximum  value.
      --            If  the  maximum  value  is less or equal the minimum
      --            value, the range is simply  ignored.  On  return  the
      --            field  buffer  is  formatted  according to the printf
      -+            If  the  maximum  value  is less than or equal to the
      -+            minimum value, the range is simply ignored. On return
      -+            the field buffer is formatted according to the printf
      -             format  specification  ".*ld",  where  the   '*'   is
      -             replaced  by  the precision argument.  For details of
      -             the precision handling see printf's man-page.
      -@@ -98,47 +106,48 @@
      -             Requires  a third int argument controlling the preci-
      -             sion, a fourth double argument  constraining  minimum
      -             value, and a fifth double constraining maximum value.
      --            If your system supports locale's, the  decimal  point
      -+            If your system supports locales,  the  decimal  point
      -             character  to  be  used  must be the one specified by
      --            your locale.  If the maximum value is less  or  equal
      --            the  minimum  value,  the range is simply ignored. On
      --            return the field buffer is formatted according to the
      --            printf  format  specification ".*f", where the '*' is
      --            replaced by the precision argument.  For  details  of
      --            the precision handling see printf's man-page.
      -+            your locale.  If the maximum value is  less  than  or
      -+            equal  to  the  minimum  value,  the  range is simply
      -+            ignored. On return  the  field  buffer  is  formatted
      -+            according  to  the printf format specification ".*f",
      -+            where the '*' is replaced by the precision  argument.
      -+            For  details  of  the precision handling see printf's
      -+            man-page.
      - 
      -        TYPE_REGEXP
      --            Regular  expression data.  Requires a regular expres-
      --            sion (char *) third argument; the data  is  valid  if
      --            the  regular  expression matches it.  Regular expres-
      --            sions  are  in  the   format   of   regcomp(3x)   and
      --            regexec(3x).  Please  notice that the regular expres-
      --            sion must match the whole  field.  If  you  have  for
      --            example  an  eight  character  wide  field, a regular
      --            expression "^[0-9]*$" always means that you  have  to
      --            fill  all eight positions with digits. If you want to
      --            allow fewer digits, you may use for example  "^[0-9]*
      -+            Regular expression data.  Requires a regular  expres-
      -+            sion  (char  *)  third argument; the data is valid if
      -+            the regular expression matches it.   Regular  expres-
      -+            sions   are   in   the   format  of  regcomp(3x)  and
      -+            regexec(3x). Please notice that the  regular  expres-
      -+            sion  must  match  the  whole  field. If you have for
      -+            example an eight  character  wide  field,  a  regular
      -+            expression  "^[0-9]*$"  always means that you have to
      -+            fill all eight positions with digits. If you want  to
      -+            allow  fewer digits, you may use for example "^[0-9]*
      -             *$" which is good for trailing spaces (up to an empty
      --            field), or "^ *[0-9]* *$" which is good  for  leading
      -+            field),  or  "^ *[0-9]* *$" which is good for leading
      -             and trailing spaces around the digits.
      - 
      -        TYPE_IPV4
      -             An Internet Protocol Version 4 address. This requires
      --            no additional argument. It is checked whether or  not
      --            the  buffer  has  the form a.b.c.d, where a,b,c and d
      -+            no  additional argument. It is checked whether or not
      -+            the buffer has the form a.b.c.d, where  a,b,c  and  d
      -             are numbers between 0 and 255. Trailing blanks in the
      --            buffer  are  ignored. The address itself is not vali-
      -+            buffer are ignored. The address itself is  not  vali-
      -             dated. Please note that this is an ncurses extension.
      --            This  field type may not be available in other curses
      -+            This field type may not be available in other  curses
      -             implementations.
      - 
      --            It is possible to set up new programmer-defined field
      --            types.  See the form_fieldtype(3x) manual page.
      -+       It  is  possible  to  set  up new programmer-defined field
      -+       types.  See the form_fieldtype(3x) manual page.
      - 
      - 
      - 
      -

      RETURN VALUE

      --       The  functions  field_type  and  field_arg  return NULL on
      -+       The functions field_type  and  field_arg  return  NULL  on
      -        error. The function set_field_type returns one of the fol-
      -        lowing:
      - 
      -@@ -148,6 +157,7 @@
      -             System error occurred (see errno).
      - 
      - 
      -+
      - 
      -

      SEE ALSO

      -        curses(3x), form(3x).
      -@@ -161,26 +171,17 @@
      - 
      - 
      -

      PORTABILITY

      --       These routines emulate the System V forms  library.   They
      -+       These  routines  emulate the System V forms library.  They
      -        were not supported on Version 7 or BSD versions.
      - 
      - 
      - 
      -

      AUTHORS

      --       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
      -+       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
      -        curses by Eric S. Raymond.
      - 
      - 
      - 
      --
      --
      --
      --
      --
      --
      --
      --
      --
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/form_fieldtype.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_fieldtype.3x.html
      ---- ncurses-5.3/doc/html/man/form_fieldtype.3x.html	Sat Jun 22 16:25:33 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/form_fieldtype.3x.html	Sun Jul 20 14:02:08 2003
      -@@ -2,7 +2,7 @@
      - 
      - 
      - 
      -@@ -72,11 +72,11 @@
      -        The function new_fieldtype creates a new field type usable
      -        for data validation.  You supply it  with  field_check,  a
      -        predicate  to check the validity of an entered data string
      --       whenever the user attempt to leave a field.  The (FIELD *)
      --       argument  is passed in so the validation predicate can see
      --       the field's buffer, sizes and other attributes; the second
      --       argument  is an argument-block structure, about which more
      --       below.
      -+       whenever the user attempts to leave a field.   The  (FIELD
      -+       *)  argument  is passed in so the validation predicate can
      -+       see the field's buffer, sizes and  other  attributes;  the
      -+       second  argument  is  an  argument-block  structure, about
      -+       which more below.
      - 
      -        You also supply new_fieldtype with char_check, a  function
      -        to  validate input characters as they are entered; it will
      -@@ -86,20 +86,24 @@
      -        The  function free_fieldtype frees the space allocated for
      -        a given validation type.
      - 
      --       The function set_fieldtype associates  three  storage-man-
      --       agement functions with a field type.  The mak_arg function
      --       is automatically applied to the list of arguments you give
      --       set_field_type  when  attaching validation to a field; its
      --       job is to bundle these into  an  allocated  argument-block
      --       object which can later be passed to validation predicated.
      --       The other two hook arguments should copy  and  free  argu-
      --       ment-block  structures.   They  will be used by the forms-
      --       driver code. You must supply  the  mak_arg  function,  the
      --       other  two  are optional, you may supply NULL for them. In
      --       this case it is assumed,  that  mak_arg  doesn't  allocate
      -+       The function set_fieldtype_arg associates  three  storage-
      -+       management  functions  with  a  field  type.  The make_arg
      -+       function is automatically applied to the list of arguments
      -+       you  give  set_field_type  when  attaching validation to a
      -+       field; its job is to bundle these into an allocated  argu-
      -+       ment-block  object which can later be passed to validation
      -+       predicated.  The other two hook arguments should copy  and
      -+       free  argument-block structures.  They will be used by the
      -+       forms-driver code.  You must supply the make_arg function,
      -+       the  other two are optional, you may supply NULL for them.
      -+       In this case it is assumed that make_arg does not allocate
      -        memory  but simply loads the argument into a single scalar
      -        value.
      - 
      -+       The function link_fieldtype creates a new field type  from
      -+       the  two  given  types.   They are connected by an logical
      -+       'OR'.
      -+
      -        The   form    driver    requests    REQ_NEXT_CHOICE    and
      -        REQ_PREV_CHOICE assume that the possible values of a field
      -        form an ordered set, and provide the forms user with a way
      -@@ -158,10 +162,6 @@
      - 
      - 
      - 
      --
      --
      --
      --
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/infocmp.1m.html ncurses-5.3.20030906.orig/doc/html/man/infocmp.1m.html
      ---- ncurses-5.3/doc/html/man/infocmp.1m.html	Sat Oct 12 18:28:05 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/infocmp.1m.html	Sun Jul 20 14:02:08 2003
      -@@ -2,7 +2,7 @@
      - 
      - 
      - 
      -@@ -313,8 +313,8 @@
      - 
      -             An   SGR0  designates  an  empty  highlight  sequence
      -             (equivalent to {SGR:NORMAL}).
      --       -
      --       l    Set output format to terminfo.
      -+
      -+       -l   Set output format to terminfo.
      - 
      -        -p   Ignore padding specifications when comparing strings.
      - 
      -@@ -387,13 +387,13 @@
      - 
      -        The -r option's notion of `termcap' capabilities is System
      -        V Release 4's.  Actual BSD curses  versions  will  have  a
      --       more  restricted  set.  To see only the 4.4BSD set, use -r
      --       -RBSD.
      -+       more  restricted  set.  To see only the 4.4BSD set, use -r
      -+       -RBSD.
      - 
      - 
      - 
      -

      BUGS

      --       The -F option of infocmp(1m) should be a toe(1m) mode.
      -+       The -F option of infocmp(1m) should be a toe(1m) mode.
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/infotocap.1m.html ncurses-5.3.20030906.orig/doc/html/man/infotocap.1m.html ---- ncurses-5.3/doc/html/man/infotocap.1m.html Sat Jun 22 16:25:36 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/infotocap.1m.html Sun Jul 20 14:02:08 2003 -@@ -2,7 +2,7 @@ - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/key_defined.3x.html ncurses-5.3.20030906.orig/doc/html/man/key_defined.3x.html ---- ncurses-5.3/doc/html/man/key_defined.3x.html Wed Dec 31 18:00:00 1969 -+++ ncurses-5.3.20030906.orig/doc/html/man/key_defined.3x.html Sun Jul 20 14:02:08 2003 -@@ -0,0 +1,119 @@ -+ -+ -+ -+ -+key_defined 3x -+ -+ -+ -+ -+

      key_defined 3x

      -+
      -+
      -+
      -+
      -+
      -+

      NAME

      -+       define_key - define a keycode
      -+
      -+
      -+
      -+

      SYNOPSIS

      -+       #include <curses.h>
      -+
      -+       int key_defined(const char *definition);
      -+
      -+
      -+
      -+

      DESCRIPTION

      -+       This is an extension to the curses library.  It permits an
      -+       application to determine if a string is currently bound to
      -+       any keycode.
      -+
      -+
      -+
      -+

      RETURN VALUE

      -+       If  the  string  is bound to a keycode, its value (greater
      -+       than zero) is returned.  If no keycode is bound,  zero  is
      -+       returned.   If  the  string  conflicts with longer strings
      -+       which are bound to keys, -1 is returned.
      -+
      -+
      -+
      -+

      PORTABILITY

      -+       These routines are specific to  ncurses.   They  were  not
      -+       supported  on  Version 7, BSD or System V implementations.
      -+       It is recommended that any code depending on them be  con-
      -+       ditioned using NCURSES_VERSION.
      -+
      -+
      -+
      -+

      SEE ALSO

      -+       define_key(3x).
      -+
      -+
      -+
      -+

      AUTHOR

      -+       Thomas Dickey.
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+
      -+Man(1) output converted with -+man2html -+
      -+ -+ -diff -urNd -urNd ncurses-5.3/doc/html/man/keybound.3x.html ncurses-5.3.20030906.orig/doc/html/man/keybound.3x.html ---- ncurses-5.3/doc/html/man/keybound.3x.html Sat Jun 22 16:25:36 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/keybound.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -@@ -63,10 +63,12 @@ - - -

      RETURN VALUE

      --       The  keycode  must  be  greater  than  zero,  else NULL is
      --       returned.  If it does not correspond  to  a  defined  key,
      --       then  NULL is returned.  Otherwise, the function returns a
      --       string, which must be freed by the caller.
      -+       The keycode parameter must be greater than zero, else NULL
      -+       is returned.  If it does not correspond to a defined  key,
      -+       then  NULL  is  returned.   The count parameter is used to
      -+       allow the application to iterate through multiple  defini-
      -+       tions,  counting from zero.  When successful, the function
      -+       returns a string which must be freed by the caller.
      - 
      - 
      - 
      -@@ -88,8 +90,6 @@ - - - -- -- - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/menu_driver.3x.html ncurses-5.3.20030906.orig/doc/html/man/menu_driver.3x.html ---- ncurses-5.3/doc/html/man/menu_driver.3x.html Sat Jun 22 16:25:37 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/menu_driver.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/menu_pattern.3x.html ncurses-5.3.20030906.orig/doc/html/man/menu_pattern.3x.html ---- ncurses-5.3/doc/html/man/menu_pattern.3x.html Sat Jun 22 16:25:39 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/menu_pattern.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/ncurses.3x.html ncurses-5.3.20030906.orig/doc/html/man/ncurses.3x.html ---- ncurses-5.3/doc/html/man/ncurses.3x.html Sat Aug 31 16:59:48 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/ncurses.3x.html Sun Jul 20 14:02:08 2003 -@@ -2,7 +2,7 @@ - - - -@@ -354,6 +354,7 @@ - is_linetouched curs_touch(3x) - is_wintouched curs_touch(3x) - isendwin curs_initscr(3x) -+ key_defined key_defined(3x)* - key_name curs_util(3x) - keybound keybound(3x)* - keyname curs_util(3x) -@@ -369,8 +370,8 @@ - mouseinterval curs_mouse(3x)* - mousemask curs_mouse(3x)* - move curs_move(3x) -- mvadd_wch curs_add_wch(3x) - -+ mvadd_wch curs_add_wch(3x) - mvadd_wchnstr curs_add_wchstr(3x) - mvadd_wchstr curs_add_wchstr(3x) - mvaddch curs_addch(3x) -@@ -423,8 +424,8 @@ - mvwaddstr curs_addstr(3x) - mvwaddwstr curs_addwstr(3x) - mvwchgat curs_attr(3x) -- mvwdelch curs_delch(3x) - -+ mvwdelch curs_delch(3x) - mvwget_wch curs_get_wch(3x) - mvwget_wstr curs_get_wstr(3x) - mvwgetch curs_getch(3x) -@@ -477,8 +478,8 @@ - putwin curs_util(3x) - qiflush curs_inopts(3x) - raw curs_inopts(3x) -- redrawwin curs_refresh(3x) - -+ redrawwin curs_refresh(3x) - refresh curs_refresh(3x) - reset_prog_mode curs_kernel(3x) - reset_shell_mode curs_kernel(3x) -@@ -531,8 +532,8 @@ - tgetflag curs_termcap(3x) - tgetnum curs_termcap(3x) - tgetstr curs_termcap(3x) -- tgoto curs_termcap(3x) - -+ tgoto curs_termcap(3x) - tigetflag curs_terminfo(3x) - tigetnum curs_terminfo(3x) - tigetstr curs_terminfo(3x) -@@ -585,8 +586,8 @@ - wbkgrndset curs_bkgrnd(3x) - wborder curs_border(3x) - wborder_set curs_border_set(3x) -- wchgat curs_attr(3x) - -+ wchgat curs_attr(3x) - wclear curs_clear(3x) - wclrtobot curs_clear(3x) - wclrtoeol curs_clear(3x) -@@ -639,8 +640,8 @@ - wstandout curs_attr(3x) - wsyncdown curs_window(3x) - wsyncup curs_window(3x) -- wtimeout curs_inopts(3x) - -+ wtimeout curs_inopts(3x) - wtouchln curs_touch(3x) - wunctrl curs_util(3x) - wvline curs_border(3x) -@@ -655,9 +656,9 @@ - descriptions. - - All macros return the value of the w version, except -- setscrreg, wsetscrreg, getyx, getbegyx, getmaxyx. The -+ setscrreg, wsetscrreg, getyx, getbegyx, and getmaxyx. The - return values of setscrreg, wsetscrreg, getyx, getbegyx, -- and getmaxyx are undefined (i.e., these should not be used -+ and getmaxyx are undefined (i.e., these should not be used - as the right-hand side of assignment statements). - - Routines that return pointers return NULL on error. -@@ -674,7 +675,7 @@ - The debugging library checks this environment symbol - when the application has redirected output to a file. - The symbol's numeric value is used for the baudrate. -- If no value is found ncurses uses 9600. This allows -+ If no value is found, ncurses uses 9600. This allows - testers to construct repeatable test-cases that take - into account costs that depend on baudrate. - -@@ -698,7 +699,6 @@ - host which does not honor NAWS (Negotiations About - Window Size), or because you are temporarily running - as another user. -- - Either COLUMNS or LINES symbols may be specified - independently. This is mainly useful to circumvent - legacy misfeatures of terminal descriptions, e.g., -@@ -838,7 +838,7 @@ - The complete list of directories in order follows: - - - the last directory to which ncurses wrote, if any, -- is searched first. -+ is searched first - - - the directory specified by the TERMINFO symbol - -@@ -910,8 +910,8 @@ - The ncurses library extends the fixed set of function key - capabilities of terminals by allowing the application - designer to define additional key sequences at runtime. -- See the define_key(3x) and keyok(3x) manual pages for -- details. -+ See the define_key(3x) key_defined(3x), and keyok(3x) -+ manual pages for details. - - The ncurses library can exploit the capabilities of - terminals which implement the ISO-6429 SGR 39 and SGR 49 -diff -urNd -urNd ncurses-5.3/doc/html/man/panel.3x.html ncurses-5.3.20030906.orig/doc/html/man/panel.3x.html ---- ncurses-5.3/doc/html/man/panel.3x.html Sat Jun 22 16:25:43 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/panel.3x.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -@@ -81,7 +81,7 @@ - of the stack. - - A window is associated with every panel. The panel rou- -- tines enable you to create, move, hides, and show panels, -+ tines enable you to create, move, hide, and show panels, - as well as position a panel at any desired location in the - stack. - -diff -urNd -urNd ncurses-5.3/doc/html/man/term.5.html ncurses-5.3.20030906.orig/doc/html/man/term.5.html ---- ncurses-5.3/doc/html/man/term.5.html Sat Aug 31 16:59:49 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/term.5.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/term.7.html ncurses-5.3.20030906.orig/doc/html/man/term.7.html ---- ncurses-5.3/doc/html/man/term.7.html Sat Jun 22 16:25:44 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/term.7.html Sun Jul 20 14:02:08 2003 -@@ -1,7 +1,7 @@ - - - - -@@ -126,10 +126,10 @@ - ters or digits. You need to avoid using punctuation char- - acters in root names, because they are used and inter- - preted as filenames and shell meta-characters (such as !, -- $, *, ? etc.) embedded in them may cause odd and unhelpful -- behavior. The slash (/), or any other character that may -- be interpreted by anyone's file system (\, $, [, ]), is -- especially dangerous (terminfo is platform-independent, -+ $, *, ?, etc.) embedded in them may cause odd and unhelp- -+ ful behavior. The slash (/), or any other character that -+ may be interpreted by anyone's file system (\, $, [, ]), -+ is especially dangerous (terminfo is platform-independent, - and choosing names with special characters could someday - make life difficult for users of a future port). The dot - (.) character is relatively safe as long as there is at -@@ -169,23 +169,23 @@ - another that has this suffix and uses magic cookies - to support multiple attributes. - -- -am Enable auto-margin (right-margin wraparound) -+ -am Enable auto-margin (right-margin wraparound). - -- -m Mono mode - suppress color support -+ -m Mono mode - suppress color support. - - -na No arrow keys - termcap ignores arrow keys which are - actually there on the terminal, so the user can use - the arrow keys locally. - -- -nam No auto-margin - suppress am capability -+ -nam No auto-margin - suppress am capability. - -- -nl No labels - suppress soft labels -+ -nl No labels - suppress soft labels. - -- -nsl No status line - suppress status line -+ -nsl No status line - suppress status line. - - -pp Has a printer port which is used. - -- -rv Terminal in reverse video mode (black on white) -+ -rv Terminal in reverse video mode (black on white). - - -s Enable status line. - -@@ -223,10 +223,10 @@ - compiled terminal capability data base - - /etc/inittab -- tty line initialization (AT&T-like UNIXes). -+ tty line initialization (AT&T-like UNIXes) - - /etc/ttys -- tty line initialization (BSD-like UNIXes). -+ tty line initialization (BSD-like UNIXes) - - - -diff -urNd -urNd ncurses-5.3/doc/html/man/terminfo.5.html ncurses-5.3.20030906.orig/doc/html/man/terminfo.5.html ---- ncurses-5.3/doc/html/man/terminfo.5.html Sat Aug 31 16:59:51 2002 -+++ ncurses-5.3.20030906.orig/doc/html/man/terminfo.5.html Tue May 13 20:08:22 2003 -@@ -34,7 +34,7 @@ - **************************************************************************** - * @Id: terminfo.head,v 1.10 2002/08/17 23:37:10 tom Exp @ - * Head of terminfo man page ends here -- * @Id: terminfo.tail,v 1.35 2002/04/20 16:49:33 tom Exp @ -+ * @Id: terminfo.tail,v 1.38 2003/01/05 22:47:05 tom Exp @ - * Beginning of terminfo.tail file - *.TH - --> -@@ -1221,38 +1221,75 @@ - The parameter mechanism uses a stack and special % codes - to manipulate it. Typically a sequence will push one of - the parameters onto the stack and then print it in some -- format. Often more complex operations are necessary. -+ format. Print (e.g., "%d") is a special case. Other -+ operations, including "%t" pop their operand from the -+ stack. It is noted that more complex operations are often -+ necessary, e.g., in the sgr string. - - The % encodings have the following meanings: - -- %% outputs `%' -- %[[:]flags][width[.precision]][doxXs] -- as in printf, flags are [-+#] and space -- %c print pop() like %c in printf() -- %s print pop() like %s in printf() - -- %p[1-9] push i'th parm -- %P[a-z] set dynamic variable [a-z] to pop() -- %g[a-z] get dynamic variable [a-z] and push it -- %P[A-Z] set static variable [a-z] to pop() -- %g[A-Z] get static variable [a-z] and push it -- %'c' char constant c -- %{nn} integer constant nn -- %l push strlen(pop) -+ %% outputs `%' - -- %+ %- %* %/ %m -- arithmetic (%m is mod): push(pop() op pop()) -- %& %| %^ bit operations: push(pop() op pop()) -- %= %> %< logical operations: push(pop() op pop()) -- %A, %O logical and & or operations (for conditionals) -- %! %~ unary operations push(op pop()) -- %i add 1 to first two parameters (for ANSI terminals) -+ %[[:]flags][width[.precision]][doxXs] -+ as in printf, flags are [-+#] and space - -- %? expr %t thenpart %e elsepart %; -- if-then-else, %e elsepart is optional. -- else-if's are possible a la Algol 68: -- %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %; -- ci are conditions, bi are bodies. -+ %c print pop() like %c in printf -+ -+ %s print pop() like %s in printf -+ -+ %p[1-9] -+ push i'th parameter -+ -+ %P[a-z] -+ set dynamic variable [a-z] to pop() -+ -+ -+ %g[a-z] -+ get dynamic variable [a-z] and push it -+ -+ %P[A-Z] -+ set static variable [a-z] to pop() -+ -+ %g[A-Z] -+ get static variable [a-z] and push it -+ -+ The terms "static" and "dynamic" are misleading. -+ Historically, these are simply two different sets of -+ variables, whose values are not reset between calls -+ to tparm. However, that fact is not documented in -+ other implementations. Relying on it will adversely -+ impact portability to other implementations. -+ -+ %'c' char constant c -+ -+ %{nn} -+ integer constant nn -+ -+ %l push strlen(pop) -+ -+ %+ %- %* %/ %m -+ arithmetic (%m is mod): push(pop() op pop()) -+ -+ %& %| %^ -+ bit operations: push(pop() op pop()) -+ -+ %= %> %< -+ logical operations: push(pop() op pop()) -+ -+ %A, %O -+ logical and & or operations (for conditionals) -+ -+ %! %~ -+ unary operations push(op pop()) -+ -+ %i add 1 to first two parameters (for ANSI terminals) -+ -+ %? expr %t thenpart %e elsepart %; -+ if-then-else, %e elsepart is optional. else-if's are -+ possible a la Algol 68: -+ %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %; -+ ci are conditions, bi are bodies. - - Binary operations are in postfix form with the operands in - the usual order. That is, to get x-5 one would use -@@ -1531,6 +1568,7 @@ - - tparm parameter attribute escape sequence - -+ - none none \E[0m - p1 standout \E[0;1;7m - p2 underline \E[0;4m -@@ -1568,7 +1606,6 @@ - ;5 if p4 %?%p4%|%t;5%; - ;7 if p1 or p3 %?%p1%p3%|%t;7%; - ;8 if p7 %?%p7%|%t;8%; -- - m always m - ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%; - -@@ -1622,170 +1659,168 @@ - rmkx. Otherwise the keypad is assumed to always transmit. - The codes sent by the left arrow, right arrow, up arrow, - down arrow, and home keys can be given as kcub1, kcuf1, -- kcuu1, kcud1, and khome respectively. If there are -- function keys such as f0, f1, ..., f10, the codes they -- send can be given as kf0, kf1, ..., kf10. If these keys -- have labels other than the default f0 through f10, the -- labels can be given as lf0, lf1, ..., lf10. The codes -- transmitted by certain other special keys can be given: -- kll (home down), kbs (backspace), ktbc (clear all tabs), -- kctab (clear the tab stop in this column), kclr (clear -- screen or erase key), kdch1 (delete character), kdl1 -- (delete line), krmir (exit insert mode), kel (clear to end -- of line), ked (clear to end of screen), kich1 (insert -- character or enter insert mode), kil1 (insert line), knp -- (next page), kpp (previous page), kind (scroll for- -- ward/down), kri (scroll backward/up), khts (set a tab stop -- in this column). In addition, if the keypad has a 3 by 3 -- array of keys including the four arrow keys, the other -- five keys can be given as ka1, ka3, kb2, kc1, and kc3. -- These keys are useful when the effects of a 3 by 3 direc- -- tional pad are needed. -- -- Strings to program function keys can be given as pfkey, -- pfloc, and pfx. A string to program screen labels should -- be specified as pln. Each of these strings takes two -- parameters: the function key number to program (from 0 to -- 10) and the string to program it with. Function key num- -- bers out of this range may program undefined keys in a -- terminal dependent manner. The difference between the -- capabilities is that pfkey causes pressing the given key -- to be the same as the user typing the given string; pfloc -+ kcuu1, kcud1, and khome respectively. If there are func- -+ tion keys such as f0, f1, ..., f10, the codes they send -+ can be given as kf0, kf1, ..., kf10. If these keys have -+ labels other than the default f0 through f10, the labels -+ can be given as lf0, lf1, ..., lf10. The codes transmit- -+ ted by certain other special keys can be given: kll (home -+ down), kbs (backspace), ktbc (clear all tabs), kctab -+ (clear the tab stop in this column), kclr (clear screen or -+ erase key), kdch1 (delete character), kdl1 (delete line), -+ krmir (exit insert mode), kel (clear to end of line), ked -+ (clear to end of screen), kich1 (insert character or enter -+ insert mode), kil1 (insert line), knp (next page), kpp -+ (previous page), kind (scroll forward/down), kri (scroll -+ backward/up), khts (set a tab stop in this column). In -+ addition, if the keypad has a 3 by 3 array of keys includ- -+ ing the four arrow keys, the other five keys can be given -+ as ka1, ka3, kb2, kc1, and kc3. These keys are useful -+ when the effects of a 3 by 3 directional pad are needed. -+ Strings to program function keys can be given as pfkey, -+ pfloc, and pfx. A string to program screen labels should -+ be specified as pln. Each of these strings takes two -+ parameters: the function key number to program (from 0 to -+ 10) and the string to program it with. Function key num- -+ bers out of this range may program undefined keys in a -+ terminal dependent manner. The difference between the -+ capabilities is that pfkey causes pressing the given key -+ to be the same as the user typing the given string; pfloc - causes the string to be executed by the terminal in local; -- and pfx causes the string to be transmitted to the com- -+ and pfx causes the string to be transmitted to the com- - puter. - - The capabilities nlab, lw and lh define the number of pro- -- grammable screen labels and their width and height. If -- there are commands to turn the labels on and off, give -- them in smln and rmln. smln is normally output after one -+ grammable screen labels and their width and height. If -+ there are commands to turn the labels on and off, give -+ them in smln and rmln. smln is normally output after one - or more pln sequences to make sure that the change becomes - visible. - - - Tabs and Initialization -- If the terminal has hardware tabs, the command to advance -- to the next tab stop can be given as ht (usually control -- I). A ``back-tab'' command which moves leftward to the -+ If the terminal has hardware tabs, the command to advance -+ to the next tab stop can be given as ht (usually control -+ I). A ``back-tab'' command which moves leftward to the - preceding tab stop can be given as cbt. By convention, if -- the teletype modes indicate that tabs are being expanded -- by the computer rather than being sent to the terminal, -- programs should not use ht or cbt even if they are pre- -- sent, since the user may not have the tab stops properly -- set. If the terminal has hardware tabs which are ini- -+ the teletype modes indicate that tabs are being expanded -+ by the computer rather than being sent to the terminal, -+ programs should not use ht or cbt even if they are pre- -+ sent, since the user may not have the tab stops properly -+ set. If the terminal has hardware tabs which are ini- - tially set every n spaces when the terminal is powered up, -- the numeric parameter it is given, showing the number of -- spaces the tabs are set to. This is normally used by the -- tset command to determine whether to set the mode for -- hardware tab expansion, and whether to set the tab stops. -- If the terminal has tab stops that can be saved in non- -- volatile memory, the terminfo description can assume that -+ the numeric parameter it is given, showing the number of -+ spaces the tabs are set to. This is normally used by the -+ tset command to determine whether to set the mode for -+ hardware tab expansion, and whether to set the tab stops. -+ If the terminal has tab stops that can be saved in non- -+ volatile memory, the terminfo description can assume that - they are properly set. - -- Other capabilities include is1, is2, and is3, initializa- -- tion strings for the terminal, iprog, the path name of a -- program to be run to initialize the terminal, and if, the -- name of a file containing long initialization strings. -- These strings are expected to set the terminal into modes -- consistent with the rest of the terminfo description. -+ Other capabilities include is1, is2, and is3, initializa- -+ tion strings for the terminal, iprog, the path name of a -+ program to be run to initialize the terminal, and if, the -+ name of a file containing long initialization strings. -+ These strings are expected to set the terminal into modes -+ consistent with the rest of the terminfo description. - They are normally sent to the terminal, by the init option -- of the tput program, each time the user logs in. They -- will be printed in the following order: run the program -- iprog; output is1; is2; set the margins using mgc, smgl -- and smgr; set tabs using tbc and hts; print the file if; -+ of the tput program, each time the user logs in. They -+ will be printed in the following order: run the program -+ iprog; output is1; is2; set the margins using mgc, smgl -+ and smgr; set tabs using tbc and hts; print the file if; - and finally output is3. - -- Most initialization is done with is2. Special terminal -+ Most initialization is done with is2. Special terminal - modes can be set up without duplicating strings by putting -- the common sequences in is2 and special cases in is1 and -- is3. A pair of sequences that does a harder reset from a -- totally unknown state can be analogously given as rs1, -- rs2, rf, and rs3, analogous to is2 and if. These strings -- are output by the reset program, which is used when the -- terminal gets into a wedged state. Commands are normally -- placed in rs1, rs2 rs3 and rf only if they produce annoy- -- ing effects on the screen and are not necessary when log- -- ging in. For example, the command to set the vt100 into -- 80-column mode would normally be part of is2, but it -- causes an annoying glitch of the screen and is not nor- -- mally needed since the terminal is usually already in 80 -+ the common sequences in is2 and special cases in is1 and -+ is3. A pair of sequences that does a harder reset from a -+ totally unknown state can be analogously given as rs1, -+ rs2, rf, and rs3, analogous to is2 and if. These strings -+ are output by the reset program, which is used when the -+ terminal gets into a wedged state. Commands are normally -+ placed in rs1, rs2 rs3 and rf only if they produce annoy- -+ ing effects on the screen and are not necessary when log- -+ ging in. For example, the command to set the vt100 into -+ 80-column mode would normally be part of is2, but it -+ causes an annoying glitch of the screen and is not nor- -+ mally needed since the terminal is usually already in 80 - column mode. - - If there are commands to set and clear tab stops, they can -- be given as tbc (clear all tab stops) and hts (set a tab -- stop in the current column of every row). If a more com- -- plex sequence is needed to set the tabs than can be -- described by this, the sequence can be placed in is2 or -+ be given as tbc (clear all tab stops) and hts (set a tab -+ stop in the current column of every row). If a more com- -+ plex sequence is needed to set the tabs than can be -+ described by this, the sequence can be placed in is2 or - if. - - Delays and Padding -- Many older and slower terminals don't support either -+ Many older and slower terminals don't support either - XON/XOFF or DTR handshaking, including hard copy terminals -- and some very archaic CRTs (including, for example, DEC -- VT100s). These may require padding characters after cer- -+ and some very archaic CRTs (including, for example, DEC -+ VT100s). These may require padding characters after cer- - tain cursor motions and screen changes. - - If the terminal uses xon/xoff handshaking for flow control -- (that is, it automatically emits ^S back to the host when -+ (that is, it automatically emits ^S back to the host when - its input buffers are close to full), set xon. This capa- -- bility suppresses the emission of padding. You can also -- set it for memory-mapped console devices effectively that -- don't have a speed limit. Padding information should -- still be included so that routines can make better deci- -+ bility suppresses the emission of padding. You can also -+ set it for memory-mapped console devices effectively that -+ don't have a speed limit. Padding information should -+ still be included so that routines can make better deci- - sions about relative costs, but actual pad characters will - not be transmitted. - -- If pb (padding baud rate) is given, padding is suppressed -- at baud rates below the value of pb. If the entry has no -- padding baud rate, then whether padding is emitted or not -+ If pb (padding baud rate) is given, padding is suppressed -+ at baud rates below the value of pb. If the entry has no -+ padding baud rate, then whether padding is emitted or not - is completely controlled by xon. - -- If the terminal requires other than a null (zero) charac- -- ter as a pad, then this can be given as pad. Only the -+ If the terminal requires other than a null (zero) charac- -+ ter as a pad, then this can be given as pad. Only the - first character of the pad string is used. - - - Status Lines -- Some terminals have an extra `status line' which is not -- normally used by software (and thus not counted in the -+ Some terminals have an extra `status line' which is not -+ normally used by software (and thus not counted in the - terminal's lines capability). - -- The simplest case is a status line which is cursor- -- addressable but not part of the main scrolling region on -- the screen; the Heathkit H19 has a status line of this -- kind, as would a 24-line VT100 with a 23-line scrolling -- region set up on initialization. This situation is indi- -+ The simplest case is a status line which is cursor- -+ addressable but not part of the main scrolling region on -+ the screen; the Heathkit H19 has a status line of this -+ kind, as would a 24-line VT100 with a 23-line scrolling -+ region set up on initialization. This situation is indi- - cated by the hs capability. - - Some terminals with status lines need special sequences to -- access the status line. These may be expressed as a -+ access the status line. These may be expressed as a - string with single parameter tsl which takes the cursor to -- a given zero-origin column on the status line. The capa- -+ a given zero-origin column on the status line. The capa- - bility fsl must return to the main-screen cursor positions -- before the last tsl. You may need to embed the string -- values of sc (save cursor) and rc (restore cursor) in tsl -+ before the last tsl. You may need to embed the string -+ values of sc (save cursor) and rc (restore cursor) in tsl - and fsl to accomplish this. - -- The status line is normally assumed to be the same width -- as the width of the terminal. If this is untrue, you can -+ The status line is normally assumed to be the same width -+ as the width of the terminal. If this is untrue, you can - specify it with the numeric capability wsl. - -- A command to erase or blank the status line may be speci- -+ A command to erase or blank the status line may be speci- - fied as dsl. - -- The boolean capability eslok specifies that escape -+ The boolean capability eslok specifies that escape - sequences, tabs, etc., work ordinarily in the status line. - -- The ncurses implementation does not yet use any of these -- capabilities. They are documented here in case they ever -+ The ncurses implementation does not yet use any of these -+ capabilities. They are documented here in case they ever - become important. - - - Line Graphics -- Many terminals have alternate character sets useful for -- forms-drawing. Terminfo and curses build in support for -- the drawing characters supported by the VT100, with some -- characters from the AT&T 4410v1 added. This alternate -+ Many terminals have alternate character sets useful for -+ forms-drawing. Terminfo and curses build in support for -+ the drawing characters supported by the VT100, with some -+ characters from the AT&T 4410v1 added. This alternate - character set may be specified by the acsc capability. - - Glyph ACS Ascii VT100 -@@ -1803,6 +1838,7 @@ - greater-than-or-equal-to ACS_GEQUAL > z - greek pi ACS_PI * { - horizontal line ACS_HLINE - q -+ - lantern symbol ACS_LANTERN # i - large plus or crossover ACS_PLUS + n - less-than-or-equal-to ACS_LEQUAL < y -@@ -1823,59 +1859,59 @@ - upper right corner ACS_URCORNER + k - vertical line ACS_VLINE | x - -- The best way to define a new device's graphics set is to -- add a column to a copy of this table for your terminal, -- giving the character which (when emitted between -- smacs/rmacs switches) will be rendered as the correspond- -- ing graphic. Then read off the VT100/your terminal char- -- acter pairs right to left in sequence; these become the -+ The best way to define a new device's graphics set is to -+ add a column to a copy of this table for your terminal, -+ giving the character which (when emitted between -+ smacs/rmacs switches) will be rendered as the correspond- -+ ing graphic. Then read off the VT100/your terminal char- -+ acter pairs right to left in sequence; these become the - ACSC string. - - - Color Handling -- Most color terminals are either `Tektronix-like' or `HP- -- like'. Tektronix-like terminals have a predefined set of -- N colors (where N usually 8), and can set character-cell -+ Most color terminals are either `Tektronix-like' or `HP- -+ like'. Tektronix-like terminals have a predefined set of -+ N colors (where N usually 8), and can set character-cell - foreground and background characters independently, mixing -- them into N * N color-pairs. On HP-like terminals, the -+ them into N * N color-pairs. On HP-like terminals, the - use must set each color pair up separately (foreground and -- background are not independently settable). Up to M -- color-pairs may be set up from 2*M different colors. -+ background are not independently settable). Up to M -+ color-pairs may be set up from 2*M different colors. - ANSI-compatible terminals are Tektronix-like. - - Some basic color capabilities are independent of the color - method. The numeric capabilities colors and pairs specify -- the maximum numbers of colors and color-pairs that can be -- displayed simultaneously. The op (original pair) string -- resets foreground and background colors to their default -- values for the terminal. The oc string resets all colors -- or color-pairs to their default values for the terminal. -- Some terminals (including many PC terminal emulators) -- erase screen areas with the current background color -- rather than the power-up default background; these should -+ the maximum numbers of colors and color-pairs that can be -+ displayed simultaneously. The op (original pair) string -+ resets foreground and background colors to their default -+ values for the terminal. The oc string resets all colors -+ or color-pairs to their default values for the terminal. -+ Some terminals (including many PC terminal emulators) -+ erase screen areas with the current background color -+ rather than the power-up default background; these should - have the boolean capability bce. - -- To change the current foreground or background color on a -- Tektronix-type terminal, use setaf (set ANSI foreground) -- and setab (set ANSI background) or setf (set foreground) -- and setb (set background). These take one parameter, the -+ To change the current foreground or background color on a -+ Tektronix-type terminal, use setaf (set ANSI foreground) -+ and setab (set ANSI background) or setf (set foreground) -+ and setb (set background). These take one parameter, the - color number. The SVr4 documentation describes only -- setaf/setab; the XPG4 draft says that "If the terminal -+ setaf/setab; the XPG4 draft says that "If the terminal - supports ANSI escape sequences to set background and fore- -- ground, they should be coded as setaf and setab, respec- -- tively. If the terminal supports other escape sequences -- to set background and foreground, they should be coded as -- setf and setb, respectively. The vidputs() function and -- the refresh functions use setaf and setab if they are -+ ground, they should be coded as setaf and setab, respec- -+ tively. If the terminal supports other escape sequences -+ to set background and foreground, they should be coded as -+ setf and setb, respectively. The vidputs() function and -+ the refresh functions use setaf and setab if they are - defined." - -- The setaf/setab and setf/setb capabilities take a single -- numeric argument each. Argument values 0-7 are portably -- defined as follows (the middle column is the symbolic -- #define available in the header for the curses or ncurses -- libraries). The terminal hardware is free to map these as -- it likes, but the RGB values indicate normal locations in -- color space. -+ The setaf/setab and setf/setb capabilities take a single -+ numeric argument each. Argument values 0-7 of setaf/setab -+ are portably defined as follows (the middle column is the -+ symbolic #define available in the header for the curses or -+ ncurses libraries). The terminal hardware is free to map -+ these as it likes, but the RGB values indicate normal -+ locations in color space. - - Color #define Value RGB - black COLOR_BLACK 0 0, 0, 0 -@@ -1887,6 +1923,21 @@ - cyan COLOR_CYAN 6 0,max,max - white COLOR_WHITE 7 max,max,max - -+ The argument values of setf/setb historically correspond -+ to a different mapping, i.e., -+ Color #define Value RGB -+ black COLOR_BLACK 0 0, 0, 0 -+ blue COLOR_BLUE 1 0,0,max -+ green COLOR_GREEN 2 0,max,0 -+ cyan COLOR_CYAN 3 0,max,max -+ red COLOR_RED 4 max,0,0 -+ magenta COLOR_MAGENTA 5 max,0,max -+ yellow COLOR_YELLOW 6 max,max,0 -+ white COLOR_WHITE 7 max,max,max -+ It is important to not confuse the two sets of color capa- -+ bilities; otherwise red/blue will be interchanged on the -+ display. -+ - On an HP-like terminal, use scp with a color-pair number - parameter to set which color pair is current. - -@@ -2005,7 +2056,6 @@ - text, including mc4, is transparently passed to the - printer while an mc5p is in effect. - -- - Glitches and Braindamage - Hazeltine terminals, which do not allow `~' characters to - be displayed should indicate hz. -@@ -2055,6 +2105,7 @@ - A capability can be canceled by placing xx@ to the left of - the use reference that imports it, where xx is the capa- - bility. For example, the entry -+ - 2621-nl, smkx@, rmkx@, use=2621, - - defines a 2621-nl that does not have the smkx or rmkx -@@ -2222,12 +2273,12 @@ - descriptions - - -- - -

      SEE ALSO

      -        tic(1m), curses(3x), printf(3S), term(5).
      - 
      - 
      -+
      - 
      -

      AUTHORS

      -        Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
      -@@ -2235,6 +2286,9 @@
      - 
      - 
      - 
      -+
      -+
      -+
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/tic.1m.html ncurses-5.3.20030906.orig/doc/html/man/tic.1m.html
      ---- ncurses-5.3/doc/html/man/tic.1m.html	Sat Oct 12 18:28:15 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/tic.1m.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -85,7 +85,7 @@
      -               entries as user-defined names.
      - 
      -        -C     Force source translation to termcap format.   Note:
      --              this  differs  from the -C option of infocmp(1m) in
      -+              this  differs  from the -C option of infocmp(1m) in
      -               that it does not merely translate capability names,
      -               but  also  translates  terminfo  strings to termcap
      -               format.  Capabilities that are not translatable are
      -@@ -110,7 +110,7 @@
      -               it.  The option value is interpreted as a file con-
      -               taining  the  list  if  it  contains a '/'.  (Note:
      -               depending on how tic was compiled, this option  may
      --              require -I or -C.)
      -+              require -I or -C.)
      - 
      -        -f     Display  complex  terminfo  strings  which  contain
      -               if/then/else/endif expressions indented  for  read-
      -@@ -277,7 +277,7 @@
      - 
      -        The  -C,  -G,  -I, -N, -R, -T, -V, -a, -e, -f, -g, -o, -r,
      -        -s, -t and -x options are not supported under  SVr4.   The
      --       SVr4 -c mode does not report bad use links.
      -+       SVr4 -c mode does not report bad use links.
      - 
      -        System  V does not compile entries to or read entries from
      -        your $HOME/.terminfo directory unless TERMINFO is  explic-
      -diff -urNd -urNd ncurses-5.3/doc/html/man/toe.1m.html ncurses-5.3.20030906.orig/doc/html/man/toe.1m.html
      ---- ncurses-5.3/doc/html/man/toe.1m.html	Sat Jun 22 16:25:46 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/toe.1m.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -57,7 +57,7 @@
      -        primary name with descriptions.   File  arguments  specify
      -        the  directories  to  be scanned; if no such arguments are
      -        given, your default terminfo directory is scanned.  If you
      --       also  specify  the  -h  option, a directory header will be
      -+       also  specify  the  -h  option, a directory header will be
      -        issued as each directory is entered.
      - 
      -        There are other options intended for use by terminfo  file
      -diff -urNd -urNd ncurses-5.3/doc/html/man/tput.1.html ncurses-5.3.20030906.orig/doc/html/man/tput.1.html
      ---- ncurses-5.3/doc/html/man/tput.1.html	Sat Oct 12 18:28:16 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/tput.1.html	Sun Jul 20 14:02:08 2003
      -@@ -2,7 +2,7 @@
      - 
      - 
      - 
      -diff -urNd -urNd ncurses-5.3/doc/html/man/tset.1.html ncurses-5.3.20030906.orig/doc/html/man/tset.1.html
      ---- ncurses-5.3/doc/html/man/tset.1.html	Sat Jun 22 16:25:47 2002
      -+++ ncurses-5.3.20030906.orig/doc/html/man/tset.1.html	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - 
      - 
      - 
      - 
      -@@ -73,7 +73,7 @@
      -        4. The default terminal type, ``unknown''.
      - 
      -        If  the  terminal  type  was not specified on the command-
      --       line, the -m option mappings are then applied  (see  below
      -+       line, the -m option mappings are then applied  (see  below
      -        for  more information).  Then, if the terminal type begins
      -        with a question mark (``?''), the  user  is  prompted  for
      -        confirmation of the terminal type.  An empty response con-
      -@@ -108,36 +108,36 @@
      - 
      -        The options are as follows:
      - 
      --       -q   The  terminal  type is displayed to the standard out-
      -+       -q   The  terminal  type is displayed to the standard out-
      -             put, and the terminal is not initialized in any  way.
      -             The option `-' by itself is equivalent but archaic.
      - 
      --       -e   Set the erase character to ch.
      -+       -e   Set the erase character to ch.
      - 
      --       -I   Do  not  send  the  terminal  or  tab  initialization
      -+       -I   Do  not  send  the  terminal  or  tab  initialization
      -             strings to the terminal.
      - 
      --       -Q   Don't display any values for the erase, interrupt and
      -+       -Q   Don't display any values for the erase, interrupt and
      -             line kill characters.
      - 
      -        -V   reports the version of ncurses which was used in this
      -             program, and exits.
      - 
      --       -i   Set the interrupt character to ch.
      -+       -i   Set the interrupt character to ch.
      - 
      --       -k   Set the line kill character to ch.
      -+       -k   Set the line kill character to ch.
      - 
      --       -m   Specify a mapping from a port  type  to  a  terminal.
      -+       -m   Specify a mapping from a port  type  to  a  terminal.
      -             See below for more information.
      - 
      --       -r   Print the terminal type to the standard error output.
      -+       -r   Print the terminal type to the standard error output.
      - 
      --       -s   Print the sequence of shell  commands  to  initialize
      -+       -s   Print the sequence of shell  commands  to  initialize
      -             the environment variable TERM to the standard output.
      -             See the section below on setting the environment  for
      -             details.
      - 
      --       The arguments for the -e, -i, and -k options may either be
      -+       The arguments for the -e, -i, and -k options may either be
      -        entered as actual characters or by using the  `hat'  nota-
      -        tion, i.e. control-h may be specified as ``^H'' or ``^h''.
      - 
      -@@ -146,9 +146,9 @@
      - 

      SETTING THE ENVIRONMENT

      -        It is often desirable  to  enter  the  terminal  type  and
      -        information  about  the  terminal's  capabilities into the
      --       shell's environment.  This is done using the -s option.
      -+       shell's environment.  This is done using the -s option.
      - 
      --       When the -s option is specified, the commands to enter the
      -+       When the -s option is specified, the commands to enter the
      -        information  into  the  shell's environment are written to
      -        the standard output.  If the SHELL environmental  variable
      -        ends in ``csh'', the commands are for csh, otherwise, they
      -@@ -171,12 +171,12 @@
      -        often desirable to provide information about the  type  of
      -        terminal used on such ports.
      - 
      --       The  purpose  of  the -m option is to map from some set of
      -+       The  purpose  of  the -m option is to map from some set of
      -        conditions to a terminal type, that is, to tell tset  ``If
      -        I'm  on this port at a particular speed, guess that I'm on
      -        that kind of terminal''.
      - 
      --       The argument to the -m option consists of an optional port
      -+       The argument to the -m option consists of an optional port
      -        type, an optional operator, an optional baud rate specifi-
      -        cation, an optional colon (``:'') character and a terminal
      -        type.   The port type is a string (delimited by either the
      -@@ -189,7 +189,7 @@
      -        terminal).  The terminal type is a string.
      - 
      -        If the terminal type is not specified on the command line,
      --       the  -m mappings are applied to the terminal type.  If the
      -+       the  -m mappings are applied to the terminal type.  If the
      -        port type and baud rate match the  mapping,  the  terminal
      -        type  specified  in the mapping replaces the current type.
      -        If more than one mapping is specified, the first  applica-
      -@@ -213,9 +213,9 @@
      -        user will be queried on a default port as to whether  they
      -        are actually using an xterm terminal.
      - 
      --       No  whitespace  characters  are permitted in the -m option
      -+       No  whitespace  characters  are permitted in the -m option
      -        argument.  Also, to avoid problems  with  meta-characters,
      --       it  is  suggested  that  the  entire -m option argument be
      -+       it  is  suggested  that  the  entire -m option argument be
      -        placed within single quote characters, and that csh  users
      -        insert  a  backslash character (``\'') before any exclama-
      -        tion marks (``!'').
      -@@ -238,8 +238,8 @@
      -        important  use).   This implementation behaves like 4.4BSD
      -        tset, with a few exceptions specified here.
      - 
      --       The -S option of BSD tset no longer works;  it  prints  an
      --       error message to stderr and dies.  The -s option only sets
      -+       The -S option of BSD tset no longer works;  it  prints  an
      -+       error message to stderr and dies.  The -s option only sets
      -        TERM, not TERMCAP.  Both these  changes  are  because  the
      -        TERMCAP  variable  is  no longer supported under terminfo-
      -        based ncurses, which makes tset -S useless (we made it die
      -@@ -250,28 +250,28 @@
      -        ning  with  an  upper-case letter) set the terminal to use
      -        upper-case only.  This feature has been omitted.
      - 
      --       The -A, -E, -h, -u and -v options were  deleted  from  the
      --       tset  utility  in  4.4BSD. None of them were documented in
      --       4.3BSD and all are of limited utility at best. The -a, -d,
      --       and -p options are similarly not documented or useful, but
      --       were retained as they appear to be in widespread use.   It
      --       is  strongly  recommended  that  any  usage of these three
      --       options be changed to use the -m option instead.   The  -n
      --       option  remains, but has no effect.  The -adnp options are
      --       therefore omitted from the usage summary above.
      -+       The -A, -E, -h, -u and -v options were  deleted  from  the
      -+       tset  utility  in 4.4BSD.  None of them were documented in
      -+       4.3BSD and all are of limited utility at best.  The -a, -,
      -+       and                                                      -
      -+       options are similarly not documented or useful,  but  were
      -+       retained  as  they  appear to be in widespread use.  It is
      -+       strongly recommended that any usage of these three options
      -+       be  changed  to  use the -m option instead.  The -n option
      -+       remains, but has no effect.  The -adnp options are  there-
      -+       fore omitted from the usage summary above.
      - 
      --       It is still permissible to specify  the  -e,  -i,  and  -k
      --       options  without arguments, although it is strongly recom-
      --       mended that such usage be fixed to explicitly specify  the
      -+       It  is  still  permissible  to  specify the -e, -i, and -k
      -+       options without arguments, although it is strongly  recom-
      -+       mended  that such usage be fixed to explicitly specify the
      -        character.
      - 
      --       As  of  4.4BSD,  executing tset as reset no longer implies
      --       the -Q option.  Also, the interaction between the - option
      -+       As of 4.4BSD, executing tset as reset  no  longer  implies
      -+       the -Q option.  Also, the interaction between the - option
      -        and the terminal argument in some historic implementations
      -        of tset has been removed.
      - 
      - 
      --
      - 
      -

      ENVIRONMENT

      -        The tset command uses the SHELL and TERM environment vari-
      -@@ -281,7 +281,7 @@
      - 
      -

      FILES

      -        /etc/ttys
      --            system  port  name  to terminal type mapping database
      -+            system port name to terminal  type  mapping  database
      -             (BSD versions only).
      - 
      -        /usr/share/terminfo
      -diff -urNd -urNd ncurses-5.3/form/Makefile.in ncurses-5.3.20030906.orig/form/Makefile.in
      ---- ncurses-5.3/form/Makefile.in	Sat Jan 19 19:49:17 2002
      -+++ ncurses-5.3.20030906.orig/form/Makefile.in	Fri Sep 12 16:42:40 2003
      -@@ -1,6 +1,6 @@
      --# $Id: Makefile.in,v 1.36 2002/01/20 01:49:17 tom Exp $
      -+# $Id: Makefile.in,v 1.39 2003/08/23 23:25:01 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -55,6 +55,11 @@
      - includedir	= @includedir@
      - 
      - LIBTOOL		= @LIBTOOL@
      -+LIBTOOL_CLEAN	= @LIB_CLEAN@
      -+LIBTOOL_COMPILE	= @LIB_COMPILE@
      -+LIBTOOL_LINK	= @LIB_LINK@
      -+LIBTOOL_INSTALL	= @LIB_INSTALL@
      -+LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
      - 
      - INSTALL		= @INSTALL@
      - INSTALL_LIB	= @INSTALL@ @INSTALL_LIB@
      -@@ -84,7 +89,7 @@
      - 
      - CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
      - 
      --LINK		= $(LIBTOOL) $(CC)
      -+LINK		= $(LIBTOOL_LINK) $(CC)
      - LDFLAGS		= @LDFLAGS@ @LD_MODEL@ @LIBS@
      - 
      - SHLIB_DIRS	= -L../lib
      -@@ -97,7 +102,7 @@
      - REL_VERSION	= @cf_cv_rel_version@
      - ABI_VERSION	= @cf_cv_abi_version@
      - 
      --RANLIB		= @RANLIB@
      -+RANLIB		= @LIB_PREP@
      - 
      - IMPORT_LIB	= @IMPORT_LIB@
      - SHARED_LIB	= @SHARED_LIB@
      -diff -urNd -urNd ncurses-5.3/form/form.h ncurses-5.3.20030906.orig/form/form.h
      ---- ncurses-5.3/form/form.h	Sat Jul 13 06:35:08 2002
      -+++ ncurses-5.3.20030906.orig/form/form.h	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -31,6 +31,8 @@
      -  *   Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en             *
      -  ****************************************************************************/
      - 
      -+/* $Id: form.h,v 0.15 2003/05/03 21:59:32 tom Exp $ */
      -+
      - #ifndef FORM_H
      - #define FORM_H
      - 
      -@@ -208,7 +210,7 @@
      - #define REQ_DEL_CHAR	 (KEY_MAX + 34)	/* delete char at cursor	*/
      - #define REQ_DEL_PREV	 (KEY_MAX + 35)	/* delete char before cursor	*/
      - #define REQ_DEL_LINE	 (KEY_MAX + 36)	/* delete line at cursor	*/
      --#define REQ_DEL_WORD	 (KEY_MAX + 37)	/* delete line at cursor	*/
      -+#define REQ_DEL_WORD	 (KEY_MAX + 37)	/* delete word at cursor	*/
      - #define REQ_CLR_EOL	 (KEY_MAX + 38)	/* clear to end of line		*/
      - #define REQ_CLR_EOF	 (KEY_MAX + 39)	/* clear to end of field	*/
      - #define REQ_CLR_FIELD	 (KEY_MAX + 40)	/* clear entire field		*/
      -diff -urNd -urNd ncurses-5.3/form/frm_driver.c ncurses-5.3.20030906.orig/form/frm_driver.c
      ---- ncurses-5.3/form/frm_driver.c	Sat Jul  6 10:33:27 2002
      -+++ ncurses-5.3.20030906.orig/form/frm_driver.c	Tue May 13 20:08:22 2003
      -@@ -32,7 +32,7 @@
      -  ****************************************************************************/
      - #include "form.priv.h"
      - 
      --MODULE_ID("$Id: frm_driver.c,v 1.39 2002/07/06 15:33:27 juergen Exp $")
      -+MODULE_ID("$Id: frm_driver.c,v 1.42 2003/05/03 23:05:21 tom Exp $")
      - 
      - /*----------------------------------------------------------------------------
      -   This is the core module of the form library. It contains the majority
      -@@ -42,7 +42,7 @@
      -   all the functions in this module depends on some others in the module,
      -   so it makes no sense to split them into separate files because they
      -   will always be linked together. The only acceptable concern is turnaround
      --  time for this module, but now we have all Pentiums or Riscs, so what!
      -+  time for this module, but now we have all Pentiums or RISCs, so what!
      - 
      -   The driver routines are grouped into nine generic categories:
      - 
      -@@ -55,10 +55,10 @@
      -    c)   Intra-Field Navigation     ( all functions prefixed by IFN_ )
      -         The current position in the current field is changed. 
      -    d)   Vertical Scrolling         ( all functions prefixed by VSC_ )
      --        Esseantially this is a specialization of Intra-Field navigation.
      -+        Essentially this is a specialization of Intra-Field navigation.
      -         It has to check for a multi-line field.
      -    e)   Horizontal Scrolling       ( all functions prefixed by HSC_ )
      --        Esseantially this is a specialization of Intra-Field navigation.
      -+        Essentially this is a specialization of Intra-Field navigation.
      -         It has to check for a single-line field.
      -    f)   Field Editing              ( all functions prefixed by FE_ )
      -         The content of the current field is changed
      -@@ -79,11 +79,11 @@
      - 
      - /*
      - Some options that may effect compatibility in behavior to SVr4 forms,
      --but they are here to allow a more intuitive and user friendly behaviour of
      -+but they are here to allow a more intuitive and user friendly behavior of
      - our form implementation. This doesn't affect the API, so we feel it is
      - uncritical.
      - 
      --The initial implementation tries to stay very close with the behaviour
      -+The initial implementation tries to stay very close with the behavior
      - of the original SVr4 implementation, although in some areas it is quite
      - clear that this isn't the most appropriate way. As far as possible this
      - sources will allow you to build a forms lib that behaves quite similar
      -@@ -91,9 +91,9 @@
      - Perhaps at some time we will make this configurable at runtime.
      - */
      - 
      --/* Implement a more user-friendly previous/next word behaviour */
      -+/* Implement a more user-friendly previous/next word behavior */
      - #define FRIENDLY_PREV_NEXT_WORD (1)
      --/* Fix the wrong behaviour for forms with all fields inactive */
      -+/* Fix the wrong behavior for forms with all fields inactive */
      - #define FIX_FORM_INACTIVE_BUG (1)
      - /* Allow dynamic field growth also when navigating past the end */
      - #define GROW_IF_NAVIGATE (1)
      -@@ -918,7 +918,7 @@
      - |   
      - |   Description   :  Propagate the Synchronize_Field function to all linked
      - |                    fields. The first error that occurs in the sequence
      --|                    of updates is the returnvalue.
      -+|                    of updates is the return value.
      - |
      - |   Return Values :  E_OK                - success
      - |                    E_BAD_ARGUMENT      - invalid field pointer 
      -@@ -1012,7 +1012,7 @@
      - |   
      - |   Description   :  If a fields options have changed, this routine is
      - |                    called to propagate these changes to the screen and
      --|                    to really change the behaviour of the field.
      -+|                    to really change the behavior of the field.
      - |
      - |   Return Values :  E_OK                - success
      - |                    E_BAD_ARGUMENT      - invalid field pointer 
      -@@ -1089,7 +1089,7 @@
      - 	      (!single_line_field && (field->drows < field->maxgrow)))
      - 	    {
      - 	      field->status |= _MAY_GROW;
      --	      /* a field with justification now changes its behaviour,
      -+	      /* a field with justification now changes its behavior,
      - 		 so we must redisplay it */
      - 	      if (single_line_field                 &&
      - 		  (field->just != NO_JUSTIFICATION) &&
      -@@ -2141,7 +2141,7 @@
      -   int res = E_REQUEST_DENIED;
      - 
      -   /* We have to deal here with the specific case of the overloaded 
      --     behaviour of New_Line and Delete_Previous requests.
      -+     behavior of New_Line and Delete_Previous requests.
      -      They may end up in navigational requests if we are on the first
      -      character in a field. But navigation is also allowed on non-
      -      editable fields.
      -@@ -2205,6 +2205,7 @@
      - 	{
      - 	  if (!(form->opts & O_NL_OVERLOAD))
      - 	    return(E_REQUEST_DENIED);
      -+	  wmove(form->w,form->currow,form->curcol);
      - 	  wclrtoeol(form->w);
      - 	  /* we have to set this here, although it is also
      - 	     handled in the generic routine. The reason is,
      -@@ -2221,6 +2222,7 @@
      - 		 a single-line field */
      - 	      return(E_SYSTEM_ERROR);
      - 	    }
      -+	  wmove(form->w,form->currow,form->curcol);
      - 	  wclrtoeol(form->w);
      - 	  form->currow++;
      - 	  form->curcol = 0;
      -@@ -2248,6 +2250,7 @@
      - 	  
      - 	  bp= Address_Of_Current_Position_In_Buffer(form);
      - 	  t = After_End_Of_Data(bp,field->dcols - form->curcol);
      -+	  wmove(form->w,form->currow,form->curcol);
      - 	  wclrtoeol(form->w);
      - 	  form->currow++;
      - 	  form->curcol=0;
      -@@ -2338,6 +2341,7 @@
      - +--------------------------------------------------------------------------*/
      - static int FE_Delete_Character(FORM * form)
      - {
      -+  wmove(form->w,form->currow,form->curcol);
      -   wdelch(form->w);
      -   return E_OK;
      - }
      -@@ -2378,6 +2382,7 @@
      -       if ((int)(this_end-this_line) > 
      - 	  (field->cols-(int)(prev_end-prev_line))) 
      - 	return E_REQUEST_DENIED;
      -+      wmove(form->w,form->currow,form->curcol);
      -       wdeleteln(form->w);
      -       Adjust_Cursor_Position(form,prev_end);
      -       wmove(form->w,form->currow,form->curcol);
      -@@ -2455,20 +2460,22 @@
      - +--------------------------------------------------------------------------*/
      - static int FE_Clear_To_End_Of_Line(FORM * form)
      - {
      -+  wmove(form->w,form->currow,form->curcol);
      -   wclrtoeol(form->w);
      -   return E_OK;
      - }
      - 
      - /*---------------------------------------------------------------------------
      - |   Facility      :  libnform  
      --|   Function      :  static int FE_Clear_To_End_Of_Form(FORM * form)
      -+|   Function      :  static int FE_Clear_To_End_Of_Field(FORM * form)
      - |   
      --|   Description   :  Clear to end of form.
      -+|   Description   :  Clear to end of field.
      - |
      - |   Return Values :  E_OK   - success
      - +--------------------------------------------------------------------------*/
      --static int FE_Clear_To_End_Of_Form(FORM * form)
      -+static int FE_Clear_To_End_Of_Field(FORM * form)
      - {
      -+  wmove(form->w,form->currow,form->curcol);
      -   wclrtobot(form->w);
      -   return E_OK;
      - }
      -@@ -3053,7 +3060,7 @@
      - |                                           int (* const fct) (FORM *),
      - |                                           FORM * form)
      - |   
      --|   Description   :  Generic behaviour for changing the current field, the
      -+|   Description   :  Generic behavior for changing the current field, the
      - |                    field is left and a new field is entered. So the field
      - |                    must be validated and the field init/term hooks must
      - |                    be called.
      -@@ -3366,7 +3373,7 @@
      - |                                               int (* const fct) (FORM *),
      - |                                               FORM * form)
      - |   
      --|   Description   :  Generic behaviour for changing a page. This means
      -+|   Description   :  Generic behavior for changing a page. This means
      - |                    that the field is left and a new field is entered.
      - |                    So the field must be validated and the field init/term
      - |                    hooks must be called. Because also the page is changed,
      -@@ -3598,7 +3605,7 @@
      -   { REQ_DEL_LINE     |ID_FE  ,FE_Delete_Line},
      -   { REQ_DEL_WORD     |ID_FE  ,FE_Delete_Word},
      -   { REQ_CLR_EOL      |ID_FE  ,FE_Clear_To_End_Of_Line},
      --  { REQ_CLR_EOF      |ID_FE  ,FE_Clear_To_End_Of_Form},
      -+  { REQ_CLR_EOF      |ID_FE  ,FE_Clear_To_End_Of_Field},
      -   { REQ_CLR_FIELD    |ID_FE  ,FE_Clear_Field},
      -   
      -   { REQ_OVL_MODE     |ID_EM  ,EM_Overlay_Mode},
      -diff -urNd -urNd ncurses-5.3/include/MKkey_defs.sh ncurses-5.3.20030906.orig/include/MKkey_defs.sh
      ---- ncurses-5.3/include/MKkey_defs.sh	Sat Sep 28 18:32:16 2002
      -+++ ncurses-5.3.20030906.orig/include/MKkey_defs.sh	Tue May 13 20:08:22 2003
      -@@ -1,7 +1,7 @@
      - #! /bin/sh
      --# $Id: MKkey_defs.sh,v 1.10 2002/09/28 23:32:16 tom Exp $
      -+# $Id: MKkey_defs.sh,v 1.11 2003/01/11 22:20:40 tom Exp $
      - ##############################################################################
      --# Copyright (c) 2001,2002 Free Software Foundation, Inc.                     #
      -+# Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -49,10 +49,10 @@
      - if sort -k 6 $DATA >$data 2>/dev/null
      - then
      - 	# POSIX
      --	sed -e 's/[	]\+/	/g' < $DATA |sort -n -k 6 >$data
      -+	sed -e 's/[	][	]*/	/g' < $DATA |sort -n -k 6 >$data
      - else
      - 	# SunOS (and SVr4, marked as obsolete but still recognized)
      --	sed -e 's/[	]\+/	/g' < $DATA |sort -n +5 >$data
      -+	sed -e 's/[	][	]*/	/g' < $DATA |sort -n +5 >$data
      - fi
      - 
      - # add keys that we generate automatically:
      -diff -urNd -urNd ncurses-5.3/include/curses.h.in ncurses-5.3.20030906.orig/include/curses.h.in
      ---- ncurses-5.3/include/curses.h.in	Sat Sep 28 10:08:06 2002
      -+++ ncurses-5.3.20030906.orig/include/curses.h.in	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -32,7 +32,7 @@
      -  *     and: Thomas E. Dickey 1996-on                                        *
      -  ****************************************************************************/
      - 
      --/* $Id: curses.h.in,v 1.134 2002/09/28 15:08:06 tom Exp $ */
      -+/* $Id: curses.h.in,v 1.145 2003/06/15 23:42:18 tom Exp $ */
      - 
      - #ifndef __NCURSES_H
      - #define __NCURSES_H
      -@@ -125,7 +125,7 @@
      - 
      - typedef @cf_cv_type_of_bool@ NCURSES_BOOL;
      - 
      --#if (!defined(__cplusplus) || !@cf_cv_builtin_bool@) && (!@cf_cv_cc_bool_type@)
      -+#if @USE_CXX_BOOL@ /* !__cplusplus, etc. */
      - 
      - #if @cf_cv_header_stdbool_h@
      - #include 
      -@@ -136,7 +136,7 @@
      - #if @cf_cv_header_stdbool_h@
      - #define bool NCURSES_BOOL
      - #else
      --typedef @cf_cv_type_of_bool@ bool;
      -+typedef NCURSES_BOOL bool;
      - #endif
      - 
      - #endif /* !__cplusplus, etc. */
      -@@ -189,45 +189,47 @@
      - extern NCURSES_EXPORT_VAR(chtype) acs_map[];
      - #endif
      - 
      -+#define NCURSES_ACS(c)	(acs_map[(unsigned char)c])
      -+
      - /* VT100 symbols begin here */
      --#define ACS_ULCORNER	(acs_map['l'])	/* upper left corner */
      --#define ACS_LLCORNER	(acs_map['m'])	/* lower left corner */
      --#define ACS_URCORNER	(acs_map['k'])	/* upper right corner */
      --#define ACS_LRCORNER	(acs_map['j'])	/* lower right corner */
      --#define ACS_LTEE	(acs_map['t'])	/* tee pointing right */
      --#define ACS_RTEE	(acs_map['u'])	/* tee pointing left */
      --#define ACS_BTEE	(acs_map['v'])	/* tee pointing up */
      --#define ACS_TTEE	(acs_map['w'])	/* tee pointing down */
      --#define ACS_HLINE	(acs_map['q'])	/* horizontal line */
      --#define ACS_VLINE	(acs_map['x'])	/* vertical line */
      --#define ACS_PLUS	(acs_map['n'])	/* large plus or crossover */
      --#define ACS_S1		(acs_map['o'])	/* scan line 1 */
      --#define ACS_S9		(acs_map['s'])	/* scan line 9 */
      --#define ACS_DIAMOND	(acs_map['`'])	/* diamond */
      --#define ACS_CKBOARD	(acs_map['a'])	/* checker board (stipple) */
      --#define ACS_DEGREE	(acs_map['f'])	/* degree symbol */
      --#define ACS_PLMINUS	(acs_map['g'])	/* plus/minus */
      --#define ACS_BULLET	(acs_map['~'])	/* bullet */
      -+#define ACS_ULCORNER	NCURSES_ACS('l') /* upper left corner */
      -+#define ACS_LLCORNER	NCURSES_ACS('m') /* lower left corner */
      -+#define ACS_URCORNER	NCURSES_ACS('k') /* upper right corner */
      -+#define ACS_LRCORNER	NCURSES_ACS('j') /* lower right corner */
      -+#define ACS_LTEE	NCURSES_ACS('t') /* tee pointing right */
      -+#define ACS_RTEE	NCURSES_ACS('u') /* tee pointing left */
      -+#define ACS_BTEE	NCURSES_ACS('v') /* tee pointing up */
      -+#define ACS_TTEE	NCURSES_ACS('w') /* tee pointing down */
      -+#define ACS_HLINE	NCURSES_ACS('q') /* horizontal line */
      -+#define ACS_VLINE	NCURSES_ACS('x') /* vertical line */
      -+#define ACS_PLUS	NCURSES_ACS('n') /* large plus or crossover */
      -+#define ACS_S1		NCURSES_ACS('o') /* scan line 1 */
      -+#define ACS_S9		NCURSES_ACS('s') /* scan line 9 */
      -+#define ACS_DIAMOND	NCURSES_ACS('`') /* diamond */
      -+#define ACS_CKBOARD	NCURSES_ACS('a') /* checker board (stipple) */
      -+#define ACS_DEGREE	NCURSES_ACS('f') /* degree symbol */
      -+#define ACS_PLMINUS	NCURSES_ACS('g') /* plus/minus */
      -+#define ACS_BULLET	NCURSES_ACS('~') /* bullet */
      - /* Teletype 5410v1 symbols begin here */
      --#define ACS_LARROW	(acs_map[','])	/* arrow pointing left */
      --#define ACS_RARROW	(acs_map['+'])	/* arrow pointing right */
      --#define ACS_DARROW	(acs_map['.'])	/* arrow pointing down */
      --#define ACS_UARROW	(acs_map['-'])	/* arrow pointing up */
      --#define ACS_BOARD	(acs_map['h'])	/* board of squares */
      --#define ACS_LANTERN	(acs_map['i'])	/* lantern symbol */
      --#define ACS_BLOCK	(acs_map['0'])	/* solid square block */
      -+#define ACS_LARROW	NCURSES_ACS(',') /* arrow pointing left */
      -+#define ACS_RARROW	NCURSES_ACS('+') /* arrow pointing right */
      -+#define ACS_DARROW	NCURSES_ACS('.') /* arrow pointing down */
      -+#define ACS_UARROW	NCURSES_ACS('-') /* arrow pointing up */
      -+#define ACS_BOARD	NCURSES_ACS('h') /* board of squares */
      -+#define ACS_LANTERN	NCURSES_ACS('i') /* lantern symbol */
      -+#define ACS_BLOCK	NCURSES_ACS('0') /* solid square block */
      - /*
      -  * These aren't documented, but a lot of System Vs have them anyway
      -  * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings).
      -  * The ACS_names may not match AT&T's, our source didn't know them.
      -  */
      --#define ACS_S3		(acs_map['p'])	/* scan line 3 */
      --#define ACS_S7		(acs_map['r'])	/* scan line 7 */
      --#define ACS_LEQUAL	(acs_map['y'])	/* less/equal */
      --#define ACS_GEQUAL	(acs_map['z'])	/* greater/equal */
      --#define ACS_PI		(acs_map['{'])	/* Pi */
      --#define ACS_NEQUAL	(acs_map['|'])	/* not equal */
      --#define ACS_STERLING	(acs_map['}'])	/* UK pound sign */
      -+#define ACS_S3		NCURSES_ACS('p') /* scan line 3 */
      -+#define ACS_S7		NCURSES_ACS('r') /* scan line 7 */
      -+#define ACS_LEQUAL	NCURSES_ACS('y') /* less/equal */
      -+#define ACS_GEQUAL	NCURSES_ACS('z') /* greater/equal */
      -+#define ACS_PI		NCURSES_ACS('{') /* Pi */
      -+#define ACS_NEQUAL	NCURSES_ACS('|') /* not equal */
      -+#define ACS_STERLING	NCURSES_ACS('}') /* UK pound sign */
      - 
      - /*
      -  * Line drawing ACS names are of the form ACS_trbl, where t is the top, r
      -@@ -286,20 +288,19 @@
      - #undef mblen
      - #endif
      - #include 
      --#define _WCHAR_T
      --#define _WINT_T
      - #endif
      - 
      --#if @NCURSES_MBSTATE_T@
      -+#if @NEED_WCHAR_H@
      - #include 		/* ...to get mbstate_t, etc. */
      - #endif
      - 
      --#ifndef _WCHAR_T
      --typedef unsigned long wchar_t;
      --#endif /* _WCHAR_T */
      --#ifndef _WINT_T
      --typedef long int wint_t;
      --#endif /* _WINT_T */
      -+#if @NCURSES_WCHAR_T@
      -+typedef unsigned short wchar_t@NCURSES_OK_WCHAR_T@;
      -+#endif
      -+
      -+#if @NCURSES_WINT_T@
      -+typedef unsigned int wint_t@NCURSES_OK_WCHAR_T@;
      -+#endif
      - 
      - #define CCHARW_MAX	5
      - typedef struct
      -@@ -388,7 +389,8 @@
      - extern NCURSES_EXPORT(char *) keybound (int, int);
      - extern NCURSES_EXPORT(const char *) curses_version (void);
      - extern NCURSES_EXPORT(int) assume_default_colors (int, int);
      --extern NCURSES_EXPORT(int) define_key (char *, int);
      -+extern NCURSES_EXPORT(int) define_key (const char *, int);
      -+extern NCURSES_EXPORT(int) key_defined (const char *);
      - extern NCURSES_EXPORT(int) keyok (int, bool);
      - extern NCURSES_EXPORT(int) resize_term (int, int);
      - extern NCURSES_EXPORT(int) resizeterm (int, int);
      -@@ -451,24 +453,14 @@
      -  * GCC (and some other compilers) define '__attribute__'; we're using this
      -  * macro to alert the compiler to flag inconsistencies in printf/scanf-like
      -  * function calls.  Just in case '__attribute__' isn't defined, make a dummy.
      -- * G++ doesn't accept it anyway.
      -+ * Old versions of G++ do not accept it anyway, at least not consistently with
      -+ * GCC.
      -  */
      --#if !defined(__GNUC__) && !defined(__attribute__)
      -+#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__))
      - #define __attribute__(p) /* nothing */
      - #endif
      - 
      - /*
      -- * For g++, turn off our macros that use __attribute__ (g++ recognizes some
      -- * of them, but not at the same version levels as gcc).
      -- */
      --#ifdef __cplusplus
      --#undef GCC_NORETURN
      --#undef GCC_PRINTF
      --#undef GCC_SCANF
      --#undef GCC_UNUSED
      --#endif
      --
      --/*
      -  * We cannot define these in ncurses_cfg.h, since they require parameters to be
      -  * passed (that's non-portable).
      -  */
      -@@ -609,7 +601,7 @@
      - extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int);	/* generated */
      - extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *);		/* generated */
      - extern NCURSES_EXPORT(int) mvinstr (int, int, char *);			/* generated */
      --extern NCURSES_EXPORT(int) mvprintw (int,int, NCURSES_CONST char *,...)	/* implemented */
      -+extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...)		/* implemented */
      - 		GCC_PRINTFLIKE(3,4);
      - extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...)	/* implemented */
      - 		GCC_SCANFLIKE(3,4);
      -@@ -634,7 +626,7 @@
      - extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int);	/* generated */
      - extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *);		/* generated */
      - extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *);		/* generated */
      --extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, NCURSES_CONST char *,...)	/* implemented */
      -+extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...)	/* implemented */
      - 		GCC_PRINTFLIKE(4,5);
      - extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...)	/* implemented */
      - 		GCC_SCANFLIKE(4,5);
      -@@ -658,7 +650,7 @@
      - extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype);		/* implemented */
      - extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */
      - extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int);	/* implemented */
      --extern NCURSES_EXPORT(int) printw (NCURSES_CONST char *,...)		/* implemented */
      -+extern NCURSES_EXPORT(int) printw (const char *,...)			/* implemented */
      - 		GCC_PRINTFLIKE(1,2);
      - extern NCURSES_EXPORT(int) putp (const char *);				/* implemented */
      - extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *);			/* implemented */
      -@@ -720,8 +712,8 @@
      - extern NCURSES_EXPORT(int) vidattr (chtype);				/* implemented */
      - extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int));		/* implemented */
      - extern NCURSES_EXPORT(int) vline (chtype, int);				/* generated */
      --extern NCURSES_EXPORT(int) vwprintw (WINDOW *, NCURSES_CONST char *,va_list);	/* implemented */
      --extern NCURSES_EXPORT(int) vw_printw (WINDOW *, NCURSES_CONST char *,va_list);	/* generated */
      -+extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list);	/* implemented */
      -+extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list);	/* generated */
      - extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list);	/* implemented */
      - extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list);	/* generated */
      - extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype);		/* implemented */
      -@@ -765,7 +757,7 @@
      - extern NCURSES_EXPORT(int) winstr (WINDOW *, char *);			/* generated */
      - extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int);			/* implemented */
      - extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *);			/* implemented */
      --extern NCURSES_EXPORT(int) wprintw (WINDOW *, NCURSES_CONST char *,...)	/* implemented */
      -+extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...)		/* implemented */
      - 		GCC_PRINTFLIKE(2,3);
      - extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int);		/* implemented */
      - extern NCURSES_EXPORT(int) wrefresh (WINDOW *);				/* implemented */
      -@@ -831,10 +823,11 @@
      - #define nocrmode()		nocbreak()
      - #define gettmode()
      - 
      --#define getyx(win,y,x)   	(y = (win)?(win)->_cury:ERR, x = (win)?(win)->_curx:ERR)
      --#define getbegyx(win,y,x)	(y = (win)?(win)->_begy:ERR, x = (win)?(win)->_begx:ERR)
      --#define getmaxyx(win,y,x)	(y = (win)?((win)->_maxy + 1):ERR, x = (win)?((win)->_maxx + 1):ERR)
      --#define getparyx(win,y,x)	(y = (win)?(win)->_pary:ERR, x = (win)?(win)->_parx:ERR)
      -+#define getyx(win,y,x)   	(y = getcury(win), x = getcurx(win))
      -+#define getbegyx(win,y,x)	(y = getbegy(win), x = getbegx(win))
      -+#define getmaxyx(win,y,x)	(y = getmaxy(win), x = getmaxx(win))
      -+#define getparyx(win,y,x)	(y = getpary(win), x = getparx(win))
      -+
      - #define getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \
      - 			 else getyx(newscr,(y),(x)); \
      - 		    } while(0)
      -diff -urNd -urNd ncurses-5.3/include/curses.tail ncurses-5.3.20030906.orig/include/curses.tail
      ---- ncurses-5.3/include/curses.tail	Sat Oct 12 10:46:02 2002
      -+++ ncurses-5.3.20030906.orig/include/curses.tail	Tue May 13 20:08:22 2003
      -@@ -1,4 +1,4 @@
      --/* $Id: curses.tail,v 1.7 2002/10/12 15:46:02 tom Exp $ */
      -+/* $Id: curses.tail,v 1.8 2002/11/02 20:26:26 tom Exp $ */
      - 
      - /* mouse interface */
      - #define NCURSES_MOUSE_VERSION	1
      -@@ -121,10 +121,6 @@
      - #define OPTIMIZE_ALL		0xff	/* enable all optimizations (dflt) */
      - #endif
      - 
      --#ifndef NCURSES_WGETCH_EVENTS
      --#undef KEY_EVENT
      --#endif
      --
      - #ifdef __cplusplus
      - 
      - /* these names conflict with STL */
      -diff -urNd -urNd ncurses-5.3/include/curses.wide ncurses-5.3.20030906.orig/include/curses.wide
      ---- ncurses-5.3/include/curses.wide	Sat Aug 31 12:48:53 2002
      -+++ ncurses-5.3.20030906.orig/include/curses.wide	Sun Jul 20 14:02:08 2003
      -@@ -1,21 +1,23 @@
      - 
      - #ifdef _XOPEN_SOURCE_EXTENDED
      - 
      --/* $Id: curses.wide,v 1.25 2002/08/31 17:48:53 tom Exp $ */
      -+/* $Id: curses.wide,v 1.27 2003/06/07 21:59:37 tom Exp $ */
      - 
      - extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
      - 
      --#define WACS_BSSB	(&_nc_wacs['l'])
      --#define WACS_SSBB	(&_nc_wacs['m'])
      --#define WACS_BBSS	(&_nc_wacs['k'])
      --#define WACS_SBBS	(&_nc_wacs['j'])
      --#define WACS_SBSS	(&_nc_wacs['u'])
      --#define WACS_SSSB	(&_nc_wacs['t'])
      --#define WACS_SSBS	(&_nc_wacs['v'])
      --#define WACS_BSSS	(&_nc_wacs['w'])
      --#define WACS_BSBS	(&_nc_wacs['q'])
      --#define WACS_SBSB	(&_nc_wacs['x'])
      --#define WACS_SSSS	(&_nc_wacs['n'])
      -+#define NCURSES_WACS(c)	(&_nc_wacs[(unsigned char)c])
      -+
      -+#define WACS_BSSB	NCURSES_WACS('l')
      -+#define WACS_SSBB	NCURSES_WACS('m')
      -+#define WACS_BBSS	NCURSES_WACS('k')
      -+#define WACS_SBBS	NCURSES_WACS('j')
      -+#define WACS_SBSS	NCURSES_WACS('u')
      -+#define WACS_SSSB	NCURSES_WACS('t')
      -+#define WACS_SSBS	NCURSES_WACS('v')
      -+#define WACS_BSSS	NCURSES_WACS('w')
      -+#define WACS_BSBS	NCURSES_WACS('q')
      -+#define WACS_SBSB	NCURSES_WACS('x')
      -+#define WACS_SSSS	NCURSES_WACS('n')
      - 
      - #define WACS_ULCORNER	WACS_BSSB
      - #define WACS_LLCORNER	WACS_SSBB
      -@@ -29,31 +31,31 @@
      - #define WACS_VLINE	WACS_SBSB
      - #define WACS_PLUS	WACS_SSSS
      - 
      --#define WACS_S1		(&_nc_wacs['o']) /* scan line 1 */
      --#define WACS_S9 	(&_nc_wacs['s']) /* scan line 9 */
      --#define WACS_DIAMOND	(&_nc_wacs['`']) /* diamond */
      --#define WACS_CKBOARD	(&_nc_wacs['a']) /* checker board */
      --#define WACS_DEGREE	(&_nc_wacs['f']) /* degree symbol */
      --#define WACS_PLMINUS	(&_nc_wacs['g']) /* plus/minus */
      --#define WACS_BULLET	(&_nc_wacs['~']) /* bullet */
      -+#define WACS_S1		NCURSES_WACS('o') /* scan line 1 */
      -+#define WACS_S9 	NCURSES_WACS('s') /* scan line 9 */
      -+#define WACS_DIAMOND	NCURSES_WACS('`') /* diamond */
      -+#define WACS_CKBOARD	NCURSES_WACS('a') /* checker board */
      -+#define WACS_DEGREE	NCURSES_WACS('f') /* degree symbol */
      -+#define WACS_PLMINUS	NCURSES_WACS('g') /* plus/minus */
      -+#define WACS_BULLET	NCURSES_WACS('~') /* bullet */
      - 
      - 	/* Teletype 5410v1 symbols */
      --#define WACS_LARROW	(&_nc_wacs[',']) /* arrow left */
      --#define WACS_RARROW	(&_nc_wacs['+']) /* arrow right */
      --#define WACS_DARROW	(&_nc_wacs['.']) /* arrow down */
      --#define WACS_UARROW	(&_nc_wacs['-']) /* arrow up */
      --#define WACS_BOARD	(&_nc_wacs['h']) /* board of squares */
      --#define WACS_LANTERN	(&_nc_wacs['i']) /* lantern symbol */
      --#define WACS_BLOCK	(&_nc_wacs['0']) /* solid square block */
      -+#define WACS_LARROW	NCURSES_WACS(',') /* arrow left */
      -+#define WACS_RARROW	NCURSES_WACS('+') /* arrow right */
      -+#define WACS_DARROW	NCURSES_WACS('.') /* arrow down */
      -+#define WACS_UARROW	NCURSES_WACS('-') /* arrow up */
      -+#define WACS_BOARD	NCURSES_WACS('h') /* board of squares */
      -+#define WACS_LANTERN	NCURSES_WACS('i') /* lantern symbol */
      -+#define WACS_BLOCK	NCURSES_WACS('0') /* solid square block */
      - 
      - 	/* ncurses extensions */
      --#define WACS_S3		(&_nc_wacs['p']) /* scan line 3 */
      --#define WACS_S7		(&_nc_wacs['r']) /* scan line 7 */
      --#define WACS_LEQUAL	(&_nc_wacs['y']) /* less/equal */
      --#define WACS_GEQUAL	(&_nc_wacs['z']) /* greater/equal */
      --#define WACS_PI		(&_nc_wacs['{']) /* Pi */
      --#define WACS_NEQUAL	(&_nc_wacs['|']) /* not equal */
      --#define WACS_STERLING	(&_nc_wacs['}']) /* UK pound sign */
      -+#define WACS_S3		NCURSES_WACS('p') /* scan line 3 */
      -+#define WACS_S7		NCURSES_WACS('r') /* scan line 7 */
      -+#define WACS_LEQUAL	NCURSES_WACS('y') /* less/equal */
      -+#define WACS_GEQUAL	NCURSES_WACS('z') /* greater/equal */
      -+#define WACS_PI		NCURSES_WACS('{') /* Pi */
      -+#define WACS_NEQUAL	NCURSES_WACS('|') /* not equal */
      -+#define WACS_STERLING	NCURSES_WACS('}') /* UK pound sign */
      - 
      - /*
      -  * Function prototypes for wide-character operations.
      -@@ -129,7 +131,7 @@
      - extern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */
      - extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *);	/* missing */
      - extern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, short, const void *);	/* implemented */
      --extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int);	/* missing */
      -+extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int);	/* implemented */
      - extern NCURSES_EXPORT(attr_t) term_attrs (void);			/* implemented */
      - extern NCURSES_EXPORT(int) unget_wch (const wchar_t);			/* implemented */
      - extern NCURSES_EXPORT(int) vid_attr (attr_t, short, void *);		/* implemented */
      -diff -urNd -urNd ncurses-5.3/include/ncurses_defs ncurses-5.3.20030906.orig/include/ncurses_defs
      ---- ncurses-5.3/include/ncurses_defs	Sat Aug 24 18:13:43 2002
      -+++ ncurses-5.3.20030906.orig/include/ncurses_defs	Sun Jul 20 14:02:09 2003
      -@@ -1,6 +1,6 @@
      --# $Id: ncurses_defs,v 1.15 2002/08/24 23:13:43 tom Exp $
      -+# $Id: ncurses_defs,v 1.18 2003/07/05 15:14:30 tom Exp $
      - ##############################################################################
      --# Copyright (c) 2000-2001,2002 Free Software Foundation, Inc.                #
      -+# Copyright (c) 2000-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -45,6 +45,7 @@
      - GCC_UNUSED	/* nothing */
      - HAVE_BIG_CORE
      - HAVE_BSD_CGETENT
      -+HAVE_BTOWC 
      - HAVE_BUILTIN_H
      - HAVE_DIRENT_H
      - HAVE_ERRNO
      -@@ -72,6 +73,7 @@
      - HAVE_LINK
      - HAVE_LOCALE_H
      - HAVE_LONG_FILE_NAMES
      -+HAVE_MBTOWC
      - HAVE_MEMCCPY
      - HAVE_MENU_H
      - HAVE_MKSTEMP
      -@@ -81,6 +83,7 @@
      - HAVE_POLL
      - HAVE_POLL_H
      - HAVE_PURIFY
      -+HAVE_PUTWC 
      - HAVE_REGEXPR_H_FUNCS
      - HAVE_REGEXP_H_FUNCS
      - HAVE_REGEX_H_FUNCS
      -@@ -93,6 +96,7 @@
      - HAVE_SIGACTION
      - HAVE_SIGVEC
      - HAVE_SIZECHANGE
      -+HAVE_SLK_COLOR
      - HAVE_STRDUP
      - HAVE_STRSTR
      - HAVE_SYMLINK
      -@@ -121,6 +125,8 @@
      - HAVE_VFSCANF
      - HAVE_VSNPRINTF
      - HAVE_VSSCANF
      -+HAVE_WCTOB 
      -+HAVE_WCTOMB
      - HAVE_WORKING_POLL
      - HAVE_WRESIZE
      - HAVE__DOSCAN
      -@@ -160,6 +166,7 @@
      - USE_STRSTREAM_VSCAN
      - USE_STRSTREAM_VSCAN_CAST
      - USE_SYMLINKS
      -+USE_SYSMOUSE
      - USE_TERMCAP
      - USE_WIDEC_SUPPORT
      - USE_XMC_SUPPORT
      -diff -urNd -urNd ncurses-5.3/include/ncurses_dll.h ncurses-5.3.20030906.orig/include/ncurses_dll.h
      ---- ncurses-5.3/include/ncurses_dll.h	Sat Dec  8 19:36:34 2001
      -+++ ncurses-5.3.20030906.orig/include/ncurses_dll.h	Sun Jul 20 14:02:09 2003
      -@@ -1,10 +1,14 @@
      --/* $Id: ncurses_dll.h,v 1.2 2001/12/09 01:36:34 tom Exp $ */
      -+/* $Id: ncurses_dll.h,v 1.4 2003/07/19 18:44:32 Charles.Wilson Exp $ */
      - 
      - #ifndef NCURSES_DLL_H_incl
      - #define NCURSES_DLL_H_incl 1
      - 
      --#undef NCURSES_DLL	/* cygwin dll not implemented */
      --#define NCURSES_STATIC	/* cygwin dll not implemented */
      -+/* no longer needed on cygwin or mingw, thanks to auto-import       */
      -+/* but this structure may be useful at some point for an MSVC build */
      -+/* so, for now unconditionally define the important flags           */
      -+/* "the right way" for proper static and dll+auto-import behavior   */
      -+#undef NCURSES_DLL
      -+#define NCURSES_STATIC
      - 
      - #if defined(__CYGWIN__)
      - #  if defined(NCURSES_DLL)
      -@@ -14,8 +18,8 @@
      - #  endif
      - #  undef NCURSES_IMPEXP
      - #  undef NCURSES_API
      --#  undef NCURSES_EXPORT(type)
      --#  undef NCURSES_EXPORT_VAR(type)
      -+#  undef NCURSES_EXPORT
      -+#  undef NCURSES_EXPORT_VAR
      - #  if defined(NCURSES_DLL)
      - /* building a DLL */
      - #    define NCURSES_IMPEXP __declspec(dllexport)
      -diff -urNd -urNd ncurses-5.3/include/tic.h ncurses-5.3.20030906.orig/include/tic.h
      ---- ncurses-5.3/include/tic.h	Sat Oct 12 10:46:15 2002
      -+++ ncurses-5.3.20030906.orig/include/tic.h	Fri Sep 12 16:41:41 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2000,2001 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -32,7 +32,7 @@
      -  ****************************************************************************/
      - 
      - /*
      -- * $Id: tic.h,v 1.42 2002/10/12 15:46:15 tom Exp $
      -+ * $Id: tic.h,v 1.45 2003/08/02 23:54:19 tom Exp $
      -  *	tic.h - Global variables and structures for the terminfo
      -  *			compiler.
      -  */
      -@@ -203,8 +203,6 @@
      - 	const char	*source;
      - };
      - 
      --extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
      --
      - extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[];
      - extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[];
      - 
      -@@ -217,7 +215,7 @@
      - #define NOTFOUND	((struct name_table_entry *) 0)
      - 
      - /* out-of-band values for representing absent capabilities */
      --#define ABSENT_BOOLEAN		(-1)		/* 255 */
      -+#define ABSENT_BOOLEAN		(char)(-1)	/* 255 */
      - #define ABSENT_NUMERIC		(-1)
      - #define ABSENT_STRING		(char *)0
      - 
      -@@ -241,6 +239,7 @@
      - #endif
      - 
      - /* access.c */
      -+extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *);
      - extern NCURSES_EXPORT(char *) _nc_basename (char *);
      - extern NCURSES_EXPORT(char *) _nc_rootname (char *);
      - 
      -@@ -284,6 +283,13 @@
      - extern NCURSES_EXPORT(char *) _nc_captoinfo (const char *, const char *, int const);
      - extern NCURSES_EXPORT(char *) _nc_infotocap (const char *, const char *, int const);
      - 
      -+/* lib_tparm.c */
      -+#define NUM_PARM 9
      -+
      -+extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
      -+
      -+extern NCURSES_EXPORT(int) _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount);
      -+
      - /* lib_tputs.c */
      - extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent;		/* Add one for every null sent */
      - 
      -diff -urNd -urNd ncurses-5.3/man/MKterminfo.sh ncurses-5.3.20030906.orig/man/MKterminfo.sh
      ---- ncurses-5.3/man/MKterminfo.sh	Sat Jun 29 15:04:28 2002
      -+++ ncurses-5.3.20030906.orig/man/MKterminfo.sh	Tue May 13 20:08:22 2003
      -@@ -1,10 +1,10 @@
      - #!/bin/sh
      --# $Id: MKterminfo.sh,v 1.10 2002/06/29 20:04:28 tom Exp $
      -+# $Id: MKterminfo.sh,v 1.12 2003/01/11 21:42:12 tom Exp $
      - #
      - # MKterminfo.sh -- generate terminfo.5 from Caps tabular data
      - #
      - #***************************************************************************
      --# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
      -+# Copyright (c) 1998,2002,2003 Free Software Foundation, Inc.              *
      - #                                                                          *
      - # Permission is hereby granted, free of charge, to any person obtaining a  *
      - # copy of this software and associated documentation files (the            *
      -@@ -69,11 +69,11 @@
      - 
      - sed -n <$caps "\
      - /%%-STOP-HERE-%%/q
      --/^#%/s///p
      -+/^#%/s/#%//p
      - /^#/d
      --s/[	]\+/	/g
      -+s/[	][	]*/	/g
      - s/$/T}/
      --s/	[A-Z0-9_()\-]\+	[0-9\-]\+	[Y\-][B\-][C\-][G\-][EK\-]\**	/	T{/
      -+s/	[A-Z0-9_()\-][A-Z0-9_()\-]*	[0-9\-][0-9\-]*	[Y\-][B\-][C\-][G\-][EK\-]\**	/	T{/
      - s/	bool	/	/p
      - s/	num	/	/p
      - s/	str	/	/p
      -diff -urNd -urNd ncurses-5.3/man/captoinfo.1m ncurses-5.3.20030906.orig/man/captoinfo.1m
      ---- ncurses-5.3/man/captoinfo.1m	Sat Aug 12 20:56:49 2000
      -+++ ncurses-5.3.20030906.orig/man/captoinfo.1m	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,14 +27,14 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: captoinfo.1m,v 1.16 2000/08/13 01:56:49 tom Exp $
      -+.\" $Id: captoinfo.1m,v 1.17 2003/05/11 00:32:53 tom Exp $
      - .TH captoinfo 1M ""
      - .ds n 5
      - .ds d @TERMINFO@
      - .SH NAME
      - \fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
      - .SH SYNOPSIS
      --\fBcaptoinfo\fR [\fB-v\fR\fIn\fR \fIwidth\fR]  [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
      -+\fBcaptoinfo\fR [\fB\-v\fR\fIn\fR \fIwidth\fR]  [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR . . .
      - .SH DESCRIPTION
      - \fBcaptoinfo\fR looks in \fIfile\fR for \fBtermcap\fR descriptions.  For each
      - one found, an equivalent \fBterminfo\fR description is written to standard
      -@@ -47,18 +47,18 @@
      - extracted from that file.  If the environment variable \fBTERMCAP\fR is not
      - set, then the file \fB\*d\fR is read.
      - .TP 5
      --\fB-v\fR
      -+\fB\-v\fR
      - print out tracing information on standard error as the program runs.
      - .TP 5
      --\fB-V\fR
      -+\fB\-V\fR
      - print out the version of the program in use on standard error and exit.
      - .TP 5
      --\fB-1\fR
      -+\fB\-1\fR
      - cause the fields to print out one to a line.  Otherwise, the fields
      - will be printed several to a line to a maximum width of 60
      - characters.
      - .TP 5
      --\fB-w\fR
      -+\fB\-w\fR
      - change the output to \fIwidth\fR characters.
      - .SH FILES
      - .TP 20
      -@@ -172,11 +172,11 @@
      - capabilities \fBmeml\fR (memory lock) and \fBmemu\fR (memory unlock).
      - These will be discarded with a warning message.
      - .SH NOTES
      --This utility is actually a link to \fItic\fR(1M), running in \fI-I\fR mode.
      --You can use other \fItic\fR options such as \fB-f\fR and  \fB-x\fR.
      -+This utility is actually a link to \fItic\fR(1M), running in \fI\-I\fR mode.
      -+You can use other \fItic\fR options such as \fB\-f\fR and  \fB\-x\fR.
      - 
      - The trace option isn't identical to SVr4's.  Under SVr4, instead of following
      --the -v with a trace level n, you repeat it n times.
      -+the \fB\-v\fR with a trace level n, you repeat it n times.
      - .SH SEE ALSO
      - \fBcurses\fR(3X), \fB@INFOCMP@\fR(1M), \fBterminfo\fR(\*n)
      - .SH AUTHOR
      -diff -urNd -urNd ncurses-5.3/man/curs_addch.3x ncurses-5.3.20030906.orig/man/curs_addch.3x
      ---- ncurses-5.3/man/curs_addch.3x	Sat Aug 10 17:12:36 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_addch.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_addch.3x,v 1.20 2002/08/10 22:12:36 tom Exp $
      -+.\" $Id: curs_addch.3x,v 1.21 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_addch 3X ""
      - .SH NAME
      - \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR,
      -@@ -62,7 +62,7 @@
      - edge of a window it does nothing.
      - Newline does a \fBclrtoeol\fR,
      - then moves the cursor to the window left margin on the next line,
      --scrolling the window if on the last line).
      -+scrolling the window if on the last line.
      - Tabs are considered to be at every eighth column.
      - The tab interval may be altered by setting the \fBTABSIZE\fR variable.
      - 
      -@@ -74,7 +74,7 @@
      - Video attributes can be combined with a character argument passed to
      - \fBaddch\fR or related functions by logical-ORing them into the character.
      - (Thus, text, including attributes, can be copied from one place to another
      --using \fBinch\fR and \fBaddch\fR.).  See the \fBcurs_attr\fR(3X) page for
      -+using \fBinch\fR and \fBaddch\fR.)  See the \fBcurs_attr\fR(3X) page for
      - values of predefined video attribute constants that can be usefully OR'ed
      - into characters.
      - 
      -diff -urNd -urNd ncurses-5.3/man/curs_beep.3x ncurses-5.3.20030906.orig/man/curs_beep.3x
      ---- ncurses-5.3/man/curs_beep.3x	Wed Mar 11 15:12:53 1998
      -+++ ncurses-5.3.20030906.orig/man/curs_beep.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
      -+.\" Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_beep.3x,v 1.7 1998/03/11 21:12:53 juergen Exp $
      -+.\" $Id: curs_beep.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_beep 3X ""
      - .SH NAME
      - \fBbeep\fR, \fBflash\fR - \fBcurses\fR bell and screen flash routines
      -@@ -45,7 +45,7 @@
      - alert is possible, nothing happens.  Nearly all terminals have an audible alert
      - (bell or beep), but only some can flash the screen.
      - .SH RETURN VALUE
      --These routines return \fBOK\fR if they succeed in beeping or flashing, 
      -+These routines return \fBOK\fR if they succeed in beeping or flashing,
      - \fBERR\fR otherwise.
      - .SH EXTENSIONS
      - SVr4's beep and flash routines always returned \fBOK\fR, so it was not
      -diff -urNd -urNd ncurses-5.3/man/curs_deleteln.3x ncurses-5.3.20030906.orig/man/curs_deleteln.3x
      ---- ncurses-5.3/man/curs_deleteln.3x	Sat Nov 11 14:43:20 2000
      -+++ ncurses-5.3.20030906.orig/man/curs_deleteln.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_deleteln.3x,v 1.7 2000/11/11 20:43:20 Bernhard.Rosenkraenzer Exp $
      -+.\" $Id: curs_deleteln.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_deleteln 3X ""
      - .SH NAME
      - \fBdeleteln\fR,
      -@@ -61,7 +61,7 @@
      - with the one under the cursor), and move the remaining lines up.  The bottom
      - \fIn\fR lines are cleared.  The current cursor position remains the same.
      - 
      --The \fBinsertln\fR and \fBwinsertln\fR routines, insert a blank line above the
      -+The \fBinsertln\fR and \fBwinsertln\fR routines insert a blank line above the
      - current line and the bottom line is lost.
      - .SH RETURN VALUE
      - All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4
      -diff -urNd -urNd ncurses-5.3/man/curs_extend.3x ncurses-5.3.20030906.orig/man/curs_extend.3x
      ---- ncurses-5.3/man/curs_extend.3x	Sat Feb 16 16:39:04 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_extend.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -28,7 +28,7 @@
      - .\"
      - .\" Author: Thomas E. Dickey  1999
      - .\"
      --.\" $Id: curs_extend.3x,v 1.9 2002/02/16 22:39:04 tom Exp $
      -+.\" $Id: curs_extend.3x,v 1.11 2003/05/11 00:32:53 tom Exp $
      - .TH curs_extend 3X ""
      - .SH NAME
      - \fBcurses_version\fP,
      -@@ -55,11 +55,11 @@
      - is able to use user-defined or nonstandard names
      - which may be compiled into the terminfo
      - description, i.e., via the terminfo or termcap interfaces.
      --Normally these names are available for use, since the essential descision
      --is made by using the \fB-x\fP option of \fItic\fP to compile
      -+Normally these names are available for use, since the essential decision
      -+is made by using the \fB\-x\fP option of \fItic\fP to compile
      - extended terminal definitions.
      - However you can disable this feature
      --to ensure compatiblity with other implementations of curses
      -+to ensure compatiblity with other implementations of curses.
      - .SH PORTABILITY
      - These routines are specific to ncurses.  They were not supported on
      - Version 7, BSD or System V implementations.  It is recommended that
      -diff -urNd -urNd ncurses-5.3/man/curs_get_wch.3x ncurses-5.3.20030906.orig/man/curs_get_wch.3x
      ---- ncurses-5.3/man/curs_get_wch.3x	Sat May 18 16:48:53 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_get_wch.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
      -+.\" Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_get_wch.3x,v 1.3 2002/05/18 21:48:53 tom Exp $
      -+.\" $Id: curs_get_wch.3x,v 1.5 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_get_wch 3X ""
      - .SH NAME
      - \fBget_wch\fR,
      -@@ -37,13 +37,13 @@
      - .SH SYNOPSIS
      - \fB#include \fR
      - .sp
      --\fBint get_wch(win_t *\fR\fIwch\fR\fB);\fR
      -+\fBint get_wch(wint_t *\fR\fIwch\fR\fB);\fR
      - .br
      --\fBint wget_wch(WINDOW *\fR\fIwin\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
      -+\fBint wget_wch(WINDOW *\fR\fIwin\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
      - .br
      --\fBint mvget_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
      -+\fBint mvget_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
      - .br
      --\fBint mvwget_wch(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
      -+\fBint mvwget_wch(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
      - .br
      - \fBint unget_wch(const wchar_t \fR\fIwch\fR\fB);\fR
      - .SH DESCRIPTION
      -@@ -130,7 +130,7 @@
      - Depending on the state of the tty driver when each character
      - is typed, the program may produce undesirable results.
      - .PP
      --All functions except \fBwget_wch\fR and \fBunget_wch\fR 
      -+All functions except \fBwget_wch\fR and \fBunget_wch\fR
      - may be macros.
      - .SH RETURN VALUES
      - When
      -diff -urNd -urNd ncurses-5.3/man/curs_get_wstr.3x ncurses-5.3.20030906.orig/man/curs_get_wstr.3x
      ---- ncurses-5.3/man/curs_get_wstr.3x	Sat May 18 16:48:15 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_get_wstr.3x	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
      -+.\" Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_get_wstr.3x,v 1.2 2002/05/18 21:48:15 tom Exp $
      -+.\" $Id: curs_get_wstr.3x,v 1.3 2003/07/05 11:15:28 tom Exp $
      - .TH curs_get_wstr 3X ""
      - .SH NAME
      - \fBget_wstr\fR,
      -@@ -151,6 +151,9 @@
      - In the latter case,
      - an ERR return without other data is treated as an end-of-file condition,
      - and the returned array contains a \fBWEOF\fR followed by a null \fBwchar_t\fR.
      -+.PP
      -+X/Open curses documents these functions to pass an array of \fBwchar_t\fR,
      -+but all of the vendors implement this using \fBwint_t\fR.
      - .SH SEE ALSO
      - Functions:
      - \fBcurses\fR(3X),
      -diff -urNd -urNd ncurses-5.3/man/curs_getcchar.3x ncurses-5.3.20030906.orig/man/curs_getcchar.3x
      ---- ncurses-5.3/man/curs_getcchar.3x	Sat Mar 23 19:08:55 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_getcchar.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_getcchar.3x,v 1.6 2002/03/24 01:08:55 tom Exp $
      -+.\" $Id: curs_getcchar.3x,v 1.7 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_getcchar 3X ""
      - .SH NAME
      - \fBgetcchar\fP,
      -@@ -108,7 +108,7 @@
      - The string must be L'\\0' terminated,
      - contain at most one character with strictly positive width,
      - which must be the first,
      --and contain no characters of negative width. 
      -+and contain no characters of negative width.
      - .SH NOTES
      - .PP
      - The \fIopts\fP argument is reserved for future use.
      -diff -urNd -urNd ncurses-5.3/man/curs_getch.3x ncurses-5.3.20030906.orig/man/curs_getch.3x
      ---- ncurses-5.3/man/curs_getch.3x	Sun Mar 17 08:36:21 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_getch.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_getch.3x,v 1.21 2002/03/17 14:36:21 tom Exp $
      -+.\" $Id: curs_getch.3x,v 1.22 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_getch 3X ""
      - .SH NAME
      - \fBgetch\fR,
      -@@ -82,7 +82,7 @@
      - that function key is returned instead of the raw characters.
      - Possible function
      - keys are defined in \fB\fR as macros with values outside the range
      --of 8-bit characters whose names begin with \fBKEY_.\fR Thus, a variable
      -+of 8-bit characters whose names begin with \fBKEY_\fR. Thus, a variable
      - intended to hold the return value of a function key must be of short size or
      - larger.
      - 
      -@@ -143,7 +143,7 @@
      - KEY_SRESET/Soft (partial) reset
      - KEY_RESET/Reset or hard reset
      - KEY_PRINT/Print or copy
      --KEY_LL/Home down or bottom (lower left).
      -+KEY_LL/Home down or bottom (lower left)
      - KEY_A1/Upper left of keypad
      - KEY_A3/Upper right of keypad
      - KEY_B2/Center of keypad
      -@@ -238,7 +238,7 @@
      - treat these control keys specially (and ignore the terminfo), or
      - use the terminfo definitions.
      - \fBNcurses\fR uses the terminfo definition.
      --If it says that KEY_ENTER is control/M, \fBgetch\fR, will return KEY_ENTER
      -+If it says that KEY_ENTER is control/M, \fBgetch\fR will return KEY_ENTER
      - when you press control/M.
      - 
      - When using \fBgetch\fR, \fBwgetch\fR, \fBmvgetch\fR, or
      -diff -urNd -urNd ncurses-5.3/man/curs_getstr.3x ncurses-5.3.20030906.orig/man/curs_getstr.3x
      ---- ncurses-5.3/man/curs_getstr.3x	Sat Apr 13 17:14:30 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_getstr.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_getstr.3x,v 1.11 2002/04/13 22:14:30 tom Exp $
      -+.\" $Id: curs_getstr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_getstr 3X ""
      - .SH NAME
      - \fBgetstr\fR,
      -@@ -90,7 +90,7 @@
      - 
      - SVr3 and early SVr4 curses implementations did not reject function keys;
      - the SVr4.0 documentation claimed that "special keys" (such as function
      --keys, "home" key, "clear" key, \fIetc\fR.) are interpreted" without
      -+keys, "home" key, "clear" key, \fIetc\fR.) are "interpreted", without
      - giving details.  It lied.  In fact, the `character' value appended to the
      - string by those implementations was predictable but not useful
      - (being, in fact, the low-order eight bits of the key's KEY_ value).
      -diff -urNd -urNd ncurses-5.3/man/curs_getyx.3x ncurses-5.3.20030906.orig/man/curs_getyx.3x
      ---- ncurses-5.3/man/curs_getyx.3x	Sat Sep 21 14:00:38 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_getyx.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,17 +26,9 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_getyx.3x,v 1.8 2002/09/21 19:00:38 tom Exp $
      -+.\" $Id: curs_getyx.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_getyx 3X ""
      - .SH NAME
      --.IX getbegx
      --.IX getbegy
      --.IX getcurx
      --.IX getcury
      --.IX getmaxx
      --.IX getmaxy
      --.IX getparx
      --.IX getpary
      - \fBgetyx\fR,
      - \fBgetparyx\fR,
      - \fBgetbegyx\fR,
      -@@ -64,7 +56,7 @@
      - Like \fBgetyx\fR, the \fBgetbegyx\fR and \fBgetmaxyx\fR macros store
      - the current beginning coordinates and size of the specified window.
      - .SH RETURN VALUE
      --The return values of these macros are undefined (\fIi\fR.\fIe\fR.,
      -+The return values of these macros are undefined (i.e.,
      - they should not be used as the right-hand side of assignment statements).
      - .SH NOTES
      - All of these interfaces are macros.
      -diff -urNd -urNd ncurses-5.3/man/curs_initscr.3x ncurses-5.3.20030906.orig/man/curs_initscr.3x
      ---- ncurses-5.3/man/curs_initscr.3x	Sat Jul 20 09:51:04 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_initscr.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_initscr.3x,v 1.11 2002/07/20 14:51:04 tom Exp $
      -+.\" $Id: curs_initscr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_initscr 3X ""
      - .SH NAME
      - \fBinitscr\fR,
      -@@ -111,7 +111,7 @@
      - 
      - Old versions of curses, e.g., BSD 4.4, may have returned a null pointer
      - from \fBinitscr\fR when an error is detected, rather than exiting.
      --It is safe but redundant to check the return value of \fBinitscr\fR 
      -+It is safe but redundant to check the return value of \fBinitscr\fR
      - in XSI Curses.
      - .SH SEE ALSO
      - \fBcurses\fR(3X), \fBcurs_kernel\fR(3X), \fBcurs_refresh\fR(3X),
      -diff -urNd -urNd ncurses-5.3/man/curs_inopts.3x ncurses-5.3.20030906.orig/man/curs_inopts.3x
      ---- ncurses-5.3/man/curs_inopts.3x	Sat Aug 10 17:29:49 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_inopts.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2001 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_inopts.3x,v 1.9 2002/08/10 22:29:49 tom Exp $
      -+.\" $Id: curs_inopts.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_inopts 3X ""
      - .SH NAME
      - \fBcbreak\fR, \fBnocbreak\fR, \fBecho\fR,
      -@@ -163,9 +163,9 @@
      - 
      - The \fBtimeout\fR and \fBwtimeout\fR routines set blocking or
      - non-blocking read for a given window.  If \fIdelay\fR is negative,
      --blocking read is used (\fIi\fR.\fIe\fR., waits indefinitely for
      -+blocking read is used (i.e., waits indefinitely for
      - input).  If \fIdelay\fR is zero, then non-blocking read is used
      --(\fIi\fR.\fIe\fR., read returns \fBERR\fR if no input is waiting).  If
      -+(i.e., read returns \fBERR\fR if no input is waiting).  If
      - \fIdelay\fR is positive, then read blocks for \fIdelay\fR
      - milliseconds, and returns \fBERR\fR if there is still no input.
      - Hence, these routines provide the same functionality as \fBnodelay\fR,
      -@@ -193,7 +193,7 @@
      - AT&T curses implementations, in that the echo bit is cleared when curses
      - initializes the terminal state.  BSD curses differed from this slightly; it
      - left the echo bit on at initialization, but the BSD \fBraw\fR call turned it
      --off as a side-effect.  For best portability, set echo or noecho explicitly 
      -+off as a side-effect.  For best portability, set echo or noecho explicitly
      - just after initialization, even if your program remains in cooked mode.
      - .SH NOTES
      - Note that \fBecho\fR, \fBnoecho\fR, \fBhalfdelay\fR, \fBintrflush\fR,
      -diff -urNd -urNd ncurses-5.3/man/curs_insch.3x ncurses-5.3.20030906.orig/man/curs_insch.3x
      ---- ncurses-5.3/man/curs_insch.3x	Sat Jul  1 14:57:21 2000
      -+++ ncurses-5.3.20030906.orig/man/curs_insch.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_insch.3x,v 1.7 2000/07/01 19:57:21 tom Exp $
      -+.\" $Id: curs_insch.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_insch 3X ""
      - .SH NAME
      - \fBinsch\fR,
      -@@ -45,7 +45,7 @@
      - \fBint mvwinsch(WINDOW *win, int y, int x, chtype ch);\fR
      - .br
      - .SH DESCRIPTION
      --These routines, insert the character \fIch\fR before the character under the
      -+These routines insert the character \fIch\fR before the character under the
      - cursor.  All characters to the right of the cursor are moved one space to the
      - right, with the possibility of the rightmost character on the line being lost.
      - The insertion operation does not change the cursor position.
      -diff -urNd -urNd ncurses-5.3/man/curs_mouse.3x ncurses-5.3.20030906.orig/man/curs_mouse.3x
      ---- ncurses-5.3/man/curs_mouse.3x	Sat Jul 20 09:52:14 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_mouse.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_mouse.3x,v 1.20 2002/07/20 14:52:14 tom Exp $
      -+.\" $Id: curs_mouse.3x,v 1.22 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_mouse 3X ""
      - .SH NAME
      - \fBgetmouse\fR, \fBungetmouse\fR,
      -@@ -149,8 +149,8 @@
      - to screen-relative coordinates due to the mechanism to reserve lines on top
      - or bottom of the screen for other purposes (ripoff() call, see also slk_...
      - functions).
      --If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers 
      --\fBpY, pX\fR must reference the coordinates of a location inside the window 
      -+If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers
      -+\fBpY, pX\fR must reference the coordinates of a location inside the window
      - \fBwin\fR.
      - They are converted to screen-relative coordinates and returned
      - through the pointers.
      -@@ -168,7 +168,7 @@
      - Please notice, that the referenced coordinates
      - are only replaced by the converted coordinates if the transformation was
      - successful.
      -- 
      -+
      - The \fBmouseinterval\fR function sets the maximum time (in thousands of a
      - second) that can elapse between press and release events for them to
      - be recognized as a click.
      -@@ -209,6 +209,14 @@
      - \fBncurses\fR(3X) (and the \fBwmousemask\fR function will always
      - return \fB0\fR).
      - 
      -+If the terminfo entry contains a \fBXM\fR string,
      -+this is used in the xterm mouse driver to control the
      -+way the terminal is initialized for mouse operation.
      -+The default, if \fBXM\fR is not found,
      -+corresponds to private mode 1000 of xterm:
      -+
      -+    \\E[?1000%?%p1%{1}%=%th%el%;
      -+
      - The z member in the event structure is not presently used.
      - It is intended
      - for use with touch screens (which may be pressure-sensitive) or with
      -diff -urNd -urNd ncurses-5.3/man/curs_outopts.3x ncurses-5.3.20030906.orig/man/curs_outopts.3x
      ---- ncurses-5.3/man/curs_outopts.3x	Sat Oct 13 19:50:30 2001
      -+++ ncurses-5.3.20030906.orig/man/curs_outopts.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2001 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_outopts.3x,v 1.17 2001/10/14 00:50:30 tom Exp $
      -+.\" $Id: curs_outopts.3x,v 1.18 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_outopts 3X ""
      - .SH NAME
      - \fBclearok\fR, \fBidlok\fR, \fBidcok\fR, \fBimmedok\fR,
      -@@ -93,7 +93,7 @@
      - 
      - If \fBimmedok\fR is called with \fBTRUE as argument\fR, any change
      - in the window image, such as the ones caused by \fBwaddch, wclrtobot, wscrl\fR,
      --\fIetc\fR., automatically cause a call to \fBwrefresh\fR.
      -+etc., automatically cause a call to \fBwrefresh\fR.
      - However, it may
      - degrade performance considerably, due to repeated calls to \fBwrefresh\fR.
      - It is disabled by default.
      -@@ -165,7 +165,7 @@
      - This will not work under
      - ncurses.
      - 
      --Earlier System V curses implementations specified that with \fBscrollok\fR 
      -+Earlier System V curses implementations specified that with \fBscrollok\fR
      - enabled, any window modification triggering a scroll also forced a physical
      - refresh.
      - XSI Curses does not require this, and \fBncurses\fR avoids doing
      -diff -urNd -urNd ncurses-5.3/man/curs_pad.3x ncurses-5.3.20030906.orig/man/curs_pad.3x
      ---- ncurses-5.3/man/curs_pad.3x	Tue Jul  4 17:38:13 2000
      -+++ ncurses-5.3.20030906.orig/man/curs_pad.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_pad.3x,v 1.9 2000/07/04 22:38:13 tom Exp $
      -+.\" $Id: curs_pad.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_pad 3X ""
      - .SH NAME
      - \fBnewpad\fR, \fBsubpad\fR, \fBprefresh\fR,
      -@@ -53,7 +53,7 @@
      - screen size, and is not necessarily associated with a particular part of the
      - screen.  Pads can be used when a large window is needed, and only a part of the
      - window will be on the screen at one time.  Automatic refreshes of pads
      --(\fIe\fR.\fIg\fR., from scrolling or echoing of input) do not occur.  It is not
      -+(e.g., from scrolling or echoing of input) do not occur.  It is not
      - legal to call \fBwrefresh\fR with a \fIpad\fR as an argument; the routines
      - \fBprefresh\fR or \fBpnoutrefresh\fR should be called instead.  Note that these
      - routines require additional parameters to specify the part of the pad to be
      -@@ -84,7 +84,7 @@
      - The \fBpechochar\fR routine is functionally equivalent to a call to \fBaddch\fR
      - followed by a call to \fBrefresh\fR, a call to \fBwaddch\fR followed by a call
      - to \fBwrefresh\fR, or a call to \fBwaddch\fR followed by a call to
      --\fBprefresh.\fR The knowledge that only a single character is being output is
      -+\fBprefresh\fR. The knowledge that only a single character is being output is
      - taken into consideration and, for non-control characters, a considerable
      - performance gain might be seen by using these routines instead of their
      - equivalents.  In the case of \fBpechochar\fR, the last location of the pad on
      -@@ -95,7 +95,7 @@
      - completion.
      - 
      - Routines that return pointers return \fBNULL\fR on error, and set \fBerrno\fR
      --to \fBENOMEM\fR.  
      -+to \fBENOMEM\fR.
      - .SH NOTES
      - Note that \fBpechochar\fR may be a macro.
      - .SH PORTABILITY
      -diff -urNd -urNd ncurses-5.3/man/curs_print.3x ncurses-5.3.20030906.orig/man/curs_print.3x
      ---- ncurses-5.3/man/curs_print.3x	Sat Feb 16 16:39:04 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_print.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_print.3x,v 1.5 2002/02/16 22:39:04 tom Exp $
      -+.\" $Id: curs_print.3x,v 1.6 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_print 3X ""
      - .SH NAME
      - \fBmcprint\fR - ship binary data to printer
      -@@ -46,7 +46,7 @@
      - rule of thumb is to sleep for a second after shipping each 80-character line.
      - 
      - .SH RETURN VALUE
      --The \fBmcprint\fR function returns \fBERR\fR if the write operation aborted 
      -+The \fBmcprint\fR function returns \fBERR\fR if the write operation aborted
      - for some reason.  In this case, errno will contain either an error associated
      - with \fBwrite(2)\fR or one of the following:
      - .TP 5
      -diff -urNd -urNd ncurses-5.3/man/curs_printw.3x ncurses-5.3.20030906.orig/man/curs_printw.3x
      ---- ncurses-5.3/man/curs_printw.3x	Sat Jul 20 10:01:43 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_printw.3x	Tue May 13 20:08:22 2003
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_printw.3x,v 1.12 2002/07/20 15:01:43 tom Exp $
      -+.\" $Id: curs_printw.3x,v 1.13 2002/11/16 22:28:57 tom Exp $
      - .TH curs_printw 3X ""
      - .SH NAME
      - \fBprintw\fR,
      -@@ -37,17 +37,17 @@
      - .SH SYNOPSIS
      - \fB#include \fR
      - 
      --\fBint printw(char *fmt, ...);\fR
      -+\fBint printw(const char *fmt, ...);\fR
      - .br
      --\fBint wprintw(WINDOW *win, char *fmt, ...);\fR
      -+\fBint wprintw(WINDOW *win, const char *fmt, ...);\fR
      - .br
      --\fBint mvprintw(int y, int x, char *fmt, ...);\fR
      -+\fBint mvprintw(int y, int x, const char *fmt, ...);\fR
      - .br
      --\fBint mvwprintw(WINDOW *win, int y, int x, char *fmt, ...);\fR
      -+\fBint mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);\fR
      - .br
      --\fBint vwprintw(WINDOW *win, char *fmt, va_list varglist);\fR
      -+\fBint vwprintw(WINDOW *win, const char *fmt, va_list varglist);\fR
      - .br
      --\fBint vw_printw(WINDOW *win, char *fmt, va_list varglist);\fR
      -+\fBint vw_printw(WINDOW *win, const char *fmt, va_list varglist);\fR
      - .br
      - .SH DESCRIPTION
      - The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR
      -diff -urNd -urNd ncurses-5.3/man/curs_scroll.3x ncurses-5.3.20030906.orig/man/curs_scroll.3x
      ---- ncurses-5.3/man/curs_scroll.3x	Sat Oct 13 19:51:56 2001
      -+++ ncurses-5.3.20030906.orig/man/curs_scroll.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_scroll.3x,v 1.9 2001/10/14 00:51:56 tom Exp $
      -+.\" $Id: curs_scroll.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_scroll 3X ""
      - .SH NAME
      - \fBscroll\fR, \fBscrl\fR, \fBwscrl\fR - scroll a \fBcurses\fR window
      -@@ -61,12 +61,12 @@
      - .SH NOTES
      - Note that \fBscrl\fR and \fBscroll\fR may be macros.
      - 
      --The SVr4 documentation says that the optimization of physically scrolling 
      -+The SVr4 documentation says that the optimization of physically scrolling
      - immediately if the scroll region is the entire screen "is" performed, not
      - "may be" performed.
      - This implementation deliberately does not guarantee
      - that this will occur, to leave open the possibility of smarter
      --optimization of multiple scroll actions on the next update. 
      -+optimization of multiple scroll actions on the next update.
      - 
      - Neither the SVr4 nor the XSI documentation specify whether the current
      - attribute or
      -diff -urNd -urNd ncurses-5.3/man/curs_slk.3x ncurses-5.3.20030906.orig/man/curs_slk.3x
      ---- ncurses-5.3/man/curs_slk.3x	Sat Mar  3 15:05:41 2001
      -+++ ncurses-5.3.20030906.orig/man/curs_slk.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_slk.3x,v 1.11 2001/03/03 21:05:41 Todd.C.Miller Exp $
      -+.\" $Id: curs_slk.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_slk 3X ""
      - .SH NAME
      - \fBslk_init\fR, \fBslk_set\fR, \fBslk_refresh\fR,
      -@@ -77,7 +77,7 @@
      - many terminals.  For those terminals that do not have soft labels,
      - \fBcurses\fR takes over the bottom line of \fBstdscr\fR, reducing the size of
      - \fBstdscr\fR and the variable \fBLINES\fR.  \fBcurses\fR standardizes on eight
      --labels of up to eight characters each. In addition to this, the ncurses 
      -+labels of up to eight characters each. In addition to this, the ncurses
      - implementation supports a mode where it simulates 12 labels of up to five
      - characters each. This is most common for todays PC like enduser devices.
      - Please note that ncurses simulates this mode by taking over up to two lines at
      -@@ -94,10 +94,10 @@
      - identify the key numbers easily.
      - 
      - The \fBslk_set\fR routine requires \fIlabnum\fR to be a label number,
      --from \fB1\fR to \fB8\fR (resp. \fB12\fR); \fIlabel\fR must be the string 
      -+from \fB1\fR to \fB8\fR (resp. \fB12\fR); \fIlabel\fR must be the string
      - to be put on the label, up to eight (resp. five) characters in length.
      - A null string or a null pointer sets up a blank label. \fIfmt\fR is either
      --\fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is  to be 
      -+\fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is  to be
      - left-justified, centered, or right-justified, respectively, within the
      - label.
      - 
      -@@ -109,7 +109,7 @@
      - 
      - The \fBslk_clear\fR routine clears the soft labels from the screen.
      - 
      --The \fBslk_restore\fR routine, restores the soft labels to the screen
      -+The \fBslk_restore\fR routine restores the soft labels to the screen
      - after a \fBslk_clear\fR has been performed.
      - 
      - The \fBslk_touch\fR routine forces all the soft labels to be output
      -@@ -118,7 +118,7 @@
      - The \fBslk_attron\fR, \fBslk_attrset\fR, \fBslk_attroff\fR and \fBslk_attr\fR
      - routines correspond to \fBattron\fR, \fBattrset\fR, \fBattroff\fR and \fBattr_get\fR.
      - They have an effect only if soft labels are simulated on the bottom line of
      --the screen.  The default highlight for soft keys is A_STANDOUT (as in 
      -+the screen.  The default highlight for soft keys is A_STANDOUT (as in
      - System V curses, which does not document this fact).
      - 
      - The \fBslk_color\fR routine corresponds to \fBcolor_set\fR. It has an effect only
      -diff -urNd -urNd ncurses-5.3/man/curs_termcap.3x ncurses-5.3.20030906.orig/man/curs_termcap.3x
      ---- ncurses-5.3/man/curs_termcap.3x	Sat Feb 16 13:26:41 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_termcap.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_termcap.3x,v 1.16 2002/02/16 19:26:41 tom Exp $
      -+.\" $Id: curs_termcap.3x,v 1.18 2003/02/08 22:25:47 tom Exp $
      - .TH curs_termcap 3X ""
      - .ds n 5
      - .SH NAME
      -@@ -130,6 +130,12 @@
      - Because terminfo conventions for representing padding in string capabilities
      - differ from termcap's, \fBtputs("50");\fR will put out a literal "50" rather
      - than busy-waiting for 50 milliseconds.  Cope with it.
      -+
      -+Note that termcap has nothing analogous to terminfo's \fBsgr\fR string.
      -+One consequence of this is that termcap applications assume \fRme\fR
      -+(terminfo \fBsgr0\fR) does not reset the alternate character set.
      -+This implementation checks for, and modifies the data shown to the
      -+termcap interface to accommodate termcap's limitation in this respect.
      - .SH PORTABILITY
      - The XSI Curses standard, Issue 4 describes these functions.  However, they
      - are marked TO BE WITHDRAWN and may be removed in future versions.
      -diff -urNd -urNd ncurses-5.3/man/curs_terminfo.3x ncurses-5.3.20030906.orig/man/curs_terminfo.3x
      ---- ncurses-5.3/man/curs_terminfo.3x	Sat Jul 20 11:05:19 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_terminfo.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_terminfo.3x,v 1.16 2002/07/20 16:05:19 tom Exp $
      -+.\" $Id: curs_terminfo.3x,v 1.17 2003/05/10 20:22:01 tom Exp $
      - .TH curs_terminfo 3X ""
      - .ds n 5
      - .SH NAME
      -@@ -108,7 +108,7 @@
      - 
      - The header files \fBcurses.h\fR and \fBterm.h\fR should be included (in this
      - order) to get the definitions for these strings, numbers, and flags.
      --Parameterized strings should be passed through \fBtparm\fR to instantiate them.  
      -+Parameterized strings should be passed through \fBtparm\fR to instantiate them. 
      - All \fBterminfo\fR strings [including the output of \fBtparm\fR] should be printed
      - with \fBtputs\fR or \fBputp\fR.  Call the \fBreset_shell_mode\fR to restore the
      - tty modes before exiting [see \fBcurs_kernel\fR(3X)].  Programs which use
      -@@ -280,7 +280,7 @@
      - actual terminal state, and that an application should touch and refresh
      - the window before resuming normal curses calls.
      - Both ncurses and System V Release 4 curses implement \fBmvcur\fR using
      --the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR. 
      -+the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR.
      - So though it is documented as a terminfo function,
      - \fBmvcur\fR is really a curses function which is not well specified.
      - .SH SEE ALSO
      -diff -urNd -urNd ncurses-5.3/man/curs_util.3x ncurses-5.3.20030906.orig/man/curs_util.3x
      ---- ncurses-5.3/man/curs_util.3x	Sun Sep  1 14:44:37 2002
      -+++ ncurses-5.3.20030906.orig/man/curs_util.3x	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_util.3x,v 1.9 2002/09/01 19:44:37 tom Exp $
      -+.\" $Id: curs_util.3x,v 1.11 2003/07/19 19:59:56 tom Exp $
      - .TH curs_util 3X ""
      - .SH NAME
      - \fBdelay_output\fR,
      -@@ -44,7 +44,7 @@
      - 
      - \fBchar *unctrl(chtype c);\fR
      - .br
      --\fBchar *wunctrl(wchar_t w);\fR
      -+\fBchar *wunctrl(cchar_t *c);\fR
      - .br
      - \fBchar *keyname(int c);\fR
      - .br
      -@@ -105,6 +105,7 @@
      - The \fBdelay_output\fR routine inserts an \fIms\fR millisecond pause
      - in output.  This routine should not be used extensively because
      - padding characters are used rather than a CPU pause.
      -+If no padding character is specified, this uses \fBnapms\fR to perform the delay.
      - 
      - The \fBflushinp\fR routine throws away any typeahead that has been typed by the
      - user and has not yet been read by the program.
      -@@ -125,7 +126,10 @@
      - terms.  The description here is adapted from the XSI Curses standard (which
      - erroneously fails to describe the disabling of \fBcuu\fR).
      - .SH SEE ALSO
      --\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_scr_dump\fR(3X).
      -+\fBcurses\fR(3X),
      -+\fBcurs_initscr\fR(3X),
      -+\fBcurs_kernel\fR(3X),
      -+\fBcurs_scr_dump\fR(3X).
      - .\"#
      - .\"# The following sets edit modes for GNU EMACS
      - .\"# Local Variables:
      -diff -urNd -urNd ncurses-5.3/man/curs_window.3x ncurses-5.3.20030906.orig/man/curs_window.3x
      ---- ncurses-5.3/man/curs_window.3x	Sat Jul  1 15:08:37 2000
      -+++ ncurses-5.3.20030906.orig/man/curs_window.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: curs_window.3x,v 1.9 2000/07/01 20:08:37 tom Exp $
      -+.\" $Id: curs_window.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
      - .TH curs_window 3X ""
      - .SH NAME
      - \fBnewwin\fR,
      -@@ -142,7 +142,7 @@
      - incompletely implemented, and not well tested.
      - 
      - The System V curses documentation is very unclear about what \fBwsyncup\fR
      --and \fBwsyncdown\fR actually do.  It seems to imply that they are only 
      -+and \fBwsyncdown\fR actually do.  It seems to imply that they are only
      - supposed to touch exactly those lines that are affected by ancestor changes.
      - The language here, and the behavior of the \fBcurses\fR implementation,
      - is patterned on the XPG4 curses standard.  The weaker XPG4 spec may result
      -diff -urNd -urNd ncurses-5.3/man/define_key.3x ncurses-5.3.20030906.orig/man/define_key.3x
      ---- ncurses-5.3/man/define_key.3x	Sat Feb 16 16:39:52 2002
      -+++ ncurses-5.3.20030906.orig/man/define_key.3x	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -28,14 +28,14 @@
      - .\"
      - .\" Author: Thomas E. Dickey  1997
      - .\"
      --.\" $Id: define_key.3x,v 1.8 2002/02/16 22:39:52 tom Exp $
      -+.\" $Id: define_key.3x,v 1.9 2003/05/17 23:25:11 tom Exp $
      - .TH define_key 3X ""
      - .SH NAME
      - \fBdefine_key\fP \- define a keycode
      - .SH SYNOPSIS
      - \fB#include \fP
      - 
      --\fBint define_key(char *definition, int keycode);\fP
      -+\fBint define_key(const char *definition, int keycode);\fP
      - .SH DESCRIPTION
      - This is an extension to the curses library.
      - It permits an application to define keycodes with their corresponding control
      -diff -urNd -urNd ncurses-5.3/man/form_field.3x ncurses-5.3.20030906.orig/man/form_field.3x
      ---- ncurses-5.3/man/form_field.3x	Sat Nov 28 19:05:52 1998
      -+++ ncurses-5.3.20030906.orig/man/form_field.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
      -+.\" Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: form_field.3x,v 1.5 1998/11/29 01:05:52 Rick.Ohnemus Exp $
      -+.\" $Id: form_field.3x,v 1.6 2003/05/10 20:33:49 jmc Exp $
      - .TH form_field 3X ""
      - .SH NAME
      - \fBform_field\fR - make and break connections between fields and forms
      -@@ -50,7 +50,7 @@
      - 
      - The function \fBfield_count\fR returns the count of fields in \fIform\fR.
      - 
      --The function \fBmove_field\fR move the given field (which must be disconnected)
      -+The function \fBmove_field\fR moves the given field (which must be disconnected)
      - to a specified location on the screen.
      - .SH RETURN VALUES
      - The function \fBform_fields\fR returns \fBNULL\fR on error.
      -diff -urNd -urNd ncurses-5.3/man/form_field_buffer.3x ncurses-5.3.20030906.orig/man/form_field_buffer.3x
      ---- ncurses-5.3/man/form_field_buffer.3x	Sat Jan 19 16:48:23 2002
      -+++ ncurses-5.3.20030906.orig/man/form_field_buffer.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: form_field_buffer.3x,v 1.9 2002/01/19 22:48:23 tom Exp $
      -+.\" $Id: form_field_buffer.3x,v 1.10 2003/05/10 20:22:01 tom Exp $
      - .TH form_field_buffer 3X ""
      - .SH NAME
      - \fBform_field_buffer\fR - field buffer control
      -@@ -50,7 +50,7 @@
      - numbered buffers may be allocated by applications through the \fBnbuf\fR
      - argument of (see \fBform_field_new\fR(3X)) but are not manipulated by the forms
      - library.  The function \fBfield_buffer\fR returns the address of the buffer.
      --Please note that this buffer has always the length of the buffer, that means 
      -+Please note that this buffer has always the length of the buffer, that means
      - that it may typically contain trailing spaces. If you entered leading spaces
      - the buffer may also contain them. If you want the raw data, you must write your
      - own routine that copies the value out of the buffer and removes the leading
      -diff -urNd -urNd ncurses-5.3/man/form_field_just.3x ncurses-5.3.20030906.orig/man/form_field_just.3x
      ---- ncurses-5.3/man/form_field_just.3x	Sat Jan 19 16:48:41 2002
      -+++ ncurses-5.3.20030906.orig/man/form_field_just.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: form_field_just.3x,v 1.6 2002/01/19 22:48:41 tom Exp $
      -+.\" $Id: form_field_just.3x,v 1.7 2003/05/10 20:33:49 jmc Exp $
      - .TH form_field_just 3X ""
      - .SH NAME
      - \fBform_field_just\fR - retrieve field characteristics
      -@@ -48,7 +48,7 @@
      - The function \fBfield_just\fR returns one of: NO_JUSTIFICATION,
      - JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
      - 
      --The function \fBset_field_just\fR return one of the following:
      -+The function \fBset_field_just\fR returns one of the following:
      - .TP 5
      - \fBE_OK\fR
      - The routine succeeded.
      -diff -urNd -urNd ncurses-5.3/man/form_field_new.3x ncurses-5.3.20030906.orig/man/form_field_new.3x
      ---- ncurses-5.3/man/form_field_new.3x	Sat Feb 16 16:39:52 2002
      -+++ ncurses-5.3.20030906.orig/man/form_field_new.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: form_field_new.3x,v 1.11 2002/02/16 22:39:52 tom Exp $
      -+.\" $Id: form_field_new.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
      - .TH form_field_new 3X ""
      - .SH NAME
      - \fBform_field_new\fR - create and destroy form fields
      -@@ -84,7 +84,7 @@
      - 
      - It may be unwise to count on the set of attributes copied by
      - \fBdup_field\fR(3X) being portable; the System V forms library documents are
      --not very explicit on what gets copied and was not.
      -+not very explicit about what gets copied and what doesn't.
      - .SH AUTHORS
      - Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric
      - S. Raymond.
      -diff -urNd -urNd ncurses-5.3/man/form_field_opts.3x ncurses-5.3.20030906.orig/man/form_field_opts.3x
      ---- ncurses-5.3/man/form_field_opts.3x	Sat Nov 28 19:06:54 1998
      -+++ ncurses-5.3.20030906.orig/man/form_field_opts.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
      -+.\" Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: form_field_opts.3x,v 1.7 1998/11/29 01:06:54 Rick.Ohnemus Exp $
      -+.\" $Id: form_field_opts.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
      - .TH form_field_opts 3X ""
      - .SH NAME
      - \fBform_field_opts\fR - set and get field options
      -@@ -58,7 +58,7 @@
      - .TP 5
      - O_VISIBLE
      - The field is displayed.  If this option is off, display of the field is
      --suppressed,
      -+suppressed.
      - .TP 5
      - O_ACTIVE
      - The field is visited during processing.  If this option is off, the field will
      -@@ -79,7 +79,7 @@
      - The field is cleared whenever a character is entered at the first position.
      - .TP 5
      - O_AUTOSKIP
      --Skip to the next field when this one fills
      -+Skip to the next field when this one fills.
      - .TP 5
      - O_NULLOK
      - Allow a blank field.
      -diff -urNd -urNd ncurses-5.3/man/form_field_validation.3x ncurses-5.3.20030906.orig/man/form_field_validation.3x
      ---- ncurses-5.3/man/form_field_validation.3x	Sat Feb 16 16:39:52 2002
      -+++ ncurses-5.3.20030906.orig/man/form_field_validation.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,10 +26,10 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: form_field_validation.3x,v 1.12 2002/02/16 22:39:52 tom Exp $
      -+.\" $Id: form_field_validation.3x,v 1.14 2003/05/10 20:33:49 jmc Exp $
      - .TH form_field_validation 3X ""
      - .SH NAME
      --\fBform_field_validation\fR - data type validation for fields 
      -+\fBform_field_validation\fR - data type validation for fields
      - .SH SYNOPSIS
      - \fB#include \fR
      - .br
      -@@ -38,10 +38,25 @@
      - FIELDTYPE *field_type(const FIELD *field);
      - .br
      - void *field_arg(const FIELD *field);
      -+.sp
      -+FIELDTYPE *TYPE_ALNUM;
      -+.br
      -+FIELDTYPE *TYPE_ALPHA;
      -+.br
      -+FIELDTYPE *TYPE_ENUM;
      -+.br
      -+FIELDTYPE *TYPE_INTEGER;
      -+.br
      -+FIELDTYPE *TYPE_NUMERIC;
      -+.br
      -+FIELDTYPE *TYPE_REGEXP;
      -+.br
      -+FIELDTYPE *TYPE_IPV4;
      - .br
      - .SH DESCRIPTION
      - The function \fBset_field_type\fR declares a data type for a given form field.
      --This is the type checked by validation functions.  The types are as follows:
      -+This is the type checked by validation functions.
      -+The predefined types are as follows:
      - .TP 5
      - TYPE_ALNUM
      - Alphanumeric data.  Requires a third \fBint\fR argument, a minimum field width.
      -@@ -56,27 +71,29 @@
      - match must be a unique one (if this flag is off, a prefix matches the first
      - of any set of more than one list elements with that prefix). Please notice
      - that the string list is not copied, only a reference to it is stored in the
      --field. So you should avoid to use a list that lives in automatic variables
      -+field. So you should avoid using a list that lives in automatic variables
      - on the stack.
      - .TP 5
      - TYPE_INTEGER
      - Integer data, parsable to an integer by \fBatoi(3)\fR.  Requires a third
      --\fBint\fR argument controlling the precision, a fourth \fBlong\fR argument 
      -+\fBint\fR argument controlling the precision, a fourth \fBlong\fR argument
      - constraining minimum value, and a fifth \fBlong\fR constraining maximum value.
      --If the maximum value is less or equal the minimum value, the range is simply
      --ignored. On return the field buffer is formatted according to the \fBprintf\fR
      --format specification ".*ld", where the '*' is replaced by the precision argument.
      -+If the maximum value is less than or equal to the minimum value, the range is
      -+simply ignored. On return the field buffer is formatted according to the
      -+\fBprintf\fR format specification ".*ld", where the '*' is replaced by the
      -+precision argument.
      - For details of the precision handling see \fBprintf's\fR man-page.
      - .TP 5
      - TYPE_NUMERIC
      - Numeric data (may have a decimal-point part). Requires a third
      - \fBint\fR argument controlling the precision, a fourth \fBdouble\fR
      --argument constraining minimum value, and a fifth \fBdouble\fR constraining 
      --maximum value. If your system supports locale's, the decimal point character
      -+argument constraining minimum value, and a fifth \fBdouble\fR constraining
      -+maximum value. If your system supports locales, the decimal point character
      - to be used must be the one specified by your locale.
      --If the maximum value is less or equal the minimum value, the range is simply
      --ignored. On return the field buffer is formatted according to the \fBprintf\fR
      --format specification ".*f", where the '*' is replaced by the precision argument.
      -+If the maximum value is less than or equal to the minimum value, the range is
      -+simply ignored. On return the field buffer is formatted according to the
      -+\fBprintf\fR format specification ".*f", where the '*' is replaced by the
      -+precision argument.
      - For details of the precision handling see \fBprintf's\fR man-page.
      - .TP 5
      - TYPE_REGEXP
      -@@ -96,7 +113,7 @@
      - numbers between 0 and 255. Trailing blanks in the buffer are ignored. The address
      - itself is not validated. Please note that this is an ncurses extension. This
      - field type may not be available in other curses implementations.
      --
      -+.PP
      - It is possible to set up new programmer-defined field types.  See the
      - \fBform_fieldtype\fR(3X) manual page.
      - .SH RETURN VALUE
      -diff -urNd -urNd ncurses-5.3/man/form_fieldtype.3x ncurses-5.3.20030906.orig/man/form_fieldtype.3x
      ---- ncurses-5.3/man/form_fieldtype.3x	Sat Aug  4 15:36:25 2001
      -+++ ncurses-5.3.20030906.orig/man/form_fieldtype.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: form_fieldtype.3x,v 1.9 2001/08/04 20:36:25 William.Setzer Exp $
      -+.\" $Id: form_fieldtype.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
      - .TH form_fieldtype 3X ""
      - .SH NAME
      - \fBform_fieldtype\fR - define validation-field types
      -@@ -57,7 +57,7 @@
      - .SH DESCRIPTION
      - The function \fBnew_fieldtype\fR creates a new field type usable for data
      - validation.  You supply it with \fIfield_check\fR, a predicate to check the
      --validity of an entered data string whenever the user attempt to leave a field.
      -+validity of an entered data string whenever the user attempts to leave a field.
      - The (FIELD *) argument is passed in so the validation predicate can see the
      - field's buffer, sizes and other attributes; the second argument is an
      - argument-block structure, about which more below.
      -@@ -69,22 +69,31 @@
      - The function \fBfree_fieldtype\fR frees the space allocated for a given
      - validation type.
      - 
      --The function \fBset_fieldtype\fR associates three storage-management functions
      --with a field type.  The \fImak_arg\fR function is automatically applied to the
      -+The function \fBset_fieldtype_arg\fR associates three storage-management functions
      -+with a field type.
      -+The \fImake_arg\fR function is automatically applied to the
      - list of arguments you give \fBset_field_type\fR when attaching validation
      - to a field; its job is to bundle these into an allocated argument-block
      --object which can later be passed to validation predicated.  The other two
      --hook arguments should copy and free argument-block structures.  They will
      --be used by the forms-driver code. You must supply the \fImak_arg\fR function,
      --the other two are optional, you may supply NULL for them. In this case it
      --is assumed, that \fImak_arg\fR doesn't allocate memory but simply loads the
      -+object which can later be passed to validation predicated.
      -+The other two hook arguments should copy and free argument-block structures.
      -+They will be used by the forms-driver code.
      -+You must supply the \fImake_arg\fR function,
      -+the other two are optional, you may supply NULL for them.
      -+In this case it is assumed
      -+that \fImake_arg\fR does not allocate memory but simply loads the
      - argument into a single scalar value.
      - 
      -+The function \fBlink_fieldtype\fR creates
      -+a new field type from the two given types.
      -+They are connected by an logical 'OR'.
      -+
      - The form driver requests \fBREQ_NEXT_CHOICE\fR and \fBREQ_PREV_CHOICE\fR assume
      - that the possible values of a field form an ordered set, and provide the forms
      --user with a way to move through the set.  The \fBset_fieldtype_choice\fR
      -+user with a way to move through the set.
      -+The \fBset_fieldtype_choice\fR
      - function allows forms programmers to define successor and predecessor functions
      --for the field type.  These functions take the field pointer and an
      -+for the field type.
      -+These functions take the field pointer and an
      - argument-block structure as arguments.
      - .SH RETURN VALUE
      - The pointer-valued routines return NULL on error.
      -diff -urNd -urNd ncurses-5.3/man/infocmp.1m ncurses-5.3.20030906.orig/man/infocmp.1m
      ---- ncurses-5.3/man/infocmp.1m	Sat Oct  5 16:22:21 2002
      -+++ ncurses-5.3.20030906.orig/man/infocmp.1m	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,14 +27,14 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: infocmp.1m,v 1.30 2002/10/05 21:22:21 tom Exp $
      -+.\" $Id: infocmp.1m,v 1.33 2003/05/11 00:32:53 tom Exp $
      - .TH infocmp 1M ""
      - .ds n 5
      - .ds d @TERMINFO@
      - .SH NAME
      - \fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions
      - .SH SYNOPSIS
      --\fBinfocmp\fR [\fB-\
      -+\fBinfocmp\fR [\fB\-\
      - 1\
      - C\
      - E\
      -@@ -58,9 +58,9 @@
      - u\
      - \fR]
      - .br
      --      [\fB-v\fR \fIn\fR] [\fB-s d\fR| \fBi\fR| \fBl\fR| \fBc\fR] [\fB-R \fR\fBsubset\fR]
      -+      [\fB\-v\fR \fIn\fR] [\fB\-s d\fR| \fBi\fR| \fBl\fR| \fBc\fR] [\fB\-R \fR\fBsubset\fR]
      - .br
      --      [\fB-w\fR\ \fIwidth\fR] [\fB-A\fR\ \fIdirectory\fR] [\fB-B\fR\ \fIdirectory\fR]
      -+      [\fB\-w\fR\ \fIwidth\fR] [\fB\-A\fR\ \fIdirectory\fR] [\fB\-B\fR\ \fIdirectory\fR]
      - .br
      -       [\fItermname\fR...]
      - .SH DESCRIPTION
      -@@ -72,9 +72,9 @@
      - string fields.
      - .SS Default Options
      - If no options are specified and zero or one \fItermnames\fR are specified, the
      --\fB-I\fR option will be assumed.  If more than one \fItermname\fR is specified,
      --the \fB-d\fR option will be assumed.
      --.SS Comparison Options [-d] [-c] [-n]
      -+\fB\-I\fR option will be assumed.  If more than one \fItermname\fR is specified,
      -+the \fB\-d\fR option will be assumed.
      -+.SS Comparison Options [\-d] [\-c] [\-n]
      - \fBinfocmp\fR compares the \fBterminfo\fR description of the first terminal
      - \fItermname\fR with each of the descriptions given by the entries for the other
      - terminal's \fItermnames\fR.  If a capability is defined for only one of the
      -@@ -82,35 +82,35 @@
      - \fBF\fR for boolean variables, \fB-1\fR for integer variables, and \fBNULL\fR
      - for string variables.
      - 
      --The \fB-d\fR option produces a list of each capability that is different
      -+The \fB\-d\fR option produces a list of each capability that is different
      - between two entries.  This option is useful to show the difference between two
      - entries, created by different people, for the same or similar terminals.
      - 
      --The \fB-c\fR option produces a list of each capability that is common between
      -+The \fB\-c\fR option produces a list of each capability that is common between
      - two entries.  Capabilities that are not set are ignored.  This option can be
      --used as a quick check to see if the \fB-u\fR option is worth using.
      -+used as a quick check to see if the \fB\-u\fR option is worth using.
      - 
      --The \fB-n\fR option produces a list of each capability that is in neither
      -+The \fB\-n\fR option produces a list of each capability that is in neither
      - entry.  If no \fItermnames\fR are given, the environment variable \fBTERM\fR
      - will be used for both of the \fItermnames\fR.  This can be used as a quick
      - check to see if anything was left out of a description.
      --.SS Source Listing Options [-I] [-L] [-C] [-r]
      --The \fB-I\fR, \fB-L\fR, and \fB-C\fR options will produce a source listing for
      -+.SS Source Listing Options [\-I] [\-L] [\-C] [\-r]
      -+The \fB\-I\fR, \fB\-L\fR, and \fB\-C\fR options will produce a source listing for
      - each terminal named.
      - 
      - .TS
      - center tab(/) ;
      - l l .
      --\fB-I\fR/use the \fBterminfo\fR names
      --\fB-L\fR/use the long C variable name listed in <\fBterm.h\fR>
      --\fB-C\fR/use the \fBtermcap\fR names
      --\fB-r\fR/when using \fB-C\fR, put out all capabilities in \fBtermcap\fR form
      -+\fB\-I\fR/use the \fBterminfo\fR names
      -+\fB\-L\fR/use the long C variable name listed in <\fBterm.h\fR>
      -+\fB\-C\fR/use the \fBtermcap\fR names
      -+\fB\-r\fR/when using \fB\-C\fR, put out all capabilities in \fBtermcap\fR form
      - .TE
      - 
      - If no \fItermnames\fR are given, the environment variable \fBTERM\fR will be
      - used for the terminal name.
      - 
      --The source produced by the \fB-C\fR option may be used directly as a
      -+The source produced by the \fB\-C\fR option may be used directly as a
      - \fBtermcap\fR entry, but not all parameterized strings can be changed to
      - the \fBtermcap\fR format.  \fBinfocmp\fR will attempt to convert most of the
      - parameterized information, and anything not converted will be plainly marked in
      -@@ -123,7 +123,7 @@
      - All \fBtermcap\fR variables no longer supported by \fBterminfo\fR, but which
      - are derivable from other \fBterminfo\fR variables, will be output.  Not all
      - \fBterminfo\fR capabilities will be translated; only those variables which were
      --part of \fBtermcap\fR will normally be output.  Specifying the \fB-r\fR option
      -+part of \fBtermcap\fR will normally be output.  Specifying the \fB\-r\fR option
      - will take off this restriction, allowing all capabilities to be output in
      - \fItermcap\fR form.
      - 
      -@@ -151,8 +151,8 @@
      - \fB%p1%?%'x'%>%t%p1%'y'%+%;/%>xy\fR/concept
      - \fB%p2\fR is printed before \fB%p1/%r\fR/hp
      - .TE
      --.SS Use= Option [-u]
      --The \fB-u\fR option produces a \fBterminfo\fR source description of the first
      -+.SS Use= Option [\-u]
      -+The \fB\-u\fR option produces a \fBterminfo\fR source description of the first
      - terminal \fItermname\fR which is relative to the sum of the descriptions given
      - by the entries for the other terminals \fItermnames\fR.  It does this by
      - analyzing the differences between the first \fItermname\fR and the other
      -@@ -187,29 +187,29 @@
      - the compilation time, is specifying extra \fBuse=\fR fields that are
      - superfluous.  \fBinfocmp\fR will flag any other \fItermname use=\fR fields that
      - were not needed.
      --.SS Changing Databases [-A \fIdirectory\fR] [-B \fIdirectory\fR]
      -+.SS Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR]
      - The location of the compiled \fBterminfo\fR database is taken from the
      - environment variable \fBTERMINFO\fR .  If the variable is not defined, or the
      - terminal is not found in that location, the system \fBterminfo\fR database,
      --in \fB@TERMINFO@\fR, will be used.  The options \fB-A\fR
      --and \fB-B\fR may be used to override this location.  The \fB-A\fR option will
      --set \fBTERMINFO\fR for the first \fItermname\fR and the \fB-B\fR option will
      -+in \fB@TERMINFO@\fR, will be used.  The options \fB\-A\fR
      -+and \fB\-B\fR may be used to override this location.  The \fB\-A\fR option will
      -+set \fBTERMINFO\fR for the first \fItermname\fR and the \fB\-B\fR option will
      - set \fBTERMINFO\fR for the other \fItermnames\fR.  With this, it is possible to
      - compare descriptions for a terminal with the same name located in two different
      - databases.  This is useful for comparing descriptions for the same terminal
      - created by different people.
      - .SS Other Options
      - .TP 5
      --\fB-1\fR
      -+\fB\-1\fR
      - causes the fields to be printed out one to a line.  Otherwise,
      - the fields will be printed several to a line to a maximum width
      - of 60 characters.
      - .TP
      --\fB-a\fR
      -+\fB\-a\fR
      - tells \fBinfocmp\fP to retain commented-out capabilities rather than discarding
      - them.  Capabilities are commented by prefixing them with a period.
      - .TP 5
      --\fB-E\fR
      -+\fB\-E\fR
      - Dump the capabilities of the given terminal as tables, needed in
      - the C initializer for a
      - TERMTYPE structure (the terminal capability structure in the \fB\fR).
      -@@ -218,17 +218,17 @@
      - The tables are all declared static, and are named according to the type
      - and the name of the corresponding terminal entry.
      - .sp
      --Before ncurses 5.0, the split between the \fB\-e\fP and \fB\-E\fP 
      -+Before ncurses 5.0, the split between the \fB\-e\fP and \fB\-E\fP
      - options was not needed; but support for extended names required making
      - the arrays of terminal capabilities separate from the TERMTYPE structure.
      - .TP 5
      --\fB-e\fR
      -+\fB\-e\fR
      - Dump the capabilities of the given terminal as a C initializer for a
      - TERMTYPE structure (the terminal capability structure in the \fB\fR).
      - This option is useful for preparing versions of the curses library hardwired
      - for a given terminal type.
      - .TP 5
      --\fB-F\fR
      -+\fB\-F\fR
      - compare terminfo files.  This assumes that two following arguments are
      - filenames.  The files are searched for pairwise matches between
      - entries, with two entries considered to match if any of their names do.
      -@@ -237,21 +237,21 @@
      - with exactly one match it includes a difference report.  Normally,
      - to reduce the volume of the report, use references are
      - not resolved before looking for differences, but resolution can be forced
      --by also specifying \fB-r\fR.
      -+by also specifying \fB\-r\fR.
      - .TP 5
      --\fB-f\fR
      -+\fB\-f\fR
      - Display complex terminfo strings which contain if/then/else/endif expressions
      - indented for readability.
      - .TP 5
      --\fB-G\fR
      -+\fB\-G\fR
      - Display constant literals in decimal form
      - rather than their character equivalents.
      - .TP 5
      --\fB-g\fR
      -+\fB\-g\fR
      - Display constant character literals in quoted form
      - rather than their decimal equivalents.
      - .TP 5
      --\fB-i\fR
      -+\fB\-i\fR
      - Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset
      - (\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry.  For each string, the
      - code tries to analyze it into actions in terms of the other capabilities in the
      -@@ -302,17 +302,17 @@
      - 
      - An SGR0 designates an empty highlight sequence (equivalent to {SGR:NORMAL}).
      - .TP 5
      --\bB-l\fR
      -+\fB\-l\fR
      - Set output format to terminfo.
      - .TP 5
      --\fB-p\fR
      -+\fB\-p\fR
      - Ignore padding specifications when comparing strings.
      - .TP 5
      --\fB-q\fR
      -+\fB\-q\fR
      - Make the comparison listing shorter by omitting subheadings, and using
      - "-" for absent capabilities, "@" for canceled rather than "NULL".
      - .TP 5
      --\fB-R\fR\fIsubset\fR
      -+\fB\-R\fR\fIsubset\fR
      - Restrict output to a given subset.  This option is for use with archaic
      - versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
      - the full set of SVR4/XSI Curses terminfo; and variants such as AIX
      -@@ -321,8 +321,8 @@
      - details.  You can also choose the subset "BSD" which selects only capabilities
      - with termcap equivalents recognized by 4.4BSD.
      - .TP
      --\fB-s \fR\fI[d|i|l|c]\fR
      --The \fB-s\fR option sorts the fields within each type according to the argument
      -+\fB\-s \fR\fI[d|i|l|c]\fR
      -+The \fB\-s\fR option sorts the fields within each type according to the argument
      - below:
      - .br
      - .RS 5
      -@@ -340,30 +340,30 @@
      - sort by the \fItermcap\fR name.
      - .RE
      - .IP
      --If the \fB-s\fR option is not given, the fields printed out will be
      -+If the \fB\-s\fR option is not given, the fields printed out will be
      - sorted alphabetically by the \fBterminfo\fR name within each type,
      --except in the case of the \fB-C\fR or the \fB-L\fR options, which cause the
      -+except in the case of the \fB\-C\fR or the \fB\-L\fR options, which cause the
      - sorting to be done by the \fBtermcap\fR name or the long C variable
      - name, respectively.
      - .TP 5
      --\fB-T\fR
      -+\fB\-T\fR
      - eliminates size-restrictions on the generated text.
      - This is mainly useful for testing and analysis, since the compiled
      - descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
      - .TP
      --\fB-t\fR
      -+\fB\-t\fR
      - tells \fBtic\fP to discard commented-out capabilities.
      - Normally when translating from terminfo to termcap,
      - untranslatable capabilities are commented-out.
      - .TP 5
      --\fB-V\fR
      -+\fB\-V\fR
      - reports the version of ncurses which was used in this program, and exits.
      - .TP 5
      --\fB-v\fR \fIn\fR
      -+\fB\-v\fR \fIn\fR
      - prints out tracing information on standard error as the program runs.
      - Higher values of n induce greater verbosity.
      - .TP 5
      --\fB-w\fR \fIwidth\fR
      -+\fB\-w\fR \fIwidth\fR
      - changes the output to \fIwidth\fR characters.
      - .SH FILES
      - .TP 20
      -@@ -371,28 +371,28 @@
      - Compiled terminal description database.
      - .SH EXTENSIONS
      - The
      --\fB-E\fR,
      --\fB-F\fR,
      --\fB-G\fR,
      --\fB-R\fR,
      --\fB-T\fR,
      --\fB-V\fR,
      --\fB-a\fR,
      --\fB-e\fR,
      --\fB-f\fR,
      --\fB-g\fR,
      --\fB-i\fR,
      --\fB-l\fR,
      --\fB-p\fR,
      --\fB-q\fR and
      --\fB-t\fR
      -+\fB\-E\fR,
      -+\fB\-F\fR,
      -+\fB\-G\fR,
      -+\fB\-R\fR,
      -+\fB\-T\fR,
      -+\fB\-V\fR,
      -+\fB\-a\fR,
      -+\fB\-e\fR,
      -+\fB\-f\fR,
      -+\fB\-g\fR,
      -+\fB\-i\fR,
      -+\fB\-l\fR,
      -+\fB\-p\fR,
      -+\fB\-q\fR and
      -+\fB\-t\fR
      - options are not supported in SVr4 curses.
      - 
      --The \fB-r\fR option's notion of `termcap' capabilities is System V Release 4's.
      -+The \fB\-r\fR option's notion of `termcap' capabilities is System V Release 4's.
      - Actual BSD curses versions will have a more restricted set.  To see only the
      --4.4BSD set, use -r -RBSD.
      -+4.4BSD set, use \fB\-r\fR \fB\-RBSD\fR.
      - .SH BUGS
      --The -F option of \fBinfocmp\fR(1M) should be a \fBtoe\fR(1M) mode.
      -+The \fB\-F\fR option of \fBinfocmp\fR(1M) should be a \fBtoe\fR(1M) mode.
      - .SH SEE ALSO
      - \fBinfocmp\fR(1M), \fBcaptoinfo\fR(1M), \fBinfotocap\fR(1M),
      - \fBtic\fR(1M), \fBtoe\fR(1M),
      -diff -urNd -urNd ncurses-5.3/man/infotocap.1m ncurses-5.3.20030906.orig/man/infotocap.1m
      ---- ncurses-5.3/man/infotocap.1m	Sat Aug 12 20:56:03 2000
      -+++ ncurses-5.3.20030906.orig/man/infotocap.1m	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1999,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1999-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,40 +27,40 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: infotocap.1m,v 1.3 2000/08/13 01:56:03 tom Exp $
      -+.\" $Id: infotocap.1m,v 1.4 2003/05/11 00:32:53 tom Exp $
      - .TH infotocap 1M ""
      - .ds n 5
      - .ds d @TERMINFO@
      - .SH NAME
      - \fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description
      - .SH SYNOPSIS
      --\fBinfotocap\fR [\fB-v\fR\fIn\fR \fIwidth\fR]  [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
      -+\fBinfotocap\fR [\fB\-v\fR\fIn\fR \fIwidth\fR]  [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR . . .
      - .SH DESCRIPTION
      - \fBinfotocap\fR looks in \fIfile\fR for \fBterminfo\fR descriptions.  For each
      - one found, an equivalent \fBtermcap\fR description is written to standard
      - output.  Terminfo \fBuse\fR capabilities are translated directly to termcap
      - \fBtc\fR capabilities.
      - .TP 5
      --\fB-v\fR
      -+\fB\-v\fR
      - print out tracing information on standard error as the program runs.
      - .TP 5
      --\fB-V\fR
      -+\fB\-V\fR
      - print out the version of the program in use on standard error and exit.
      - .TP 5
      --\fB-1\fR
      -+\fB\-1\fR
      - cause the fields to print out one to a line.  Otherwise, the fields
      - will be printed several to a line to a maximum width of 60
      - characters.
      - .TP 5
      --\fB-w\fR
      -+\fB\-w\fR
      - change the output to \fIwidth\fR characters.
      - .SH FILES
      - .TP 20
      - \*d
      - Compiled terminal description database.
      - .SH NOTES
      --This utility is actually a link to \fItic\fR(1M), running in \fI-C\fR mode.
      --You can use other \fItic\fR options such as \fB-f\fR and  \fB-x\fR.
      -+This utility is actually a link to \fItic\fR(1M), running in \fI\-C\fR mode.
      -+You can use other \fItic\fR options such as \fB\-f\fR and  \fB\-x\fR.
      - .SH SEE ALSO
      - \fBcurses\fR(3X),
      - \fBtic\fR(1M),
      -diff -urNd -urNd ncurses-5.3/man/key_defined.3x ncurses-5.3.20030906.orig/man/key_defined.3x
      ---- ncurses-5.3/man/key_defined.3x	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/man/key_defined.3x	Sun Jul 20 14:02:08 2003
      -@@ -0,0 +1,60 @@
      -+.\"***************************************************************************
      -+.\" Copyright (c) 2003 Free Software Foundation, Inc.                        *
      -+.\"                                                                          *
      -+.\" Permission is hereby granted, free of charge, to any person obtaining a  *
      -+.\" copy of this software and associated documentation files (the            *
      -+.\" "Software"), to deal in the Software without restriction, including      *
      -+.\" without limitation the rights to use, copy, modify, merge, publish,      *
      -+.\" distribute, distribute with modifications, sublicense, and/or sell       *
      -+.\" copies of the Software, and to permit persons to whom the Software is    *
      -+.\" furnished to do so, subject to the following conditions:                 *
      -+.\"                                                                          *
      -+.\" The above copyright notice and this permission notice shall be included  *
      -+.\" in all copies or substantial portions of the Software.                   *
      -+.\"                                                                          *
      -+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
      -+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
      -+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
      -+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
      -+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
      -+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
      -+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
      -+.\"                                                                          *
      -+.\" Except as contained in this notice, the name(s) of the above copyright   *
      -+.\" holders shall not be used in advertising or otherwise to promote the     *
      -+.\" sale, use or other dealings in this Software without prior written       *
      -+.\" authorization.                                                           *
      -+.\"***************************************************************************
      -+.\"
      -+.\" Author: Thomas E. Dickey 2003
      -+.\"
      -+.\" $Id: key_defined.3x,v 1.2 2003/05/17 23:24:45 tom Exp $
      -+.TH key_defined 3X ""
      -+.SH NAME
      -+\fBdefine_key\fP \- define a keycode
      -+.SH SYNOPSIS
      -+\fB#include \fP
      -+
      -+\fBint key_defined(const char *definition);\fP
      -+.SH DESCRIPTION
      -+This is an extension to the curses library.
      -+It permits an application to determine if a string is currently bound
      -+to any keycode.
      -+.SH RETURN VALUE
      -+If the string is bound to a keycode, its value (greater than zero) is returned.
      -+If no keycode is bound, zero is returned.
      -+If the string conflicts with longer strings which are bound to keys, -1 is returned.
      -+.SH PORTABILITY
      -+These routines are specific to ncurses.  They were not supported on
      -+Version 7, BSD or System V implementations.  It is recommended that
      -+any code depending on them be conditioned using NCURSES_VERSION.
      -+.SH SEE ALSO
      -+\fBdefine_key\fR(3X).
      -+.SH AUTHOR
      -+Thomas Dickey.
      -+.\"#
      -+.\"# The following sets edit modes for GNU EMACS
      -+.\"# Local Variables:
      -+.\"# mode:nroff
      -+.\"# fill-column:79
      -+.\"# End:
      -diff -urNd -urNd ncurses-5.3/man/keybound.3x ncurses-5.3.20030906.orig/man/keybound.3x
      ---- ncurses-5.3/man/keybound.3x	Sat Feb 16 16:30:36 2002
      -+++ ncurses-5.3.20030906.orig/man/keybound.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1999,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -28,7 +28,7 @@
      - .\"
      - .\" Author: Thomas E. Dickey  1999
      - .\"
      --.\" $Id: keybound.3x,v 1.3 2002/02/16 22:30:36 tom Exp $
      -+.\" $Id: keybound.3x,v 1.4 2003/03/08 19:08:33 tom Exp $
      - .TH keyok 3X ""
      - .SH NAME
      - \fBkeybound\fP \- return definition of keycode
      -@@ -41,9 +41,12 @@
      - It permits an application to determine the string which is defined
      - in the terminfo for specific keycodes.
      - .SH RETURN VALUE
      --The keycode must be greater than zero, else NULL is returned.
      -+The \fIkeycode\fP parameter must be greater than zero, else NULL is returned.
      - If it does not correspond to a defined key, then NULL is returned.
      --Otherwise, the function returns a string, which must be freed by the caller.
      -+The \fIcount\fP parameter is used to allow the application to iterate
      -+through multiple definitions, counting from zero.
      -+When successful,
      -+the function returns a string which must be freed by the caller.
      - .SH PORTABILITY
      - These routines are specific to ncurses.  They were not supported on
      - Version 7, BSD or System V implementations.  It is recommended that
      -diff -urNd -urNd ncurses-5.3/man/make_sed.sh ncurses-5.3.20030906.orig/man/make_sed.sh
      ---- ncurses-5.3/man/make_sed.sh	Wed Feb 11 06:13:48 1998
      -+++ ncurses-5.3.20030906.orig/man/make_sed.sh	Tue May 13 20:08:22 2003
      -@@ -1,7 +1,7 @@
      - #!/bin/sh
      --# $Id: make_sed.sh,v 1.5 1998/02/11 12:13:48 tom Exp $
      -+# $Id: make_sed.sh,v 1.6 2003/01/11 22:23:11 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998 Free Software Foundation, Inc.                          #
      -+# Copyright (c) 1998,2003 Free Software Foundation, Inc.                     #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -47,7 +47,7 @@
      - rm -f $UPPER $SCRIPT $RESULT
      - trap "rm -f $COL.* $INPUT $UPPER $SCRIPT $RESULT" 0 1 2 5 15
      - fgrep -v \# $1 | \
      --sed	-e 's/[	]\+/	/g' >$INPUT
      -+sed	-e 's/[	][	]*/	/g' >$INPUT
      - 
      - for F in 1 2 3 4
      - do
      -diff -urNd -urNd ncurses-5.3/man/man_db.renames ncurses-5.3.20030906.orig/man/man_db.renames
      ---- ncurses-5.3/man/man_db.renames	Sat Apr 13 16:49:08 2002
      -+++ ncurses-5.3.20030906.orig/man/man_db.renames	Sun Jul 20 14:02:08 2003
      -@@ -1,4 +1,4 @@
      --# $Id: man_db.renames,v 0.31 2002/04/13 21:49:08 tom Exp $
      -+# $Id: man_db.renames,v 0.32 2003/05/31 17:27:11 tom Exp $
      - # Manual-page renamings for the man_db program
      - #
      - # Files:
      -@@ -89,6 +89,7 @@
      - infotocap.1m			infotocap.1
      - keybound.3x			keybound.3ncurses
      - keyok.3x			keyok.3ncurses
      -+key_defined.3x			key_defined.3ncurses
      - menu.3x				menu.3menu
      - menu_attributes.3x		attributes.3menu
      - menu_cursor.3x			cursor.3menu
      -diff -urNd -urNd ncurses-5.3/man/manlinks.sed ncurses-5.3.20030906.orig/man/manlinks.sed
      ---- ncurses-5.3/man/manlinks.sed	Sat Sep 21 14:02:03 2002
      -+++ ncurses-5.3.20030906.orig/man/manlinks.sed	Sun Jul 20 14:02:08 2003
      -@@ -1,6 +1,6 @@
      --# $Id: manlinks.sed,v 1.10 2002/09/21 19:02:03 tom Exp $
      -+# $Id: manlinks.sed,v 1.11 2003/05/24 18:57:33 tom Exp $
      - ##############################################################################
      --# Copyright (c) 2000,2002 Free Software Foundation, Inc.                     #
      -+# Copyright (c) 2000-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -29,6 +29,8 @@
      - # Given a manpage (nroff) as input, writes a list of the names that are
      - # listed in the "NAME" section, i.e., the names that we would like to use
      - # as aliases for the manpage -T.Dickey
      -+#
      -+# eliminate formatting controls that get in the way
      - /^'\\"/d
      - /\.\\"/d
      - /^\.br/d
      -@@ -36,11 +38,18 @@
      - s/^\.IX//
      - s/\\f.//g
      - s/[:,]/ /g
      -+#
      -+# eliminate unnecessary whitespace, convert multiple blanks to single space
      - s/^[ 	][ 	]*//
      - s/[ 	][ 	]*$//
      - s/[ 	][ 	]*/ /g
      -+#
      -+# convert ".SH" into a more manageable form
      - s/\.SH[ 	][ 	]*/.SH_(/
      - #
      -+# in ".SH NAME"
      -+# change "\-" to "-", eliminate text after "-", and split the remaining lines
      -+# at each space, making a list of names:
      - /^\.SH_(NAME/,/^\.SH_(SYNOPSIS/{
      - s/\\-.*/ -/
      - / -/{
      -@@ -54,16 +63,39 @@
      - s/ /\
      - /g
      - }
      -+#
      -+# in ".SH SYNOPSIS"
      -+# remove any line that does not contain a '(', since we only want functions.
      -+# then strip off return-type of each function.
      -+# finally, remove the parameter list, which begins with a '('.
      - /^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
      --	/^#/d
      - 	/^[^(]*$/d
      -+	# reduce
      -+	#	.B "int add_wch( const cchar_t *\fIwch\fB );"
      -+	# to
      -+	#	add_wch( const cchar_t *\fIwch\fB );"
      - 	s/^\([^ (]* [^ (]* [*]*\)//g
      - 	s/^\([^ (]* [*]*\)//g
      -+	# trim blanks in case we have
      -+	#	void (*) (FORM *) field_init(const FORM *form);
      -+	s/) (/)(/g
      -+	# reduce stuff like
      -+	#	void (*)(FORM *) field_init(const FORM *form);
      -+	# to
      -+	#	field_init(const FORM *form);
      -+	s/^\(([^)]*)\)\(([^)]*)\)*[ ]*//g
      -+	# rename marker temporarily
      - 	s/\.SH_(/.SH_/
      --	s/(.*//
      -+	# kill lines with ");", and trim off beginning of argument list.
      -+	s/[()].*//
      -+	# rename marker back
      - 	s/\.SH_/.SH_(/
      - }
      -+#
      -+# delete ".SH DESCRIPTION" and following lines
      - /^\.SH_(DESCRIPTION/,${
      - 	d
      - }
      -+#
      -+# delete any remaining directives
      - /^\./d
      -diff -urNd -urNd ncurses-5.3/man/menu_driver.3x ncurses-5.3.20030906.orig/man/menu_driver.3x
      ---- ncurses-5.3/man/menu_driver.3x	Sat Feb 16 16:40:59 2002
      -+++ ncurses-5.3.20030906.orig/man/menu_driver.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: menu_driver.3x,v 1.10 2002/02/16 22:40:59 tom Exp $
      -+.\" $Id: menu_driver.3x,v 1.11 2003/05/10 20:22:01 tom Exp $
      - .TH menu_driver 3X ""
      - .SH NAME
      - \fBmenu_driver\fR - command-processing loop of the menu system
      -@@ -115,10 +115,10 @@
      - is generated and \fBE_UNKNOWN_COMMAND\fR is returned. This return value makes
      - sense, because a double click usually means that an item-specific action should
      - be returned. It's exactly the purpose of this return value to signal that an
      --application specific command should be executed. If a translation 
      -+application specific command should be executed. If a translation
      - into a request was done, \fBmenu_driver\fR returns the result of this request.
      - If you clicked outside the user window or the mouse event couldn't be translated
      --into a menu request an \fBE_REQUEST_DENIED\fR is returned. 
      -+into a menu request an \fBE_REQUEST_DENIED\fR is returned.
      - .PP
      - If the second argument is neither printable ASCII nor one of the above
      - pre-defined menu requests or KEY_MOUSE, the drive assumes it is an application-specific
      -diff -urNd -urNd ncurses-5.3/man/menu_pattern.3x ncurses-5.3.20030906.orig/man/menu_pattern.3x
      ---- ncurses-5.3/man/menu_pattern.3x	Sat Feb 16 16:40:59 2002
      -+++ ncurses-5.3.20030906.orig/man/menu_pattern.3x	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: menu_pattern.3x,v 1.7 2002/02/16 22:40:59 tom Exp $
      -+.\" $Id: menu_pattern.3x,v 1.8 2003/05/10 20:22:01 tom Exp $
      - .TH menu_pattern 3X ""
      - .SH NAME
      - \fBmenu_pattern\fR - get and set a menu's pattern buffer
      -@@ -44,7 +44,7 @@
      - 
      - The function \fBset_menu_pattern\fR sets the pattern buffer for the given menu
      - and tries to find the first matching item.  If it succeeds, that item becomes
      --current; if not, the current item does not change.  
      -+current; if not, the current item does not change. 
      - 
      - The function \fBmenu_pattern\fR returns the pattern buffer of the given
      - \fImenu\fR.
      -diff -urNd -urNd ncurses-5.3/man/ncurses.3x ncurses-5.3.20030906.orig/man/ncurses.3x
      ---- ncurses-5.3/man/ncurses.3x	Sat Aug 10 16:56:07 2002
      -+++ ncurses-5.3.20030906.orig/man/ncurses.3x	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,1999,2001,2002 Free Software Foundation, Inc.         *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: ncurses.3x,v 1.63 2002/08/10 21:56:07 tom Exp $
      -+.\" $Id: ncurses.3x,v 1.66 2003/05/11 00:32:53 tom Exp $
      - .hy 0
      - .TH ncurses 3X ""
      - .ds n 5
      -@@ -322,6 +322,7 @@
      - is_linetouched/\fBcurs_touch\fR(3X)
      - is_wintouched/\fBcurs_touch\fR(3X)
      - isendwin/\fBcurs_initscr\fR(3X)
      -+key_defined/\fBkey_defined\fR(3X)*
      - key_name/\fBcurs_util\fR(3X)
      - keybound/\fBkeybound\fR(3X)*
      - keyname/\fBcurs_util\fR(3X)
      -@@ -614,9 +615,9 @@
      - otherwise noted in the routine descriptions.
      - 
      - All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR,
      --\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, \fBgetmaxyx\fR.  The return
      -+\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR.  The return
      - values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and
      --\fBgetmaxyx\fR are undefined (\fIi\fR.\fIe\fR., these should not be used as the
      -+\fBgetmaxyx\fR are undefined (i.e., these should not be used as the
      - right-hand side of assignment statements).
      - 
      - Routines that return pointers return \fBNULL\fR on error.
      -@@ -629,7 +630,7 @@
      - The debugging library checks this environment symbol when the application
      - has redirected output to a file.
      - The symbol's numeric value is used for the baudrate.
      --If no value is found \fBncurses\fR uses 9600.
      -+If no value is found, \fBncurses\fR uses 9600.
      - This allows testers to construct repeatable test-cases
      - that take into account costs that depend on baudrate.
      - .TP 5
      -@@ -784,7 +785,7 @@
      - .RS
      - .TP 3
      - -
      --the last directory to which \fBncurses\fR wrote, if any, is searched first.
      -+the last directory to which \fBncurses\fR wrote, if any, is searched first
      - .TP 3
      - -
      - the directory specified by the TERMINFO symbol
      -@@ -828,7 +829,7 @@
      - \fBterminfo\fR(\*n) and related pages whose names begin "curs_" for detailed routine
      - descriptions.
      - .SH EXTENSIONS
      --The \fBncurses\fR library can be compiled with an option (\fB-DUSE_GETCAP\fR)
      -+The \fBncurses\fR library can be compiled with an option (\fB\-DUSE_GETCAP\fR)
      - that falls back to the old-style /etc/termcap file if the terminal setup code
      - cannot find a terminfo entry corresponding to \fBTERM\fR.  Use of this feature
      - is not recommended, as it essentially includes an entire termcap compiler in
      -@@ -848,6 +849,7 @@
      - of terminals by allowing the application designer to define additional
      - key sequences at runtime.
      - See the \fBdefine_key\fR(3X)
      -+\fBkey_defined\fR(3X),
      - and \fBkeyok\fR(3X) manual pages for details.
      - 
      - The \fBncurses\fR library can exploit the capabilities of terminals which
      -diff -urNd -urNd ncurses-5.3/man/panel.3x ncurses-5.3.20030906.orig/man/panel.3x
      ---- ncurses-5.3/man/panel.3x	Sat Aug 12 20:56:47 2000
      -+++ ncurses-5.3.20030906.orig/man/panel.3x	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
      -+.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: panel.3x,v 1.10 2000/08/13 01:56:47 tom Exp $
      -+.\" $Id: panel.3x,v 1.11 2003/05/17 22:44:09 jmc Exp $
      - .TH panel 3X ""
      - .ds n 5
      - .ds d @TERMINFO@
      -@@ -77,7 +77,7 @@
      - of the stack.
      - .P
      - A window is associated with every panel. The panel routines enable
      --you to create, move, hides, and show panels, as well as position a
      -+you to create, move, hide, and show panels, as well as position a
      - panel at any desired location in the stack.
      - .P
      - Panel routines are a functional layer added to \fBcurses\fR(3X), make only
      -diff -urNd -urNd ncurses-5.3/man/term.5 ncurses-5.3.20030906.orig/man/term.5
      ---- ncurses-5.3/man/term.5	Sat Aug 10 16:59:37 2002
      -+++ ncurses-5.3.20030906.orig/man/term.5	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: term.5,v 1.14 2002/08/10 21:59:37 tom Exp $
      -+.\" $Id: term.5,v 1.15 2003/05/10 20:33:49 jmc Exp $
      - .TH TERM 5
      - .ds n 5
      - .ds d @TERMINFO@
      -@@ -56,7 +56,7 @@
      - or sign extension are made.
      - .PP
      - The compiled file is created with the
      --.I tic 
      -+.I tic
      - program, and read by the routine
      - .IR setupterm .
      - The file is divided into six parts:
      -@@ -84,7 +84,7 @@
      - and the second byte contains the most significant 8 bits.
      - (Thus, the value represented is 256*second+first.)
      - The value \-1 is represented by the two bytes 0377, 0377; other negative
      --values are illegal. This value generally 
      -+values are illegal. This value generally
      - means that the corresponding capability is missing from this terminal.
      - Note that this format corresponds to the hardware of the \s-1VAX\s+1
      - and \s-1PDP\s+1-11 (that is, little-endian machines).
      -@@ -160,12 +160,12 @@
      - ADM-3, a popular though rather stupid early terminal:
      - .nf
      - .sp
      --adm3a|lsi adm3a, 
      --        am, 
      --        cols#80, lines#24, 
      --        bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J, 
      --        cuf1=^L, cup=\\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, 
      --        home=^^, ind=^J, 
      -+adm3a|lsi adm3a,
      -+        am,
      -+        cols#80, lines#24,
      -+        bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J,
      -+        cuf1=^L, cup=\\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
      -+        home=^^, ind=^J,
      - .sp
      - .ft CW
      - \s-20000  1a 01 10 00 02 00 03 00  82 00 31 00 61 64 6d 33  ........ ..1.adm3
      -diff -urNd -urNd ncurses-5.3/man/term.7 ncurses-5.3.20030906.orig/man/term.7
      ---- ncurses-5.3/man/term.7	Sat Apr 20 11:50:47 2002
      -+++ ncurses-5.3.20030906.orig/man/term.7	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: term.7,v 1.13 2002/04/20 16:50:47 tom Exp $
      -+.\" $Id: term.7,v 1.14 2003/05/10 20:33:49 jmc Exp $
      - .TH TERM 7
      - .ds n 5
      - .ds d @TERMINFO@
      -@@ -96,7 +96,7 @@
      - First, choose a root name.  The root will consist of a lower-case letter
      - followed by up to seven lower-case letters or digits.  You need to avoid using
      - punctuation characters in root names, because they are used and interpreted as
      --filenames and shell meta-characters (such as !, $, *, ? etc.) embedded in them
      -+filenames and shell meta-characters (such as !, $, *, ?, etc.) embedded in them
      - may cause odd and unhelpful behavior.  The slash (/), or any other character
      - that may be interpreted by anyone's file system (\e, $, [, ]), is especially
      - dangerous (terminfo is platform-independent, and choosing names with special
      -@@ -136,29 +136,29 @@
      - attributes.
      - .TP 5
      - -am
      --Enable auto-margin (right-margin wraparound)
      -+Enable auto-margin (right-margin wraparound).
      - .TP 5
      - -m
      --Mono mode - suppress color support
      -+Mono mode - suppress color support.
      - .TP 5
      - -na
      - No arrow keys - termcap ignores arrow keys which are actually there on the
      - terminal, so the user can use the arrow keys locally.
      - .TP 5
      - -nam
      --No auto-margin - suppress am capability
      -+No auto-margin - suppress am capability.
      - .TP 5
      - -nl
      --No labels - suppress soft labels
      -+No labels - suppress soft labels.
      - .TP 5
      - -nsl
      --No status line - suppress status line
      -+No status line - suppress status line.
      - .TP 5
      - -pp
      - Has a printer port which is used.
      - .TP 5
      - -rv
      --Terminal in reverse video mode (black on white)
      -+Terminal in reverse video mode (black on white).
      - .TP 5
      - -s
      - Enable status line.
      -@@ -190,10 +190,10 @@
      - compiled terminal capability data base
      - .TP 5
      - /etc/inittab
      --tty line initialization (AT&T-like UNIXes).
      -+tty line initialization (AT&T-like UNIXes)
      - .TP 5
      - /etc/ttys
      --tty line initialization (BSD-like UNIXes).
      -+tty line initialization (BSD-like UNIXes)
      - .SH SEE ALSO
      - \fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBterm\fR(\*n).
      - .\"#
      -diff -urNd -urNd ncurses-5.3/man/terminfo.tail ncurses-5.3.20030906.orig/man/terminfo.tail
      ---- ncurses-5.3/man/terminfo.tail	Sat Apr 20 11:49:33 2002
      -+++ ncurses-5.3.20030906.orig/man/terminfo.tail	Tue May 13 20:08:22 2003
      -@@ -1,4 +1,4 @@
      --.\" $Id: terminfo.tail,v 1.35 2002/04/20 16:49:33 tom Exp $
      -+.\" $Id: terminfo.tail,v 1.38 2003/01/05 22:47:05 tom Exp $
      - .\" Beginning of terminfo.tail file
      - .ps +1
      - .PP
      -@@ -311,42 +311,81 @@
      - to manipulate it.
      - Typically a sequence will push one of the
      - parameters onto the stack and then print it in some format.
      --Often more complex operations are necessary.
      -+Print (e.g., "%d") is a special case.
      -+Other operations, including "%t" pop their operand from the stack.
      -+It is noted that more complex operations are often necessary,
      -+e.g., in the \fBsgr\fP string.
      - .PP
      - The \fB%\fR encodings have the following meanings:
      - .PP
      --.DT
      --.nf
      --.ta .5i 1.5i
      --	\s-1%%	outputs `%'
      --	%\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP
      --		as in \fBprintf\fP, flags are [-+#] and space
      --	%c	print pop() like %c in printf()
      --	%s	print pop() like %s in printf()
      --
      --	%p[1-9]	push \fIi\fP'th parm
      --	%P[a-z]	set dynamic variable [a-z] to pop()
      --	%g[a-z]	get dynamic variable [a-z] and push it
      --	%P[A-Z]	set static variable [a-z] to pop()
      --	%g[A-Z]	get static variable [a-z] and push it
      --	%'\fIc\fP'	char constant \fIc\fP
      --	%{\fInn\fP}	integer constant \fInn\fP
      --	%l	push strlen(pop)
      --
      --	%+ %- %* %/ %m
      --		arithmetic (%m is mod): push(pop() op pop())
      --	%& %| %^	bit operations: push(pop() op pop())
      --	%= %> %<	logical operations: push(pop() op pop())
      --	%A, %O	logical and & or operations (for conditionals)
      --	%! %~	unary operations push(op pop())
      --	%i	add 1 to first two parameters (for ANSI terminals)
      --
      --	%? expr %t thenpart %e elsepart %;
      --		if-then-else, %e elsepart is optional.
      --		else-if's are possible a la Algol 68:
      --		%? c\d1\u %t b\d1\u %e c\d2\u %t b\d2\u %e c\d3\u %t b\d3\u %e c\d4\u %t b\d4\u %e %;
      --\s+1		c\di\u are conditions, b\di\u are bodies.
      --.fi
      -+.TP 5
      -+\s-1%%
      -+outputs `%'
      -+.TP
      -+%\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP
      -+as in \fBprintf\fP, flags are [-+#] and space
      -+.TP
      -+%c
      -+print pop() like %c in \fBprintf\fP
      -+.TP
      -+%s
      -+print pop() like %s in \fBprintf\fP
      -+.TP
      -+%p[1-9]
      -+push \fIi\fP'th parameter
      -+.TP
      -+%P[a-z]
      -+set dynamic variable [a-z] to pop()
      -+.TP
      -+%g[a-z]
      -+get dynamic variable [a-z] and push it
      -+.TP
      -+%P[A-Z]
      -+set static variable [a-z] to pop()
      -+.TP
      -+%g[A-Z]
      -+get static variable [a-z] and push it
      -+.IP
      -+The terms "static" and "dynamic" are misleading.
      -+Historically, these are simply two different sets of variables,
      -+whose values are not reset between calls to \fBtparm\fP.
      -+However, that fact is not documented in other implementations.
      -+Relying on it will adversely impact portability to other implementations.
      -+.TP
      -+%'\fIc\fP'
      -+char constant \fIc\fP
      -+.TP
      -+%{\fInn\fP}
      -+integer constant \fInn\fP
      -+.TP
      -+%l
      -+push strlen(pop)
      -+.TP
      -+%+ %- %* %/ %m
      -+arithmetic (%m is mod): push(pop() op pop())
      -+.TP
      -+%& %| %^
      -+bit operations: push(pop() op pop())
      -+.TP
      -+%= %> %<
      -+logical operations: push(pop() op pop())
      -+.TP
      -+%A, %O
      -+logical and & or operations (for conditionals)
      -+.TP
      -+%! %~
      -+unary operations push(op pop())
      -+.TP
      -+%i
      -+add 1 to first two parameters (for ANSI terminals)
      -+.TP
      -+%? \fIexpr\fP %t \fIthenpart\fP %e \fIelsepart\fP %;
      -+if-then-else, %e \fIelsepart\fP is optional.
      -+else-if's are possible a la Algol 68:
      -+.br
      -+%? c\d1\u %t b\d1\u %e c\d2\u %t b\d2\u %e c\d3\u %t b\d3\u %e c\d4\u %t b\d4\u %e %;
      -+.br
      -+c\di\u are conditions, b\di\u are bodies.
      - .PP
      - Binary operations are in postfix form with the operands in the usual order.
      - That is, to get x-5 one would use "%gx%{5}%-".
      -@@ -1170,7 +1209,7 @@
      - .PP
      - The \fBsetaf\fR/\fBsetab\fR and \fBsetf\fR/\fBsetb\fR capabilities take a
      - single numeric argument each.
      --Argument values 0-7 are portably defined as
      -+Argument values 0-7 of \fBsetaf\fR/\fBsetab\fR are portably defined as
      - follows (the middle column is the symbolic #define available in the header for
      - the \fBcurses\fR or \fBncurses\fR libraries).
      - The terminal hardware is free to
      -@@ -1192,6 +1231,25 @@
      - white	\fBCOLOR_WHITE\fR	7	max,max,max
      - .TE
      - .PP
      -+The argument values of \fBsetf\fR/\fBsetb\fR historically correspond to
      -+a different mapping, i.e.,
      -+.TS H
      -+center;
      -+l c c c
      -+l l n l.
      -+\fBColor	#define 	Value	RGB\fR
      -+black	\fBCOLOR_BLACK\fR	0	0, 0, 0
      -+blue	\fBCOLOR_BLUE\fR	1	0,0,max
      -+green	\fBCOLOR_GREEN\fR	2	0,max,0
      -+cyan	\fBCOLOR_CYAN\fR	3	0,max,max
      -+red	\fBCOLOR_RED\ \fR	4	max,0,0
      -+magenta	\fBCOLOR_MAGENTA\fR	5	max,0,max
      -+yellow	\fBCOLOR_YELLOW\fR	6	max,max,0
      -+white	\fBCOLOR_WHITE\fR	7	max,max,max
      -+.TE
      -+It is important to not confuse the two sets of color capabilities;
      -+otherwise red/blue will be interchanged on the display.
      -+.PP
      - On an HP-like terminal, use \fBscp\fR with a color-pair number parameter to set
      - which color pair is current.
      - .PP
      -diff -urNd -urNd ncurses-5.3/man/tic.1m ncurses-5.3.20030906.orig/man/tic.1m
      ---- ncurses-5.3/man/tic.1m	Sat Oct  5 15:06:13 2002
      -+++ ncurses-5.3.20030906.orig/man/tic.1m	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,7 +26,7 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: tic.1m,v 1.33 2002/10/05 20:06:13 tom Exp $
      -+.\" $Id: tic.1m,v 1.35 2003/05/11 00:32:53 tom Exp $
      - .TH tic 1M ""
      - .ds n 5
      - .ds d @TERMINFO@
      -@@ -52,11 +52,11 @@
      - t\
      - x\
      - \fR]
      --[\fB-e\fR \fInames\fR]
      --[\fB-o\fR \fIdir\fR]
      --[\fB-R\fR \fIsubset\fR]
      --[\fB-v\fR[\fIn\fR]]
      --[\fB-w\fR[\fIn\fR]]
      -+[\fB\-e\fR \fInames\fR]
      -+[\fB\-o\fR \fIdir\fR]
      -+[\fB\-R\fR \fIsubset\fR]
      -+[\fB\-v\fR[\fIn\fR]]
      -+[\fB\-w\fR[\fIn\fR]]
      - \fIfile\fR
      - .br
      - .SH DESCRIPTION
      -@@ -78,31 +78,31 @@
      - directory first, look at \fI$HOME/.terminfo\fR if TERMINFO is not set, and
      - finally look in \fI\*d\fR.
      - .TP
      --\fB-1\fR
      -+\fB\-1\fR
      - restricts the output to a single column
      - .TP
      --\fB-a\fR
      -+\fB\-a\fR
      - tells \fBtic\fP to retain commented-out capabilities rather than discarding
      - them.  Capabilities are commented by prefixing them with a period.
      --This sets the \fB-x\fR option, because it treats the commented-out
      -+This sets the \fB\-x\fR option, because it treats the commented-out
      - entries as user-defined names.
      - .TP
      --\fB-C\fR
      --Force source translation to termcap format.  Note: this differs from the -C
      -+\fB\-C\fR
      -+Force source translation to termcap format.  Note: this differs from the \fB\-C\fR
      - option of \fIinfocmp\fR(1M) in that it does not merely translate capability
      - names, but also translates terminfo strings to termcap format.  Capabilities
      - that are not translatable are left in the entry under their terminfo names
      - but commented out with two preceding dots.
      - .TP
      --\fB-c\fR
      -+\fB\-c\fR
      - tells \fBtic\fP to only check \fIfile\fR for errors, including syntax problems and
      --bad use links.  If you specify \fB-C\fR (\fB-I\fR) with this option, the code
      -+bad use links.  If you specify \fB\-C\fR (\fB\-I\fR) with this option, the code
      - will print warnings about entries which, after use resolution, are more than
      - 1023 (4096) bytes long.  Due to a fixed buffer length in older termcap
      - libraries (and a documented limit in terminfo), these entries may cause core
      - dumps.
      - .TP
      --\fB-e \fR\fInames\fR
      -+\fB\-e \fR\fInames\fR
      - Limit writes and translations to the following comma-separated list of
      - terminals.
      - If any name or alias of a terminal matches one of the names in
      -@@ -110,32 +110,32 @@
      - Otherwise no output will be generated for it.
      - The option value is interpreted as a file containing the list if it
      - contains a '/'.
      --(Note: depending on how tic was compiled, this option may require -I or -C.)
      -+(Note: depending on how tic was compiled, this option may require \fB\-I\fR or \fB\-C\fR.)
      - .TP
      --\fB-f\fR
      -+\fB\-f\fR
      - Display complex terminfo strings which contain if/then/else/endif expressions
      - indented for readability.
      - .TP
      --\fB-G\fR
      -+\fB\-G\fR
      - Display constant literals in decimal form
      - rather than their character equivalents.
      - .TP
      --\fB-g\fR
      -+\fB\-g\fR
      - Display constant character literals in quoted form
      - rather than their decimal equivalents.
      - .TP
      --\fB-I\fR
      -+\fB\-I\fR
      - Force source translation to terminfo format.
      - .TP
      --\fB-L\fR
      -+\fB\-L\fR
      - Force source translation to terminfo format
      - using the long C variable names listed in <\fBterm.h\fR>
      - .TP
      --\fB-N\fR
      --Disable smart defaults.  
      --Normally, when translating from termcap to terminfo, the compiler makes 
      -+\fB\-N\fR
      -+Disable smart defaults. 
      -+Normally, when translating from termcap to terminfo, the compiler makes
      - a number of assumptions about the defaults of string capabilities
      --\fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR, 
      -+\fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR,
      - \fBcursor_down\fR, \fBscroll_forward\fR, \fBtab\fR, \fBnewline\fR,
      - \fBkey_backspace\fR, \fBkey_left\fR, and \fBkey_down\fR, then attempts
      - to use obsolete termcap capabilities to deduce correct values.  It also
      -@@ -143,42 +143,42 @@
      - This option forces a more literal translation that also preserves the
      - obsolete capabilities.
      - .TP
      --\fB-o\fR\fIdir\fR
      -+\fB\-o\fR\fIdir\fR
      - Write compiled entries to given directory.  Overrides the TERMINFO environment
      - variable.
      - .TP
      --\fB-R\fR\fIsubset\fR
      -+\fB\-R\fR\fIsubset\fR
      - Restrict output to a given subset.  This option is for use with archaic
      - versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
      - the full set of SVR4/XSI Curses terminfo; and outright broken ports like AIX 3.x
      - that have their own extensions incompatible with SVr4/XSI.  Available subsets
      - are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see \fBterminfo\fR(\*n) for details.
      - .TP
      --\fB-r\fR
      -+\fB\-r\fR
      - Force entry resolution (so there are no remaining tc capabilities) even
      - when doing translation to termcap format.  This may be needed if you are
      - preparing a termcap file for a termcap library (such as GNU termcap through
      - version 1.3 or BSD termcap through 4.3BSD) that does not handle multiple
      - tc capabilities per entry.
      - .TP
      --\fB-s\fR
      -+\fB\-s\fR
      - Summarize the compile by showing the directory into which entries
      - are written, and the number of entries which are compiled.
      - .TP
      --\fB-T\fR
      -+\fB\-T\fR
      - eliminates size-restrictions on the generated text.
      - This is mainly useful for testing and analysis, since the compiled
      - descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
      - .TP
      --\fB-t\fR
      -+\fB\-t\fR
      - tells \fBtic\fP to discard commented-out capabilities.
      - Normally when translating from terminfo to termcap,
      - untranslatable capabilities are commented-out.
      - .TP
      --\fB-V\fR
      -+\fB\-V\fR
      - reports the version of ncurses which was used in this program, and exits.
      - .TP
      --\fB-v\fR\fIn\fR
      -+\fB\-v\fR\fIn\fR
      - specifies that (verbose) output be written to standard error trace
      - information showing \fBtic\fR's progress.  The optional integer
      - \fIn\fR is a number from 1 to 10, inclusive, indicating the desired
      -@@ -186,10 +186,10 @@
      - level is 1.  If \fIn\fR is specified and greater than 1, the level of
      - detail is increased.
      - .TP
      --\fB-w\fR\fIn\fR
      -+\fB\-w\fR\fIn\fR
      - specifies the width of the output.
      - .TP
      --\fB-x\fR
      -+\fB\-x\fR
      - Treat unknown capabilities as user-defined.
      - That is, if you supply a capability name which \fBtic\fP does not recognize,
      - it will infer its type (boolean, number or string) from the syntax and
      -@@ -274,25 +274,25 @@
      - error messages, and can be parsed by GNU Emacs's compile facility.
      - 
      - The
      --\fB-C\fR,
      --\fB-G\fR,
      --\fB-I\fR,
      --\fB-N\fR,
      --\fB-R\fR,
      --\fB-T\fR,
      --\fB-V\fR,
      --\fB-a\fR,
      --\fB-e\fR,
      --\fB-f\fR,
      --\fB-g\fR,
      --\fB-o\fR,
      --\fB-r\fR,
      --\fB-s\fR,
      --\fB-t\fR and 
      --\fB-x\fR
      -+\fB\-C\fR,
      -+\fB\-G\fR,
      -+\fB\-I\fR,
      -+\fB\-N\fR,
      -+\fB\-R\fR,
      -+\fB\-T\fR,
      -+\fB\-V\fR,
      -+\fB\-a\fR,
      -+\fB\-e\fR,
      -+\fB\-f\fR,
      -+\fB\-g\fR,
      -+\fB\-o\fR,
      -+\fB\-r\fR,
      -+\fB\-s\fR,
      -+\fB\-t\fR and
      -+\fB\-x\fR
      - options
      - are not supported under SVr4.
      --The SVr4 -c mode does not report bad use links.
      -+The SVr4 \fB\-c\fR mode does not report bad use links.
      - 
      - System V does not compile entries to or read entries from your
      - \fI$HOME/.terminfo\fR directory unless TERMINFO is explicitly set to it.
      -diff -urNd -urNd ncurses-5.3/man/toe.1m ncurses-5.3.20030906.orig/man/toe.1m
      ---- ncurses-5.3/man/toe.1m	Sat Aug 19 13:51:05 2000
      -+++ ncurses-5.3.20030906.orig/man/toe.1m	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,45 +26,45 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: toe.1m,v 1.10 2000/08/19 18:51:05 tom Exp $
      -+.\" $Id: toe.1m,v 1.12 2003/05/11 00:32:53 tom Exp $
      - .TH toe 1M ""
      - .ds n 5
      - .ds d @TERMINFO@
      - .SH NAME
      - \fBtoe\fR - table of (terminfo) entries
      - .SH SYNOPSIS
      --\fBtoe\fR [\fB-v\fR[\fIn\fR]] [\fB-huUV\fR] \fIfile...\fR
      -+\fBtoe\fR [\fB\-v\fR[\fIn\fR]] [\fB\-huUV\fR] \fIfile...\fR
      - .br
      - .SH DESCRIPTION
      - .PP
      - With no options, \fBtoe\fR lists all available terminal types by primary name
      - with descriptions.  File arguments specify the directories to be scanned; if no
      - such arguments are given, your default terminfo directory is scanned.  If you
      --also specify the -h option, a directory header will be issued as each
      --directory is entered. 
      -+also specify the \fB\-h\fR option, a directory header will be issued as each
      -+directory is entered.
      - .PP
      - There are other options intended for use by terminfo file maintainers:
      - .TP
      --\fB-u\fR \fIfile\fR
      -+\fB\-u\fR \fIfile\fR
      - says to issue a report on dependencies in the given file. This report condenses
      - the `use' relation: each line consists of the primary name of a terminal that
      - has use capabilities, followed by a colon, followed by the
      - whitespace-separated primary names of all terminals which occur in those use
      - capabilities, followed by a newline
      - .TP
      --\fB-U\fR \fIfile\fR
      -+\fB\-U\fR \fIfile\fR
      - says to issue a report on reverse dependencies in the given file. This report
      - reverses the `use' relation: each line consists of the primary name of a
      - terminal that occurs in use capabilities, followed by a colon, followed by the
      - whitespace-separated primary names of all terminals which depend on it,
      - followed by a newline.
      - .TP
      --\fB-v\fR\fIn\fR
      -+\fB\-v\fR\fIn\fR
      - specifies that (verbose) output be written to standard error trace
      - information showing \fBtoe\fR's progress.  The optional integer
      - \fIn\fR is a number from 1 to 10, interpreted as for \fBtic\fR(1).
      - .TP 5
      --\fB-V\fR
      -+\fB\-V\fR
      - reports the version of ncurses which was used in this program, and exits.
      - .SH FILES
      - .TP 5
      -diff -urNd -urNd ncurses-5.3/man/tput.1 ncurses-5.3.20030906.orig/man/tput.1
      ---- ncurses-5.3/man/tput.1	Sat Oct 12 08:53:20 2002
      -+++ ncurses-5.3.20030906.orig/man/tput.1	Tue May 13 20:08:22 2003
      -@@ -1,6 +1,6 @@
      - '\" t
      - .\"***************************************************************************
      --.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
      -+.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -27,24 +27,24 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: tput.1,v 1.18 2002/10/12 13:53:20 tom Exp $
      -+.\" $Id: tput.1,v 1.20 2003/05/11 00:32:53 tom Exp $
      - .TH tput 1 ""
      - .ds d @TERMINFO@
      - .ds n 1
      - .SH NAME
      - \fBtput\fR, \fBreset\fR - initialize a terminal or query terminfo database
      - .SH SYNOPSIS
      --\fBtput\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
      -+\fBtput\fR [\fB\-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
      - .br
      --\fBtput\fR [\fB-T\fR\fItype\fR] \fBinit\fR
      -+\fBtput\fR [\fB\-T\fR\fItype\fR] \fBinit\fR
      - .br
      --\fBtput\fR [\fB-T\fR\fItype\fR] \fBreset\fR
      -+\fBtput\fR [\fB\-T\fR\fItype\fR] \fBreset\fR
      - .br
      --\fBtput\fR [\fB-T\fR\fItype\fR] \fBlongname\fR
      -+\fBtput\fR [\fB\-T\fR\fItype\fR] \fBlongname\fR
      - .br
      --\fBtput -S\fR  \fB<<\fR
      -+\fBtput \-S\fR  \fB<<\fR
      - .br
      --\fBtput -V\fR
      -+\fBtput \-V\fR
      - .br
      - .SH DESCRIPTION
      - The \fBtput\fR utility uses the \fBterminfo\fR database to make the
      -@@ -62,10 +62,10 @@
      - For a complete list of capabilities
      - and the \fIcapname\fR associated with each, see \fBterminfo\fR(\*n).
      - .TP
      --\fB-T\fR\fItype\fR
      -+\fB\-T\fR\fItype\fR
      - indicates the \fItype\fR of terminal.  Normally this option is
      - unnecessary, because the default is taken from the environment
      --variable \fBTERM\fR.  If \fB-T\fR is specified, then the shell
      -+variable \fBTERM\fR.  If \fB\-T\fR is specified, then the shell
      - variables \fBLINES\fR and \fBCOLUMNS\fR will be ignored,and the
      - operating system will not be queried for the actual screen size.
      - .TP
      -@@ -83,14 +83,14 @@
      - \fBtput\fR uses a table to decide which to pass as strings.
      - Normally \fBtput\fR uses \fBtparm\fR (3X) to perform the substitution.
      - If no parameters are given for the attribute,
      --\fBtput\fR writes the string without performing the substitution. 
      -+\fBtput\fR writes the string without performing the substitution.
      - .TP
      --\fB-S\fR
      -+\fB\-S\fR
      - allows more than one capability per invocation of \fBtput\fR.  The
      - capabilities must be passed to \fBtput\fR from the standard input
      - instead of from the command line (see example).
      - Only one \fIcapname\fR is allowed per line.
      --The \fB-S\fR option changes the
      -+The \fB\-S\fR option changes the
      - meaning of the \fB0\fR and \fB1\fR boolean and string exit codes (see the
      - EXIT CODES section).
      - .IP
      -@@ -98,12 +98,12 @@
      - to decide whether to use \fBtparm\fR (3X),
      - and how to interpret the parameters.
      - .TP
      --\fB-V\fR
      -+\fB\-V\fR
      - reports the version of ncurses which was used in this program, and exits.
      - .TP
      - \fBinit\fR
      - If the \fBterminfo\fR database is present and an entry for the user's
      --terminal exists (see \fB-T\fR\fItype\fR, above), the following will
      -+terminal exists (see \fB\-T\fR\fItype\fR, above), the following will
      - occur: (1) if present, the terminal's initialization strings will be
      - output (\fBis1\fR, \fBis2\fR, \fBis3\fR, \fBif\fR, \fBiprog\fR), (2)
      - any delays (e.g., newline) specified in the entry will be set in the
      -@@ -122,7 +122,7 @@
      - .TP
      - \fBlongname\fR
      - If the \fBterminfo\fR database is present and an entry for the
      --user's terminal exists (see \fB-T\fR\fItype\fR above), then the long name
      -+user's terminal exists (see \fB\-T\fR\fItype\fR above), then the long name
      - of the terminal will be put out.  The long name is the last
      - name in the first line of the terminal's description in the
      - \fBterminfo\fR database [see \fBterm\fR(5)].
      -@@ -139,7 +139,7 @@
      - the environmental variable \fBTERM\fR has been exported, as
      - illustrated on the \fBprofile\fR(5) manual page.
      - .TP 5
      --\fBtput -T5620 reset\fR
      -+\fBtput \-T5620 reset\fR
      - Reset an AT&T 5620 terminal, overriding the type of
      - terminal in the environmental variable \fBTERM\fR.
      - .TP 5
      -@@ -154,7 +154,7 @@
      - \fBtput cols\fR
      - Print the number of columns for the current terminal.
      - .TP 5
      --\fBtput -T450 cols\fR
      -+\fBtput \-T450 cols\fR
      - Print the number of columns for the 450 terminal.
      - .TP 5
      - \fBbold=`tput smso` offbold=`tput rmso`\fR
      -@@ -178,7 +178,7 @@
      - variable \fBTERM\fR.
      - .PP
      - .RS 5
      --\fBtput -S < clear\fR
      - .br
      -@@ -213,7 +213,7 @@
      - information, see the "Tabs and Initialization"
      - section of \fBterminfo\fR(5)
      - .SH EXIT CODES
      --If the \fB-S\fR option is used,
      -+If the \fB\-S\fR option is used,
      - \fBtput\fR checks for errors from each line,
      - and if any errors are found, will set the exit code to 4 plus the
      - number of lines with errors.
      -@@ -221,7 +221,7 @@
      - No indication of which line failed can be given so
      - exit code \fB1\fR will never appear.  Exit codes \fB2\fR, \fB3\fR, and
      - \fB4\fR retain their usual interpretation.
      --If the \fB-S\fR option is not used,
      -+If the \fB\-S\fR option is not used,
      - the exit code depends on the type of \fIcapname\fR:
      - .RS 5
      - .TP
      -@@ -241,7 +241,7 @@
      - whether or not \fIcapname\fR is defined for this terminal \fItype\fR.
      - To determine if \fIcapname\fR is defined for this terminal \fItype\fR,
      - the user must test the value written to standard output.
      --A value of \fB-1\fR
      -+A value of \fB\-1\fR
      - means that \fIcapname\fR is not defined for this terminal \fItype\fR.
      - .TP
      - .I other
      -@@ -262,17 +262,17 @@
      - \fB0\fR	T{
      - (\fIcapname\fR is a numeric variable that is not specified in the
      - \fBterminfo\fR(\*n) database for this terminal type, e.g.
      --\fBtput -T450 lines\fR and \fBtput -T2621 xmc\fR)
      -+\fBtput \-T450 lines\fR and \fBtput \-T2621 xmc\fR)
      - T}
      - \fB1\fR	no error message is printed, see the \fBEXIT CODES\fR section.
      - \fB2\fR	usage error
      - \fB3\fR	unknown terminal \fItype\fR or no \fBterminfo\fR database
      - \fB4\fR	unknown \fBterminfo\fR capability \fIcapname\fR
      --\fB>4\fR	error occurred in -S
      -+\fB>4\fR	error occurred in \-S
      - =
      - .TE
      - .SH PORTABILITY
      --The \fBlongname\fR and \fB-S\fR options, and the parameter-substitution
      -+The \fBlongname\fR and \fB\-S\fR options, and the parameter-substitution
      - features used in the \fBcup\fR example, are not supported in BSD curses or in
      - AT&T/USL curses before SVr4.
      - .SH SEE ALSO
      -diff -urNd -urNd ncurses-5.3/man/tset.1 ncurses-5.3.20030906.orig/man/tset.1
      ---- ncurses-5.3/man/tset.1	Sat Sep  9 15:33:07 2000
      -+++ ncurses-5.3.20030906.orig/man/tset.1	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - .\"***************************************************************************
      --.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      - .\"                                                                          *
      - .\" Permission is hereby granted, free of charge, to any person obtaining a  *
      - .\" copy of this software and associated documentation files (the            *
      -@@ -26,14 +26,14 @@
      - .\" authorization.                                                           *
      - .\"***************************************************************************
      - .\"
      --.\" $Id: tset.1,v 1.12 2000/09/09 20:33:07 tom Exp $
      -+.\" $Id: tset.1,v 1.13 2003/05/11 00:32:53 tom Exp $
      - .TH tset 1 ""
      - .SH NAME
      - \fBtset\fR, \fBreset\fR - terminal initialization
      - .SH SYNOPSIS
      --tset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
      -+tset [\-IQVqrs] [\-] [\-e \fIch\fR] [\-i \fIch\fR] [\-k \fIch\fR] [\-m \fImapping\fR] [\fIterminal\fR]
      - .br
      --reset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
      -+reset [\-IQVqrs] [\-] [\-e \fIch\fR] [\-i \fIch\fR] [\-k \fIch\fR] [\-m \fImapping\fR] [\fIterminal\fR]
      - .SH DESCRIPTION
      - \&\fBTset\fR initializes terminals.
      - \fBTset\fR first determines the type of terminal that you are using.
      -@@ -50,7 +50,7 @@
      - .PP
      - 4. The default terminal type, ``unknown''.
      - .PP
      --If the terminal type was not specified on the command-line, the -m
      -+If the terminal type was not specified on the command-line, the \fB\-m\fR
      - option mappings are then applied (see below for more information).
      - Then, if the terminal type begins with a question mark (``?''), the
      - user is prompted for confirmation of the terminal type.  An empty
      -@@ -81,50 +81,50 @@
      - .PP
      - The options are as follows:
      - .TP 5
      ---q
      -+.B \-q
      - The terminal type is displayed to the standard output, and the terminal is
      - not initialized in any way.  The option `-' by itself is equivalent but
      - archaic.
      --.TP 5
      ---e
      -+.TP
      -+.B \-e
      - Set the erase character to \fIch\fR.
      --.TP 5
      ---I
      -+.TP
      -+.B \-I
      - Do not send the terminal or tab initialization strings to the terminal.
      --.TP 5
      ---Q
      -+.TP
      -+.B \-Q
      - Don't display any values for the erase, interrupt and line kill characters.
      - .TP
      --\fB-V\fR
      -+.B \-V
      - reports the version of ncurses which was used in this program, and exits.
      --.TP 5
      ---i
      -+.TP
      -+.B \-i
      - Set the interrupt character to \fIch\fR.
      --.TP 5
      ---k
      -+.TP
      -+.B \-k
      - Set the line kill character to \fIch\fR.
      --.TP 5
      ---m
      -+.TP
      -+.B \-m
      - Specify a mapping from a port type to a terminal.
      - See below for more information.
      --.TP 5
      ---r
      -+.TP
      -+.B \-r
      - Print the terminal type to the standard error output.
      --.TP 5
      ---s
      -+.TP
      -+.B \-s
      - Print the sequence of shell commands to initialize the environment variable
      - \fBTERM\fR to the standard output.
      - See the section below on setting the environment for details.
      - .PP
      --The arguments for the -e, -i, and -k
      -+The arguments for the \fB-e\fR, \fB-i\fR, and \fB-k\fR
      - options may either be entered as actual characters or by using the `hat'
      - notation, i.e. control-h may be specified as ``^H'' or ``^h''.
      - .SH SETTING THE ENVIRONMENT
      - It is often desirable to enter the terminal type and information about
      - the terminal's capabilities into the shell's environment.
      --This is done using the -s option.
      -+This is done using the \fB\-s\fR option.
      - .PP
      --When the -s option is specified, the commands to enter the information
      -+When the \fB\-s\fR option is specified, the commands to enter the information
      - into the shell's environment are written to the standard output.  If
      - the \fBSHELL\fR environmental variable ends in ``csh'', the commands
      - are for \fBcsh\fR, otherwise, they are for \fBsh\fR.
      -@@ -132,7 +132,7 @@
      - \fBnoglob\fR, leaving it unset.  The following line in the \fB.login\fR
      - or \fB.profile\fR files will initialize the environment correctly:
      - 
      --    eval \`tset -s options ... \`
      -+    eval \`tset \-s options ... \`
      - 
      - .SH TERMINAL TYPE MAPPING
      - When the terminal is not hardwired into the system (or the current
      -@@ -142,13 +142,13 @@
      - When \fBtset\fR is used in a startup script it is often desirable to
      - provide information about the type of terminal used on such ports.
      - .PP
      --The purpose of the -m option is to map
      -+The purpose of the \fB\-m\fR option is to map
      - from some set of conditions to a terminal type, that is, to
      - tell \fBtset\fR
      - ``If I'm on this port at a particular speed, guess that I'm on that
      - kind of terminal''.
      - .PP
      --The argument to the -m option consists of an optional port type, an
      -+The argument to the \fB\-m\fR option consists of an optional port type, an
      - optional operator, an optional baud rate specification, an optional
      - colon (``:'') character and a terminal type.  The port type is a
      - string (delimited by either the operator or the colon character).  The
      -@@ -159,7 +159,7 @@
      - of the standard error output (which should be the control terminal).
      - The terminal type is a string.
      - .PP
      --If the terminal type is not specified on the command line, the -m
      -+If the terminal type is not specified on the command line, the \fB\-m\fR
      - mappings are applied to the terminal type.  If the port type and baud
      - rate match the mapping, the terminal type specified in the mapping
      - replaces the current type.  If more than one mapping is specified, the
      -@@ -174,16 +174,16 @@
      - .PP
      - If no baud rate is specified, the terminal type will match any baud rate.
      - If no port type is specified, the terminal type will match any port type.
      --For example, \fB-m dialup:vt100 -m :?xterm\fR
      -+For example, \fB\-m dialup:vt100 \-m :?xterm\fR
      - will cause any dialup port, regardless of baud rate, to match the terminal
      - type vt100, and any non-dialup port type to match the terminal type ?xterm.
      - Note, because of the leading question mark, the user will be
      - queried on a default port as to whether they are actually using an xterm
      - terminal.
      - .PP
      --No whitespace characters are permitted in the -m option argument.
      -+No whitespace characters are permitted in the \fB\-m\fR option argument.
      - Also, to avoid problems with meta-characters, it is suggested that the
      --entire -m option argument be placed within single quote characters,
      -+entire \fB\-m\fR option argument be placed within single quote characters,
      - and that \fBcsh\fR users insert a backslash character (``\e'') before
      - any exclamation marks (``!'').
      - .SH HISTORY
      -@@ -197,30 +197,33 @@
      - \fBtset\fR's most important use).  This implementation behaves like 4.4BSD
      - tset, with a few exceptions specified here.
      - .PP
      --The -S option of BSD tset no longer works; it prints an error message to stderr
      --and dies.  The -s option only sets \fBTERM\fR, not \fBTERMCAP\fP.  Both these
      -+The \fB\-S\fR option of BSD tset no longer works; it prints an error message to stderr
      -+and dies.  The \fB\-s\fR option only sets \fBTERM\fR, not \fBTERMCAP\fP.  Both these
      - changes are because the \fBTERMCAP\fR variable is no longer supported under
      --terminfo-based \fBncurses\fR, which makes \fBtset -S\fR useless (we made it die
      -+terminfo-based \fBncurses\fR, which makes \fBtset \-S\fR useless (we made it die
      - noisily rather than silently induce lossage).
      - .PP
      - There was an undocumented 4.4BSD feature that invoking tset via a link named
      - `TSET` (or via any other name beginning with an upper-case letter) set the
      - terminal to use upper-case only.  This feature has been omitted.
      - .PP
      --The -A, -E, -h, -u and -v options were deleted from the \fBtset\fR
      --utility in 4.4BSD. None of them were documented in 4.3BSD and all are
      --of limited utility at best. The -a, -d, and -p options are similarly
      -+The \fB\-A\fR, \fB\-E\fR, \fB\-h\fR, \fB\-u\fR and \fB\-v\fR
      -+options were deleted from the \fBtset\fR
      -+utility in 4.4BSD.
      -+None of them were documented in 4.3BSD and all are
      -+of limited utility at best.
      -+The \fB\-a\fR, -\fB\d\fR, and -\fB\p\fR options are similarly
      - not documented or useful, but were retained as they appear to be in
      - widespread use.  It is strongly recommended that any usage of these
      --three options be changed to use the -m option instead.  The
      ---n option remains, but has no effect.  The -adnp options are therefore
      -+three options be changed to use the \fB\-m\fR option instead.  The
      -+-n option remains, but has no effect.  The \fB\-adnp\fR options are therefore
      - omitted from the usage summary above.
      - .PP
      --It is still permissible to specify the -e, -i, and -k options without
      -+It is still permissible to specify the \fB\-e\fR, \fB\-i\fR, and \fB\-k\fR options without
      - arguments, although it is strongly recommended that such usage be fixed to
      - explicitly specify the character.
      - .PP
      --As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the -Q
      -+As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the \fB\-Q\fR
      - option.  Also, the interaction between the - option and the \fIterminal\fR
      - argument in some historic implementations of \fBtset\fR has been removed.
      - .SH ENVIRONMENT
      -@@ -230,7 +233,7 @@
      - .TP 5
      - /etc/ttys
      - system port name to terminal type mapping database (BSD versions only).
      --.TP 5
      -+.TP
      - @TERMINFO@
      - terminal capability database
      - .SH SEE ALSO
      -diff -urNd -urNd ncurses-5.3/menu/Makefile.in ncurses-5.3.20030906.orig/menu/Makefile.in
      ---- ncurses-5.3/menu/Makefile.in	Sat Jan 19 19:49:17 2002
      -+++ ncurses-5.3.20030906.orig/menu/Makefile.in	Fri Sep 12 16:42:40 2003
      -@@ -1,6 +1,6 @@
      --# $Id: Makefile.in,v 1.36 2002/01/20 01:49:17 tom Exp $
      -+# $Id: Makefile.in,v 1.40 2003/08/23 23:25:32 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -55,6 +55,11 @@
      - includedir	= @includedir@
      - 
      - LIBTOOL		= @LIBTOOL@
      -+LIBTOOL_CLEAN	= @LIB_CLEAN@
      -+LIBTOOL_COMPILE	= @LIB_COMPILE@
      -+LIBTOOL_LINK	= @LIB_LINK@
      -+LIBTOOL_INSTALL	= @LIB_INSTALL@
      -+LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
      - 
      - INSTALL		= @INSTALL@
      - INSTALL_LIB	= @INSTALL@ @INSTALL_LIB@
      -@@ -71,8 +76,7 @@
      - CPP		= @CPP@
      - CFLAGS		= @CFLAGS@
      - 
      --CPPFLAGS	= @CPPFLAGS@ \
      --		  -DHAVE_CONFIG_H 
      -+CPPFLAGS	= -DHAVE_CONFIG_H @CPPFLAGS@
      - 
      - CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
      - 
      -@@ -84,7 +88,7 @@
      - 
      - CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
      - 
      --LINK		= $(LIBTOOL) $(CC)
      -+LINK		= $(LIBTOOL_LINK) $(CC)
      - LDFLAGS		= @LDFLAGS@ @LD_MODEL@ @LIBS@
      - 
      - SHLIB_DIRS	= -L../lib
      -@@ -97,7 +101,7 @@
      - REL_VERSION	= @cf_cv_rel_version@
      - ABI_VERSION	= @cf_cv_abi_version@
      - 
      --RANLIB		= @RANLIB@
      -+RANLIB		= @LIB_PREP@
      - 
      - IMPORT_LIB	= @IMPORT_LIB@
      - SHARED_LIB	= @SHARED_LIB@
      -diff -urNd -urNd ncurses-5.3/misc/csort ncurses-5.3.20030906.orig/misc/csort
      ---- ncurses-5.3/misc/csort	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/misc/csort	Tue May 13 20:08:22 2003
      -@@ -0,0 +1,36 @@
      -+#!/bin/sh
      -+# $Id: csort,v 1.2 2002/10/19 21:42:09 tom Exp $
      -+##############################################################################
      -+# Copyright (c) 2002 Free Software Foundation, Inc.                          #
      -+#                                                                            #
      -+# Permission is hereby granted, free of charge, to any person obtaining a    #
      -+# copy of this software and associated documentation files (the "Software"), #
      -+# to deal in the Software without restriction, including without limitation  #
      -+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
      -+# with modifications, sublicense, and/or sell copies of the Software, and to #
      -+# permit persons to whom the Software is furnished to do so, subject to the  #
      -+# following conditions:                                                      #
      -+#                                                                            #
      -+# The above copyright notice and this permission notice shall be included in #
      -+# all copies or substantial portions of the Software.                        #
      -+#                                                                            #
      -+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
      -+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
      -+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
      -+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
      -+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
      -+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
      -+# DEALINGS IN THE SOFTWARE.                                                  #
      -+#                                                                            #
      -+# Except as contained in this notice, the name(s) of the above copyright     #
      -+# holders shall not be used in advertising or otherwise to promote the sale, #
      -+# use or other dealings in this Software without prior written               #
      -+# authorization.                                                             #
      -+##############################################################################
      -+#
      -+# override anything that might cause 'sort' to do the wrong thing...
      -+LANG=C;		export LANG
      -+LANGUAGE=C;	export LANGUAGE
      -+LC_ALL=C;	export LC_ALL
      -+LC_CTYPE=C;	export LC_CTYPE
      -+sort $*
      -diff -urNd -urNd ncurses-5.3/misc/emx.src ncurses-5.3.20030906.orig/misc/emx.src
      ---- ncurses-5.3/misc/emx.src	Sat Aug 26 21:16:08 2000
      -+++ ncurses-5.3.20030906.orig/misc/emx.src	Tue May 13 20:08:22 2003
      -@@ -1,4 +1,4 @@
      --# $Id: emx.src,v 1.7 2000/08/27 02:16:08 jmcoopr Exp $
      -+# $Id: emx.src,v 1.8 2003/01/26 01:17:55 tom Exp $
      - # This is a reformatted copy of the terminfo source for OS/2 EMX from
      - # Juan Jose Garcia Ripoll .
      - # http://www.arrakis.es/~worm/
      -@@ -85,6 +85,7 @@
      - 	smpch=\E[11m,
      - 	smso=\E[7m,
      - 	smul=\E[4m,
      -+	use=klone+acs,
      - 
      - # Highlight controls corresponding to the ANSI.SYS standard.  *All*
      - # console drivers for Intel boxes obey these.  Does not assume \E[11m will
      -@@ -103,6 +104,7 @@
      - 	smacs=\E[12m,
      - 	smso=\E[7m,
      - 	smul=\E[4m,
      -+	use=klone+acs,
      - 
      - # ANSI.SYS color control.
      - # The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
      -@@ -113,8 +115,17 @@
      - 	op=\E[37;40m,
      - 	setab=\E[4%p1%dm,
      - 	setaf=\E[3%p1%dm,
      --	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
      --	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
      -+
      -+# This is better than klone+color, it doesn't assume white-on-black as the
      -+# default color pair,  but many `ANSI' terminals don't grok the  cap.
      -+ecma+color|color control for ECMA-48-compatible terminals,
      -+	AX,
      -+	colors#8,
      -+	ncv#3,
      -+	pairs#64,
      -+	op=\E[39;49m,
      -+	setab=\E[4%p1%dm,
      -+	setaf=\E[3%p1%dm,
      - 
      - #### ANSI/ECMA-48 terminals and terminal emulators
      - #
      -@@ -209,7 +220,9 @@
      - # no_color_video to inform the application that standout(1), underline(2)
      - # reverse(4) and invisible(64) don't work with color.
      - emx-base|DOS special keys,
      -+	bce,
      - 	bw,
      -+	it#8,
      - 	ncv#71,
      - 	bel=^G,
      - 	ka1=\0G,
      -@@ -293,7 +306,7 @@
      - #	me	<->	sgr0	turn off all atributes
      - #
      - # On my terminal, \E[4m looks dim.
      --ansi|ANSI.SYS color,
      -+ansi-emx|ANSI.SYS color,
      - 	blink=\E[5m,
      - 	bold=\E[1m,
      - 	kmous=\E[M,
      -@@ -319,17 +332,17 @@
      - 	smul=\E[1;31;47m,
      - 	use=emx-base,
      - os2|OS/2-emx ANSI.SYS,
      --	cuu=\E[%p1%dA,
      --	cuu1=\E[A,
      -+	cub=\E[%p1%dD,
      -+	cub1=\E[D,
      - 	cud=\E[%p1%dB,
      - 	cud1=\E[B,
      - 	cuf=\E[%p1%dC,
      - 	cuf1=\E[C,
      --	cub=\E[%p1%dD,
      --	cub1=\E[D,
      --	sc=\E[s,
      -+	cuu=\E[%p1%dA,
      -+	cuu1=\E[A,
      - 	rc=\E[u,
      --	use=ansi,
      -+	sc=\E[s,
      -+	use=ansi-emx,
      - 	use=mono,
      - mono|ANSI.SYS mono,
      - 	blink=\E[5m,
      -@@ -353,7 +366,7 @@
      - 	smul=\E[1;31;40m,
      - 	use=mono,
      - # nice colors for Emacs (white on blue, mode line white on cyan)
      --ansi-color-2|ANSI.SYS color 2,
      -+ansi-color-2-emx|ANSI.SYS color 2,
      - 	rmcup=\E[0m,
      - 	rmso=\E[0;37;44m,
      - 	rmul=\E[0m,
      -@@ -361,9 +374,9 @@
      - 	smcup=\E[0;37;44m,
      - 	smso=\E[1;37;46m,
      - 	smul=\E[1;31;40m,
      --	use=ansi,
      -+	use=ansi-emx,
      - # nice colors for Emacs (white on black, mode line black on cyan)
      --ansi-color-3|ANSI.SYS color 3,
      -+ansi-color-3-emx|ANSI.SYS color 3,
      - 	rmcup=\E[0m,
      - 	rmso=\E[0m,
      - 	rmul=\E[0m,
      -@@ -371,7 +384,7 @@
      - 	smcup=\E[0m,
      - 	smso=\E[30;46m,
      - 	smul=\E[1;31;40m,
      --	use=ansi,
      -+	use=ansi-emx,
      - 
      - #### X terminal emulators
      - #
      -@@ -437,7 +450,7 @@
      - # xterm's internal mouse-tracking facility; ncurses will interpret the
      - # following three bytes of mouse status information.
      - # From: Eric S. Raymond  14 Dec 1995
      --xterm|vs100|xterm terminal emulator (X11R6 Window System),
      -+xterm-r6|xterm terminal emulator (X11R6 Window System),
      - 	am,
      - 	km,
      - 	mir,
      -@@ -488,7 +501,15 @@
      - 	kf10=\E[21~,
      - 	kf11=\E[23~,
      - 	kf12=\E[24~,
      -+	kf13=\E[25~,
      -+	kf14=\E[26~,
      -+	kf15=\E[28~,
      -+	kf16=\E[29~,
      -+	kf17=\E[31~,
      -+	kf18=\E[32~,
      -+	kf19=\E[33~,
      - 	kf2=\E[12~,
      -+	kf20=\E[34~,
      - 	kf3=\E[13~,
      - 	kf4=\E[14~,
      - 	kf5=\E[15~,
      -@@ -496,6 +517,7 @@
      - 	kf7=\E[18~,
      - 	kf8=\E[19~,
      - 	kf9=\E[20~,
      -+	kfnd=\E[1~,
      - 	khome=\EO\0,
      - 	kich1=\E[2~,
      - 	kmous=\E[M,
      -@@ -545,6 +567,7 @@
      - 	sc=\E7,
      - 	tsl=\E[?E\E[?%i%dT,
      - 	use=xterm,
      -+	use=ecma+color,
      - 
      - # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
      - xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
      -@@ -758,7 +781,6 @@
      - 	cup=\EE%p1%d;%p2%d;,
      - 	cuu=\Ep-%p1%d;,
      - 	cuu1=\EA,
      --	cvvis=\Ea,
      - 	dch=\EI%p1%d;,
      - 	dch1=\EI1;,
      - 	dl=\ER%p1%d;,
      -@@ -816,10 +838,21 @@
      - 	rmso=\ES,
      - 	rmul=\ES,
      - 	rs2=\ES\Es0;\Er0;,
      --	setab=\Es%i%p1%d; setaf=\Er%i%p1%d;,
      -+	setab=\Es%i%p1%d;,
      -+	setaf=\Er%i%p1%d;,
      - 	sgr0=\ES,
      - 	smacs=\0,
      - 	smir=\EY,
      - 	smso=\ES\ET,
      - 	smul=\ES\EV,
      - 	tbc=\Ej,
      -+###############################################################################
      -+# Aliases which conflict with terminfo.src
      -+ansi|ANSI.SYS color,
      -+	use=ansi-emx,
      -+ansi-color-2|ANSI.SYS color 2,
      -+	use=ansi-color-2-emx,
      -+ansi-color-3|ANSI.SYS color 3,
      -+	use=ansi-color-3-emx,
      -+xterm|vs100|xterm terminal emulator (X11R6 Window System),
      -+	use=xterm-r6,
      -diff -urNd -urNd ncurses-5.3/misc/run_tic.in ncurses-5.3.20030906.orig/misc/run_tic.in
      ---- ncurses-5.3/misc/run_tic.in	Sat Oct 13 19:44:33 2001
      -+++ ncurses-5.3.20030906.orig/misc/run_tic.in	Fri Sep 12 16:42:59 2003
      -@@ -1,6 +1,6 @@
      - #!@SHELL@
      - ##############################################################################
      --# Copyright (c) 1998,2000 Free Software Foundation, Inc.                     #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -29,7 +29,7 @@
      - #
      - # Author: Thomas E. Dickey 1996,2000
      - #
      --# $Id: run_tic.in,v 1.11 2001/10/14 00:44:33 tom Exp $
      -+# $Id: run_tic.in,v 1.15 2003/09/06 22:31:44 Dan.Kegel Exp $
      - # This script is used to install terminfo.src using tic.  We use a script
      - # because the path checking is too awkward to do in a makefile.
      - #
      -@@ -62,10 +62,14 @@
      - # on the host's copy of tic to compile the terminfo database.
      - if test "$THAT_CC" = "$THIS_CC" ; then
      - case "$PATH" in
      --:*) PATH=../progs:${DESTDIR}$bindir$PATH ;;
      --*) PATH=../progs:${DESTDIR}$bindir:$PATH ;;
      -+:*) PATH=../progs:../lib:${DESTDIR}$bindir$PATH ;;
      -+*) PATH=../progs:../lib:${DESTDIR}$bindir:$PATH ;;
      - esac
      - export PATH
      -+SHLIB="sh $srcdir/shlib"
      -+else
      -+# Cross-compiling, so don't set PATH or run shlib.
      -+SHLIB=
      - fi
      - 
      - #
      -@@ -81,7 +85,7 @@
      - umask 022
      - 
      - # Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo.
      --TICDIR=`echo $TERMINFO | sed -e 's@/share/@/lib/@'`
      -+TICDIR=`echo $TERMINFO | sed -e 's%/share/%/lib/%'`
      - 
      - # Remove the old terminfo stuff; we don't care if it existed before, and it
      - # would generate a lot of confusing error messages if we tried to overwrite it.
      -@@ -91,11 +95,11 @@
      - 
      - # If we're not installing into /usr/share/, we'll have to adjust the location
      - # of the tabset files in terminfo.src (which are in a parallel directory).
      --TABSET=`echo $ticdir | sed -e 's@/terminfo$@/tabset@'`
      -+TABSET=`echo $ticdir | sed -e 's%/terminfo$%/tabset%'`
      - if test "x$TABSET" != "x/usr/share/tabset" ; then
      - 	echo '** adjusting tabset paths'
      - 	TMP=${TMPDIR-/tmp}/$$
      --	sed -e s:/usr/share/tabset:$TABSET:g $source >$TMP
      -+	sed -e s%/usr/share/tabset%$TABSET%g $source >$TMP
      - 	trap "rm -f $TMP" 0 1 2 5 15
      - 	source=$TMP
      - fi
      -@@ -111,7 +115,7 @@
      - 	problems for older ncurses applications.
      - 
      - EOF
      --if ( $srcdir/shlib tic$suffix -s -o $TERMINFO $source )
      -+if ( $SHLIB tic$suffix -s -o $TERMINFO $source )
      - then
      - 	echo '** built new '$TERMINFO
      - else
      -@@ -140,13 +144,15 @@
      - 		cd ${DESTDIR}$prefix
      - 		# Construct a symbolic link that only assumes $ticdir has the
      - 		# same $prefix as the other installed directories.
      --		RELATIVE=`echo $ticdir|sed -e 's:^'$prefix'/::'`
      -+		RELATIVE=`echo $ticdir|sed -e 's%^'$prefix'/%%'`
      - 		if test "$RELATIVE" != "$ticdir" ; then
      --			RELATIVE=../`echo $ticdir|sed -e 's:^'$prefix'/::' -e 's:^/::'`
      -+			RELATIVE=../`echo $ticdir|sed -e 's%^'$prefix'/%%' -e 's%^/%%'`
      - 		fi
      - 		if ( @LN_S@ $RELATIVE $TICDIR )
      - 		then
      --			echo '** linked '$TICDIR' for compatibility'
      -+			echo '** sym-linked '$TICDIR' for compatibility'
      -+		else
      -+			echo '** could not sym-link '$TICDIR' for compatibility'
      - 		fi
      - 	fi
      - fi
      -diff -urNd -urNd ncurses-5.3/misc/shlib ncurses-5.3.20030906.orig/misc/shlib
      ---- ncurses-5.3/misc/shlib	Sat May 20 18:01:17 2000
      -+++ ncurses-5.3.20030906.orig/misc/shlib	Sun Jul 20 14:02:09 2003
      -@@ -29,7 +29,7 @@
      - #
      - # Author: Thomas E. Dickey  1996
      - #
      --# $Id: shlib,v 1.6 2000/05/20 23:01:17 tom Exp $
      -+# $Id: shlib,v 1.7 2003/07/19 22:58:14 tom Exp $
      - # Use this script as a wrapper when running executables linked to shared
      - # libraries on systems that use the $LD_LIBRARY_PATH variable and don't embed
      - # the soname's path within the linked executable (such as IRIX), e.g,
      -@@ -84,4 +84,11 @@
      - 	fi
      - 	export LD_LIBRARY_PATH
      - fi
      -+
      -+# cygwin doesn't use LD_LIBRARY_PATH, but does use PATH
      -+if test -n "$PATHEXT" ; then
      -+	PATH=$LD_LIBRARY_PATH:$PATH;
      -+	export PATH
      -+fi
      -+
      - eval "$*"
      -diff -urNd -urNd ncurses-5.3/misc/terminfo.src ncurses-5.3.20030906.orig/misc/terminfo.src
      ---- ncurses-5.3/misc/terminfo.src	Sat Oct  5 13:40:53 2002
      -+++ ncurses-5.3.20030906.orig/misc/terminfo.src	Sun Jul 20 14:02:09 2003
      -@@ -10,7 +10,7 @@
      - #
      - #------------------------------------------------------------------------------
      - #	Version 10.2.1
      --#	$Date: 2002/10/05 18:40:53 $
      -+#	$Date: 2003/07/19 19:44:24 $
      - #	terminfo syntax
      - #
      - #	Eric S. Raymond		(current maintainer)
      -@@ -562,7 +562,7 @@
      - #
      - # This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
      - # documentation (except for the keyboard key reassignment feature, which
      --# doen't fit the  model well).  The klone+acs sequences were valid
      -+# doesn't fit the  model well).  The klone+acs sequences were valid
      - # though undocumented.  The  capability is untested but should work for
      - # keys F1-F10 (%p1 values outside this range will yield unpredictable results).
      - # From: Eric S. Raymond  Nov 7 1995
      -@@ -1468,7 +1468,9 @@
      - 	kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W, 
      - 	kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r, 
      - 	kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m, 
      --	rmso=\2330m, rmul=\2330m, sgr0=\2330m, 
      -+	rmso=\2330m, rmul=\2330m, 
      -+	sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, 
      -+	sgr0=\2330m, 
      - 
      - # NetBSD "wscons" emulator in vt220 mode
      - # These are micro-minimal and probably need to be redone for real
      -@@ -1484,7 +1486,7 @@
      - # DECstation/pmax.
      - rcons|BSD rasterconsole, 
      - 	use=sun-il, 
      --# Color version of above. Color currenly only provided by NetBSD.
      -+# Color version of above. Color currently only provided by NetBSD.
      - rcons-color|BSD rasterconsole with ANSI color, 
      - 	bce, 
      - 	colors#8, pairs#64, 
      -@@ -1809,6 +1811,44 @@
      - #  |        $Op        |  $On    |         |
      - #  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
      - #
      -+# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the
      -+# terminfo guidelines.  That is a compromise used to assign the remaining
      -+# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
      -+# support:
      -+vt100+keypad|dec vt100 numeric keypad no fkeys, 
      -+	ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn, 
      -+vt100+pfkeys|dec vt100 numeric keypad, 
      -+	kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
      -+	use=vt100+keypad, 
      -+vt100+fnkeys|dec vt100 numeric keypad, 
      -+	kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, 
      -+	kf9=\EOw, use=vt100+pfkeys, 
      -+#
      -+# A better adaptation to modern keyboards such as the PC's, which have a dozen
      -+# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
      -+# use the 5-key arrangement to model the arrow keys as suggested in the
      -+# terminfo guidelines:
      -+#   _______________________________________
      -+#  |   PF1   |   PF2   |   PF3   |   PF4   |
      -+#  |   $OP   |   $OQ   |   $OR   |   $OS   |
      -+#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
      -+#  |    7         8         9         -    |
      -+#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
      -+#  |_ka1__K1_|_________|_ka3__K3_|_________|
      -+#  |    4    |    5    |    6    |    ,    |
      -+#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
      -+#  |_________|_kb2__K2_|_________|_________|
      -+#  |    1    |    2    |    3    |         |
      -+#  |   $Oq   |   $Or   |   $Os   |  enter  |
      -+#  |_kc1__K4_|_________|_kc3__K5_|  $OM    |
      -+#  |         0         |   .     |         |
      -+#  |        $Op        |  $On    |         |
      -+#  |___________________|_________|_kent_@8_|
      -+#
      -+vt220+keypad|dec vt220 numeric keypad, 
      -+	ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, kent=\EOM, 
      -+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
      -+#
      - # And here, for those of you with orphaned VT100s lacking documentation, is
      - # a description of the soft switches invoked when you do `Set Up'.
      - # 
      -@@ -1853,17 +1893,15 @@
      - 	cuf=\E[%p1%dC, cuf1=\E[C$<2>, 
      - 	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, 
      - 	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, 
      --	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq, 
      --	ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, 
      --	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy, 
      --	kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, 
      --	kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8, 
      -+	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, 
      -+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, 
      - 	rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
      - 	rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, 
      - 	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
      - 	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, 
      - 	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
      - 	smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
      -+	use=vt100+fnkeys, 
      - vt100nam|vt100-nam|vt100 no automargins, 
      - 	am@, xenl@, use=vt100-am, 
      - vt100-vb|dec vt100 (w/advanced video) & no beep, 
      -@@ -2132,22 +2170,21 @@
      - 	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, 
      - 	il1=\E[L, ind=\ED, 
      - 	is2=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
      --	ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=\177, kc1=\EOq, kc3=\EOs, 
      --	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      --	kdch1=\E[3~, kel=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~, 
      --	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
      --	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
      --	kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, 
      --	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
      --	khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I, kpp=\E[5~, 
      --	kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i, 
      --	nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt300, 
      --	ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, 
      --	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
      -+	kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      -+	kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~, 
      -+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
      -+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
      -+	kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, 
      -+	kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I, 
      -+	kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i, 
      -+	mc5=\E[?5i, nel=\EE, rc=\E8, rev=\E[7m, 
      -+	rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B, 
      -+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, 
      -+	rmul=\E[m, 
      - 	rs2=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
      - 	sc=\E7, sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, 
      - 	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
      --	tsl=\E[1$}\E[H\E[K, 
      -+	tsl=\E[1$}\E[H\E[K, use=vt220+keypad, 
      - vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy, 
      - 	am@, 
      - 	is2=\E>\E[?3l\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H, 
      -@@ -2584,6 +2621,13 @@
      - 	dch=\E[%p1%dP, ich=\E[%p1%d@, use=ecma+color, 
      - 	use=ms-vt100, 
      - 
      -+# a minimal subset of a vt100 (compare with "news-unk).
      -+tt|tkterm|Don Libes' tk text widget terminal emulator, 
      -+	clear=\E[H\E[J, cr=^M, cuf1=\E[C, cup=\E[%p1%d;%p2%dH, 
      -+	cuu1=\E[A, ind=^J, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
      -+	kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, rmso=\E[m, 
      -+	smso=\E[7m, 
      -+
      - #### X terminal emulators
      - #
      - # You can add the following line to your .Xdefaults to change the terminal type
      -@@ -2691,9 +2735,8 @@
      - 	ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, 
      - 	il1=\E[L, ind=^J, 
      - 	is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, 
      --	ka1=\EOw, ka3=\EOu, kb2=\EOy, kbeg=\EOE, kbs=^H, kc1=\EOq, 
      --	kc3=\EOs, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      --	kdch1=\177, kend=\EOF, kent=\EOM, kf1=\E[11~, kf10=\E[21~, 
      -+	kbeg=\EOE, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
      -+	kcuu1=\EOA, kdch1=\177, kend=\EOF, kf1=\E[11~, kf10=\E[21~, 
      - 	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
      - 	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
      - 	kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, 
      -@@ -2710,7 +2753,7 @@
      - 	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h, 
      - 	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, 
      - 	tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
      --	vpa=\E[%i%p1%dd, use=ecma+color, 
      -+	vpa=\E[%i%p1%dd, use=ecma+color, use=vt220+keypad, 
      - 
      - # This is the stock xterm entry supplied with XFree86 3.3, which uses VT100
      - # codes for F1-F4 except while in VT220 mode.
      -@@ -2752,8 +2795,8 @@
      - 
      - xterm-xfree86|xterm-new|xterm terminal emulator (XFree86 4.0 Window System), 
      - 	npc, 
      --	kDC=\E[3;2~, kEND=\EO2F, kHOM=\EO2H, kIC=\E[2;2~, 
      --	kLFT=\EO2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\EO2C, 
      -+	kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~, 
      -+	kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C, 
      - 	kb2=\EOE, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
      - 	kcuu1=\EOA, kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~, 
      - 	kf11=\E[23~, kf12=\E[24~, kf13=\EO2P, kf14=\EO2Q, 
      -@@ -2819,6 +2862,14 @@
      - xterm-88color|xterm with 88 colors, 
      - 	colors#88, pairs#88, use=xterm-256color, 
      - 
      -+# These two are used to demonstrate the any-event mouse support, i.e., by
      -+# using an extended name "XM" which tells ncurses to put the terminal into
      -+# a special mode when initializing the xterm mouse.
      -+xterm-1002|testing xterm-mouse, 
      -+	XM=\E[?1002%?%p1%{1}%=%th%el%;, use=xterm-xfree86, 
      -+xterm-1003|testing xterm-mouse, 
      -+	XM=\E[?1003%?%p1%{1}%=%th%el%;, use=xterm-xfree86, 
      -+
      - # This is another variant, for XFree86 4.0 xterm (T.Dickey)
      - # This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
      - # To use it, your decTerminalID resource must be set to 200 or above.
      -@@ -2895,15 +2946,14 @@
      - #	+ uses DEC-style control sequences for the application keypad.
      - #	  
      - xterm-vt220|XFree86 xterm emulating vt220, 
      --	ka1=\EOw, ka3=\EOy, kbeg=\EOu, kc1=\EOq, kc3=\EOs, kcbt=\E[Z, 
      --	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[4~, 
      --	kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 
      --	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, 
      --	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, 
      --	kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, 
      --	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, 
      --	kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, 
      --	use=xterm-basic, 
      -+	kbeg=\EOu, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
      -+	kcuu1=\EOA, kend=\E[4~, kf10=\E[21~, kf11=\E[23~, 
      -+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
      -+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
      -+	kf20=\E[34~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, 
      -+	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, 
      -+	kmous=\E[M, knp=\E[6~, kpp=\E[5~, use=xterm-basic, 
      -+	use=vt220+keypad, 
      - 
      - xterm-vt52|XFree86 xterm emulating dec vt52, 
      - 	cols#80, it#8, lines#24, 
      -@@ -2951,7 +3001,7 @@
      - #  -- MATSUMOTO Shoji)
      - kterm|kterm kanji terminal emulator (X window system), 
      - 	eslok, hs, 
      --	acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
      -+	acsc=++\,\,--..00ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
      - 	csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs=, fsl=\E[?F, 
      - 	kmous=\E[M, rc=\E8, rmacs=\E(B, sc=\E7, smacs=\E(0, 
      - 	tsl=\E[?E\E[?%i%dT, use=xterm-r6, use=ecma+color, 
      -@@ -2981,9 +3031,8 @@
      - 	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, 
      - 	el=\E[K, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I, 
      - 	ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, 
      --	is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, ka1=\EOw, ka3=\EOy, 
      --	kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\EOD, kcud1=\EOB, 
      --	kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kent=\EOM, kf1=\E[11~, 
      -+	is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, kbs=^H, kcub1=\EOD, 
      -+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kf1=\E[11~, 
      - 	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, 
      - 	kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, 
      - 	kf8=\E[19~, kf9=\E[20~, khome=\E[7~, kich1=\E[2~, 
      -@@ -2995,7 +3044,7 @@
      - 	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
      - 	sgr0=\E[m, smacs=^N, smam=\E[?7h, 
      - 	smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m, 
      --	smul=\E[4m, use=ecma+color, 
      -+	smul=\E[4m, use=ecma+color, use=vt220+keypad, 
      - 
      - # The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of
      - # xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support
      -@@ -3005,7 +3054,9 @@
      - #
      - # Redhat Linux 6.x distributes XFree86 xterm as "nxterm", which uses bce
      - # colors; note that this is not compatible with the 5.2 version.
      --nxterm|xterm-color|generic color xterm, 
      -+# csw (2002-05-15): make xterm-color primary instead of nxterm, to 
      -+#   match XFree86's xterm.terminfo usage and prevent circular links
      -+xterm-color|nxterm|generic color xterm, 
      - 	ncv@, 
      - 	op=\E[m, use=xterm-r6, use=klone+color, 
      - 
      -@@ -3146,10 +3197,9 @@
      - 	il=\E[%p1%dL, il1=\E[L, ind=^J, is1=\E[?47l\E=\E[?1l, 
      - 	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, 
      - 	kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$, 
      --	kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^H, 
      --	kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, 
      --	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^, 
      --	kend=\E[8~, kent=\EOM, kf1=\E[11~, kf10=\E[21~, 
      -+	kPRV=\E[5$, kRIT=\E[c, kbs=^H, kcbt=\E[Z, kcub1=\E[D, 
      -+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, 
      -+	kel=\E[8\^, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, 
      - 	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
      - 	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
      - 	kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, 
      -@@ -3162,10 +3212,22 @@
      - 	rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>, 
      - 	s0ds=\E(B, s1ds=\E(0, sc=\E7, sgr0=\E[0m\017, smacs=^N, 
      - 	smcup=\E7\E[?47h, smir=\E[4h, smkx=\E=, smso=\E[7m, 
      --	smul=\E[4m, tbc=\E[3g, 
      -+	smul=\E[4m, tbc=\E[3g, use=vt220+keypad, 
      - rxvt|rxvt terminal emulator (X Window System), 
      - 	ncv@, 
      --	sgr0=\E[m\017, use=rxvt-basic, use=ecma+color, 
      -+	cvvis=\E[?25h, hpa=\E[%i%p1%dG, kf0=\E[21~, 
      -+	sgr0=\E[m\017, vpa=\E[%i%p1%dd, use=rxvt-basic, 
      -+	use=ecma+color, 
      -+rxvt-color|rxvt terminal emulator (X Window System), 
      -+	use=rxvt, 
      -+rxvt-xpm|rxvt terminal emulator (X Window System), 
      -+	use=rxvt, 
      -+rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin, 
      -+	acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, 
      -+	use=rxvt, 
      -+rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin, 
      -+	acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330~\376, 
      -+	use=rxvt-cygwin, 
      - 
      - # This variant is supposed to work with rxvt 2.7.7 when compiled with
      - # NO_BRIGHTCOLOR defined.  rxvt needs more work...
      -@@ -3227,19 +3289,17 @@
      - 	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, 
      - 	el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY, 
      - 	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, 
      --	il=\E[%p1%dL, il1=\E[L, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr, 
      --	kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, 
      --	kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kent=\EOM, kf0=\EOy, 
      --	kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, 
      --	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, 
      --	kf9=\EOX, khome=\E[H, kmous=\E[^_, knp=\E[U, kpp=\E[V, 
      --	rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, rmacs=^O, 
      --	rmcup=\E@0\E[?4r, rmso=\E[m, 
      -+	il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, 
      -+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy, 
      -+	kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU, 
      -+	kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_, 
      -+	knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, 
      -+	rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m, 
      - 	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, 
      - 	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
      - 	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
      - 	sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1, 
      --	smso=\E[7m, tbc=\E[3g, 
      -+	smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys, 
      - 
      - xtermc|xterm terminal emulator (color), 
      - 	colors#8, ncv#7, pairs#64, 
      -@@ -3332,7 +3392,7 @@
      - # print interface, ANSI X3.64 colour escape sequences, etc.  Newsgroup postings
      - # indicate that it emulates more than one terminal, but incompletely.
      - # 
      --# This is dapted from a FreeBSD bug-report by Daniel Rudy 
      -+# This is adapted from a FreeBSD bug-report by Daniel Rudy 
      - # It is based on vt102's entry, with some subtle differences, but also
      - #	has status line
      - #	supports ANSI colors (except for 'op' string)
      -@@ -3349,19 +3409,71 @@
      - 	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, 
      - 	dsl=\E[?E, ed=\E[J, el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, 
      - 	fsl=\E[?F, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, 
      --	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, ka1=\EOq, 
      --	ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, 
      --	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy, 
      --	kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, 
      --	kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, op=\E[100m, rc=\E8, 
      --	rev=\E[7m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8, 
      --	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
      -+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, 
      -+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOy, 
      -+	kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, 
      -+	op=\E[100m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, 
      -+	rmcup=\E[2J\E[?47l\E8, rmkx=\E[?1l\E>, rmso=\E[m, 
      -+	rmul=\E[m, 
      - 	rs2=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H, 
      - 	sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
      - 	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
      - 	sgr0=\E[m\017, smacs=^N, smcup=\E7\E[?47h, 
      - 	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
      --	tsl=\E[?E\E[?%i%p1%dT, 
      -+	tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys, 
      -+
      -+### MTERM
      -+#
      -+# This application is available by email from .
      -+#
      -+# "mterm -type ansi" sets $TERM to "ansi"
      -+mterm-ansi|ANSI emulation, 
      -+	am, bw, mir, msgr, 
      -+	it#8, 
      -+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
      -+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, 
      -+	cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, 
      -+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
      -+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, 
      -+	dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, 
      -+	el=\E[K, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, 
      -+	il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS, 
      -+	invis=\E[8m, is2=\E)0\017, kbs=^H, nel=\EE, rev=\E[7m, 
      -+	ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmir=\E[4l, rmso=\E[27m, 
      -+	rmul=\E[24m, sgr0=\E[m, smacs=^N, smir=\E[4h, smso=\E[7m, 
      -+	smul=\E[4m, vpa=\E[%i%p1%dd, 
      -+# mterm normally sets $TERM to "mterm"
      -+mterm|mouse-sun|Der Mouse term, 
      -+	am, bw, mir, 
      -+	it#8, 
      -+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^N, cuf1=^S, 
      -+	cup=\006%p1%d.%p2%d., cuu1=^X, dch1=^Y, dl1=^K, ed=^B, el=^C, 
      -+	home=^P, ht=^I, il1=^A, ind=^U, kbs=^H, ll=^R, nel=^M^U, ri=^W, 
      -+	rmir=^O, rmso=^T, smir=^Q, smso=^V, 
      -+# "mterm -type decansi" sets $TERM to "decansi"
      -+decansi|ANSI emulation with DEC compatibility hacks, 
      -+	am, mir, msgr, xenl, 
      -+	colors#8, it#8, pairs#64, 
      -+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
      -+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
      -+	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, 
      -+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, 
      -+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, 
      -+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
      -+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, 
      -+	dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, enacs=\E(B\E)0, 
      -+	home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, il=\E[%p1%dL, 
      -+	il1=\E[L, ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, 
      -+	is2=\E)0\E[r\017, kbs=^H, kcub1=\EOD, kcud1=\EOB, 
      -+	kcuf1=\EOC, kcuu1=\EOA, nel=\EE, op=\E[0m, rc=\E8, rev=\E[7m, 
      -+	ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, 
      -+	rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, sc=\E7, 
      -+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
      -+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
      -+	sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h, 
      -+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u6=\E[%i%d;%dR, 
      -+	u7=\E[6n, vpa=\E[%i%p1%dd, 
      -+
      - #### MGR
      - #
      - # MGR is a Bell Labs window system lighter-weight than X.
      -@@ -3467,11 +3579,18 @@
      - 	kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
      - 	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
      - 	khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, 
      --	nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmir=\E[4l, 
      --	rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec, sc=\E7, 
      --	sgr0=\E[m, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=, 
      --	smso=\E[3m, smul=\E[4m, tbc=\E[3g, E0=\E(B, S0=\E(%p1%c, 
      -+	nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, 
      -+	rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, 
      -+	rmul=\E[24m, rs2=\Ec, sc=\E7, sgr0=\E[m, smacs=^N, 
      -+	smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[3m, 
      -+	smul=\E[4m, tbc=\E[3g, E0=\E(B, S0=\E(%p1%c, 
      - 	use=ecma+color, 
      -+# The bce and status-line entries are from screen 3.9.13 (and require some
      -+# changes to .screenrc).
      -+screen-bce|VT 100/ANSI X3.64 virtual terminal with bce, 
      -+	bce, use=screen, 
      -+screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line, 
      -+	dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen, 
      - 
      - # Read the fine manpage:
      - #       When  screen  tries  to  figure  out  a  terminal name for
      -@@ -3508,9 +3627,11 @@
      - screen.xterm-r6|screen customized for X11R6 xterm, 
      - 	bw, use=xterm-r6, 
      - # Color applications running in screen and TeraTerm do not play well together
      --# on Solaris.
      -+# on Solaris because Sun's curses implementation gets confused.
      - screen.teraterm|disable ncv in teraterm, 
      --	ncv#127, use=screen, 
      -+	ncv#127, 
      -+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, 
      -+	use=screen, 
      - 
      - screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols, 
      - 	cols#132, use=screen, 
      -@@ -3631,7 +3752,7 @@
      - #### Pilot Pro Palm-Top
      - #
      - # Termcap for Top Gun Telnet and SSH on the Palm Pilot.
      --# http://www.isaac.cs.berkeley.edu/pilot/tgtelnet.html
      -+# http://www.ai/~iang/TGssh/
      - pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional, 
      - 	OTbs, am, xenl, 
      - 	cols#39, lines#16, 
      -@@ -3763,6 +3884,9 @@
      - sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history, 
      - 	lines#35, 
      - 	rmcup=\E[>4h, smcup=\E[>4l, use=sun, 
      -+sun-type4|Sun Workstation console with type 4 keyboard, 
      -+	kcub1=\E[217z, kcud1=\E[221z, kcuf1=\E[219z, 
      -+	kcuu1=\E[215z, use=sun-il, 
      - 
      - #### Iris consoles
      - #
      -@@ -4032,62 +4156,79 @@
      - #### Non-Unix Consoles
      - #
      - 
      -+### EMX termcap.dat compatibility modes
      -+#
      -+# Keypad:	Home=\0G	Up=\0H	PrPag=\0I
      -+#		ka1,kh		kcuu1		kpp,ka3
      -+#
      -+#		Left=\0K	5=\0L		Right=\0M
      -+#		kcub1		kb2		kcuf1
      -+#
      -+#		End=\0O		Down=\0P	NxPag=\0Q
      -+#		kc1,kend	kcud1		kc3,knp
      -+#
      -+#		Ins=\0R		Del=\0S
      -+#		kich1		kdch1
      -+#
      -+# On keyboard with 12 function keys,
      -+#	shifted f-keys: F13-F24
      -+#	control f-keys: F25-F36
      -+#	alt f-keys:     F37-F48
      -+# The shift/control/alt keys do not modify each other, but alt overrides both,
      -+# and control overrides shift.
      -+#
      -+# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the
      -+# no_color_video to inform the application that standout(1), underline(2)
      -+# reverse(4) and invisible(64) don't work with color.
      -+emx-base|DOS special keys, 
      -+	bce, bw, 
      -+	it#8, ncv#71, 
      -+	bel=^G, ka1=\0G, ka3=\0I, kb2=\0L, kbs=^H, kc1=\0O, kc3=\0Q, 
      -+	kcbt=\0^O, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, 
      -+	kdch1=\0S, kend=\0O, kf1=\0;, kf10=\0D, kf11=\0\205, 
      -+	kf12=\0\206, kf13=\0T, kf14=\0U, kf15=\0V, kf16=\0W, 
      -+	kf17=\0X, kf18=\0Y, kf19=\0Z, kf2=\0<, kf20=\0[, kf21=\0\\, 
      -+	kf22=\0], kf23=\0\207, kf24=\0\210, kf25=\0\^, kf26=\0_, 
      -+	kf27=\0`, kf28=\0a, kf29=\0b, kf3=\0=, kf30=\0c, kf31=\0d, 
      -+	kf32=\0e, kf33=\0f, kf34=\0g, kf35=\0\211, kf36=\0\212, 
      -+	kf37=\0h, kf38=\0i, kf39=\0j, kf4=\0>, kf40=\0k, kf41=\0l, 
      -+	kf42=\0m, kf43=\0n, kf44=\0o, kf45=\0p, kf46=\0q, 
      -+	kf47=\0\213, kf48=\0\214, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, 
      -+	kf9=\0C, khome=\0G, kich1=\0R, knp=\0Q, kpp=\0I, 
      -+	use=ansi.sys, 
      -+
      - # Except for the "-emx" suffixes, these are as distributed with EMX 0.9b,
      - # a Unix-style environment used on OS/2.  (Note that the suffix makes some
      - # names longer than 14 characters, the nominal maximum).
      - #
      - # Removed: rmacs=\E[10m, smacs=\E[11m, because OS/2 does not implement acs.
      - ansi-emx|ANSI.SYS color, 
      --	am, bce, eo, mir, msgr, xenl, xon, 
      -+	am, bce, eo, mir, msgr, xon, 
      - 	colors#8, cols#80, it#8, lines#25, pairs#64, 
      - 	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
      - 	clear=\E[1;33;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, 
      - 	cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
      - 	dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, 
      - 	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J, 
      --	kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, 
      --	kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, kf5=\0?, kf6=\0@, 
      --	kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, kich1=\0R, kll=\0O, 
      --	knp=\0Q, kpp=\0I, kspd=^Z, nel=^M^J, rev=\E[5;37;41m, 
      --	rmir=\E[4l, rmpch=\E[10m, rmso=\E[0;44m\E[1;33m, 
      --	rmul=\E[0;44m\E[1;33m, rs1=\Ec, setab=\E[4%p1%dm, 
      --	setaf=\E[3%p1%dm, sgr0=\E[0m\E[1;33;44m, smir=\E[4h, 
      --	smpch=\E[11m, smso=\E[0;31;47m, smul=\E[1;31;44m, 
      --	tbc=\E[3g, u8=\E[?6c, u9=\E[c, 
      -+	kb2=\E[G, kbs=^H, kf0=\0D, kll=\0O, kspd=^Z, nel=^M^J, 
      -+	rev=\E[5;37;41m, rmir=\E[4l, rmpch=\E[10m, 
      -+	rmso=\E[0;44m\E[1;33m, rmul=\E[0;44m\E[1;33m, rs1=\Ec, 
      -+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
      -+	sgr0=\E[0m\E[1;33;44m, smir=\E[4h, smpch=\E[11m, 
      -+	smso=\E[0;31;47m, smul=\E[1;31;44m, tbc=\E[3g, u8=\E[?6c, 
      -+	u9=\E[c, use=emx-base, 
      -+# nice colors for Emacs (white on blue, mode line white on cyan)
      - ansi-color-2-emx|ANSI.SYS color 2, 
      --	am, bce, eo, mir, msgr, xenl, xon, 
      --	colors#8, cols#80, it#8, lines#25, pairs#64, 
      --	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
      --	clear=\E[0;37;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, 
      --	cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
      --	dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, 
      --	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J, 
      --	kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, 
      --	kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, kf5=\0?, kf6=\0@, 
      --	kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, kich1=\0R, kll=\0O, 
      --	knp=\0Q, kpp=\0I, kspd=^Z, nel=^M^J, rev=\E[1;37;46m, 
      --	rmir=\E[4l, rmpch=\E[10m, rmso=\E[0;37;44m, 
      --	rmul=\E[0;37;44m, rs1=\Ec, setab=\E[4%p1%dm, 
      --	setaf=\E[3%p1%dm, sgr0=\E[0;37;44m, smir=\E[4h, 
      --	smpch=\E[11m, smso=\E[1;37;46m, smul=\E[1;36;44m, 
      --	tbc=\E[3g, u8=\E[?6c, u9=\E[c, 
      -+	clear=\E[0;37;44m\E[H\E[J, rev=\E[1;37;46m, 
      -+	rmso=\E[0;37;44m, rmul=\E[0;37;44m, rs1=\Ec, 
      -+	setaf=\E[3%p1%dm, sgr0=\E[0;37;44m, smso=\E[1;37;46m, 
      -+	smul=\E[1;36;44m, use=ansi-emx, 
      -+# nice colors for Emacs (white on black, mode line black on cyan)
      - ansi-color-3-emx|ANSI.SYS color 3, 
      --	am, bce, eo, mir, msgr, xenl, xon, 
      --	colors#8, cols#80, it#8, lines#25, pairs#64, 
      --	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
      --	clear=\E[0;37;40m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, 
      --	cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
      --	dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, 
      --	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J, 
      --	kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, 
      --	kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, kf5=\0?, kf6=\0@, 
      --	kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, kich1=\0R, kll=\0O, 
      --	knp=\0Q, kpp=\0I, kspd=^Z, nel=^M^J, rev=\E[1;37;46m, 
      --	rmir=\E[4l, rmpch=\E[10m, rmso=\E[0;37;40m, 
      --	rmul=\E[0;37;40m, rs1=\Ec, setab=\E[4%p1%dm, 
      --	setaf=\E[3%p1%dm, sgr0=\E[0;10m, smir=\E[4h, 
      --	smpch=\E[11m, smso=\E[1;37;46m, smul=\E[0;36;40m, 
      --	tbc=\E[3g, u8=\E[?6c, u9=\E[c, 
      -+	clear=\E[0;37;40m\E[H\E[J, rev=\E[1;37;46m, 
      -+	rmso=\E[0;37;40m, rmul=\E[0;37;40m, rs1=\Ec, 
      -+	setaf=\E[3%p1%dm, sgr0=\E[0;10m, smso=\E[1;37;46m, 
      -+	smul=\E[0;36;40m, use=ansi-emx, 
      - mono-emx|stupid monochrome ansi terminal with only one kind of emphasis, 
      - 	am, 
      - 	cols#80, it#8, lines#24, 
      -@@ -4117,31 +4258,112 @@
      - # I've indicated which of these were and which I used.
      - # Cheers, earnie_boyd@yahoo.com
      - # several changes based on running with tack and comparing with older entry -TD
      -+# more changes from csw:
      -+#   add    cbt   [backtab]
      -+#   remove eo    [erase overstrike with blank]
      -+#   change clear was \E[H\E[J  now \E[2J  (faster?)
      -+#   remove cols
      -+#   remove lines
      -+#   remove ncv#3 [colors collide with highlights, bitmask] not applicable
      -+#                to MSDOS box?
      -+#   add    cub   [cursor back param] 
      -+#   add    cuf   [cursor forward param]
      -+#   add    cuu   [cursor up param]
      -+#   add    cud   [cursor down param]
      -+#   add    hs    [has status line]
      -+#   add    fsl   [return from status line]
      -+#   add    tsl   [go to status line]
      -+#   add    smacs [Start alt charset] (not sure if this works)
      -+#   add    rmacs [End alt charset]   (ditto)
      -+#   add    smcup [enter_ca_mode] (save console; thanks Corinna)
      -+#   add    rmcup [exit_ca_mode]  (restore console; thanks Corinna)
      -+#   add    kb2   [center of keypad]
      -+#   add    u8    [user string 8] \E[?6c
      -+#   add    el    [clear to end of line] \E[K
      -+# Notes:
      -+#   cnorm [make cursor normal] not implemented
      -+#   flash [flash] not implemented
      -+#   blink [blink] not implemented very usefully in cygwin? \E[5m
      -+#   dim   [dim] not implemented very usefully in cygwin? \E[2m
      -+#   cub1  [cursor back 1] typically \E[D, but ^H is faster?
      -+#   kNXT  [shifted next key] not implemented
      -+#   kPRV  [shifted prev key] not implemented
      -+#   khome [home key] really is \E[1~ NOT \E[H
      -+#   tbc   [clear tab stops] not implemented
      -+#   xenl  [newline ignnored after 80 cols] messes up last line? Ehud Karni
      -+#   smpch [Start PC charset] is \E[11m, same as smacs
      -+#   rmpch [End PC charset] is \E[10m, same as rmacs
      -+#   mir   [move in insert mode] fails in tack?
      -+#   bce   [back color erase] causes problems with change background color?
      -+#   cvvis [make cursor very visible] causes a stackdump when testing with
      -+#         testcurs using the output option? \E[?25h\E[?8c
      -+#   civis [make cursor invisible] causes everything to stackdump? \E[?25l\E[?1c
      -+#   ech   [erase characters param] broken \E[%p1%dX
      -+#   kcbt  [back-tab key] not implemented in cygwin?  \E[Z
      - cygwin|ansi emulation for Cygwin, 
      --	am, eo, in, msgr, xon, 
      --	colors#8, cols#80, it#8, lines#25, ncv#3, pairs#64, 
      -+	am, hs, in, msgr, xon, 
      -+	colors#8, it#8, pairs#64, 
      - 	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, 
      --	bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, cub1=^H, 
      --	cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
      --	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, 
      --	el=\E[K, el1=\E[1K, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, 
      --	hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, 
      --	ind=^J, invis=\E[8m, kbs=^H, kcub1=\E[D, kcud1=\E[B, 
      --	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, 
      -+	bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, cr=^M, 
      -+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, 
      -+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
      -+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, 
      -+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, fsl=^G, 
      -+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, 
      -+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, 
      -+	kb2=\E[G, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, 
      -+	kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, 
      - 	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, 
      - 	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, 
      - 	kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, 
      - 	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, 
      - 	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, 
      - 	knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m, 
      --	rc=\E8, rev=\E[7m, ri=\EM, rmir=\E[4l, rmpch=\E[10m, 
      -+	rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, 
      -+	rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmpch=\E[10m, 
      - 	rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, 
      - 	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
      - 	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, 
      --	sgr0=\E[0;10m, smir=\E[4h, smpch=\E[11m, smso=\E[7m, 
      --	smul=\E[4m, u6=\E[%i%d;%dR, u7=\E[6n, u9=\E[c, 
      -+	sgr0=\E[0;10m, smacs=\E11m, smcup=\E7\E[?47h, smir=\E[4h, 
      -+	smpch=\E[11m, smso=\E[7m, smul=\E[4m, tsl=\E];, 
      -+	u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c, 
      - 	vpa=\E[%i%p1%dd, 
      - 
      -+# I've supplied this so that you can help test new values and add other
      -+# features.  Cheers, earnie_boyd@yahoo.com.
      -+#
      -+# Some features are from pcansi.  The op value is from linux.  Function-keys
      -+# are from linux.  These have been tested not to cause problems.  xenl was in
      -+# this list, but DOES cause problems so it has been removed
      -+cygwinDBG|Debug Version for Cygwin, 
      -+	am, eo, mir, msgr, xon, 
      -+	colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64, 
      -+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, 
      -+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, 
      -+	cnorm=\E[?25h, cr=^M, cub=\E[%p1%dD, cub1=\E[D, 
      -+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, 
      -+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
      -+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, 
      -+	dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, 
      -+	flash=\E[?5h\E[?5l$<200/>, home=\E[H, hpa=\E[%i%p1%dG, 
      -+	ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, 
      -+	il1=\E[L, ind=^J, invis=\E[8m, kNXT=\E[6$, kPRV=\E[5$, 
      -+	kb2=\E[G, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, 
      -+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, 
      -+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, 
      -+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, 
      -+	kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, 
      -+	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, 
      -+	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, 
      -+	knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m, 
      -+	rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, rmir=\E[4l, 
      -+	rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7, 
      -+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
      -+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, 
      -+	sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smso=\E[7m, 
      -+	smul=\E[4m, tbc=\E[2g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, 
      -+	u9=\E[c, vpa=\E[%i%p1%dd, 
      -+
      - # This entry fits the Windows NT console when the _POSIX_TERM environment
      - # variable is set to 'on'.  While the Windows NT POSIX console is seldom used,
      - # the Telnet client supplied with both the Windows for WorkGroup 3.11 TCP/IP
      -@@ -6939,9 +7161,8 @@
      - 	ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>, 
      - 	ind=\n$<2>, ip=$<1>, 
      - 	is1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h, 
      --	is2=\E>\E(B\E)0\017, is3=\E[m, ka1=\EOw, ka3=\EOy, 
      --	kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, kcud1=\E[B, 
      --	kcuf1=\E[C, kcuu1=\E[A, kdl1=\E[M, kel=\E[K, kent=\EOM, 
      -+	is2=\E>\E(B\E)0\017, is3=\E[m, kbs=^H, kcub1=\E[D, 
      -+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdl1=\E[M, kel=\E[K, 
      - 	kf1=\E[?5i, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 
      - 	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, 
      - 	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[?3i, 
      -@@ -6956,7 +7177,7 @@
      - 	sgr=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;, 
      - 	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, 
      - 	smkx=\E[?1l\E[?7h\E=, smso=\E[1t\E[7m, smul=\E[2t\E[4m, 
      --	tbc=\E[3g, tsl=\E[>\,\001, 
      -+	tbc=\E[3g, tsl=\E[>\,\001, use=vt220+keypad, 
      - #
      - #	This terminal description uses the non-hidden attribute mode
      - #	(with magic cookie).
      -@@ -7008,23 +7229,22 @@
      - 	ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>, 
      - 	ind=\n$<3>, invis=\E[8m, ip=$<3>, is1=\E[62;1"p\E[?5W, 
      - 	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>, 
      --	is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu, 
      --	kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, kcud1=\E[B, 
      --	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kent=\EOM, kf1=\EOP, 
      --	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, 
      --	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, 
      --	kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, 
      --	kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
      --	kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, kich1=\E[2~, 
      --	knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, 
      --	lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, 
      --	ri=\EM$<3>, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, 
      --	rmso=\E[m, rmul=\E[m, rs1=\E[13l\E[3l\E!p, 
      --	rs2=\E[35h\E[?3l$<70>, rs3=\E[?5l, sc=\E7, 
      -+	is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcub1=\E[D, kcud1=\E[B, 
      -+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf10=\E[21~, 
      -+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
      -+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
      -+	kf19=\E[33~, kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, 
      -+	kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, 
      -+	khome=\E[26~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, 
      -+	kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, 
      -+	mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<3>, 
      -+	rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, 
      -+	rmul=\E[m, rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>, 
      -+	rs3=\E[?5l, sc=\E7, 
      - 	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
      - 	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, 
      - 	smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
      --	tsl=\E[40h\E7\E[25;%i%p1%dH, 
      -+	tsl=\E[40h\E7\E[25;%i%p1%dH, use=vt220+keypad, 
      - #
      - #	Wyse 85 with visual bell.
      - wy85-vb|wyse85-vb|wyse 85 with visible bell, 
      -@@ -7113,25 +7333,24 @@
      - 	ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, il1=\E[L$<3>, 
      - 	ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W, 
      - 	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h, 
      --	is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu, 
      --	kbs=^H, kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, 
      --	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kent=\EOM, 
      --	kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 
      --	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, 
      --	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, 
      --	kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~, 
      --	kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, 
      --	khome=\E[26~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, 
      --	kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, 
      --	mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<2>, 
      --	rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, rmkx=\E>, 
      --	rmso=\E[27m, rmul=\E[24m, 
      -+	is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D, 
      -+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, 
      -+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, 
      -+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, 
      -+	kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, 
      -+	kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
      -+	kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, kich1=\E[2~, 
      -+	knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, 
      -+	lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, 
      -+	ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, 
      -+	rmkx=\E>, rmso=\E[27m, rmul=\E[24m, 
      - 	rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l, 
      - 	rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7, 
      - 	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
      - 	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q, 
      - 	smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, 
      - 	tbc=\E[3g, tsl=\E7\E[99;%i%p1%dH, vpa=\E[%i%p1%dd, 
      -+	use=vt220+keypad, 
      - #
      - #	Wyse 185 with 24 data lines and top status (terminal status)
      - wy185-24|wyse185-24|wyse 185 with 24 data lines, 
      -@@ -7322,16 +7541,14 @@
      - #	Function key set for the VT-320 (and wy85) compatible keyboard
      - #
      - wy370-105k|Wyse 370 with 105 key keyboard, 
      --	ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, 
      --	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
      --	kdch1=\E[3~, kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, 
      --	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
      --	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
      --	kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, 
      --	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, 
      -+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
      -+	kdch1=\E[3~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 
      -+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, 
      -+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, 
      -+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, 
      - 	khlp=\E[28~, khome=\E[26~, kich1=\E[2~, knp=\E[6~, 
      - 	kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, 
      --	use=wy370-nk, 
      -+	use=wy370-nk, use=vt220+keypad, 
      - #
      - #	Function key set for the PC compatible keyboard
      - #
      -@@ -7435,26 +7652,24 @@
      - 	hts=\EH, ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, 
      - 	il1=\E[L$<3>, ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W, 
      - 	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h, 
      --	is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOu, kb2=\EOy, 
      --	kbs=^H, kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, 
      -+	is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D, 
      - 	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, ked=\E[1~, 
      --	kel=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, 
      -+	kel=\E[4~, kent=\EOM, kf10=\E[21~, kf11=\E[23~, 
      - 	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
      - 	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
      --	kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, 
      --	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, 
      --	khlp=\E[28~, khome=\E[26~, kich1=\E[2~, knp=\E[6~, 
      --	kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, 
      --	mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, 
      --	ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, 
      --	rmso=\E[m, rmul=\E[24m, 
      -+	kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, 
      -+	kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, 
      -+	kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, 
      -+	lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, 
      -+	rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, 
      -+	rmcup=\E[ R, rmir=\E[4l, rmso=\E[m, rmul=\E[24m, 
      - 	rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l, 
      - 	rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7, 
      - 	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
      - 	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, 
      - 	smcup=\E[ Q\E[?67;8h, smir=\E[4h, smso=\E[7m, smul=\E[4m, 
      - 	tbc=\E[3g, tsl=\E[2$~\E[1$}\E[%i%p1%d`, 
      --	vpa=\E[%i%p1%dd, 
      -+	vpa=\E[%i%p1%dd, use=vt220+keypad, 
      - #
      - #       Wyse 520 with 24 data lines and status (terminal status)
      - wy520-24|wyse520-24|wyse 520 with 24 data lines, 
      -@@ -7976,17 +8191,15 @@
      - 	cup=\E[%i%p1%d;%p2%dH$<5>, cuu1=\E[A$<2>, dch1=\E[P, 
      - 	dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, 
      - 	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ich1=\E[@, 
      --	il1=\E[L, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H, 
      --	kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
      --	kcuu1=\EOA, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\EOx, 
      --	kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv, 
      --	kf8=\EOl, kf9=\EOw, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, 
      --	rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>, 
      -+	il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
      -+	kcuu1=\EOA, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, 
      -+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>, 
      - 	rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, 
      - 	sc=\E7, 
      - 	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, 
      - 	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
      - 	smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
      -+	use=vt100+fnkeys, 
      - 
      - # 
      - # Teletype Model 5420 -- A souped up 5410, with multiple windows,
      -@@ -11380,16 +11593,14 @@
      - 	cuu1=\E[A$<2>, dch1=\E~W, dl1=\E~R, ed=\E[J$<50>, 
      - 	el=\E[K$<3>, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, 
      - 	ht=^I, hts=\EH, ich1=\E~Q, il1=\E~E, ind=^J, is1=\E~)\E~ea, 
      --	ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, 
      --	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, 
      --	kf0=\EOy, kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
      --	kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8, 
      --	rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
      -+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      -+	rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
      - 	rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, 
      - 	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
      - 	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, 
      - 	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
      - 	smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
      -+	use=vt100+fnkeys, 
      - ts100-ctxt|falco ts-100 saving context, 
      - 	rmcup=\E~_b, smcup=\E~_d\E[2J, use=ts100, 
      - 
      -@@ -13192,19 +13403,17 @@
      - 	il1=\E[L$<5>, ind=\ED$<5>, indn=\E[%p1%dE$<5>, 
      - 	invis=\E[8m, 
      - 	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, 
      --	ka1=\EOw, ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs, 
      --	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      --	kdch1=\E[3~, kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, 
      --	kf4=\EOS, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, knp=\E[6~, 
      --	kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, nel=\EE$<5>, rc=\E8, 
      --	rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l, 
      -+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      -+	kdch1=\E[3~, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, 
      -+	knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, nel=\EE$<5>, 
      -+	rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l, 
      - 	rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m, 
      - 	rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, 
      - 	sc=\E7, 
      - 	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, 
      - 	sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h, 
      - 	smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g, 
      --	tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, 
      -+	tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, use=vt220+keypad, 
      - ncr260vt100wan|NCR 2900_260 vt100 wide mode ansi kybd, 
      - 	cols#132, 
      - 	cup=\E[%i%p1%d;%p2%dH$<30>, 
      -@@ -13242,15 +13451,14 @@
      - 	ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>, 
      - 	ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m, 
      - 	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, 
      --	ka1=\EOw, ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs, 
      --	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      --	kdch1=\E[3~, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\E[21~, 
      --	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
      --	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
      --	kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, 
      --	kf22=\E[32~, kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, 
      --	kf26=\E[1~, kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, 
      --	kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~, 
      -+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      -+	kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~, 
      -+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
      -+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
      -+	kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, 
      -+	kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, 
      -+	kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, kf30=\E[5~, 
      -+	kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~, 
      - 	kf35=\E[10~, kf4=\EOS, kf5=\E[M, kf6=\E[17~, kf7=\E[18~, 
      - 	kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, 
      - 	kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, 
      -@@ -13263,6 +13471,7 @@
      - 	sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, 
      - 	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, 
      - 	tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, 
      -+	use=vt220+keypad, 
      - ncr260vt200wan|NCR 2900_260 vt200 wide mode ansi kybd, 
      - 	cols#132, 
      - 	cup=\E[%i%p1%d;%p2%dH$<30>, 
      -@@ -13298,27 +13507,27 @@
      - 	ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>, 
      - 	ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m, 
      - 	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, 
      --	ka1=\EOw, ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs, 
      --	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      --	kdch1=\E[3~, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\E[21~, 
      --	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
      --	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
      --	kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, 
      --	kf22=\E[32~, kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, 
      --	kf26=\E[1~, kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, 
      --	kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~, 
      --	kf35=\E[10~, kf4=\EOS, kf5=\E[M, kf6=\E[17~, kf7=\E[18~, 
      --	kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, 
      --	kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, 
      --	mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, 
      --	ri=\EM$<5>, rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l, 
      --	rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, 
      -+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      -+	kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~, 
      -+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
      -+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
      -+	kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, kf23=\E[33~, 
      -+	kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, kf27=\E[2~, 
      -+	kf28=\E[3~, kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, 
      -+	kf33=\E[8~, kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~, 
      -+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, 
      -+	khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, 
      -+	krdo=\E[29~, kslt=\E[4~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, 
      -+	nel=\EE, rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=\017$<20>, 
      -+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, 
      -+	rmul=\E[24m, 
      - 	rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, 
      - 	sc=\E7, 
      - 	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, 
      - 	sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, 
      - 	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, 
      - 	tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, 
      -+	use=vt220+keypad, 
      - ncr260vt300wan|NCR 2900_260 vt300 wide mode ansi kybd, 
      - 	cols#132, 
      - 	cup=\E[%i%p1%d;%p2%dH$<30>, 
      -@@ -13406,7 +13615,7 @@
      - #
      - ncr260wy350pp|NCR 2900_260 wyse 350, 
      - 	am, bw, hs, km, mc5i, mir, msgr, xon, 
      --	colors#16, cols#80, lines#24, ncv#33, nlab#32, xmc#1, 
      -+	colors#16, cols#80, lines#24, ncv#33, nlab#32, pairs#16, xmc#1, 
      - 	acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, 
      - 	cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, 
      - 	cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, 
      -@@ -14005,17 +14214,15 @@
      - 	cuf=\E[%p1%dC, cuf1=\E[C$<2>, 
      - 	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, 
      - 	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, 
      --	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq, 
      --	ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, 
      --	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy, 
      --	kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, 
      --	kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8, 
      -+	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, 
      -+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, 
      - 	rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
      - 	rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, 
      - 	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
      - 	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, 
      - 	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
      - 	smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
      -+	use=vt100+fnkeys, 
      - 
      - # Tektronix 4105 from BRL
      - # The following setup modes are assumed for normal operation:
      -@@ -14831,15 +15038,14 @@
      - 	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
      - 	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, 
      - 	home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, 
      --	ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=\177, kc1=\EOp, kc3=\EOn, 
      --	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, 
      --	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, 
      --	ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
      -+	kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
      -+	kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, 
      -+	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
      - 	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
      - 	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m, 
      - 	sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, 
      - 	smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, 
      --	u8=\E[?1;2c, u9=\E[c, 
      -+	u8=\E[?1;2c, u9=\E[c, use=vt100+pfkeys, 
      - 
      - nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset, 
      - 	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
      -@@ -15026,14 +15232,14 @@
      - 	cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, 
      - 	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
      - 	cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K, 
      --	el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq, 
      --	ka3=\EOs, kb2=\EOr, kbs=\177, kc1=\EOp, kc3=\EOn, kcub1=\EOD, 
      --	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, rev=\E[7m, 
      --	ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
      --	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
      -+	el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=\177, 
      -+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, 
      -+	rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, 
      -+	rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, 
      -+	sc=\E7, 
      - 	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, 
      - 	sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, 
      --	smul=\E[4m, tbc=\E[3g, 
      -+	smul=\E[4m, tbc=\E[3g, use=vt100+keypad, 
      - 
      - xnuppc+c|Darwin PowerPC Console ANSI color support, 
      - 	colors#8, ncv#32, pairs#64, 
      -@@ -17642,7 +17848,7 @@
      - # respectively, to be able to restore them when color changes
      - # (because any color change turns off ALL attributes)
      - # 3.  and  sequences alternate modes,
      --# rather then simply  entering them.  Thus we have to check the
      -+# rather than simply  entering them.  Thus we have to check the
      - # static register B and H to determine the status, before sending the 
      - # escape sequence.
      - # 4.  now must set the status of all 3 register (A,B,H) to zero
      -@@ -17744,15 +17950,12 @@
      - 	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, 
      - 	cuu1=\E[A$<2>, dl1=\E[M$<99>, ed=\E[J$<50>, el=\E[K$<3>, 
      - 	el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, 
      --	il1=\E[L$<99>, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H, 
      --	kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
      --	kcuu1=\EOA, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\EOx, 
      --	kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv, 
      --	kf8=\EOl, kf9=\EOw, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
      -+	il1=\E[L$<99>, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, 
      -+	kcuf1=\EOC, kcuu1=\EOA, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
      - 	rmkx=\E[?1l\E>, rmso=\E[m\s, 
      - 	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m, 
      - 	smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m\s, 
      --	tbc=\E[3g, 
      -+	tbc=\E[3g, use=vt100+fnkeys, 
      - 
      - # The official PC terminal emulator program of the AT&T Product Centers.
      - # Note - insert mode commented out - doesn't seem to work on AT&T PC.
      -@@ -18325,12 +18528,12 @@
      - # (T) ECMA-48 calls this "Partial Line Forward" but retains the PLD
      - # abbreviation.
      - #
      --# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLD
      -+# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLU
      - # abbreviation.
      - #
      - # (V) ECMA-48 calls this "Reverse Line Feed" but retains the RI abbreviation.
      - #
      --# (W) RM/SM modes are as follows: 1 = Guarder Area Transfer Mode (GATM), 
      -+# (W) RM/SM modes are as follows: 1 = Guarded Area Transfer Mode (GATM), 
      - # 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM), 
      - # 4 = Insertion Replacement Mode, 5 = Status Report Transfer Mode (SRTM),
      - # 6 = Erasure Mode (ERM), 7 = Line Editing Mode (LEM), 8 = Bi-Directional
      -@@ -19536,9 +19739,46 @@
      - #	* scaled the linux-c terminfo entry to match linux-c-nc, i.e., the
      - #	  r/g/b parameters of initc are in the range 0 to 1000 -TD
      - #
      --# 2002-1005
      -+# 2002-10-05
      - #	* minor fix for scale-factor of linux-c and linux-c-nc -TD
      - #
      -+# 2002-11-09
      -+#	* split-out vt100+keypad and vt220+keypad, fix interchanged ka3/kb2
      -+#	  in the latter -TD
      -+#
      -+# 2002-11-16
      -+#	* add entries for mterm (mterm, mterm-ansi, decansi) -TD
      -+#	* ncr260wy350pp has only 16 color pairs -TD
      -+#	* add sun-type4 from NetBSD -TD
      -+#	* update xterm-xfree86 to current (patch 170) -TD
      -+#	* add screen-bce, screen-s entries -TD
      -+#	* add xterm-1002, xterm-1003 entries -TD
      -+#
      -+# 2003-01-11
      -+#	* update homepage for Top Gun Telnet/SSH
      -+#
      -+# 2003-01-25
      -+#	* reduce duplication in emx entries, added emx-base -TD
      -+#
      -+# 2003-05-24
      -+#	* corrected acs for screen.teraterm -TD
      -+#	* add tkterm entry -TD
      -+#
      -+# 2003-07-15
      -+#	* cygwin changes from Charles Wilson:
      -+#	  misc/terminfo.src (nxterm|xterm-color): make xterm-color
      -+#	  primary instead of nxterm, to match XFree86's xterm.terminfo
      -+#	  usage and to prevent circular links.
      -+#	  (rxvt): add additional codes from rxvt.org.
      -+#	  (rxvt-color): new alias
      -+#	  (rxvt-xpm): new alias
      -+#	  (rxvt-cygwin): like rxvt, but with special acsc codes.
      -+#	  (rxvt-cygwin-native): ditto.  rxvt may be run under XWindows, or
      -+#	  with a "native" MSWin GUI.  Each takes different acsc codes,
      -+#	  which are both different from the "normal" rxvt's acsc.
      -+#	  (cygwin): cygwin-in-cmd.exe window.  Lots of fixes.
      -+#	  (cygwinDBG): ditto.
      -+#
      - # The following sets edit modes for GNU EMACS.
      - # Local Variables:
      - # fill-prefix:"\t"
      -diff -urNd -urNd ncurses-5.3/mk-1st.awk ncurses-5.3.20030906.orig/mk-1st.awk
      ---- ncurses-5.3/mk-1st.awk	Sat Apr 20 12:32:47 2002
      -+++ ncurses-5.3.20030906.orig/mk-1st.awk	Fri Sep 12 16:42:40 2003
      -@@ -1,4 +1,4 @@
      --# $Id: mk-1st.awk,v 1.55 2002/04/20 17:32:47 tom Exp $
      -+# $Id: mk-1st.awk,v 1.60 2003/08/30 20:48:52 tom Exp $
      - ##############################################################################
      - # Copyright (c) 1998,2000,2002 Free Software Foundation, Inc.                #
      - #                                                                            #
      -@@ -27,7 +27,7 @@
      - # authorization.                                                             #
      - ##############################################################################
      - #
      --# Author: Thomas E. Dickey  1996,1997,2000
      -+# Author: Thomas E. Dickey 1996,1997,2000,2002
      - #
      - # Generate list of objects for a given model library
      - # Variables:
      -@@ -38,7 +38,7 @@
      - #	MODEL (e.g., "DEBUG", uppercase; toupper is not portable)
      - #	depend (optional dependencies for all objects, e.g, ncurses_cfg.h)
      - #	subset ("none", "base", "base+ext_funcs" or "termlib")
      --#	target (cross-compile target, if any)
      -+#	host (cross-compile host, if any)
      - #	ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable)
      - #	ShlibVerInfix ("yes" or "no", determines location of version #)
      - #	DoLinks ("yes", "reverse" or "no", flag to add symbolic links)
      -@@ -110,7 +110,7 @@
      - 			if (using == 0) {
      - 				if (found == 0) {
      - 					print  ""
      --					print  "# generated by mk-1st.awk"
      -+					printf "# generated by mk-1st.awk (subset=%s)\n", subset
      - 					print  ""
      - 				}
      - 				using = 1
      -@@ -162,8 +162,8 @@
      - 			if ( MODEL == "SHARED" )
      - 			{
      - 				if (ShlibVerInfix == "cygdll") {
      --					abi_name = sprintf("%s%s$(ABI_VERSION)%s", prefix, name, suffix);
      --					rel_name = sprintf("%s%s$(REL_VERSION)%s", prefix, name, suffix);
      -+					abi_name = sprintf("%s%s$(ABI_VERSION)%s", "cyg", name, suffix);
      -+					rel_name = sprintf("%s%s$(REL_VERSION)%s", "cyg", name, suffix);
      - 					imp_name = sprintf("%s%s%s.a", prefix, name, suffix);
      - 				} else if (ShlibVerInfix == "yes") {
      - 					abi_name = sprintf("%s%s.$(ABI_VERSION)%s", prefix, name, suffix);
      -@@ -194,7 +194,7 @@
      - 					print "\t-@rm -f $@";
      - 				}
      - 				if ( subset == "termlib") {
      --					printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(TINFO_LIST)\n", OBJS
      -+					printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(TINFO_LIST) $(LDFLAGS)\n", OBJS
      - 				} else {
      - 					printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(SHLIB_LIST) $(LDFLAGS)\n", OBJS
      - 				}
      -@@ -233,9 +233,15 @@
      - 
      - 				if ( overwrite == "yes" && name == "ncurses" )
      - 				{
      --					ovr_name = sprintf("libcurses%s", suffix)
      --					printf "\t@echo linking %s to %s\n", end_name, ovr_name
      --					printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name
      -+					if ( ShlibVer == "cygdll" ) {
      -+						ovr_name = sprintf("libcurses%s.a", suffix)
      -+						printf "\t@echo linking %s to %s\n", imp_name, ovr_name
      -+						printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, imp_name, ovr_name
      -+					} else {
      -+						ovr_name = sprintf("libcurses%s", suffix)
      -+						printf "\t@echo linking %s to %s\n", end_name, ovr_name
      -+						printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name
      -+					}
      - 				}
      - 				if ( ldconfig != "" ) {
      - 					printf "\t- test -z \"$(DESTDIR)\" && %s\n", ldconfig
      -@@ -257,7 +263,11 @@
      - 					removelinks("$(DESTDIR)$(libdir)")
      - 					if ( overwrite == "yes" && name == "ncurses" )
      - 					{
      --						ovr_name = sprintf("libcurses%s", suffix)
      -+						if ( ShlibVer == "cygdll" ) {
      -+							ovr_name = sprintf("libcurses%s.a", suffix)
      -+						} else {
      -+							ovr_name = sprintf("libcurses%s", suffix)
      -+						}
      - 						printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", ovr_name
      - 					}
      - 				}
      -@@ -277,19 +287,19 @@
      - 				}
      - 				end_name = lib_name;
      - 				printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
      --				printf "\tcd ../lib && $(LIBTOOL) $(%s) -o %s $(%s_OBJS:.o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR)\n", compile, lib_name, OBJS
      -+				printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:.o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST)\n", compile, lib_name, OBJS
      - 				print  ""
      - 				print  "install \\"
      - 				print  "install.libs \\"
      - 				printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name
      - 				printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name
      --				printf "\tcd ../lib; $(LIBTOOL) $(INSTALL_DATA) %s $(DESTDIR)$(libdir)\n", lib_name
      -+				printf "\tcd ../lib; $(LIBTOOL_INSTALL) $(INSTALL) %s $(DESTDIR)$(libdir)\n", lib_name
      - 				print  ""
      - 				print  "uninstall \\"
      - 				print  "uninstall.libs \\"
      - 				printf "uninstall.%s ::\n", name
      - 				printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name
      --				printf "\t-@$(LIBTOOL) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name
      -+				printf "\t-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name
      - 			}
      - 			else
      - 			{
      -@@ -297,7 +307,7 @@
      - 				printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
      - 				printf "\t$(AR) $(AR_OPTS) $@ $?\n"
      - 				printf "\t$(RANLIB) $@\n"
      --				if ( target == "vxworks" )
      -+				if ( host == "vxworks" )
      - 				{
      - 					printf "\t$(LD) $(LD_OPTS) $? -o $(@:.a=.o)\n"
      - 				}
      -@@ -314,7 +324,7 @@
      - 					printf "\t(cd $(DESTDIR)$(libdir) && $(LN_S) libncurses.a libcurses.a)\n"
      - 				}
      - 				printf "\t$(RANLIB) $(DESTDIR)$(libdir)/%s\n", lib_name
      --				if ( target == "vxworks" )
      -+				if ( host == "vxworks" )
      - 				{
      - 					printf "\t@echo installing ../lib/lib%s.o as $(DESTDIR)$(libdir)/lib%s.o\n", name, name
      - 					printf "\t$(INSTALL_DATA) ../lib/lib%s.o $(DESTDIR)$(libdir)/lib%s.o\n", name, name
      -@@ -330,7 +340,7 @@
      - 					printf "\t@echo linking libcurses.a to libncurses.a\n"
      - 					printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n"
      - 				}
      --				if ( target == "vxworks" )
      -+				if ( host == "vxworks" )
      - 				{
      - 					printf "\t@echo uninstalling $(DESTDIR)$(libdir)/lib%s.o\n", name
      - 					printf "\t-@rm -f $(DESTDIR)$(libdir)/lib%s.o\n", name
      -@@ -343,7 +353,7 @@
      - 			print "mostlyclean::"
      - 			printf "\t-rm -f $(%s_OBJS)\n", OBJS
      - 			if ( MODEL == "LIBTOOL" ) {
      --				printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
      -+				printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:.o=.lo)\n", OBJS
      - 			}
      - 		}
      - 		else if ( found == 2 )
      -@@ -352,13 +362,13 @@
      - 			print "mostlyclean::"
      - 			printf "\t-rm -f $(%s_OBJS)\n", OBJS
      - 			if ( MODEL == "LIBTOOL" ) {
      --				printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
      -+				printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:.o=.lo)\n", OBJS
      - 			}
      - 			print ""
      - 			print "clean ::"
      - 			printf "\t-rm -f $(%s_OBJS)\n", OBJS
      - 			if ( MODEL == "LIBTOOL" ) {
      --				printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
      -+				printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:.o=.lo)\n", OBJS
      - 			}
      - 		}
      - 	}
      -diff -urNd -urNd ncurses-5.3/mk-2nd.awk ncurses-5.3.20030906.orig/mk-2nd.awk
      ---- ncurses-5.3/mk-2nd.awk	Sat Oct 14 12:57:02 2000
      -+++ ncurses-5.3.20030906.orig/mk-2nd.awk	Fri Sep 12 16:42:40 2003
      -@@ -1,6 +1,6 @@
      --# $Id: mk-2nd.awk,v 1.13 2000/10/14 17:57:02 Johnny.C.Lam Exp $
      -+# $Id: mk-2nd.awk,v 1.14 2003/08/30 20:59:40 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998 Free Software Foundation, Inc.                          #
      -+# Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -100,9 +100,9 @@
      - 					dir = $3 "/"
      - 					sub("^\\$\\(srcdir\\)/","",dir);
      - 					sub("^\\./","",dir);
      --					printf "\t%scd ../%s; $(LIBTOOL) $(%s) $(CFLAGS_%s) -c ../%s/%s%s%s", atsign, model, compile, MODEL, name, dir, $1, suffix
      -+					printf "\t%scd ../%s; $(LIBTOOL_COMPILE) $(%s) $(CFLAGS_%s) -c ../%s/%s%s%s", atsign, model, compile, MODEL, name, dir, $1, suffix
      - 				} else
      --					printf "\t%scd ../%s; $(LIBTOOL) $(%s) $(CFLAGS_%s) -c %s/%s%s", atsign, model, compile, MODEL, $3, $1, suffix
      -+					printf "\t%scd ../%s; $(LIBTOOL_COMPILE) $(%s) $(CFLAGS_%s) -c %s/%s%s", atsign, model, compile, MODEL, $3, $1, suffix
      - 			} else {
      - 				printf "%s", $1
      - 				for (n = 2; n <= NF; n++) printf " %s", $n
      -diff -urNd -urNd ncurses-5.3/ncurses/Makefile.in ncurses-5.3.20030906.orig/ncurses/Makefile.in
      ---- ncurses-5.3/ncurses/Makefile.in	Sat Jun 29 17:36:25 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/Makefile.in	Fri Sep 12 16:42:40 2003
      -@@ -1,6 +1,6 @@
      --# $Id: Makefile.in,v 1.84 2002/06/29 22:36:25 tom Exp $
      -+# $Id: Makefile.in,v 1.89 2003/08/23 23:25:48 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -27,7 +27,7 @@
      - # authorization.                                                             #
      - ##############################################################################
      - #
      --# Author: Thomas E. Dickey 1996-2001
      -+# Author: Thomas E. Dickey 1996-2002
      - #
      - # Makefile for ncurses source code.
      - #
      -@@ -65,6 +65,11 @@
      - datadir		= @datadir@
      - 
      - LIBTOOL		= @LIBTOOL@
      -+LIBTOOL_CLEAN	= @LIB_CLEAN@
      -+LIBTOOL_COMPILE	= @LIB_COMPILE@
      -+LIBTOOL_LINK	= @LIB_LINK@
      -+LIBTOOL_INSTALL	= @LIB_INSTALL@
      -+LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
      - 
      - INSTALL		= @INSTALL@
      - INSTALL_LIB	= @INSTALL@ @INSTALL_LIB@
      -@@ -86,10 +91,10 @@
      - 
      - CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
      - 
      --HOSTCC		= @BUILD_CC@
      --HOSTCCFLAGS	= -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @BUILD_CFLAGS@ @BUILD_CPPFLAGS@
      --HOSTLDFLAGS	= @BUILD_LDFLAGS@
      --HOSTLIBS	= @BUILD_LIBS@
      -+BUILD_CC	= @BUILD_CC@
      -+BUILD_CCFLAGS	= -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @BUILD_CPPFLAGS@ @BUILD_CFLAGS@
      -+BUILD_LDFLAGS	= @BUILD_LDFLAGS@
      -+BUILD_LIBS	= @BUILD_LIBS@
      - 
      - CFLAGS_LIBTOOL	= $(CCFLAGS)
      - CFLAGS_NORMAL	= $(CCFLAGS)
      -@@ -113,7 +118,7 @@
      - REL_VERSION	= @cf_cv_rel_version@
      - ABI_VERSION	= @cf_cv_abi_version@
      - 
      --RANLIB		= @RANLIB@
      -+RANLIB		= @LIB_PREP@
      - 
      - IMPORT_LIB	= @IMPORT_LIB@
      - SHARED_LIB	= @SHARED_LIB@
      -@@ -189,12 +194,12 @@
      - make_keys$x : \
      - 		$(tinfo)/make_keys.c \
      - 		names.c
      --	$(HOSTCC) -o $@ $(HOSTCCFLAGS) $(tinfo)/make_keys.c $(HOSTLDFLAGS) $(HOSTLIBS)
      -+	$(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
      - 
      - make_hash$x : \
      - 		$(tinfo)/comp_hash.c \
      - 		../include/hashsize.h
      --	$(HOSTCC) -o $@ $(HOSTCCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(HOSTLDFLAGS) $(HOSTLIBS)
      -+	$(BUILD_CC) -o $@ $(BUILD_CCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
      - 
      - expanded.c : $(serial)/MKexpanded.sh
      - 	sh $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
      -diff -urNd -urNd ncurses-5.3/ncurses/base/MKlib_gen.sh ncurses-5.3.20030906.orig/ncurses/base/MKlib_gen.sh
      ---- ncurses-5.3/ncurses/base/MKlib_gen.sh	Sat Sep 28 10:02:11 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/MKlib_gen.sh	Tue May 13 20:08:22 2003
      -@@ -2,10 +2,10 @@
      - #
      - # MKlib_gen.sh -- generate sources from curses.h macro definitions
      - #
      --# ($Id: MKlib_gen.sh,v 1.20 2002/09/28 15:02:11 tom Exp $)
      -+# ($Id: MKlib_gen.sh,v 1.22 2003/02/22 19:58:07 tom Exp $)
      - #
      - ##############################################################################
      --# Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.                #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -82,19 +82,19 @@
      - 	cat >$ED1 <$ED1 <$ED3 <
      - 
      --MODULE_ID("$Id: define_key.c,v 1.6 2000/12/10 02:43:26 tom Exp $")
      -+MODULE_ID("$Id: define_key.c,v 1.8 2003/05/17 23:28:05 tom Exp $")
      - 
      - NCURSES_EXPORT(int)
      --define_key
      --(char *str, int keycode)
      -+define_key(const char *str, int keycode)
      - {
      -     int code = ERR;
      - 
      -@@ -49,8 +48,12 @@
      - 		code = OK;
      - 	}
      - 	if (str != 0) {
      --	    (void) _nc_add_to_try(&(SP->_keytry), str, keycode);
      --	    code = OK;
      -+	    if (key_defined(str) == 0) {
      -+		(void) _nc_add_to_try(&(SP->_keytry), str, keycode);
      -+		code = OK;
      -+	    } else {
      -+		code = ERR;
      -+	    }
      - 	}
      -     } else {
      - 	while (_nc_remove_string(&(SP->_keytry), str))
      -diff -urNd -urNd ncurses-5.3/ncurses/base/key_defined.c ncurses-5.3.20030906.orig/ncurses/base/key_defined.c
      ---- ncurses-5.3/ncurses/base/key_defined.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/ncurses/base/key_defined.c	Sun Jul 20 14:02:08 2003
      -@@ -0,0 +1,76 @@
      -+/****************************************************************************
      -+ * Copyright (c) 2003 Free Software Foundation, Inc.                        *
      -+ *                                                                          *
      -+ * Permission is hereby granted, free of charge, to any person obtaining a  *
      -+ * copy of this software and associated documentation files (the            *
      -+ * "Software"), to deal in the Software without restriction, including      *
      -+ * without limitation the rights to use, copy, modify, merge, publish,      *
      -+ * distribute, distribute with modifications, sublicense, and/or sell       *
      -+ * copies of the Software, and to permit persons to whom the Software is    *
      -+ * furnished to do so, subject to the following conditions:                 *
      -+ *                                                                          *
      -+ * The above copyright notice and this permission notice shall be included  *
      -+ * in all copies or substantial portions of the Software.                   *
      -+ *                                                                          *
      -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
      -+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
      -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
      -+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
      -+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
      -+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
      -+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
      -+ *                                                                          *
      -+ * Except as contained in this notice, the name(s) of the above copyright   *
      -+ * holders shall not be used in advertising or otherwise to promote the     *
      -+ * sale, use or other dealings in this Software without prior written       *
      -+ * authorization.                                                           *
      -+ ****************************************************************************/
      -+
      -+/****************************************************************************
      -+ *  Author: Thomas E. Dickey, 2003                                          *
      -+ ****************************************************************************/
      -+
      -+#include 
      -+
      -+MODULE_ID("$Id: key_defined.c,v 1.3 2003/05/17 23:12:27 tom Exp $")
      -+
      -+static int
      -+find_definition(struct tries *tree, const char *str)
      -+{
      -+    struct tries *ptr;
      -+    int result = 0;
      -+
      -+    if (str != 0 && *str != '\0') {
      -+	for (ptr = tree; ptr != 0; ptr = ptr->sibling) {
      -+	    if (UChar(*str) == UChar(ptr->ch)) {
      -+		if (str[1] == '\0' && ptr->child != 0) {
      -+		    result = -1;
      -+		} else if ((result = find_definition(ptr->child, str + 1)) == 0) {
      -+		    result = ptr->value;
      -+		} else if (str[1] == '\0') {
      -+		    result = -1;
      -+		}
      -+	    }
      -+	    if (result != 0)
      -+		break;
      -+	}
      -+    }
      -+    return (result);
      -+}
      -+
      -+/*
      -+ * Returns the keycode associated with the given string.  If none is found,
      -+ * return 0.  If the string is only a prefix to other strings, return -1.
      -+ */
      -+NCURSES_EXPORT(int)
      -+key_defined(const char *str)
      -+{
      -+    int code = ERR;
      -+
      -+    T((T_CALLED("key_defined(%s)"), _nc_visbuf(str)));
      -+    if (SP != 0 && str != 0) {
      -+	code = find_definition(SP->_keytry, str);
      -+    }
      -+
      -+    returnCode(code);
      -+}
      -diff -urNd -urNd ncurses-5.3/ncurses/base/keybound.c ncurses-5.3.20030906.orig/ncurses/base/keybound.c
      ---- ncurses-5.3/ncurses/base/keybound.c	Sat Dec  9 20:43:26 2000
      -+++ ncurses-5.3.20030906.orig/ncurses/base/keybound.c	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1999,2000 Free Software Foundation, Inc.                   *
      -+ * Copyright (c) 1999-2000,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -32,7 +32,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: keybound.c,v 1.3 2000/12/10 02:43:26 tom Exp $")
      -+MODULE_ID("$Id: keybound.c,v 1.4 2003/03/08 19:39:31 tom Exp $")
      - 
      - /*
      -  * Returns the count'th string definition which is associated with the
      -@@ -42,5 +42,6 @@
      - NCURSES_EXPORT(char *)
      - keybound(int code, int count)
      - {
      --    return _nc_expand_try(SP->_key_ok, code, &count, 0);
      -+    T((T_CALLED("keybound(%d,%d)"), code, count));
      -+    returnPtr(_nc_expand_try(SP->_keytry, code, &count, 0));
      - }
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_addch.c ncurses-5.3.20030906.orig/ncurses/base/lib_addch.c
      ---- ncurses-5.3/ncurses/base/lib_addch.c	Sat Sep 28 12:48:13 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_addch.c	Fri Sep 12 16:42:10 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -36,7 +36,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: lib_addch.c,v 1.68 2002/09/28 17:48:13 tom Exp $")
      -+MODULE_ID("$Id: lib_addch.c,v 1.77 2003/08/17 00:09:05 tom Exp $")
      - 
      - /*
      -  * Ugly microtweaking alert.  Everything from here to end of module is
      -@@ -68,7 +68,7 @@
      - 	AddAttr(ch, (a & COLOR_MASK(AttrOf(ch))));
      -     }
      - 
      --    TR(TRACE_VIRTPUT, ("bkg = %s, attrs = %s -> ch = %s",
      -+    TR(TRACE_VIRTPUT, ("render_char bkg %s, attrs %s -> ch %s",
      - 		       _tracech_t2(1, CHREF(win->_nc_bkgd)),
      - 		       _traceattr(win->_attrs),
      - 		       _tracech_t2(3, CHREF(ch))));
      -@@ -99,15 +99,21 @@
      - #define CHECK_POSITION(win, x, y)	/* nothing */
      - #endif
      - 
      --static inline int
      -+static
      -+#if !USE_WIDEC_SUPPORT		/* cannot be inline if it is recursive */
      -+  inline
      -+#endif
      -+int
      - waddch_literal(WINDOW *win, NCURSES_CH_T ch)
      - {
      -     int x;
      -+    int y;
      -     struct ldat *line;
      - 
      -     x = win->_curx;
      -+    y = win->_cury;
      - 
      --    CHECK_POSITION(win, x, win->_cury);
      -+    CHECK_POSITION(win, x, y);
      - 
      -     /*
      -      * If we're trying to add a character at the lower-right corner more
      -@@ -122,20 +128,65 @@
      - #endif
      - 
      -     ch = render_char(win, ch);
      --    TR(TRACE_VIRTPUT, ("win attr = %s", _traceattr(win->_attrs)));
      - 
      --    line = win->_line + win->_cury;
      -+    line = win->_line + y;
      - 
      -     CHANGED_CELL(line, x);
      - 
      -     /*
      -+     * Build up multibyte characters until we have a wide-character.
      -+     */
      -+    if_WIDEC({
      -+	if (WINDOW_EXT(win, addch_used) == 0 && Charable(ch)) {
      -+	    WINDOW_EXT(win, addch_used) = 0;
      -+	} else {
      -+	    char *buffer = WINDOW_EXT(win, addch_work);
      -+	    int len;
      -+	    mbstate_t state;
      -+	    wchar_t result;
      -+
      -+	    if ((WINDOW_EXT(win, addch_used) != 0) &&
      -+		(WINDOW_EXT(win, addch_x) != x ||
      -+		 WINDOW_EXT(win, addch_y) != y)) {
      -+		/* discard the incomplete multibyte character */
      -+		WINDOW_EXT(win, addch_used) = 0;
      -+	    }
      -+	    WINDOW_EXT(win, addch_x) = x;
      -+	    WINDOW_EXT(win, addch_y) = y;
      -+
      -+	    memset(&state, 0, sizeof(state));
      -+	    buffer[WINDOW_EXT(win, addch_used)] = CharOf(ch);
      -+	    WINDOW_EXT(win, addch_used) += 1;
      -+	    buffer[WINDOW_EXT(win, addch_used)] = '\0';
      -+	    if ((len = mbrtowc(&result,
      -+			       buffer,
      -+			       WINDOW_EXT(win, addch_used), &state)) > 0) {
      -+		attr_t attrs = AttrOf(ch);
      -+		SetChar(ch, result, attrs);
      -+		WINDOW_EXT(win, addch_used) = 0;
      -+	    } else {
      -+		if (len == -1) {
      -+		    /*
      -+		     * An error occurred.  We could either discard everything,
      -+		     * or assume that the error was in the previous input.
      -+		     * Try the latter.
      -+		     */
      -+		    TR(TRACE_VIRTPUT, ("Alert! mbrtowc returns error"));
      -+		    buffer[0] = CharOf(ch);
      -+		    WINDOW_EXT(win, addch_used) = 1;
      -+		}
      -+		return OK;
      -+	    }
      -+	}
      -+    });
      -+
      -+    /*
      -      * Handle non-spacing characters
      -      */
      -     if_WIDEC({
      - 	if (wcwidth(CharOf(ch)) == 0) {
      - 	    int i;
      --	    int y;
      --	    if ((x > 0 && ((y = win->_cury) >= 0))
      -+	    if ((x > 0 && y >= 0)
      - 		|| ((y = win->_cury - 1) >= 0 &&
      - 		    (x = win->_maxx) > 0)) {
      - 		wchar_t *chars = (win->_line[y].text[x - 1].chars);
      -@@ -154,8 +205,18 @@
      -      * Provide for multi-column characters
      -      */
      -     if_WIDEC({
      --	if (wcwidth(CharOf(ch)) > 1)
      -+	int len = wcwidth(CharOf(ch));
      -+	while (len-- > 1) {
      -+	    if (x + (len - 1) > win->_maxx) {
      -+		NCURSES_CH_T blank = NewChar2(BLANK_TEXT, BLANK_ATTR);
      -+		AddAttr(blank, AttrOf(ch));
      -+		if (waddch_literal(win, blank) != ERR)
      -+		    return waddch_literal(win, ch);
      -+		return ERR;
      -+	    }
      - 	    AddAttr(line->text[x++], WA_NAC);
      -+	    TR(TRACE_VIRTPUT, ("added NAC %d", x - 1));
      -+	}
      -     }
      -   testwrapping:
      -     );
      -@@ -330,14 +391,30 @@
      - NCURSES_EXPORT(int)
      - wadd_wch(WINDOW *win, const cchar_t * wch)
      - {
      -+    PUTC_DATA;
      -+    int n;
      -     int code = ERR;
      - 
      -     TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wadd_wch(%p, %s)"), win,
      - 				      _tracech_t(wch)));
      - 
      --    if (win && (waddch_nosync(win, *wch) != ERR)) {
      --	_nc_synchook(win);
      --	code = OK;
      -+    if (win != 0) {
      -+	PUTC_INIT;
      -+	while (PUTC_i < CCHARW_MAX) {
      -+	    if ((PUTC_ch = wch->chars[PUTC_i++]) == L'\0')
      -+		break;
      -+	    if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) {
      -+		code = ERR;
      -+		break;
      -+	    }
      -+	    for (n = 0; n < PUTC_n; n++) {
      -+		if ((code = waddch(win, UChar(PUTC_buf[n]))) == ERR) {
      -+		    break;
      -+		}
      -+	    }
      -+	    if (code == ERR)
      -+		break;
      -+	}
      -     }
      - 
      -     TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code));
      -@@ -347,18 +424,32 @@
      - NCURSES_EXPORT(int)
      - wecho_wchar(WINDOW *win, const cchar_t * wch)
      - {
      -+    PUTC_DATA;
      -+    int n;
      -     int code = ERR;
      - 
      -     TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wecho_wchar(%p, %s)"), win,
      - 				      _tracech_t(wch)));
      - 
      --    if (win && (waddch_nosync(win, *wch) != ERR)) {
      --	bool save_immed = win->_immed;
      --	win->_immed = TRUE;
      --	_nc_synchook(win);
      --	win->_immed = save_immed;
      --	code = OK;
      -+    if (win != 0) {
      -+	PUTC_INIT;
      -+	while (PUTC_i < CCHARW_MAX) {
      -+	    if ((PUTC_ch = wch->chars[PUTC_i++]) == L'\0')
      -+		break;
      -+	    if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) {
      -+		code = ERR;
      -+		break;
      -+	    }
      -+	    for (n = 0; n < PUTC_n; n++) {
      -+		if ((code = wechochar(win, UChar(PUTC_buf[n]))) == ERR) {
      -+		    break;
      -+		}
      -+	    }
      -+	    if (code == ERR)
      -+		break;
      -+	}
      -     }
      -+
      -     TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code));
      -     return (code);
      - }
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_addstr.c ncurses-5.3.20030906.orig/ncurses/base/lib_addstr.c
      ---- ncurses-5.3/ncurses/base/lib_addstr.c	Sat Oct  5 19:25:25 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_addstr.c	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -29,6 +29,10 @@
      - /****************************************************************************
      -  *  Author: Zeyd M. Ben-Halim  1992,1995               *
      -  *     and: Eric S. Raymond                          *
      -+ *                                                                          *
      -+ *  Rewritten 2001-2002 to support wide-characters by                       *
      -+ *	Sven Verdoolaege                                                    *
      -+ *	Thomas Dickey                                                       *
      -  ****************************************************************************/
      - 
      - /*
      -@@ -40,53 +44,13 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_addstr.c,v 1.34 2002/10/06 00:25:25 tom Exp $")
      --
      --#if USE_WIDEC_SUPPORT
      --#define CONV_DATA   mbstate_t state; wchar_t cached; int clen = 0
      --#define CONV_INIT   memset (&state, '\0', sizeof (state)); cached = (wchar_t)WEOF
      --#define NEXT_CHAR(s,ch, n)						\
      --    {									\
      --	int len, i = 0;							\
      --	memset(&ch, 0, sizeof(cchar_t));				\
      --	if (cached != (wchar_t) WEOF) {					\
      --	    ch.chars[i++] = cached;					\
      --	    cached = (wchar_t) WEOF;					\
      --	    n -= clen;							\
      --	    s += clen;							\
      --	}								\
      --	for (; i < CCHARW_MAX && n > 0; ++i) {				\
      --	    if ((len = mbrtowc(&ch.chars[i], s, n, &state)) < 0) {	\
      --		code = ERR;						\
      --		break;							\
      --	    }								\
      --	    if (i == 0 || wcwidth(ch.chars[i]) == 0) {			\
      --		n -= len;						\
      --		s += len;						\
      --	    } else {							\
      --		cached = ch.chars[i];					\
      --		clen = len;						\
      --		ch.chars[i] = L'\0';					\
      --		break;							\
      --	    }								\
      --	}								\
      --	if (code == ERR)						\
      --	    break;							\
      --    }
      --#else
      --#define CONV_DATA
      --#define CONV_INIT
      --#define NEXT_CHAR(s,ch, n)						\
      --    ch = *s++;								\
      --    --n
      --#endif
      -+MODULE_ID("$Id: lib_addstr.c,v 1.38 2003/07/05 19:45:21 tom Exp $")
      - 
      - NCURSES_EXPORT(int)
      - waddnstr(WINDOW *win, const char *astr, int n)
      - {
      --    unsigned const char *str = (unsigned const char *) astr;
      -+    const char *str = astr;
      -     int code = ERR;
      --    CONV_DATA;
      - 
      -     T((T_CALLED("waddnstr(%p,%s,%d)"), win, _nc_visbufn(astr, n), n));
      - 
      -@@ -97,11 +61,10 @@
      - 	    n = (int) strlen(astr);
      - 
      - 	TR(TRACE_VIRTPUT, ("str is not null, length = %d", n));
      --	CONV_INIT;
      --	while ((n > 0) && (*str != '\0')) {
      -+	while ((n-- > 0) && (*str != '\0')) {
      - 	    NCURSES_CH_T ch;
      --	    TR(TRACE_VIRTPUT, ("*str = %#x", *str));
      --	    NEXT_CHAR(str, ch, n);
      -+	    TR(TRACE_VIRTPUT, ("*str = %#o", UChar(*str)));
      -+	    SetChar(ch, UChar(*str++), A_NORMAL);
      - 	    if (_nc_waddch_nosync(win, ch) == ERR) {
      - 		code = ERR;
      - 		break;
      -@@ -114,7 +77,7 @@
      - }
      - 
      - NCURSES_EXPORT(int)
      --waddchnstr(WINDOW *win, const chtype * astr, int n)
      -+waddchnstr(WINDOW *win, const chtype *astr, int n)
      - {
      -     NCURSES_SIZE_T y = win->_cury;
      -     NCURSES_SIZE_T x = win->_curx;
      -@@ -155,7 +118,7 @@
      - 
      - #if USE_WIDEC_SUPPORT
      - 
      --int
      -+NCURSES_EXPORT(int)
      - _nc_wchstrlen(const cchar_t * s)
      - {
      -     int result = 0;
      -@@ -217,9 +180,8 @@
      - waddnwstr(WINDOW *win, const wchar_t * str, int n)
      - {
      -     int code = ERR;
      --    int i;
      - 
      --    T((T_CALLED("waddnwstr(%p,%s,%d)"), win, _nc_viswbufn(str,n), n));
      -+    T((T_CALLED("waddnwstr(%p,%s,%d)"), win, _nc_viswbufn(str, n), n));
      - 
      -     if (win && (str != 0)) {
      - 	TR(TRACE_VIRTPUT | TRACE_ATTRS, ("... current %s", _traceattr(win->_attrs)));
      -@@ -230,16 +192,9 @@
      - 	TR(TRACE_VIRTPUT, ("str is not null, length = %d", n));
      - 	while ((n-- > 0) && (*str != L('\0'))) {
      - 	    NCURSES_CH_T ch;
      --	    TR(TRACE_VIRTPUT, ("*str[0] = %#lx", *str));
      -+	    TR(TRACE_VIRTPUT, ("*str[0] = %#lx", (unsigned long) *str));
      - 	    SetChar(ch, *str++, A_NORMAL);
      --	    i = 1;
      --	    while (i < CCHARW_MAX && n > 0 && (*str != L('\0'))
      --		   && wcwidth(*str) == 0) {
      --		TR(TRACE_VIRTPUT, ("*str[%d] = %#lx", i, *str));
      --		ch.chars[i++] = *str++;
      --		--n;
      --	    }
      --	    if (_nc_waddch_nosync(win, ch) == ERR) {
      -+	    if (wadd_wch(win, &ch) == ERR) {
      - 		code = ERR;
      - 		break;
      - 	    }
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_bkgd.c ncurses-5.3.20030906.orig/ncurses/base/lib_bkgd.c
      ---- ncurses-5.3/ncurses/base/lib_bkgd.c	Sun Sep 22 15:30:32 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_bkgd.c	Sun Jul 20 14:02:09 2003
      -@@ -33,7 +33,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_bkgd.c,v 1.29 2002/09/22 20:30:32 tom Exp $")
      -+MODULE_ID("$Id: lib_bkgd.c,v 1.30 2003/07/05 16:46:49 tom Exp $")
      - 
      - /*
      -  * Set the window's background information.
      -@@ -70,7 +70,7 @@
      - 	    int tmp;
      - 
      - 	    wgetbkgrnd(win, &wch);
      --	    tmp = wctob(CharOf(wch));
      -+	    tmp = _nc_to_char(CharOf(wch));
      - 
      - 	    win->_bkgd = ((tmp == EOF) ? ' ' : (chtype) tmp) | AttrOf(wch);
      - 	}
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_freeall.c ncurses-5.3.20030906.orig/ncurses/base/lib_freeall.c
      ---- ncurses-5.3/ncurses/base/lib_freeall.c	Sat Jul 27 19:35:25 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_freeall.c	Fri Sep 12 16:41:56 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -39,7 +39,7 @@
      - extern int malloc_errfd;	/* FIXME */
      - #endif
      - 
      --MODULE_ID("$Id: lib_freeall.c,v 1.20 2002/07/28 00:35:25 tom Exp $")
      -+MODULE_ID("$Id: lib_freeall.c,v 1.25 2003/08/09 21:32:53 tom Exp $")
      - 
      - /*
      -  * Free all ncurses data.  This is used for testing only (there's no practical
      -@@ -51,8 +51,10 @@
      -     WINDOWLIST *p, *q;
      -     char *s;
      - 
      -+    T((T_CALLED("_nc_freeall()")));
      - #if NO_LEAKS
      -     _nc_free_tparm();
      -+    FreeAndNull(_nc_oldnums);
      - #endif
      -     if (SP != 0) {
      - 	while (_nc_windows != 0) {
      -@@ -82,24 +84,37 @@
      - 	_nc_free_termtype(&(cur_term->type));
      - 	free(cur_term);
      -     }
      -+    _nc_free_entries(_nc_head);
      - 
      -     if ((s = _nc_home_terminfo()) != 0)
      - 	free(s);
      -+
      -+    (void) _nc_printf_string(0, 0);
      - #ifdef TRACE
      -     (void) _nc_trace_buf(-1, 0);
      - #endif
      -+
      - #if HAVE_LIBDBMALLOC
      -     malloc_dump(malloc_errfd);
      - #elif HAVE_LIBDMALLOC
      - #elif HAVE_PURIFY
      -     purify_all_inuse();
      - #endif
      -+    returnVoid;
      - }
      - 
      - NCURSES_EXPORT(void)
      - _nc_free_and_exit(int code)
      - {
      -+    char *last_setbuf = (SP != 0) ? SP->_setbuf : 0;
      -+
      -     _nc_freeall();
      -+#ifdef TRACE
      -+    trace(0);			/* close trace file, freeing its setbuf */
      -+    free(_nc_varargs("?", 0));
      -+#endif
      -+    fclose(stdout);
      -+    FreeIfNeeded(last_setbuf);
      -     exit(code);
      - }
      - 
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_getch.c ncurses-5.3.20030906.orig/ncurses/base/lib_getch.c
      ---- ncurses-5.3/ncurses/base/lib_getch.c	Sat Sep  7 12:17:59 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_getch.c	Sun Jul 20 14:02:08 2003
      -@@ -40,7 +40,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_getch.c,v 1.67 2002/09/07 17:17:59 tom Exp $")
      -+MODULE_ID("$Id: lib_getch.c,v 1.71 2003/05/17 23:49:28 tom Exp $")
      - 
      - #include 
      - 
      -@@ -53,6 +53,32 @@
      - #define TWAIT_MASK 3
      - #endif
      - 
      -+/*
      -+ * Check for mouse activity, returning nonzero if we find any.
      -+ */
      -+static int
      -+check_mouse_activity(int delay EVENTLIST_2nd(_nc_eventlist * evl))
      -+{
      -+    int rc;
      -+
      -+#if USE_SYSMOUSE
      -+    if ((SP->_mouse_type == M_SYSMOUSE)
      -+	&& (SP->_sysmouse_head < SP->_sysmouse_tail)) {
      -+	return 2;
      -+    }
      -+#endif
      -+    rc = _nc_timed_wait(TWAIT_MASK, delay, (int *) 0 EVENTLIST_2nd(evl));
      -+#if USE_SYSMOUSE
      -+    if ((SP->_mouse_type == M_SYSMOUSE)
      -+	&& (SP->_sysmouse_head < SP->_sysmouse_tail)
      -+	&& (rc == 0)
      -+	&& (errno == EINTR)) {
      -+	rc |= 2;
      -+    }
      -+#endif
      -+    return rc;
      -+}
      -+
      - static inline int
      - fifo_peek(void)
      - {
      -@@ -88,7 +114,7 @@
      - {
      -     int n;
      -     int ch = 0;
      --    int mask;
      -+    int mask = 0;
      - 
      -     (void) mask;
      -     if (tail == -1)
      -@@ -101,11 +127,11 @@
      - 
      - #ifdef NCURSES_WGETCH_EVENTS
      -     if (evl
      --#if USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
      -+#if USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE
      - 	|| (SP->_mouse_fd >= 0)
      - #endif
      - 	) {
      --	mask = _nc_timed_wait(TWAIT_MASK, -1, (int *) 0, evl);
      -+	mask = check_mouse_activity(-1 EVENTLIST_2nd(evl));
      -     } else
      - 	mask = 0;
      - 
      -@@ -114,18 +140,32 @@
      - 	ungetch(KEY_EVENT);
      - 	return KEY_EVENT;
      -     }
      --#elif USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
      --    if (SP->_mouse_fd >= 0)
      --	mask = _nc_timed_wait(TWAIT_MASK, -1, (int *) 0 EVENTLIST_2nd(evl));
      -+#elif USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE
      -+    if (SP->_mouse_fd >= 0) {
      -+	mask = check_mouse_activity(-1 EVENTLIST_2nd(evl));
      -+    }
      - #endif
      - 
      --#if USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
      -+#if USE_GPM_SUPPORT || USE_EMX_MOUSE
      -     if ((SP->_mouse_fd >= 0) && (mask & 2)) {
      - 	SP->_mouse_event(SP);
      - 	ch = KEY_MOUSE;
      - 	n = 1;
      -     } else
      - #endif
      -+#if USE_SYSMOUSE
      -+	if ((SP->_mouse_type == M_SYSMOUSE)
      -+	    && (SP->_sysmouse_head < SP->_sysmouse_tail)) {
      -+	SP->_mouse_event(SP);
      -+	ch = KEY_MOUSE;
      -+	n = 1;
      -+    } else if ((SP->_mouse_type == M_SYSMOUSE)
      -+	       && (mask <= 0) && errno == EINTR) {
      -+	SP->_mouse_event(SP);
      -+	ch = KEY_MOUSE;
      -+	n = 1;
      -+    } else
      -+#endif
      -     {				/* Can block... */
      - 	unsigned char c2 = 0;
      - 	n = read(SP->_ifd, &c2, 1);
      -@@ -214,13 +254,19 @@
      -      * stuff its contents in the FIFO queue, and pop off
      -      * the first character to return it.
      -      */
      --    if (head == -1 && !SP->_raw && !SP->_cbreak) {
      -+    if (head == -1 &&
      -+	!SP->_notty &&
      -+	!SP->_raw &&
      -+	!SP->_cbreak &&
      -+	!SP->_called_wgetch) {
      - 	char buf[MAXCOLUMNS], *sp;
      - 	int rc;
      - 
      - 	TR(TRACE_IEVENT, ("filling queue in cooked mode"));
      - 
      -+	SP->_called_wgetch = TRUE;
      - 	rc = wgetnstr(win, buf, MAXCOLUMNS);
      -+	SP->_called_wgetch = FALSE;
      - 
      - 	/* ungetch in reverse order */
      - #ifdef NCURSES_WGETCH_EVENTS
      -@@ -265,10 +311,7 @@
      - 	TR(TRACE_IEVENT, ("delay is %d milliseconds", delay));
      - 
      - 	if (head == -1) {	/* fifo is empty */
      --	    int rc = _nc_timed_wait(TWAIT_MASK,
      --				    delay,
      --				    (int *) 0
      --				    EVENTLIST_2nd(evl));
      -+	    int rc = check_mouse_activity(delay EVENTLIST_2nd(evl));
      - 
      - #ifdef NCURSES_WGETCH_EVENTS
      - 	    if (rc & 4) {
      -@@ -308,10 +351,8 @@
      - 		break;
      - 	} while
      - 	    (ch == KEY_MOUSE
      --	     && (((rc = _nc_timed_wait(TWAIT_MASK,
      --				       SP->_maxclick,
      --				       (int *) 0
      --				       EVENTLIST_2nd(evl))) != 0
      -+	     && (((rc = check_mouse_activity(SP->_maxclick
      -+					     EVENTLIST_2nd(evl))) != 0
      - 		  && !(rc & 4))
      - 		 || !SP->_mouse_parse(runcount)));
      - #ifdef NCURSES_WGETCH_EVENTS
      -@@ -513,14 +554,11 @@
      - 	    int rc;
      - 
      - 	    TR(TRACE_IEVENT, ("waiting for rest of sequence"));
      --	    rc = _nc_timed_wait(TWAIT_MASK,
      --				timeleft,
      --				&timeleft
      --				EVENTLIST_2nd(evl));
      -+	    rc = check_mouse_activity(timeleft EVENTLIST_2nd(evl));
      - #ifdef NCURSES_WGETCH_EVENTS
      - 	    if (rc & 4) {
      - 		TR(TRACE_IEVENT, ("interrupted by a user event"));
      --		/* FIXME Should have preserved timeleft for reusal... */
      -+		/* FIXME Should have preserved remainder timeleft for reusal... */
      - 		peek = head;	/* Restart interpreting later */
      - 		return KEY_EVENT;
      - 	    }
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_insch.c ncurses-5.3.20030906.orig/ncurses/base/lib_insch.c
      ---- ncurses-5.3/ncurses/base/lib_insch.c	Sat Jun  9 18:47:38 2001
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_insch.c	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -29,6 +29,8 @@
      - /****************************************************************************
      -  *  Author: Zeyd M. Ben-Halim  1992,1995               *
      -  *     and: Eric S. Raymond                          *
      -+ *     and: Sven Verdoolaege                                                *
      -+ *     and: Thomas E. Dickey                                                *
      -  ****************************************************************************/
      - 
      - /*
      -@@ -39,29 +41,98 @@
      - */
      - 
      - #include 
      -+#include 
      - 
      --MODULE_ID("$Id: lib_insch.c,v 1.15 2001/06/09 23:47:38 skimo Exp $")
      -+MODULE_ID("$Id: lib_insch.c,v 1.18 2002/11/23 21:41:05 tom Exp $")
      -+
      -+/*
      -+ * Insert the given character, updating the current location to simplify
      -+ * inserting a string.
      -+ */
      -+void
      -+_nc_insert_ch(WINDOW *win, chtype ch)
      -+{
      -+    NCURSES_CH_T wch;
      -+    int count;
      -+
      -+    switch (ch) {
      -+    case '\t':
      -+	for (count = (TABSIZE - (win->_curx % TABSIZE)); count > 0; count--)
      -+	    _nc_insert_ch(win, ' ');
      -+	break;
      -+    case '\n':
      -+    case '\r':
      -+    case '\b':
      -+	SetChar2(wch, ch);
      -+	_nc_waddch_nosync(win, wch);
      -+	break;
      -+    default:
      -+	if (is7bits(ch) && iscntrl(ch)) {
      -+	    _nc_insert_ch(win, '^');
      -+	    _nc_insert_ch(win, '@' + (ch));
      -+	} else if (win->_curx <= win->_maxx) {
      -+	    struct ldat *line = &(win->_line[win->_cury]);
      -+	    NCURSES_CH_T *end = &(line->text[win->_curx]);
      -+	    NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
      -+	    NCURSES_CH_T *temp2 = temp1 - 1;
      -+
      -+	    SetChar2(wch, ch);
      -+
      -+	    CHANGED_TO_EOL(line, win->_curx, win->_maxx);
      -+	    while (temp1 > end)
      -+		*temp1-- = *temp2--;
      -+
      -+	    *temp1 = _nc_render(win, wch);
      -+
      -+	    win->_curx++;
      -+	}
      -+	break;
      -+    }
      -+}
      - 
      - NCURSES_EXPORT(int)
      - winsch(WINDOW *win, chtype c)
      - {
      -+    NCURSES_SIZE_T oy;
      -+    NCURSES_SIZE_T ox;
      -     int code = ERR;
      - 
      -     T((T_CALLED("winsch(%p, %s)"), win, _tracechtype(c)));
      - 
      --    if (win) {
      --	struct ldat *line = &(win->_line[win->_cury]);
      --	NCURSES_CH_T *end = &(line->text[win->_curx]);
      --	NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
      --	NCURSES_CH_T *temp2 = temp1 - 1;
      --	NCURSES_CH_T wch;
      --	SetChar2(wch, c);
      -+    if (win != 0) {
      -+	oy = win->_cury;
      -+	ox = win->_curx;
      - 
      --	CHANGED_TO_EOL(line, win->_curx, win->_maxx);
      --	while (temp1 > end)
      --	    *temp1-- = *temp2--;
      -+	_nc_insert_ch(win, c);
      - 
      --	*temp1 = _nc_render(win, wch);
      -+	win->_curx = ox;
      -+	win->_cury = oy;
      -+	_nc_synchook(win);
      -+	code = OK;
      -+    }
      -+    returnCode(code);
      -+}
      -+
      -+NCURSES_EXPORT(int)
      -+winsnstr(WINDOW *win, const char *s, int n)
      -+{
      -+    int code = ERR;
      -+    NCURSES_SIZE_T oy;
      -+    NCURSES_SIZE_T ox;
      -+    const unsigned char *str = (const unsigned char *) s;
      -+    const unsigned char *cp;
      -+
      -+    T((T_CALLED("winsnstr(%p,%s,%d)"), win, _nc_visbufn(s, n), n));
      -+
      -+    if (win != 0 && str != 0) {
      -+	oy = win->_cury;
      -+	ox = win->_curx;
      -+	for (cp = str; *cp && (n <= 0 || (cp - str) < n); cp++) {
      -+	    _nc_insert_ch(win, (chtype) UChar(*cp));
      -+	}
      -+	win->_curx = ox;
      -+	win->_cury = oy;
      -+	_nc_synchook(win);
      - 	code = OK;
      -     }
      -     returnCode(code);
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_insdel.c ncurses-5.3.20030906.orig/ncurses/base/lib_insdel.c
      ---- ncurses-5.3/ncurses/base/lib_insdel.c	Tue Dec 18 19:10:49 2001
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_insdel.c	Fri Sep 12 16:41:24 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -42,14 +42,14 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_insdel.c,v 1.11 2001/12/19 01:10:49 tom Exp $")
      -+MODULE_ID("$Id: lib_insdel.c,v 1.12 2003/07/26 22:40:06 tom Exp $")
      - 
      - NCURSES_EXPORT(int)
      - winsdelln(WINDOW *win, int n)
      - {
      -     int code = ERR;
      - 
      --    T((T_CALLED("winsdel(%p,%d)"), win, n));
      -+    T((T_CALLED("winsdelln(%p,%d)"), win, n));
      - 
      -     if (win) {
      - 	if (n != 0) {
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_mouse.c ncurses-5.3.20030906.orig/ncurses/base/lib_mouse.c
      ---- ncurses-5.3/ncurses/base/lib_mouse.c	Sat Sep 28 11:08:58 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_mouse.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -29,6 +29,7 @@
      - /****************************************************************************
      -  *  Author: Zeyd M. Ben-Halim  1992,1995               *
      -  *     and: Eric S. Raymond                          *
      -+ *     and: Thomas E. Dickey 1996-2003                                      *
      -  ****************************************************************************/
      - 
      - /*
      -@@ -74,7 +75,11 @@
      - #endif
      - 
      - #include 
      -+
      -+MODULE_ID("$Id: lib_mouse.c,v 1.67 2003/05/31 22:18:18 tom Exp $")
      -+
      - #include 
      -+#include 
      - 
      - #if USE_GPM_SUPPORT
      - #ifndef LINT			/* don't need this for llib-lncurses */
      -@@ -84,18 +89,33 @@
      - #endif
      - #endif
      - 
      --MODULE_ID("$Id: lib_mouse.c,v 1.61 2002/09/28 16:08:58 tom Exp $")
      -+#if USE_SYSMOUSE
      -+#undef buttons			/* symbol conflict in consio.h */
      -+#undef mouse_info		/* symbol conflict in consio.h */
      -+#include 
      -+#if (__FreeBSD_version >= 400017)
      -+#include 
      -+#include 
      -+#else
      -+#include 
      -+#endif
      -+#endif /* use_SYSMOUSE */
      - 
      - #define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
      - 
      --#define INVALID_EVENT	-1
      -+#define	MASK_RELEASE(x)		((001 << (6 * ((x) - 1))))
      -+#define	MASK_PRESS(x)		((002 << (6 * ((x) - 1))))
      -+#define	MASK_CLICK(x)		((004 << (6 * ((x) - 1))))
      -+#define	MASK_DOUBLE_CLICK(x)	((010 << (6 * ((x) - 1))))
      -+#define	MASK_TRIPLE_CLICK(x)	((020 << (6 * ((x) - 1))))
      -+#define	MASK_RESERVED_EVENT(x)	((040 << (6 * ((x) - 1))))
      - 
      --static int mousetype;
      --#define M_XTERM		-1	/* use xterm's mouse tracking? */
      --#define M_NONE		0	/* no mouse device */
      --#define M_GPM		1	/* use GPM */
      --#define M_QNX		2	/* QNX mouse on console */
      --#define M_QNX_TERM	3	/* QNX mouse on pterm/xterm (using qansi-m) */
      -+#define BUTTON_CLICKED  (BUTTON1_CLICKED  | BUTTON2_CLICKED  | BUTTON3_CLICKED)
      -+#define BUTTON_PRESSED  (BUTTON1_PRESSED  | BUTTON2_PRESSED  | BUTTON3_PRESSED)
      -+#define BUTTON_RELEASED (BUTTON1_RELEASED | BUTTON2_RELEASED | BUTTON3_RELEASED)
      -+
      -+#define INVALID_EVENT	-1
      -+#define NORMAL_EVENT	0
      - 
      - #if USE_GPM_SUPPORT
      - #ifndef LINT
      -@@ -117,7 +137,11 @@
      -  */
      - static MEVENT events[EV_MAX];	/* hold the last mouse event seen */
      - static MEVENT *eventp = events;	/* next free slot in event queue */
      -+
      -+#undef  NEXT
      - #define NEXT(ep)	((ep == events + EV_MAX - 1) ? events : ep + 1)
      -+
      -+#undef  PREV
      - #define PREV(ep)	((ep == events) ? events + EV_MAX - 1 : ep - 1)
      - 
      - #ifdef TRACE
      -@@ -135,7 +159,7 @@
      - }
      - #endif
      - 
      --#ifdef USE_EMX_MOUSE
      -+#if USE_EMX_MOUSE
      - 
      - #  define TOP_ROW          0
      - #  define LEFT_COL         0
      -@@ -229,31 +253,110 @@
      -     mouse_activated = state;
      - }
      - 
      -+#endif /* USE_EMX_MOUSE */
      -+
      -+#if USE_SYSMOUSE
      -+static void
      -+handle_sysmouse(int sig GCC_UNUSED)
      -+{
      -+    struct mouse_info the_mouse;
      -+    MEVENT *work;
      -+
      -+    the_mouse.operation = MOUSE_GETINFO;
      -+    if (SP != 0
      -+	&& SP->_mouse_fd >= 0
      -+	&& SP->_sysmouse_tail < FIFO_SIZE
      -+	&& ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse) != -1) {
      -+
      -+	if (SP->_sysmouse_head > SP->_sysmouse_tail) {
      -+	    SP->_sysmouse_tail = 0;
      -+	    SP->_sysmouse_head = 0;
      -+	}
      -+	work = &(SP->_sysmouse_fifo[SP->_sysmouse_tail]);
      -+	memset(work, 0, sizeof(*work));
      -+	work->id = NORMAL_EVENT;	/* there's only one mouse... */
      -+
      -+	SP->_sysmouse_old_buttons = SP->_sysmouse_new_buttons;
      -+	SP->_sysmouse_new_buttons = the_mouse.u.data.buttons & 0x7;
      -+
      -+	if (SP->_sysmouse_new_buttons) {
      -+	    if (SP->_sysmouse_new_buttons & 1)
      -+		work->bstate |= BUTTON1_PRESSED;
      -+	    if (SP->_sysmouse_new_buttons & 2)
      -+		work->bstate |= BUTTON2_PRESSED;
      -+	    if (SP->_sysmouse_new_buttons & 4)
      -+		work->bstate |= BUTTON3_PRESSED;
      -+	} else {
      -+	    if (SP->_sysmouse_old_buttons & 1)
      -+		work->bstate |= BUTTON1_RELEASED;
      -+	    if (SP->_sysmouse_old_buttons & 2)
      -+		work->bstate |= BUTTON2_RELEASED;
      -+	    if (SP->_sysmouse_old_buttons & 4)
      -+		work->bstate |= BUTTON3_RELEASED;
      -+	}
      -+
      -+	/* for cosmetic bug in syscons.c on FreeBSD 3.[34] */
      -+	the_mouse.operation = MOUSE_HIDE;
      -+	ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse);
      -+	the_mouse.operation = MOUSE_SHOW;
      -+	ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse);
      -+
      -+	/*
      -+	 * We're only interested if the button is pressed or released.
      -+	 * FIXME: implement continuous event-tracking.
      -+	 */
      -+	if (SP->_sysmouse_new_buttons != SP->_sysmouse_old_buttons) {
      -+	    SP->_sysmouse_tail += 1;
      -+	}
      -+	work->x = the_mouse.u.data.x / SP->_sysmouse_char_width;
      -+	work->y = the_mouse.u.data.y / SP->_sysmouse_char_height;
      -+    }
      -+}
      - #endif
      - 
      - static int initialized;
      - 
      - static void
      -+init_xterm_mouse(void)
      -+{
      -+    SP->_mouse_type = M_XTERM;
      -+    SP->_mouse_xtermcap = tigetstr("XM");
      -+    if (!VALID_STRING(SP->_mouse_xtermcap))
      -+	SP->_mouse_xtermcap = "\033[?1000%?%p1%{1}%=%th%el%;";
      -+}
      -+
      -+#if !USE_EMX_MOUSE
      -+static void
      -+enable_xterm_mouse(int enable)
      -+{
      -+    putp(tparm(SP->_mouse_xtermcap, enable));
      -+}
      -+#endif /* !USE_EMX_MOUSE */
      -+
      -+static void
      - initialize_mousetype(void)
      - {
      -     static const char *xterm_kmous = "\033[M";
      - 
      -     /* Try gpm first, because gpm may be configured to run in xterm */
      - #if USE_GPM_SUPPORT
      --    /* GPM: initialize connection to gpm server */
      --    gpm_connect.eventMask = GPM_DOWN | GPM_UP;
      --    gpm_connect.defaultMask = ~(gpm_connect.eventMask | GPM_HARD);
      --    gpm_connect.minMod = 0;
      --    gpm_connect.maxMod = ~((1 << KG_SHIFT) | (1 << KG_SHIFTL) | (1 << KG_SHIFTR));
      --    if (Gpm_Open(&gpm_connect, 0) >= 0) {	/* returns the file-descriptor */
      --	mousetype = M_GPM;
      --	SP->_mouse_fd = gpm_fd;
      --	return;
      -+    /* GPM does printf's without checking if stdout is a terminal */
      -+    if (isatty(fileno(stdout))) {
      -+	/* GPM: initialize connection to gpm server */
      -+	gpm_connect.eventMask = GPM_DOWN | GPM_UP;
      -+	gpm_connect.defaultMask = ~(gpm_connect.eventMask | GPM_HARD);
      -+	gpm_connect.minMod = 0;
      -+	gpm_connect.maxMod = ~((1 << KG_SHIFT) | (1 << KG_SHIFTL) | (1 << KG_SHIFTR));
      -+	if (Gpm_Open(&gpm_connect, 0) >= 0) {	/* returns the file-descriptor */
      -+	    SP->_mouse_type = M_GPM;
      -+	    SP->_mouse_fd = gpm_fd;
      -+	    return;
      -+	}
      -     }
      - #endif
      - 
      -     /* OS/2 VIO */
      --#ifdef USE_EMX_MOUSE
      -+#if USE_EMX_MOUSE
      -     if (!mouse_thread
      - 	&& strstr(cur_term->type.term_names, "xterm") == 0
      - 	&& key_mouse) {
      -@@ -287,22 +390,87 @@
      - 		printf("mouse thread error %d=%#x", rc, rc);
      - 		return;
      - 	    } else {
      --		mousetype = M_XTERM;
      -+		SP->_mouse_type = M_XTERM;
      - 		return;
      - 	    }
      - 	}
      -     }
      - #endif
      - 
      -+#if USE_SYSMOUSE
      -+    {
      -+	struct mouse_info the_mouse;
      -+	char *the_device = 0;
      -+
      -+	if (isatty(SP->_ifd))
      -+	    the_device = ttyname(SP->_ifd);
      -+	if (the_device == 0)
      -+	    the_device = "/dev/tty";
      -+
      -+	SP->_mouse_fd = open(the_device, O_RDWR);
      -+
      -+	if (SP->_mouse_fd >= 0) {
      -+	    /*
      -+	     * sysmouse does not have a usable user interface for obtaining
      -+	     * mouse events.  The logical way to proceed (reading data on a
      -+	     * stream) only works if one opens the device as root.  Even in
      -+	     * that mode, careful examination shows we lose events
      -+	     * occasionally.  The interface provided for user programs is to
      -+	     * establish a signal handler.  really.
      -+	     *
      -+	     * Take over SIGUSR2 for this purpose since SIGUSR1 is more
      -+	     * likely to be used by an application.  getch() will have to
      -+	     * handle the misleading EINTR's.
      -+	     */
      -+	    signal(SIGUSR2, SIG_IGN);
      -+	    the_mouse.operation = MOUSE_MODE;
      -+	    the_mouse.u.mode.mode = 0;
      -+	    the_mouse.u.mode.signal = SIGUSR2;
      -+	    if (ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse) != -1) {
      -+		signal(SIGUSR2, handle_sysmouse);
      -+		the_mouse.operation = MOUSE_SHOW;
      -+		ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse);
      -+
      -+#if defined(FBIO_MODEINFO) || defined(CONS_MODEINFO)	/* FreeBSD > 2.x */
      -+		{
      -+#ifndef FBIO_GETMODE		/* FreeBSD 3.x */
      -+#define FBIO_GETMODE    CONS_GET
      -+#define FBIO_MODEINFO   CONS_MODEINFO
      -+#endif /* FBIO_GETMODE */
      -+		    video_info_t the_video;
      -+
      -+		    if (ioctl(SP->_mouse_fd,
      -+			      FBIO_GETMODE,
      -+			      &the_video.vi_mode) != -1
      -+			&& ioctl(SP->_mouse_fd,
      -+				 FBIO_MODEINFO,
      -+				 &the_video) != -1) {
      -+			SP->_sysmouse_char_width = the_video.vi_cwidth;
      -+			SP->_sysmouse_char_height = the_video.vi_cheight;
      -+		    }
      -+		}
      -+#endif /* defined(FBIO_MODEINFO) || defined(CONS_MODEINFO) */
      -+
      -+		if (SP->_sysmouse_char_width <= 0)
      -+		    SP->_sysmouse_char_width = 8;
      -+		if (SP->_sysmouse_char_height <= 0)
      -+		    SP->_sysmouse_char_height = 16;
      -+		SP->_mouse_type = M_SYSMOUSE;
      -+		return;
      -+	    }
      -+	}
      -+    }
      -+#endif /* USE_SYSMOUSE */
      -+
      -     /* we know how to recognize mouse events under "xterm" */
      -     if (key_mouse != 0) {
      - 	if (!strcmp(key_mouse, xterm_kmous)) {
      --	    mousetype = M_XTERM;
      -+	    init_xterm_mouse();
      - 	    return;
      - 	}
      -     } else if (strstr(cur_term->type.term_names, "xterm") != 0) {
      - 	(void) _nc_add_to_try(&(SP->_keytry), xterm_kmous, KEY_MOUSE);
      --	mousetype = M_XTERM;
      -+	init_xterm_mouse();
      - 	return;
      -     }
      - }
      -@@ -323,7 +491,7 @@
      - 
      - 	initialize_mousetype();
      - 
      --	T(("_nc_mouse_init() set mousetype to %d", mousetype));
      -+	T(("_nc_mouse_init() set mousetype to %d", SP->_mouse_type));
      -     }
      - }
      - 
      -@@ -334,74 +502,113 @@
      - static bool
      - _nc_mouse_event(SCREEN * sp GCC_UNUSED)
      - {
      --#if USE_GPM_SUPPORT
      --    /* GPM: query server for event, return TRUE if we find one */
      --    Gpm_Event ev;
      -+    bool result = FALSE;
      - 
      --    if (Gpm_GetEvent(&ev) == 1) {
      --	eventp->id = 0;		/* there's only one mouse... */
      -+    switch (SP->_mouse_type) {
      -+    case M_XTERM:
      -+	/* xterm: never have to query, mouse events are in the keyboard stream */
      -+#if USE_EMX_MOUSE
      -+	{
      -+	    char kbuf[3];
      - 
      --	eventp->bstate = 0;
      --	switch (ev.type & 0x0f) {
      --	case (GPM_DOWN):
      --	    if (ev.buttons & GPM_B_LEFT)
      --		eventp->bstate |= BUTTON1_PRESSED;
      --	    if (ev.buttons & GPM_B_MIDDLE)
      --		eventp->bstate |= BUTTON2_PRESSED;
      --	    if (ev.buttons & GPM_B_RIGHT)
      --		eventp->bstate |= BUTTON3_PRESSED;
      --	    break;
      --	case (GPM_UP):
      --	    if (ev.buttons & GPM_B_LEFT)
      --		eventp->bstate |= BUTTON1_RELEASED;
      --	    if (ev.buttons & GPM_B_MIDDLE)
      --		eventp->bstate |= BUTTON2_RELEASED;
      --	    if (ev.buttons & GPM_B_RIGHT)
      --		eventp->bstate |= BUTTON3_RELEASED;
      --	    break;
      --	default:
      --	    break;
      -+	    int i, res = read(M_FD(sp), &kbuf, 3);	/* Eat the prefix */
      -+	    if (res != 3)
      -+		printf("Got %d chars instead of 3 for prefix.\n", res);
      -+	    for (i = 0; i < res; i++) {
      -+		if (kbuf[i] != key_mouse[i])
      -+		    printf("Got char %d instead of %d for prefix.\n",
      -+			   (int) kbuf[i], (int) key_mouse[i]);
      -+	    }
      -+	    result = TRUE;
      - 	}
      -+#endif /* USE_EMX_MOUSE */
      -+	break;
      - 
      --	eventp->x = ev.x - 1;
      --	eventp->y = ev.y - 1;
      --	eventp->z = 0;
      -+#if USE_GPM_SUPPORT
      -+    case M_GPM:
      -+	{
      -+	    /* query server for event, return TRUE if we find one */
      -+	    Gpm_Event ev;
      - 
      --	/* bump the next-free pointer into the circular list */
      --	eventp = NEXT(eventp);
      --	return (TRUE);
      --    }
      -+	    if (Gpm_GetEvent(&ev) == 1) {
      -+		/* there's only one mouse... */
      -+		eventp->id = NORMAL_EVENT;
      -+
      -+		eventp->bstate = 0;
      -+		switch (ev.type & 0x0f) {
      -+		case (GPM_DOWN):
      -+		    if (ev.buttons & GPM_B_LEFT)
      -+			eventp->bstate |= BUTTON1_PRESSED;
      -+		    if (ev.buttons & GPM_B_MIDDLE)
      -+			eventp->bstate |= BUTTON2_PRESSED;
      -+		    if (ev.buttons & GPM_B_RIGHT)
      -+			eventp->bstate |= BUTTON3_PRESSED;
      -+		    break;
      -+		case (GPM_UP):
      -+		    if (ev.buttons & GPM_B_LEFT)
      -+			eventp->bstate |= BUTTON1_RELEASED;
      -+		    if (ev.buttons & GPM_B_MIDDLE)
      -+			eventp->bstate |= BUTTON2_RELEASED;
      -+		    if (ev.buttons & GPM_B_RIGHT)
      -+			eventp->bstate |= BUTTON3_RELEASED;
      -+		    break;
      -+		default:
      -+		    break;
      -+		}
      -+
      -+		eventp->x = ev.x - 1;
      -+		eventp->y = ev.y - 1;
      -+		eventp->z = 0;
      -+
      -+		/* bump the next-free pointer into the circular list */
      -+		eventp = NEXT(eventp);
      -+		result = TRUE;
      -+	    }
      -+	}
      -+	break;
      - #endif
      - 
      --#ifdef USE_EMX_MOUSE
      --    {
      --	char kbuf[3];
      -+#if USE_SYSMOUSE
      -+    case M_SYSMOUSE:
      -+	if (SP->_sysmouse_head < SP->_sysmouse_tail) {
      -+	    *eventp = SP->_sysmouse_fifo[SP->_sysmouse_head];
      - 
      --	int i, res = read(M_FD(sp), &kbuf, 3);	/* Eat the prefix */
      --	if (res != 3)
      --	    printf("Got %d chars instead of 3 for prefix.\n", res);
      --	for (i = 0; i < res; i++) {
      --	    if (kbuf[i] != key_mouse[i])
      --		printf("Got char %d instead of %d for prefix.\n",
      --		       (int) kbuf[i], (int) key_mouse[i]);
      -+	    /*
      -+	     * Point the fifo-head to the next possible location.  If there
      -+	     * are none, reset the indices.  This may be interrupted by the
      -+	     * signal handler, doing essentially the same reset.
      -+	     */
      -+	    SP->_sysmouse_head += 1;
      -+	    if (SP->_sysmouse_head == SP->_sysmouse_tail) {
      -+		SP->_sysmouse_tail = 0;
      -+		SP->_sysmouse_head = 0;
      -+	    }
      -+
      -+	    /* bump the next-free pointer into the circular list */
      -+	    eventp = NEXT(eventp);
      -+	    result = TRUE;
      - 	}
      --	return TRUE;
      -+	break;
      -+#endif /* USE_SYSMOUSE */
      -+
      -+    case M_NONE:
      -+	break;
      -     }
      --#endif /* USE_EMX_MOUSE */
      - 
      --    /* xterm: never have to query, mouse events are in the keyboard stream */
      --    return (FALSE);		/* no event waiting */
      -+    return result;		/* true if we found an event */
      - }
      - 
      - static bool
      - _nc_mouse_inline(SCREEN * sp)
      - /* mouse report received in the keyboard stream -- parse its info */
      - {
      -+    bool result = FALSE;
      -+
      -     TR(MY_TRACE, ("_nc_mouse_inline() called"));
      - 
      --    if (mousetype == M_XTERM) {
      -+    if (SP->_mouse_type == M_XTERM) {
      - 	unsigned char kbuf[4];
      --	MEVENT *prev;
      -+	mmask_t prev;
      - 	size_t grabbed;
      - 	int res;
      - 
      -@@ -438,7 +645,7 @@
      - 	for (grabbed = 0; grabbed < 3; grabbed += res) {
      - 
      - 	    /* For VIO mouse we add extra bit 64 to disambiguate button-up. */
      --#ifdef USE_EMX_MOUSE
      -+#if USE_EMX_MOUSE
      - 	    res = read(M_FD(sp) >= 0 ? M_FD(sp) : sp->_ifd, &kbuf, 3);
      - #else
      - 	    res = read(sp->_ifd, kbuf + grabbed, 3 - grabbed);
      -@@ -451,59 +658,65 @@
      - 	TR(TRACE_IEVENT,
      - 	   ("_nc_mouse_inline sees the following xterm data: '%s'", kbuf));
      - 
      --	eventp->id = 0;		/* there's only one mouse... */
      -+	/* there's only one mouse... */
      -+	eventp->id = NORMAL_EVENT;
      - 
      - 	/* processing code goes here */
      - 	eventp->bstate = 0;
      -+	prev = PREV(eventp)->bstate;
      -+
      -+#if USE_EMX_MOUSE
      -+#define PRESS_POSITION(n) \
      -+	eventp->bstate = MASK_PRESS(n); \
      -+	if (kbuf[0] & 0x40) \
      -+	    eventp->bstate = MASK_RELEASE(n)
      -+#else
      -+#define PRESS_POSITION(n) \
      -+	eventp->bstate = (prev & MASK_PRESS(n) \
      -+			? REPORT_MOUSE_POSITION \
      -+			: MASK_PRESS(n))
      -+#endif
      -+
      - 	switch (kbuf[0] & 0x3) {
      - 	case 0x0:
      --	    eventp->bstate = BUTTON1_PRESSED;
      --#ifdef USE_EMX_MOUSE
      --	    if (kbuf[0] & 0x40)
      --		eventp->bstate = BUTTON1_RELEASED;
      --#endif
      -+	    PRESS_POSITION(1);
      - 	    break;
      - 
      - 	case 0x1:
      --	    eventp->bstate = BUTTON2_PRESSED;
      --#ifdef USE_EMX_MOUSE
      --	    if (kbuf[0] & 0x40)
      --		eventp->bstate = BUTTON2_RELEASED;
      --#endif
      -+	    PRESS_POSITION(2);
      - 	    break;
      - 
      - 	case 0x2:
      --	    eventp->bstate = BUTTON3_PRESSED;
      --#ifdef USE_EMX_MOUSE
      --	    if (kbuf[0] & 0x40)
      --		eventp->bstate = BUTTON3_RELEASED;
      --#endif
      -+	    PRESS_POSITION(3);
      - 	    break;
      - 
      - 	case 0x3:
      - 	    /*
      --	     * Release events aren't reported for individual buttons,
      --	     * just for the button set as a whole...
      --	     */
      --	    eventp->bstate =
      --		(BUTTON1_RELEASED |
      --		 BUTTON2_RELEASED |
      --		 BUTTON3_RELEASED);
      --	    /*
      --	     * ...however, because there are no kinds of mouse events under
      --	     * xterm that can intervene between press and release, we can
      --	     * deduce which buttons were actually released by looking at the
      --	     * previous event.
      -+	     * Release events aren't reported for individual buttons, just for
      -+	     * the button set as a whole.  However, because there are normally
      -+	     * no mouse events under xterm that intervene between press and
      -+	     * release, we can infer the button actually released by looking at
      -+	     * the previous event.
      - 	     */
      --	    prev = PREV(eventp);
      --	    if (!(prev->bstate & BUTTON1_PRESSED))
      --		eventp->bstate &= ~BUTTON1_RELEASED;
      --	    if (!(prev->bstate & BUTTON2_PRESSED))
      --		eventp->bstate &= ~BUTTON2_RELEASED;
      --	    if (!(prev->bstate & BUTTON3_PRESSED))
      --		eventp->bstate &= ~BUTTON3_RELEASED;
      -+	    if (prev & (BUTTON_PRESSED | BUTTON_RELEASED)) {
      -+		eventp->bstate = BUTTON_RELEASED;
      -+		if (!(prev & BUTTON1_PRESSED))
      -+		    eventp->bstate &= ~BUTTON1_RELEASED;
      -+		if (!(prev & BUTTON2_PRESSED))
      -+		    eventp->bstate &= ~BUTTON2_RELEASED;
      -+		if (!(prev & BUTTON3_PRESSED))
      -+		    eventp->bstate &= ~BUTTON3_RELEASED;
      -+	    } else {
      -+		/*
      -+		 * XFree86 xterm will return a stream of release-events to
      -+		 * let the application know where the mouse is going, if the
      -+		 * private mode 1002 or 1003 is enabled.
      -+		 */
      -+		eventp->bstate = REPORT_MOUSE_POSITION;
      -+	    }
      - 	    break;
      - 	}
      -+	result = (eventp->bstate & REPORT_MOUSE_POSITION) ? TRUE : FALSE;
      - 
      - 	if (kbuf[0] & 4) {
      - 	    eventp->bstate |= BUTTON_SHIFT;
      -@@ -529,7 +742,7 @@
      - #endif
      -     }
      - 
      --    return (FALSE);
      -+    return (result);
      - }
      - 
      - static void
      -@@ -542,16 +755,16 @@
      - 
      -     if (on) {
      - 
      --	switch (mousetype) {
      -+	switch (SP->_mouse_type) {
      - 	case M_XTERM:
      - #if NCURSES_EXT_FUNCS
      - 	    keyok(KEY_MOUSE, on);
      - #endif
      - 	    TPUTS_TRACE("xterm mouse initialization");
      --#ifdef USE_EMX_MOUSE
      -+#if USE_EMX_MOUSE
      - 	    server_state(1);
      - #else
      --	    putp("\033[?1000h");
      -+	    enable_xterm_mouse(1);
      - #endif
      - 	    break;
      - #if USE_GPM_SUPPORT
      -@@ -559,6 +772,13 @@
      - 	    SP->_mouse_fd = gpm_fd;
      - 	    break;
      - #endif
      -+#if USE_SYSMOUSE
      -+	case M_SYSMOUSE:
      -+	    signal(SIGUSR2, handle_sysmouse);
      -+	    break;
      -+#endif
      -+	case M_NONE:
      -+	    return;
      - 	}
      - 	/* Make runtime binding to cut down on object size of applications that
      - 	 * do not use the mouse (e.g., 'clear').
      -@@ -571,19 +791,26 @@
      - 
      -     } else {
      - 
      --	switch (mousetype) {
      -+	switch (SP->_mouse_type) {
      - 	case M_XTERM:
      - 	    TPUTS_TRACE("xterm mouse deinitialization");
      --#ifdef USE_EMX_MOUSE
      -+#if USE_EMX_MOUSE
      - 	    server_state(0);
      - #else
      --	    putp("\033[?1000l");
      -+	    enable_xterm_mouse(0);
      - #endif
      - 	    break;
      - #if USE_GPM_SUPPORT
      - 	case M_GPM:
      - 	    break;
      - #endif
      -+#if USE_SYSMOUSE
      -+	case M_SYSMOUSE:
      -+	    signal(SIGUSR2, SIG_IGN);
      -+	    break;
      -+#endif
      -+	case M_NONE:
      -+	    return;
      - 	}
      -     }
      -     _nc_flush();
      -@@ -631,7 +858,7 @@
      - 	   ("_nc_mouse_parse: returning simple mouse event %s at slot %ld",
      - 	    _tracemouse(prev),
      - 	    (long) (prev - events)));
      --	return (prev->id >= 0)
      -+	return (prev->id >= NORMAL_EVENT)
      - 	    ? ((prev->bstate & eventmask) ? TRUE : FALSE)
      - 	    : FALSE;
      -     }
      -@@ -657,7 +884,7 @@
      - 	merge = FALSE;
      - 	for (ep = runp; (next = NEXT(ep)) != eventp; ep = next) {
      - 	    if (ep->x == next->x && ep->y == next->y
      --		&& (ep->bstate & (BUTTON1_PRESSED | BUTTON2_PRESSED | BUTTON3_PRESSED))
      -+		&& (ep->bstate & BUTTON_PRESSED)
      - 		&& (!(ep->bstate & BUTTON1_PRESSED)
      - 		    == !(next->bstate & BUTTON1_RELEASED))
      - 		&& (!(ep->bstate & BUTTON2_PRESSED)
      -@@ -729,10 +956,8 @@
      - 		    continue;
      - 
      - 		/* merge click events forward */
      --		if ((ep->bstate &
      --		     (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))
      --		    && (follower->bstate &
      --			(BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
      -+		if ((ep->bstate & BUTTON_CLICKED)
      -+		    && (follower->bstate & BUTTON_CLICKED)) {
      - 		    if ((eventmask & BUTTON1_DOUBLE_CLICKED)
      - 			&& (follower->bstate & BUTTON1_CLICKED)) {
      - 			follower->bstate &= ~BUTTON1_CLICKED;
      -@@ -760,8 +985,7 @@
      - 		     (BUTTON1_DOUBLE_CLICKED
      - 		      | BUTTON2_DOUBLE_CLICKED
      - 		      | BUTTON3_DOUBLE_CLICKED))
      --		    && (follower->bstate &
      --			(BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
      -+		    && (follower->bstate & BUTTON_CLICKED)) {
      - 		    if ((eventmask & BUTTON1_TRIPLE_CLICKED)
      - 			&& (follower->bstate & BUTTON1_CLICKED)) {
      - 			follower->bstate &= ~BUTTON1_CLICKED;
      -@@ -831,7 +1055,7 @@
      - {
      -     TR(MY_TRACE, ("_nc_mouse_wrap() called"));
      - 
      --    switch (mousetype) {
      -+    switch (SP->_mouse_type) {
      -     case M_XTERM:
      - 	if (eventmask)
      - 	    mouse_activate(FALSE);
      -@@ -841,6 +1065,13 @@
      -     case M_GPM:
      - 	break;
      - #endif
      -+#if USE_SYSMOUSE
      -+    case M_SYSMOUSE:
      -+	mouse_activate(FALSE);
      -+	break;
      -+#endif
      -+    case M_NONE:
      -+	break;
      -     }
      - }
      - 
      -@@ -850,11 +1081,27 @@
      - {
      -     TR(MY_TRACE, ("_nc_mouse_resume() called"));
      - 
      --    /* xterm: re-enable reporting */
      --    if (mousetype == M_XTERM && eventmask)
      --	mouse_activate(TRUE);
      -+    switch (SP->_mouse_type) {
      -+    case M_XTERM:
      -+	/* xterm: re-enable reporting */
      -+	if (eventmask)
      -+	    mouse_activate(TRUE);
      -+	break;
      - 
      --    /* GPM: reclaim our event set */
      -+#if USE_GPM_SUPPORT
      -+    case M_GPM:
      -+	/* GPM: reclaim our event set */
      -+	break;
      -+#endif
      -+
      -+#if USE_SYSMOUSE
      -+    case M_SYSMOUSE:
      -+	mouse_activate(TRUE);
      -+	break;
      -+#endif
      -+    case M_NONE:
      -+	break;
      -+    }
      - }
      - 
      - /**************************************************************************
      -@@ -869,7 +1116,7 @@
      - {
      -     T((T_CALLED("getmouse(%p)"), aevent));
      - 
      --    if (aevent && (mousetype != M_NONE)) {
      -+    if (aevent && (SP->_mouse_type != M_NONE)) {
      - 	/* compute the current-event pointer */
      - 	MEVENT *prev = PREV(eventp);
      - 
      -@@ -917,14 +1164,14 @@
      - 	returnBits(0);
      - 
      -     _nc_mouse_init();
      --    if (mousetype != M_NONE) {
      -+    if (SP->_mouse_type != M_NONE) {
      - 	eventmask = newmask &
      --	    (BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT
      --	     | BUTTON1_PRESSED | BUTTON1_RELEASED | BUTTON1_CLICKED
      -+	    (REPORT_MOUSE_POSITION | BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT
      -+	     | BUTTON_PRESSED
      -+	     | BUTTON_RELEASED
      -+	     | BUTTON_CLICKED
      - 	     | BUTTON1_DOUBLE_CLICKED | BUTTON1_TRIPLE_CLICKED
      --	     | BUTTON2_PRESSED | BUTTON2_RELEASED | BUTTON2_CLICKED
      - 	     | BUTTON2_DOUBLE_CLICKED | BUTTON2_TRIPLE_CLICKED
      --	     | BUTTON3_PRESSED | BUTTON3_RELEASED | BUTTON3_CLICKED
      - 	     | BUTTON3_DOUBLE_CLICKED | BUTTON3_TRIPLE_CLICKED);
      - 
      - 	mouse_activate(eventmask != 0);
      -@@ -977,7 +1224,7 @@
      - NCURSES_EXPORT(int)
      - _nc_has_mouse(void)
      - {
      --    return (mousetype == M_NONE ? 0 : 1);
      -+    return (SP->_mouse_type == M_NONE ? 0 : 1);
      - }
      - 
      - NCURSES_EXPORT(bool)
      -@@ -1010,5 +1257,3 @@
      -     }
      -     returnBool(result);
      - }
      --
      --/* lib_mouse.c ends here */
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_newterm.c ncurses-5.3.20030906.orig/ncurses/base/lib_newterm.c
      ---- ncurses-5.3/ncurses/base/lib_newterm.c	Sat Oct 12 10:24:08 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_newterm.c	Tue May 13 20:08:22 2003
      -@@ -47,7 +47,7 @@
      - #include 		/* clear_screen, cup & friends, cur_term */
      - #include 
      - 
      --MODULE_ID("$Id: lib_newterm.c,v 1.56 2002/10/12 15:24:08 tom Exp $")
      -+MODULE_ID("$Id: lib_newterm.c,v 1.57 2002/10/20 00:10:56 Philippe.Blain Exp $")
      - 
      - #ifndef ONLCR			/* Allows compilation under the QNX 4.2 OS */
      - #define ONLCR 0
      -@@ -119,13 +119,6 @@
      -     if (filter_mode) {
      - 	LINES = 1;
      - 
      --	if (VALID_NUMERIC(init_tabs))
      --	    TABSIZE = init_tabs;
      --	else
      --	    TABSIZE = 8;
      --
      --	T(("TABSIZE = %d", TABSIZE));
      --
      - 	clear_screen = 0;
      - 	cursor_down = parm_down_cursor = 0;
      - 	cursor_address = 0;
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_printw.c ncurses-5.3.20030906.orig/ncurses/base/lib_printw.c
      ---- ncurses-5.3/ncurses/base/lib_printw.c	Sat Oct  5 17:52:21 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_printw.c	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -39,10 +39,10 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_printw.c,v 1.13 2002/10/05 22:52:21 tom Exp $")
      -+MODULE_ID("$Id: lib_printw.c,v 1.15 2003/02/08 20:50:13 tom Exp $")
      - 
      - NCURSES_EXPORT(int)
      --printw(NCURSES_CONST char *fmt,...)
      -+printw(const char *fmt,...)
      - {
      -     va_list argp;
      -     int code;
      -@@ -62,7 +62,7 @@
      - }
      - 
      - NCURSES_EXPORT(int)
      --wprintw(WINDOW *win, NCURSES_CONST char *fmt,...)
      -+wprintw(WINDOW *win, const char *fmt,...)
      - {
      -     va_list argp;
      -     int code;
      -@@ -82,7 +82,7 @@
      - }
      - 
      - NCURSES_EXPORT(int)
      --mvprintw(int y, int x, NCURSES_CONST char *fmt,...)
      -+mvprintw(int y, int x, const char *fmt,...)
      - {
      -     va_list argp;
      -     int code;
      -@@ -103,7 +103,7 @@
      - }
      - 
      - NCURSES_EXPORT(int)
      --mvwprintw(WINDOW *win, int y, int x, NCURSES_CONST char *fmt,...)
      -+mvwprintw(WINDOW *win, int y, int x, const char *fmt,...)
      - {
      -     va_list argp;
      -     int code;
      -@@ -124,7 +124,7 @@
      - }
      - 
      - NCURSES_EXPORT(int)
      --vwprintw(WINDOW *win, NCURSES_CONST char *fmt, va_list argp)
      -+vwprintw(WINDOW *win, const char *fmt, va_list argp)
      - {
      -     char *buf;
      -     int code = ERR;
      -@@ -134,9 +134,6 @@
      - 
      -     if ((buf = _nc_printf_string(fmt, argp)) != 0) {
      - 	code = waddstr(win, buf);
      --#if USE_SAFE_SPRINTF
      --	free(buf);
      --#endif
      -     }
      -     returnCode(code);
      - }
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_scroll.c ncurses-5.3.20030906.orig/ncurses/base/lib_scroll.c
      ---- ncurses-5.3/ncurses/base/lib_scroll.c	Tue Dec 18 19:06:55 2001
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_scroll.c	Fri Sep 12 16:41:24 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998,2001,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      -  ****************************************************************************/
      - 
      - /****************************************************************************
      -- *  Author: Thomas E. Dickey 1996-2001                                      *
      -+ *  Author: Thomas E. Dickey 1996-2003                                      *
      -  *     and: Zeyd M. Ben-Halim  1992,1995               *
      -  *     and: Eric S. Raymond                          *
      -  ****************************************************************************/
      -@@ -43,7 +43,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_scroll.c,v 1.23 2001/12/19 01:06:55 tom Exp $")
      -+MODULE_ID("$Id: lib_scroll.c,v 1.24 2003/07/26 23:25:26 tom Exp $")
      - 
      - NCURSES_EXPORT(void)
      - _nc_scroll_window(WINDOW *win, int const n, NCURSES_SIZE_T const top,
      -@@ -77,24 +77,15 @@
      -     /* shift n lines downwards */
      -     if (n < 0) {
      - 	limit = top - n;
      --	if (limit > win->_maxy)
      --	    limit = win->_maxy;
      --	for (line = bottom; line >= limit; line--) {
      --	    if (line + n >= 0) {
      --		TR(TRACE_MOVE, ("...copying %d to %d", line + n, line));
      --		memcpy(win->_line[line].text,
      --		       win->_line[line + n].text,
      --		       to_copy);
      --		if_USE_SCROLL_HINTS(win->_line[line].oldindex =
      --				    win->_line[line + n].oldindex);
      --	    } else {
      --		TR(TRACE_MOVE, ("...filling %d", line));
      --		for (j = 0; j <= win->_maxx; j++)
      --		    win->_line[line].text[j] = blank;
      --		if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX);
      --	    }
      -+	for (line = bottom; line >= limit && line >= 0; line--) {
      -+	    TR(TRACE_MOVE, ("...copying %d to %d", line + n, line));
      -+	    memcpy(win->_line[line].text,
      -+		   win->_line[line + n].text,
      -+		   to_copy);
      -+	    if_USE_SCROLL_HINTS(win->_line[line].oldindex =
      -+				win->_line[line + n].oldindex);
      - 	}
      --	for (line = top; line < limit; line++) {
      -+	for (line = top; line < limit && line <= win->_maxy; line++) {
      - 	    TR(TRACE_MOVE, ("...filling %d", line));
      - 	    for (j = 0; j <= win->_maxx; j++)
      - 		win->_line[line].text[j] = blank;
      -@@ -105,25 +96,14 @@
      -     /* shift n lines upwards */
      -     if (n > 0) {
      - 	limit = bottom - n;
      --	if (limit < 0)
      --	    limit = 0;
      --	for (line = top; line <= limit; line++) {
      --	    if (line + n <= win->_maxy) {
      --		TR(TRACE_MOVE, ("...copying %d to %d", line + n, line));
      --		memcpy(win->_line[line].text,
      --		       win->_line[line + n].text,
      --		       to_copy);
      --		if_USE_SCROLL_HINTS(win->_line[line].oldindex =
      --				    win->_line[line + n].oldindex);
      --	    } else {
      --		TR(TRACE_MOVE, ("...filling %d", line));
      --		for (j = 0; j <= win->_maxx; j++)
      --		    win->_line[line].text[j] = blank;
      --		if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX);
      --	    }
      -+	for (line = top; line <= limit && line <= win->_maxy; line++) {
      -+	    memcpy(win->_line[line].text,
      -+		   win->_line[line + n].text,
      -+		   to_copy);
      -+	    if_USE_SCROLL_HINTS(win->_line[line].oldindex =
      -+				win->_line[line + n].oldindex);
      - 	}
      --	for (line = bottom; line > limit; line--) {
      --	    TR(TRACE_MOVE, ("...filling %d", line));
      -+	for (line = bottom; line > limit && line >= 0; line--) {
      - 	    for (j = 0; j <= win->_maxx; j++)
      - 		win->_line[line].text[j] = blank;
      - 	    if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX);
      -@@ -142,11 +122,9 @@
      - 	returnCode(ERR);
      -     }
      - 
      --    if (n == 0)
      --	returnCode(OK);
      --
      --    _nc_scroll_window(win, n, win->_regtop, win->_regbottom, win->_nc_bkgd);
      --
      --    _nc_synchook(win);
      -+    if (n != 0) {
      -+	_nc_scroll_window(win, n, win->_regtop, win->_regbottom, win->_nc_bkgd);
      -+	_nc_synchook(win);
      -+    }
      -     returnCode(OK);
      - }
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_set_term.c ncurses-5.3.20030906.orig/ncurses/base/lib_set_term.c
      ---- ncurses-5.3/ncurses/base/lib_set_term.c	Sat Sep 14 17:48:00 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_set_term.c	Fri Sep 12 16:41:56 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -43,7 +43,7 @@
      - #include 		/* cur_term */
      - #include 
      - 
      --MODULE_ID("$Id: lib_set_term.c,v 1.71 2002/09/14 22:48:00 tom Exp $")
      -+MODULE_ID("$Id: lib_set_term.c,v 1.78 2003/08/09 20:41:12 tom Exp $")
      - 
      - NCURSES_EXPORT(SCREEN *)
      - set_term(SCREEN * screenp)
      -@@ -61,7 +61,6 @@
      -     stdscr = SP->_stdscr;
      -     COLORS = SP->_color_count;
      -     COLOR_PAIRS = SP->_pair_count;
      --    memcpy(acs_map, SP->_acs_map, sizeof(SP->_acs_map[0]) * ACS_LEN);
      - 
      -     T((T_RETURN("%p"), oldSP));
      -     return (oldSP);
      -@@ -84,6 +83,7 @@
      - delscreen(SCREEN * sp)
      - {
      -     SCREEN **scan = &_nc_screen_chain;
      -+    int i;
      - 
      -     T((T_CALLED("delscreen(%p)"), sp));
      - 
      -@@ -100,8 +100,13 @@
      -     (void) _nc_freewin(sp->_stdscr);
      - 
      -     if (sp->_slk != 0) {
      --	FreeIfNeeded(sp->_slk->ent);
      --	FreeIfNeeded(sp->_slk->buffer);
      -+	if (sp->_slk->ent != 0) {
      -+	    for (i = 0; i < sp->_slk->labcnt; ++i) {
      -+		FreeIfNeeded(sp->_slk->ent[i].ent_text);
      -+		FreeIfNeeded(sp->_slk->ent[i].form_text);
      -+	    }
      -+	    free(sp->_slk->ent);
      -+	}
      - 	free(sp->_slk);
      - 	sp->_slk = 0;
      -     }
      -@@ -204,7 +209,7 @@
      - #endif
      - 
      - NCURSES_EXPORT(int)
      --_nc_setupscreen(short slines, short const scolumns, FILE * output)
      -+_nc_setupscreen(short slines, short const scolumns, FILE *output)
      - /* OS-independent screen initializations */
      - {
      -     int bottom_stolen = 0;
      -@@ -377,8 +382,15 @@
      -     _nc_init_acs();
      - #if USE_WIDEC_SUPPORT
      -     _nc_init_wacs();
      -+
      -+    SP->_screen_acs_fix = (_nc_unicode_locale() && _nc_locale_breaks_acs());
      -+    {
      -+	char *env = _nc_get_locale();
      -+	SP->_posix_locale = ((env == 0)
      -+			     || !strcmp(env, "C")
      -+			     || !strcmp(env, "POSIX"));
      -+    }
      - #endif
      --    memcpy(SP->_acs_map, acs_map, sizeof(chtype) * ACS_LEN);
      - 
      -     _nc_idcok = TRUE;
      -     _nc_idlok = FALSE;
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slk.c ncurses-5.3.20030906.orig/ncurses/base/lib_slk.c
      ---- ncurses-5.3/ncurses/base/lib_slk.c	Sat Sep 28 12:46:40 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_slk.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -41,7 +41,7 @@
      - #include 
      - #include 		/* num_labels, label_*, plab_norm */
      - 
      --MODULE_ID("$Id: lib_slk.c,v 1.24 2002/09/28 17:46:40 tom Exp $")
      -+MODULE_ID("$Id: lib_slk.c,v 1.28 2003/05/24 21:10:28 tom Exp $")
      - 
      - /*
      -  * We'd like to move these into the screen context structure, but cannot,
      -@@ -64,12 +64,26 @@
      - 	wmove(win, 0, 0);
      - 
      - 	for (i = 0; i < SP->_slk->maxlab; i++) {
      --	    mvwprintw(win, 0, SP->_slk->ent[i].x, "F%d", i + 1);
      -+	    mvwprintw(win, 0, SP->_slk->ent[i].ent_x, "F%d", i + 1);
      - 	}
      -     }
      - }
      - 
      - /*
      -+ * Free any memory related to soft labels, return an error.
      -+ */
      -+static int
      -+slk_failed(void)
      -+{
      -+    if (SP->_slk) {
      -+	FreeIfNeeded(SP->_slk->ent);
      -+	free(SP->_slk);
      -+	SP->_slk = (SLK *) 0;
      -+    }
      -+    return ERR;
      -+}
      -+
      -+/*
      -  * Initialize soft labels.
      -  * Called from newterm()
      -  */
      -@@ -78,19 +92,26 @@
      - {
      -     int i, x;
      -     int res = OK;
      --    char *p;
      -     unsigned max_length;
      - 
      --    T(("slk_initialize()"));
      -+    T((T_CALLED("_nc_slk_initialize()")));
      - 
      -     if (SP->_slk) {		/* we did this already, so simply return */
      --	return (OK);
      -+	returnCode(OK);
      -     } else if ((SP->_slk = typeCalloc(SLK, 1)) == 0)
      --	return (ERR);
      -+	returnCode(ERR);
      - 
      -     SP->_slk->ent = NULL;
      --    SP->_slk->buffer = NULL;
      --    SP->_slk->attr = A_STANDOUT;
      -+
      -+    /*
      -+     * If we use colors, vidputs() will suppress video attributes that conflict
      -+     * with colors.  In that case, we're still guaranteed that "reverse" would
      -+     * work.
      -+     */
      -+    if ((no_color_video & 1) == 0)
      -+	SP->_slk->attr = A_STANDOUT;
      -+    else
      -+	SP->_slk->attr = A_REVERSE;
      - 
      -     SP->_slk->maxlab = ((num_labels > 0)
      - 			? num_labels
      -@@ -106,19 +127,19 @@
      - 	|| SP->_slk->labcnt <= 0
      - 	|| (SP->_slk->ent = typeCalloc(slk_ent,
      - 				       (unsigned) SP->_slk->labcnt)) == NULL)
      --	goto exception;
      -+	returnCode(slk_failed());
      - 
      -     max_length = SP->_slk->maxlen;
      --    p = SP->_slk->buffer = (char *) calloc((unsigned) (2 * SP->_slk->labcnt),
      --					   (1 + max_length));
      --    if (SP->_slk->buffer == NULL)
      --	goto exception;
      --
      -     for (i = 0; i < SP->_slk->labcnt; i++) {
      --	SP->_slk->ent[i].text = p;
      --	p += (1 + max_length);
      --	SP->_slk->ent[i].form_text = p;
      --	p += (1 + max_length);
      -+
      -+	if ((SP->_slk->ent[i].ent_text = (char *)_nc_doalloc(0, max_length + 1)) == 0)
      -+	    returnCode(slk_failed());
      -+	memset(SP->_slk->ent[i].ent_text, 0, max_length + 1);
      -+
      -+	if ((SP->_slk->ent[i].form_text = (char *)_nc_doalloc(0, max_length + 1)) == 0)
      -+	    returnCode(slk_failed());
      -+	memset(SP->_slk->ent[i].form_text, 0, max_length + 1);
      -+
      - 	memset(SP->_slk->ent[i].form_text, ' ', max_length);
      - 	SP->_slk->ent[i].visible = (i < SP->_slk->maxlab);
      -     }
      -@@ -129,7 +150,7 @@
      - 	    gap = 1;
      - 
      - 	for (i = x = 0; i < SP->_slk->maxlab; i++) {
      --	    SP->_slk->ent[i].x = x;
      -+	    SP->_slk->ent[i].ent_x = x;
      - 	    x += max_length;
      - 	    x += (i == 3 || i == 7) ? gap : 1;
      - 	}
      -@@ -141,7 +162,7 @@
      - 	    if (gap < 1)
      - 		gap = 1;
      - 	    for (i = x = 0; i < SP->_slk->maxlab; i++) {
      --		SP->_slk->ent[i].x = x;
      -+		SP->_slk->ent[i].ent_x = x;
      - 		x += max_length;
      - 		x += (i == 3) ? gap : 1;
      - 	    }
      -@@ -153,24 +174,17 @@
      - 		if (gap < 1)
      - 		    gap = 1;
      - 		for (i = x = 0; i < SP->_slk->maxlab; i++) {
      --		    SP->_slk->ent[i].x = x;
      -+		    SP->_slk->ent[i].ent_x = x;
      - 		    x += max_length;
      - 		    x += (i == 2 || i == 4) ? gap : 1;
      - 		}
      - 	    } else
      --		goto exception;
      -+		returnCode(slk_failed());
      - 	}
      -     }
      -     SP->_slk->dirty = TRUE;
      -     if ((SP->_slk->win = stwin) == NULL) {
      --      exception:
      --	if (SP->_slk) {
      --	    FreeIfNeeded(SP->_slk->buffer);
      --	    FreeIfNeeded(SP->_slk->ent);
      --	    free(SP->_slk);
      --	    SP->_slk = (SLK *) 0;
      --	    res = (ERR);
      --	}
      -+	returnCode(slk_failed());
      -     }
      - 
      -     /* We now reset the format so that the next newterm has again
      -@@ -179,7 +193,7 @@
      -      */
      -     SP->slk_format = _nc_slk_format;
      -     _nc_slk_format = 0;
      --    return (res);
      -+    returnCode(res);
      - }
      - 
      - /*
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slklab.c ncurses-5.3.20030906.orig/ncurses/base/lib_slklab.c
      ---- ncurses-5.3/ncurses/base/lib_slklab.c	Sat Dec  9 20:43:27 2000
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_slklab.c	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -38,7 +38,7 @@
      -  */
      - #include 
      - 
      --MODULE_ID("$Id: lib_slklab.c,v 1.6 2000/12/10 02:43:27 tom Exp $")
      -+MODULE_ID("$Id: lib_slklab.c,v 1.7 2003/03/29 22:53:48 tom Exp $")
      - 
      - NCURSES_EXPORT(char *)
      - slk_label(int n)
      -@@ -47,5 +47,5 @@
      - 
      -     if (SP == NULL || SP->_slk == NULL || n < 1 || n > SP->_slk->labcnt)
      - 	returnPtr(0);
      --    returnPtr(SP->_slk->ent[n - 1].text);
      -+    returnPtr(SP->_slk->ent[n - 1].ent_text);
      - }
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slkrefr.c ncurses-5.3.20030906.orig/ncurses/base/lib_slkrefr.c
      ---- ncurses-5.3/ncurses/base/lib_slkrefr.c	Sat Dec  9 20:43:27 2000
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_slkrefr.c	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -38,7 +38,7 @@
      - #include 
      - #include 		/* num_labels, label_*, plab_norm */
      - 
      --MODULE_ID("$Id: lib_slkrefr.c,v 1.10 2000/12/10 02:43:27 tom Exp $")
      -+MODULE_ID("$Id: lib_slkrefr.c,v 1.11 2003/03/29 22:53:48 tom Exp $")
      - 
      - /*
      -  * Write the soft labels to the soft-key window.
      -@@ -58,7 +58,7 @@
      - 			putp(tparm(plab_norm, i + 1, slk->ent[i].form_text));
      - 		    }
      - 		} else {
      --		    wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].x);
      -+		    wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].ent_x);
      - 		    if (SP && SP->_slk)
      - 			wattrset(slk->win, SP->_slk->attr);
      - 		    waddnstr(slk->win, slk->ent[i].form_text,
      -diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slkset.c ncurses-5.3.20030906.orig/ncurses/base/lib_slkset.c
      ---- ncurses-5.3/ncurses/base/lib_slkset.c	Sat Jun  2 17:50:29 2001
      -+++ ncurses-5.3.20030906.orig/ncurses/base/lib_slkset.c	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -38,13 +38,14 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: lib_slkset.c,v 1.7 2001/06/02 22:50:29 skimo Exp $")
      -+MODULE_ID("$Id: lib_slkset.c,v 1.10 2003/04/12 21:32:16 tom Exp $")
      - 
      - NCURSES_EXPORT(int)
      - slk_set(int i, const char *astr, int format)
      - {
      -     SLK *slk = SP->_slk;
      -     size_t len;
      -+    int offset;
      -     const char *str = astr;
      -     const char *p;
      - 
      -@@ -64,33 +65,30 @@
      -     --i;			/* Adjust numbering of labels */
      - 
      -     len = (size_t) (p - str);
      --    if (len > (unsigned) slk->maxlen)
      -+    if (len > (size_t) slk->maxlen)
      - 	len = slk->maxlen;
      -     if (len == 0)
      --	slk->ent[i].text[0] = 0;
      -+	slk->ent[i].ent_text[0] = 0;
      -     else
      --	(void) strncpy(slk->ent[i].text, str, len);
      -+	strncpy(slk->ent[i].ent_text, str, len)[len] = 0;
      -     memset(slk->ent[i].form_text, ' ', (unsigned) slk->maxlen);
      --    slk->ent[i].text[slk->maxlen] = 0;
      --    /* len = strlen(slk->ent[i].text); */
      -+    slk->ent[i].ent_text[slk->maxlen] = 0;
      - 
      -     switch (format) {
      -+    default:
      -     case 0:			/* left-justified */
      --	memcpy(slk->ent[i].form_text,
      --	       slk->ent[i].text,
      --	       len);
      -+	offset = 0;
      - 	break;
      -     case 1:			/* centered */
      --	memcpy(slk->ent[i].form_text + (slk->maxlen - len) / 2,
      --	       slk->ent[i].text,
      --	       len);
      -+	offset = (slk->maxlen - len) / 2;
      - 	break;
      -     case 2:			/* right-justified */
      --	memcpy(slk->ent[i].form_text + slk->maxlen - len,
      --	       slk->ent[i].text,
      --	       len);
      -+	offset = slk->maxlen - len;
      - 	break;
      -     }
      -+    memcpy(slk->ent[i].form_text + offset,
      -+	   slk->ent[i].ent_text,
      -+	   len);
      -     slk->ent[i].form_text[slk->maxlen] = 0;
      -     slk->ent[i].dirty = TRUE;
      -     returnCode(OK);
      -diff -urNd -urNd ncurses-5.3/ncurses/base/resizeterm.c ncurses-5.3.20030906.orig/ncurses/base/resizeterm.c
      ---- ncurses-5.3/ncurses/base/resizeterm.c	Sat Jul 13 16:32:57 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/resizeterm.c	Tue May 13 20:08:22 2003
      -@@ -41,10 +41,13 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: resizeterm.c,v 1.14 2002/07/13 21:32:57 tom Exp $")
      -+MODULE_ID("$Id: resizeterm.c,v 1.15 2002/12/28 01:21:34 tom Exp $")
      - 
      - #define stolen_lines (screen_lines - SP->_lines_avail)
      - 
      -+static int current_lines;
      -+static int current_cols;
      -+
      - NCURSES_EXPORT(bool)
      - is_term_resized(int ToLines, int ToCols)
      - {
      -@@ -99,7 +102,7 @@
      - adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen)
      - {
      -     int result;
      --    int bottom = screen_lines + SP->_topstolen - stolen;
      -+    int bottom = current_lines + SP->_topstolen - stolen;
      -     int myLines = win->_maxy + 1;
      -     int myCols = win->_maxx + 1;
      - 
      -@@ -109,13 +112,13 @@
      -        getbegy(win), getbegx(win)));
      - 
      -     if (win->_begy >= bottom) {
      --	win->_begy += (ToLines - screen_lines);
      -+	win->_begy += (ToLines - current_lines);
      -     } else {
      --	if (myLines == screen_lines - stolen
      --	    && ToLines != screen_lines)
      -+	if (myLines == current_lines - stolen
      -+	    && ToLines != current_lines)
      - 	    myLines = ToLines - stolen;
      --	else if (myLines == screen_lines
      --		 && ToLines != screen_lines)
      -+	else if (myLines == current_lines
      -+		 && ToLines != current_lines)
      - 	    myLines = ToLines;
      -     }
      - 
      -@@ -125,12 +128,12 @@
      -     if (myCols > ToCols)
      - 	myCols = ToCols;
      - 
      --    if (myLines == screen_lines
      --	&& ToLines != screen_lines)
      --	myCols = ToLines;
      -+    if (myLines == current_lines
      -+	&& ToLines != current_lines)
      -+	myLines = ToLines;
      - 
      --    if (myCols == screen_columns
      --	&& ToCols != screen_columns)
      -+    if (myCols == current_cols
      -+	&& ToCols != current_cols)
      - 	myCols = ToCols;
      - 
      -     result = wresize(win, myLines, myCols);
      -@@ -216,15 +219,19 @@
      -        screen_lines, screen_columns));
      - 
      -     if (is_term_resized(ToLines, ToCols)) {
      --	int myLines = screen_lines;
      --	int myCols = screen_columns;
      -+	int myLines = current_lines = screen_lines;
      -+	int myCols = current_cols = screen_columns;
      - 
      - 	if (ToLines > screen_lines) {
      - 	    increase_size(myLines = ToLines, myCols, was_stolen);
      -+	    current_lines = myLines;
      -+	    current_cols = myCols;
      - 	}
      - 
      - 	if (ToCols > screen_columns) {
      - 	    increase_size(myLines, myCols = ToCols, was_stolen);
      -+	    current_lines = myLines;
      -+	    current_cols = myCols;
      - 	}
      - 
      - 	if (ToLines < myLines ||
      -diff -urNd -urNd ncurses-5.3/ncurses/base/safe_sprintf.c ncurses-5.3.20030906.orig/ncurses/base/safe_sprintf.c
      ---- ncurses-5.3/ncurses/base/safe_sprintf.c	Sat Jul  7 19:58:34 2001
      -+++ ncurses-5.3.20030906.orig/ncurses/base/safe_sprintf.c	Fri Sep 12 16:41:56 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -33,7 +33,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: safe_sprintf.c,v 1.14 2001/07/08 00:58:34 tom Exp $")
      -+MODULE_ID("$Id: safe_sprintf.c,v 1.18 2003/08/09 21:52:04 tom Exp $")
      - 
      - #if USE_SAFE_SPRINTF
      - 
      -@@ -56,10 +56,13 @@
      -     char *buffer;
      -     char *format;
      -     int len = 0;
      -+    size_t fmt_len;
      -+    char fmt_arg[BUFSIZ];
      - 
      -     if (fmt == 0 || *fmt == '\0')
      --	return -1;
      --    if ((format = typeMalloc(char, strlen(fmt) + 1)) == 0)
      -+	return 0;
      -+    fmt_len = strlen(fmt) + 1;
      -+    if ((format = typeMalloc(char, fmt_len)) == 0)
      - 	  return -1;
      -     if ((buffer = typeMalloc(char, length)) == 0) {
      - 	free(format);
      -@@ -106,7 +109,12 @@
      - 		    } else if (state == Prec) {
      - 			prec = ival;
      - 		    }
      --		    sprintf(&format[--f], "%d", ival);
      -+		    sprintf(fmt_arg, "%d", ival);
      -+		    fmt_len += strlen(fmt_arg);
      -+		    if ((format = realloc(format, fmt_len)) == 0) {
      -+			return -1;
      -+		    }
      -+		    strcpy(&format[--f], fmt_arg);
      - 		    f = strlen(format);
      - 		} else if (isalpha(UChar(*fmt))) {
      - 		    done = TRUE;
      -@@ -203,42 +211,52 @@
      -  * Wrapper for vsprintf that allocates a buffer big enough to hold the result.
      -  */
      - NCURSES_EXPORT(char *)
      --_nc_printf_string
      --(const char *fmt, va_list ap)
      -+_nc_printf_string(const char *fmt, va_list ap)
      - {
      -+    static char *buf;
      -+    static size_t used;
      -+    char *result = 0;
      -+
      -+    if (fmt != 0) {
      - #if USE_SAFE_SPRINTF
      --    char *buf = 0;
      --    int len = _nc_printf_length(fmt, ap);
      -+	int len = _nc_printf_length(fmt, ap);
      - 
      --    if (len > 0) {
      --	if ((buf = typeMalloc(char, len + 1)) == 0)
      --	      return (0);
      --	vsprintf(buf, fmt, ap);
      --    }
      -+	if ((int) used < len + 1) {
      -+	    used = 2 * (len + 1);
      -+	    buf = typeRealloc(char, used, buf);
      -+	}
      -+	if (buf != 0) {
      -+	    *buf = '\0';
      -+	    if (len >= 0) {
      -+		vsprintf(buf, fmt, ap);
      -+	    }
      -+	    result = buf;
      -+	}
      - #else
      --    static int rows, cols;
      --    static char *buf;
      --    static size_t len;
      -+	static int rows, cols;
      - 
      --    if (screen_lines > rows || screen_columns > cols) {
      --	if (screen_lines > rows)
      --	    rows = screen_lines;
      --	if (screen_columns > cols)
      --	    cols = screen_columns;
      --	len = (rows * (cols + 1)) + 1;
      --	buf = typeRealloc(char, len, buf);
      --	if (buf == 0) {
      --	    return (0);
      -+	if (screen_lines > rows || screen_columns > cols) {
      -+	    if (screen_lines > rows)
      -+		rows = screen_lines;
      -+	    if (screen_columns > cols)
      -+		cols = screen_columns;
      -+	    used = (rows * (cols + 1)) + 1;
      -+	    buf = typeRealloc(char, used, buf);
      - 	}
      --    }
      - 
      --    if (buf != 0) {
      -+	if (buf != 0) {
      - # if HAVE_VSNPRINTF
      --	vsnprintf(buf, len, fmt, ap);	/* GNU extension */
      -+	    vsnprintf(buf, used, fmt, ap);	/* GNU extension */
      - # else
      --	vsprintf(buf, fmt, ap);	/* ANSI */
      -+	    vsprintf(buf, fmt, ap);	/* ANSI */
      - # endif
      --    }
      -+	    result = buf;
      -+	}
      - #endif
      --    return buf;
      -+    } else if (buf != 0) {	/* see _nc_freeall() */
      -+	free(buf);
      -+	buf = 0;
      -+	used = 0;
      -+    }
      -+    return result;
      - }
      -diff -urNd -urNd ncurses-5.3/ncurses/base/tries.c ncurses-5.3.20030906.orig/ncurses/base/tries.c
      ---- ncurses-5.3/ncurses/base/tries.c	Sat Dec 15 18:50:40 2001
      -+++ ncurses-5.3.20030906.orig/ncurses/base/tries.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -39,15 +39,14 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: tries.c,v 1.15 2001/12/16 00:50:40 tom Exp $")
      -+MODULE_ID("$Id: tries.c,v 1.19 2003/05/17 23:11:24 tom Exp $")
      - 
      - /*
      -  * Expand a keycode into the string that it corresponds to, returning null if
      -  * no match was found, otherwise allocating a string of the result.
      -  */
      - NCURSES_EXPORT(char *)
      --_nc_expand_try
      --(struct tries *tree, unsigned short code, int *count, size_t len)
      -+_nc_expand_try(struct tries *tree, unsigned short code, int *count, size_t len)
      - {
      -     struct tries *ptr = tree;
      -     char *result = 0;
      -@@ -84,8 +83,7 @@
      -  * true if the code was found/removed.
      -  */
      - NCURSES_EXPORT(int)
      --_nc_remove_key
      --(struct tries **tree, unsigned short code)
      -+_nc_remove_key(struct tries **tree, unsigned short code)
      - {
      -     T((T_CALLED("_nc_remove_key(%p,%d)"), tree, code));
      - 
      -@@ -117,7 +115,7 @@
      -  * true if the string was found/removed.
      -  */
      - NCURSES_EXPORT(int)
      --_nc_remove_string(struct tries **tree, char *string)
      -+_nc_remove_string(struct tries **tree, const char *string)
      - {
      -     T((T_CALLED("_nc_remove_string(%p,%s)"), tree, _nc_visbuf(string)));
      - 
      -@@ -125,18 +123,17 @@
      - 	returnCode(FALSE);
      - 
      -     while (*tree != 0) {
      --	if ((unsigned char) (*tree)->ch == (unsigned char) *string) {
      -+	if (UChar((*tree)->ch) == UChar(*string)) {
      - 	    if (string[1] != 0)
      - 		returnCode(_nc_remove_string(&(*tree)->child, string + 1));
      --	    if ((*tree)->child) {
      --		/* don't cut the whole sub-tree */
      --		(*tree)->value = 0;
      --	    } else {
      -+	    if ((*tree)->child == 0) {
      - 		struct tries *to_free = *tree;
      - 		*tree = (*tree)->sibling;
      - 		free(to_free);
      -+		returnCode(TRUE);
      -+	    } else {
      -+		returnCode(FALSE);
      - 	    }
      --	    returnCode(TRUE);
      - 	}
      - 	tree = &(*tree)->sibling;
      -     }
      -diff -urNd -urNd ncurses-5.3/ncurses/base/vsscanf.c ncurses-5.3.20030906.orig/ncurses/base/vsscanf.c
      ---- ncurses-5.3/ncurses/base/vsscanf.c	Sat Sep  7 12:27:56 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/base/vsscanf.c	Sun Jul 20 14:02:08 2003
      -@@ -38,7 +38,7 @@
      - 
      - #if !HAVE_VSSCANF
      - 
      --MODULE_ID("$Id: vsscanf.c,v 1.16 2002/09/07 17:27:56 tom Exp $")
      -+MODULE_ID("$Id: vsscanf.c,v 1.17 2003/05/24 21:10:28 tom Exp $")
      - 
      - #if !(HAVE_VFSCANF || HAVE__DOSCAN)
      - 
      -@@ -230,7 +230,7 @@
      - 		/* find a chunk */
      - 		state = sUnknown;
      - 		chunk = cUnknown;
      --		other = cUnknown;
      -+		other = oUnknown;
      - 		pointer = 0;
      - 		for (n = 0; format[n] != 0 && state != sFinal; ++n) {
      - 		    my_fmt[n] = format[n];
      -diff -urNd -urNd ncurses-5.3/ncurses/curses.priv.h ncurses-5.3.20030906.orig/ncurses/curses.priv.h
      ---- ncurses-5.3/ncurses/curses.priv.h	Sat Oct 12 10:49:10 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/curses.priv.h	Fri Sep 12 16:42:24 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -34,7 +34,7 @@
      - 
      - 
      - /*
      -- * $Id: curses.priv.h,v 1.228 2002/10/12 15:49:10 tom Exp $
      -+ * $Id: curses.priv.h,v 1.252 2003/08/23 21:38:49 tom Exp $
      -  *
      -  *	curses.priv.h
      -  *
      -@@ -130,7 +130,9 @@
      - 
      - /* EMX mouse support */
      - #ifdef __EMX__
      --#define USE_EMX_MOUSE
      -+#define USE_EMX_MOUSE 1
      -+#else
      -+#define USE_EMX_MOUSE 0
      - #endif
      - 
      - #define DEFAULT_MAXCLICK 166
      -@@ -259,21 +261,32 @@
      - 
      - struct ldat
      - {
      --	NCURSES_CH_T	*text;	    	/* text of the line */
      --	NCURSES_SIZE_T	firstchar;  	/* first changed character in the line */
      --	NCURSES_SIZE_T	lastchar;   	/* last changed character in the line */
      --	NCURSES_SIZE_T	oldindex;   	/* index of the line at last update */
      -+	NCURSES_CH_T	*text;		/* text of the line */
      -+	NCURSES_SIZE_T	firstchar;	/* first changed character in the line */
      -+	NCURSES_SIZE_T	lastchar;	/* last changed character in the line */
      -+	NCURSES_SIZE_T	oldindex;	/* index of the line at last update */
      - };
      - 
      -+typedef enum {
      -+	M_XTERM	= -1		/* use xterm's mouse tracking? */
      -+	,M_NONE = 0		/* no mouse device */
      -+#if USE_GPM_SUPPORT
      -+	,M_GPM			/* use GPM */
      -+#endif
      -+#if USE_SYSMOUSE
      -+	,M_SYSMOUSE		/* FreeBSD sysmouse on console */
      -+#endif
      -+} MouseType;
      -+
      - /*
      -  * Structure for soft labels.
      -  */
      - 
      - typedef struct
      - {
      --	char *text;             /* text for the label */
      -+	char *ent_text;         /* text for the label */
      - 	char *form_text;        /* formatted text (left/center/...) */
      --	int x;                  /* x coordinate of this field */
      -+	int ent_x;              /* x coordinate of this field */
      - 	char dirty;             /* this label has changed */
      - 	char visible;           /* field is visible */
      - } slk_ent;
      -@@ -283,11 +296,10 @@
      - 	char hidden;            /* soft labels are hidden */
      - 	WINDOW *win;
      - 	slk_ent *ent;
      --	char*  buffer;           /* buffer for labels */
      --	short  maxlab;           /* number of available labels */
      --	short  labcnt;           /* number of allocated labels */
      --	short  maxlen;           /* length of labels */
      --        chtype attr;             /* soft label attribute */
      -+	short  maxlab;          /* number of available labels */
      -+	short  labcnt;          /* number of allocated labels */
      -+	short  maxlen;          /* length of labels */
      -+	chtype attr;            /* soft label attribute */
      - } SLK;
      - 
      - typedef struct {
      -@@ -308,7 +320,7 @@
      - 	char            *_setbuf;       /* buffered I/O for output          */
      - 	int		_buffered;      /* setvbuf uses _setbuf data        */
      - 	int             _checkfd;       /* filedesc for typeahead check     */
      --	struct term     *_term;         /* terminal type information        */
      -+	TERMINAL        *_term;         /* terminal type information        */
      - 	short           _lines;         /* screen lines                     */
      - 	short           _columns;       /* screen columns                   */
      - 
      -@@ -326,6 +338,7 @@
      - 	bool            _tried;         /* keypad mode was initialized      */
      - 	bool            _keypad_on;     /* keypad mode is currently on      */
      - 
      -+	bool		_called_wgetch;	/* check for recursion in wgetch()  */
      - 	int    	        _fifo[FIFO_SIZE];       /* input push-back buffer   */
      - 	short           _fifohead,      /* head of fifo queue               */
      - 	                _fifotail,      /* tail of fifo queue               */
      -@@ -339,6 +352,7 @@
      - 	int             _cursor;        /* visibility of the cursor         */
      - 	int             _cursrow;       /* physical cursor row              */
      - 	int             _curscol;       /* physical cursor column           */
      -+	bool		_notty;		/* true if we cannot switch non-tty */
      - 	int             _nl;            /* True if NL -> CR/NL is on        */
      - 	int             _raw;           /* True if in raw mode              */
      - 	int             _cbreak;        /* 1 if in cbreak mode              */
      -@@ -405,7 +419,7 @@
      - #endif
      - 	chtype          _xmc_suppress;  /* attributes to suppress if xmc     */
      - 	chtype          _xmc_triggers;  /* attributes to process if xmc      */
      --	chtype          _acs_map[ACS_LEN];
      -+	chtype          _acs_map[ACS_LEN]; /* the real alternate-charset map */
      - 
      - 	/* used in lib_vidattr.c */
      - 	bool            _use_rmso;	/* true if we may use 'rmso'         */
      -@@ -426,6 +440,7 @@
      - 	/*
      - 	 * These are the data that support the mouse interface.
      - 	 */
      -+	MouseType	_mouse_type;
      - 	int             _maxclick;
      - 	bool            (*_mouse_event) (SCREEN *);
      - 	bool            (*_mouse_inline)(SCREEN *);
      -@@ -433,6 +448,16 @@
      - 	void            (*_mouse_resume)(SCREEN *);
      - 	void            (*_mouse_wrap)  (SCREEN *);
      - 	int             _mouse_fd;      /* file-descriptor, if any */
      -+	NCURSES_CONST char *_mouse_xtermcap; /* string to enable/disable mouse */
      -+#if USE_SYSMOUSE
      -+	MEVENT		_sysmouse_fifo[FIFO_SIZE];
      -+	int		_sysmouse_head;
      -+	int		_sysmouse_tail;
      -+	int		_sysmouse_char_width;	/* character width */
      -+	int		_sysmouse_char_height;	/* character height */
      -+	int		_sysmouse_old_buttons;
      -+	int		_sysmouse_new_buttons;
      -+#endif
      - 
      - 	/*
      - 	 * This supports automatic resizing
      -@@ -461,6 +486,14 @@
      - 	HASHMAP 	*hashtab;
      - 	int		hashtab_len;
      - 
      -+	/* recent versions of 'screen' have partially-working support for
      -+	 * UTF-8, but do not permit ACS at the same time (see tty_update.c).
      -+	 */
      -+#if USE_WIDEC_SUPPORT
      -+	bool		_posix_locale;
      -+	bool		_screen_acs_fix;
      -+#endif
      -+
      - 	bool            _cleanup;	/* cleanup after int/quit signal */
      - 	int             (*_outch)(int);	/* output handler if not putc */
      - };
      -@@ -471,21 +504,19 @@
      - #include 
      - #endif
      - 
      --/*
      -- * The margins are used in resizeterm() to retain the original layout after
      -- * resizing.
      -- */
      - 	WINDOWLIST {
      -+	WINDOW	win;	/* first, so WINDOW_EXT() works */
      - 	WINDOWLIST *next;
      --#if HAVE_RESIZETERM
      --	int	l_margin;
      --	int	r_margin;
      --	int	t_margin;
      --	int	b_margin;
      -+#ifdef _XOPEN_SOURCE_EXTENDED
      -+	char addch_work[(MB_LEN_MAX * 9) + 1];
      -+	int addch_used;
      -+	int addch_x;
      -+	int addch_y;
      - #endif
      --	WINDOW	win;
      - };
      - 
      -+#define WINDOW_EXT(win,field) (((WINDOWLIST *)(win))->field)
      -+
      - /* The terminfo source is assumed to be 7-bit ASCII */
      - #define is7bits(c)	((unsigned)(c) < 128)
      - 
      -@@ -539,18 +570,29 @@
      - #define O_BINARY 0
      - #endif
      - 
      -+#ifdef TRACE
      -+#define TRACE_OUTCHARS(n) _nc_outchars += (n);
      -+#else
      -+#define TRACE_OUTCHARS(n) /* nothing */
      -+#endif
      -+
      - #define UChar(c)	((unsigned char)(c))
      - #define ChCharOf(c)	((c) & (chtype)A_CHARTEXT)
      - #define ChAttrOf(c)     ((c) & (chtype)A_ATTRIBUTES)
      - 
      -+#ifndef MB_LEN_MAX
      -+#define MB_LEN_MAX 8 /* should be >= MB_CUR_MAX, but that may be a function */
      -+#endif
      -+
      - #if USE_WIDEC_SUPPORT /* { */
      -+#define NulChar		0,0,0,0	/* FIXME: see CCHARW_MAX */
      - #define CharOf(c)	((c).chars[0])
      - #define AttrOf(c)	((c).attr)
      - #define AddAttr(c,a)	(c).attr |= a
      - #define RemAttr(c,a)	(c).attr &= ~(a)
      - #define SetAttr(c,a)	(c).attr = a
      --#define NewChar(ch)	{ ChAttrOf(ch), { ChCharOf(ch) } }
      --#define NewChar2(c,a)	{ a, { c } }
      -+#define NewChar(ch)	{ ChAttrOf(ch), { ChCharOf(ch), NulChar } }
      -+#define NewChar2(c,a)	{ a, { c, NulChar } }
      - #define CharEq(a,b)	(!memcmp(&a, &b, sizeof(a)))
      - #define SetChar(ch,c,a)	do { 							    \
      - 			    NCURSES_CH_T *_cp = &ch;				    \
      -@@ -562,9 +604,14 @@
      - #define CARG_CH_T	const NCURSES_CH_T *
      - #define PUTC_DATA	char PUTC_buf[MB_LEN_MAX]; int PUTC_i, PUTC_n; \
      - 			mbstate_t PUT_st; wchar_t PUTC_ch
      -+#define PUTC_INIT	memset (&PUT_st, '\0', sizeof (PUT_st));		    \
      -+			PUTC_i = 0
      - #define PUTC(ch,b)	do { if(!isnac(ch)) { 					    \
      --			    memset (&PUT_st, '\0', sizeof (PUT_st));		    \
      --			    PUTC_i = 0;						    \
      -+			if (Charable(ch)) {					    \
      -+			    fputc(CharOf(ch), b);				    \
      -+			    TRACE_OUTCHARS(1);					    \
      -+			} else {						    \
      -+			    PUTC_INIT;						    \
      - 			    do {						    \
      - 				PUTC_ch = PUTC_i < CCHARW_MAX ?			    \
      - 					    (ch).chars[PUTC_i] : L'\0';		    \
      -@@ -577,7 +624,8 @@
      - 				fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b);	    \
      - 				++PUTC_i;					    \
      - 			    } while (PUTC_ch != L'\0');				    \
      --			} } while (0)
      -+			    TRACE_OUTCHARS(PUTC_i);				    \
      -+			} } } while (0)
      - 
      - #define BLANK		{ WA_NORMAL, ' ' }
      - #define ISBLANK(ch)	((ch).chars[0] == L' ' && (ch).chars[1] == L'\0')
      -@@ -585,9 +633,10 @@
      - #define WA_NAC		1
      - #define isnac(ch)	(AttrOf(ch) & WA_NAC)
      - #define if_WIDEC(code)  code
      --#define Charable(ch)	(!isnac(ch) &&  			   	\
      --			 (ch).chars[1] == L'\0' &&			\
      --                         (wctob(CharOf(ch)) == (char)CharOf(ch)))
      -+#define Charable(ch)	((SP != 0 && SP->_posix_locale)			\
      -+			 || (!isnac(ch) &&				\
      -+			     (ch).chars[1] == L'\0' &&			\
      -+                             _nc_is_charable(CharOf(ch))))
      - 
      - #define L(ch)		L ## ch
      - #else /* }{ */
      -@@ -743,7 +792,7 @@
      - 
      - #define ALL_BUT_COLOR ((chtype)~(A_COLOR))
      - #define IGNORE_COLOR_OFF FALSE
      --#define NONBLANK_ATTR (A_BOLD|A_DIM|A_BLINK)
      -+#define NONBLANK_ATTR (A_NORMAL|A_BOLD|A_DIM|A_BLINK)
      - #define XMC_CHANGES(c) ((c) & SP->_xmc_suppress)
      - 
      - #define toggle_attr_on(S,at) {\
      -@@ -781,7 +830,7 @@
      - 		: ((enter_insert_mode && exit_insert_mode) \
      - 		  ? SP->_smir_cost + SP->_rmir_cost + (SP->_ip_cost * count) \
      - 		  : ((insert_character != 0) \
      --		    ? (SP->_ich1_cost * count) \
      -+		    ? ((SP->_ich1_cost + SP->_ip_cost) * count) \
      - 		    : INFINITY)))
      - 
      - #if USE_XMC_SUPPORT
      -@@ -847,6 +896,13 @@
      - #define getcwd(buf,len) getwd(buf)
      - #endif
      - 
      -+/* charable.c */
      -+#if USE_WIDEC_SUPPORT
      -+extern NCURSES_EXPORT(bool) _nc_is_charable(wchar_t);
      -+extern NCURSES_EXPORT(int) _nc_to_char(wint_t);
      -+extern NCURSES_EXPORT(wint_t) _nc_to_widechar(int);
      -+#endif
      -+
      - /* doupdate.c */
      - #if USE_XMC_SUPPORT
      - extern NCURSES_EXPORT(void) _nc_do_xmc_glitch (attr_t);
      -@@ -872,6 +928,9 @@
      - /* lib_getch.c */
      - extern NCURSES_EXPORT(int) _nc_wgetch(WINDOW *, unsigned long *, int EVENTLIST_2nd(_nc_eventlist *));
      - 
      -+/* lib_insch.c */
      -+extern NCURSES_EXPORT(void) _nc_insert_ch(WINDOW *, chtype);
      -+
      - /* lib_mvcur.c */
      - #define INFINITY	1000000	/* cost: too high to use */
      - 
      -@@ -890,6 +949,12 @@
      - 
      - /* lib_mvcur.c */
      - #define INFINITY	1000000	/* cost: too high to use */
      -+#define BAUDBYTE	9	/* 9 = 7 bits + 1 parity + 1 stop */
      -+
      -+/* lib_setup.c */
      -+extern NCURSES_EXPORT(char *) _nc_get_locale(void);
      -+extern NCURSES_EXPORT(int) _nc_unicode_locale(void);
      -+extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(void);
      - 
      - /* lib_wacs.c */
      - #if USE_WIDEC_SUPPORT
      -@@ -897,9 +962,10 @@
      - #endif
      - 
      - typedef struct {
      --    char *s_head;
      --    char *s_tail;
      --    size_t s_size;
      -+    char *s_head;	/* beginning of the string (may be null) */
      -+    char *s_tail;	/* end of the string (may be null) */
      -+    size_t s_size;	/* current remaining size available */
      -+    size_t s_init;	/* total size available */
      - } string_desc;
      - 
      - /* strings.c */
      -@@ -931,14 +997,15 @@
      - extern NCURSES_EXPORT(void) _nc_add_to_try (struct tries **, const char *, unsigned short);
      - extern NCURSES_EXPORT(char *) _nc_expand_try (struct tries *, unsigned short, int *, size_t);
      - extern NCURSES_EXPORT(int) _nc_remove_key (struct tries **, unsigned short);
      --extern NCURSES_EXPORT(int) _nc_remove_string (struct tries **, char *);
      -+extern NCURSES_EXPORT(int) _nc_remove_string (struct tries **, const char *);
      - 
      - /* elsewhere ... */
      -+extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T);
      - extern NCURSES_EXPORT(WINDOW *) _nc_makenew (int, int, int, int, int);
      - extern NCURSES_EXPORT(char *) _nc_home_terminfo (void);
      - extern NCURSES_EXPORT(char *) _nc_trace_buf (int, size_t);
      --extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T);
      --extern NCURSES_EXPORT(int)  _nc_access (const char *, int);
      -+extern NCURSES_EXPORT(char *) _nc_trace_bufcat (int, const char *);
      -+extern NCURSES_EXPORT(int) _nc_access (const char *, int);
      - extern NCURSES_EXPORT(int) _nc_baudrate (int);
      - extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *);
      - extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
      -diff -urNd -urNd ncurses-5.3/ncurses/llib-lncurses ncurses-5.3.20030906.orig/ncurses/llib-lncurses
      ---- ncurses-5.3/ncurses/llib-lncurses	Sat Aug 31 16:34:07 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/llib-lncurses	Fri Sep 12 16:42:59 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      -  ****************************************************************************/
      - 
      - /****************************************************************************
      -- *  Author: Thomas E. Dickey 1996-2001,2002                                 *
      -+ *  Author: Thomas E. Dickey 1996-2002,2003                                 *
      -  ****************************************************************************/
      - /* LINTLIBRARY */
      - 
      -@@ -59,8 +59,8 @@
      - 
      - #undef _nc_scroll_oldhash
      - void	_nc_scroll_oldhash(
      --		int	n, 
      --		int	top, 
      -+		int	n,
      -+		int	top,
      - 		int	bot)
      - 		{ /* void */ }
      - 
      -@@ -70,25 +70,25 @@
      - 
      - #undef _nc_render
      - chtype	_nc_render(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		chtype	ch)
      - 		{ return(*(chtype *)0); }
      - 
      - #undef _nc_waddch_nosync
      - int	_nc_waddch_nosync(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const chtype c)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddch
      - int	waddch(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const chtype ch)
      - 		{ return(*(int *)0); }
      - 
      - #undef wechochar
      - int	wechochar(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const chtype ch)
      - 		{ return(*(int *)0); }
      - 
      -@@ -96,15 +96,15 @@
      - 
      - #undef waddnstr
      - int	waddnstr(
      --		WINDOW	*win, 
      --		const char *astr, 
      -+		WINDOW	*win,
      -+		const char *astr,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddchnstr
      - int	waddchnstr(
      --		WINDOW	*win, 
      --		const chtype *astr, 
      -+		WINDOW	*win,
      -+		const chtype *astr,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -118,13 +118,13 @@
      - 
      - #undef wbkgdset
      - void	wbkgdset(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		chtype	ch)
      - 		{ /* void */ }
      - 
      - #undef wbkgd
      - int	wbkgd(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		chtype	ch)
      - 		{ return(*(int *)0); }
      - 
      -@@ -132,14 +132,14 @@
      - 
      - #undef wborder
      - int	wborder(
      --		WINDOW	*win, 
      --		chtype	ls, 
      --		chtype	rs, 
      --		chtype	ts, 
      --		chtype	bs, 
      --		chtype	tl, 
      --		chtype	tr, 
      --		chtype	bl, 
      -+		WINDOW	*win,
      -+		chtype	ls,
      -+		chtype	rs,
      -+		chtype	ts,
      -+		chtype	bs,
      -+		chtype	tl,
      -+		chtype	tr,
      -+		chtype	bl,
      - 		chtype	br)
      - 		{ return(*(int *)0); }
      - 
      -@@ -147,10 +147,10 @@
      - 
      - #undef wchgat
      - int	wchgat(
      --		WINDOW	*win, 
      --		int	n, 
      --		attr_t	attr, 
      --		short	color, 
      -+		WINDOW	*win,
      -+		int	n,
      -+		attr_t	attr,
      -+		short	color,
      - 		const void *opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -165,7 +165,7 @@
      - 
      - #undef clearok
      - int	clearok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -192,22 +192,26 @@
      - #undef COLORS
      - int	COLORS;
      - 
      -+#undef _nc_reset_colors
      -+NCURSES_BOOL _nc_reset_colors(void)
      -+		{ return(*(NCURSES_BOOL *)0); }
      -+
      - #undef start_color
      - int	start_color(void)
      - 		{ return(*(int *)0); }
      - 
      - #undef init_pair
      - int	init_pair(
      --		short	pair, 
      --		short	f, 
      -+		short	pair,
      -+		short	f,
      - 		short	b)
      - 		{ return(*(int *)0); }
      - 
      - #undef init_color
      - int	init_color(
      --		short	color, 
      --		short	r, 
      --		short	g, 
      -+		short	color,
      -+		short	r,
      -+		short	g,
      - 		short	b)
      - 		{ return(*(int *)0); }
      - 
      -@@ -221,24 +225,24 @@
      - 
      - #undef color_content
      - int	color_content(
      --		short	color, 
      --		short	*r, 
      --		short	*g, 
      -+		short	color,
      -+		short	*r,
      -+		short	*g,
      - 		short	*b)
      - 		{ return(*(int *)0); }
      - 
      - #undef pair_content
      - int	pair_content(
      --		short	pair, 
      --		short	*f, 
      -+		short	pair,
      -+		short	*f,
      - 		short	*b)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_do_color
      - void	_nc_do_color(
      --		int	old_pair, 
      --		int	pair, 
      --		NCURSES_BOOL reverse, 
      -+		int	old_pair,
      -+		int	pair,
      -+		NCURSES_BOOL reverse,
      - 		int	(*outc)(
      - 		int	p1))
      - 		{ /* void */ }
      -@@ -247,8 +251,8 @@
      - 
      - #undef wcolor_set
      - int	wcolor_set(
      --		WINDOW	*win, 
      --		short	color_pair_number, 
      -+		WINDOW	*win,
      -+		short	color_pair_number,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -304,7 +308,7 @@
      - 
      - #undef addchnstr
      - int	addchnstr(
      --		const chtype *a1, 
      -+		const chtype *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -315,7 +319,7 @@
      - 
      - #undef addnstr
      - int	addnstr(
      --		const char *a1, 
      -+		const char *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -341,27 +345,27 @@
      - 
      - #undef attr_get
      - int	attr_get(
      --		attr_t	*a1, 
      --		short	*a2, 
      -+		attr_t	*a1,
      -+		short	*a2,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef attr_off
      - int	attr_off(
      --		attr_t	a1, 
      -+		attr_t	a1,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef attr_on
      - int	attr_on(
      --		attr_t	a1, 
      -+		attr_t	a1,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef attr_set
      - int	attr_set(
      --		attr_t	a1, 
      --		short	a2, 
      -+		attr_t	a1,
      -+		short	a2,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -377,28 +381,28 @@
      - 
      - #undef border
      - int	border(
      --		chtype	a1, 
      --		chtype	a2, 
      --		chtype	a3, 
      --		chtype	a4, 
      --		chtype	a5, 
      --		chtype	a6, 
      --		chtype	a7, 
      -+		chtype	a1,
      -+		chtype	a2,
      -+		chtype	a3,
      -+		chtype	a4,
      -+		chtype	a5,
      -+		chtype	a6,
      -+		chtype	a7,
      - 		chtype	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef box
      - int	box(
      --		WINDOW	*a1, 
      --		chtype	a2, 
      -+		WINDOW	*a1,
      -+		chtype	a2,
      - 		chtype	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef chgat
      - int	chgat(
      --		int	a1, 
      --		attr_t	a2, 
      --		short	a3, 
      -+		int	a1,
      -+		attr_t	a2,
      -+		short	a3,
      - 		const void *z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -416,7 +420,7 @@
      - 
      - #undef color_set
      - int	color_set(
      --		short	a1, 
      -+		short	a1,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -453,7 +457,7 @@
      - 
      - #undef getnstr
      - int	getnstr(
      --		char	*a1, 
      -+		char	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -464,7 +468,7 @@
      - 
      - #undef hline
      - int	hline(
      --		chtype	a1, 
      -+		chtype	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -474,7 +478,7 @@
      - 
      - #undef inchnstr
      - int	inchnstr(
      --		chtype	*a1, 
      -+		chtype	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -485,7 +489,7 @@
      - 
      - #undef innstr
      - int	innstr(
      --		char	*a1, 
      -+		char	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -505,7 +509,7 @@
      - 
      - #undef insnstr
      - int	insnstr(
      --		const char *a1, 
      -+		const char *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -521,323 +525,323 @@
      - 
      - #undef move
      - int	move(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddch
      - int	mvaddch(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const chtype z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddchnstr
      - int	mvaddchnstr(
      --		int	a1, 
      --		int	a2, 
      --		const chtype *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const chtype *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddchstr
      - int	mvaddchstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const chtype *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddnstr
      - int	mvaddnstr(
      --		int	a1, 
      --		int	a2, 
      --		const char *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const char *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddstr
      - int	mvaddstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvchgat
      - int	mvchgat(
      --		int	a1, 
      --		int	a2, 
      --		int	a3, 
      --		attr_t	a4, 
      --		short	a5, 
      -+		int	a1,
      -+		int	a2,
      -+		int	a3,
      -+		attr_t	a4,
      -+		short	a5,
      - 		const void *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvdelch
      - int	mvdelch(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvgetch
      - int	mvgetch(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvgetnstr
      - int	mvgetnstr(
      --		int	a1, 
      --		int	a2, 
      --		char	*a3, 
      -+		int	a1,
      -+		int	a2,
      -+		char	*a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvgetstr
      - int	mvgetstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvhline
      - int	mvhline(
      --		int	a1, 
      --		int	a2, 
      --		chtype	a3, 
      -+		int	a1,
      -+		int	a2,
      -+		chtype	a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinch
      - chtype	mvinch(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(chtype *)0); }
      - 
      - #undef mvinchnstr
      - int	mvinchnstr(
      --		int	a1, 
      --		int	a2, 
      --		chtype	*a3, 
      -+		int	a1,
      -+		int	a2,
      -+		chtype	*a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinchstr
      - int	mvinchstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		chtype	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinnstr
      - int	mvinnstr(
      --		int	a1, 
      --		int	a2, 
      --		char	*a3, 
      -+		int	a1,
      -+		int	a2,
      -+		char	*a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinsch
      - int	mvinsch(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		chtype	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinsnstr
      - int	mvinsnstr(
      --		int	a1, 
      --		int	a2, 
      --		const char *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const char *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinsstr
      - int	mvinsstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinstr
      - int	mvinstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvvline
      - int	mvvline(
      --		int	a1, 
      --		int	a2, 
      --		chtype	a3, 
      -+		int	a1,
      -+		int	a2,
      -+		chtype	a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddch
      - int	mvwaddch(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const chtype z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddchnstr
      - int	mvwaddchnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const chtype *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const chtype *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddchstr
      - int	mvwaddchstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const chtype *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddnstr
      - int	mvwaddnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const char *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const char *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddstr
      - int	mvwaddstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwchgat
      - int	mvwchgat(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		int	a4, 
      --		attr_t	a5, 
      --		short	a6, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		int	a4,
      -+		attr_t	a5,
      -+		short	a6,
      - 		const void *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwdelch
      - int	mvwdelch(
      --		WINDOW	*a1, 
      --		int	a2, 
      -+		WINDOW	*a1,
      -+		int	a2,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwgetch
      - int	mvwgetch(
      --		WINDOW	*a1, 
      --		int	a2, 
      -+		WINDOW	*a1,
      -+		int	a2,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwgetnstr
      - int	mvwgetnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		char	*a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		char	*a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwgetstr
      - int	mvwgetstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwhline
      - int	mvwhline(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		chtype	a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		chtype	a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinch
      - chtype	mvwinch(
      --		WINDOW	*a1, 
      --		int	a2, 
      -+		WINDOW	*a1,
      -+		int	a2,
      - 		int	z)
      - 		{ return(*(chtype *)0); }
      - 
      - #undef mvwinchnstr
      - int	mvwinchnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		chtype	*a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		chtype	*a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinchstr
      - int	mvwinchstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		chtype	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinnstr
      - int	mvwinnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		char	*a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		char	*a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinsch
      - int	mvwinsch(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		chtype	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinsnstr
      - int	mvwinsnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const char *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const char *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinsstr
      - int	mvwinsstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinstr
      - int	mvwinstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwvline
      - int	mvwvline(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		chtype	a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		chtype	a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -867,7 +871,7 @@
      - 
      - #undef setscrreg
      - int	setscrreg(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -886,8 +890,8 @@
      - 
      - #undef touchline
      - int	touchline(
      --		WINDOW	*a1, 
      --		int	a2, 
      -+		WINDOW	*a1,
      -+		int	a2,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -903,67 +907,67 @@
      - 
      - #undef vline
      - int	vline(
      --		chtype	a1, 
      -+		chtype	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef vw_printw
      - int	vw_printw(
      --		WINDOW	*a1, 
      --		char	*a2, 
      -+		WINDOW	*a1,
      -+		const char *a2,
      - 		va_list	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef vw_scanw
      - int	vw_scanw(
      --		WINDOW	*a1, 
      --		char	*a2, 
      -+		WINDOW	*a1,
      -+		char	*a2,
      - 		va_list	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddchstr
      - int	waddchstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		const chtype *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddstr
      - int	waddstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattron
      - int	wattron(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattroff
      - int	wattroff(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattrset
      - int	wattrset(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattr_get
      - int	wattr_get(
      --		WINDOW	*a1, 
      --		attr_t	*a2, 
      --		short	*a3, 
      -+		WINDOW	*a1,
      -+		attr_t	*a2,
      -+		short	*a3,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattr_set
      - int	wattr_set(
      --		WINDOW	*a1, 
      --		attr_t	a2, 
      --		short	a3, 
      -+		WINDOW	*a1,
      -+		attr_t	a2,
      -+		short	a3,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -974,13 +978,13 @@
      - 
      - #undef wgetstr
      - int	wgetstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef winchstr
      - int	winchstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		chtype	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -991,13 +995,13 @@
      - 
      - #undef winsstr
      - int	winsstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef winstr
      - int	winstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1013,8 +1017,8 @@
      - 
      - #undef mouse_trafo
      - NCURSES_BOOL mouse_trafo(
      --		int	*a1, 
      --		int	*a2, 
      -+		int	*a1,
      -+		int	*a2,
      - 		NCURSES_BOOL z)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -1027,8 +1031,8 @@
      - 
      - #undef _nc_wgetch
      - int	_nc_wgetch(
      --		WINDOW	*win, 
      --		unsigned long *result, 
      -+		WINDOW	*win,
      -+		unsigned long *result,
      - 		int	use_meta)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1041,8 +1045,8 @@
      - 
      - #undef wgetnstr
      - int	wgetnstr(
      --		WINDOW	*win, 
      --		char	*str, 
      -+		WINDOW	*win,
      -+		char	*str,
      - 		int	maxlen)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1050,8 +1054,8 @@
      - 
      - #undef whline
      - int	whline(
      --		WINDOW	*win, 
      --		chtype	ch, 
      -+		WINDOW	*win,
      -+		chtype	ch,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1059,7 +1063,7 @@
      - 
      - #undef immedok
      - void	immedok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ /* void */ }
      - 
      -@@ -1067,8 +1071,8 @@
      - 
      - #undef winchnstr
      - int	winchnstr(
      --		WINDOW	*win, 
      --		chtype	*str, 
      -+		WINDOW	*win,
      -+		chtype	*str,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1080,26 +1084,30 @@
      - 
      - /* ./base/lib_insch.c */
      - 
      -+#undef _nc_insert_ch
      -+void	_nc_insert_ch(
      -+		WINDOW	*win,
      -+		chtype	ch)
      -+		{ /* void */ }
      -+
      - #undef winsch
      - int	winsch(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		chtype	c)
      - 		{ return(*(int *)0); }
      - 
      --/* ./base/lib_insdel.c */
      --
      --#undef winsdelln
      --int	winsdelln(
      --		WINDOW	*win, 
      -+#undef winsnstr
      -+int	winsnstr(
      -+		WINDOW	*win,
      -+		const char *s,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      --/* ./base/lib_insstr.c */
      -+/* ./base/lib_insdel.c */
      - 
      --#undef winsnstr
      --int	winsnstr(
      --		WINDOW	*win, 
      --		const char *s, 
      -+#undef winsdelln
      -+int	winsdelln(
      -+		WINDOW	*win,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1107,8 +1115,8 @@
      - 
      - #undef winnstr
      - int	winnstr(
      --		WINDOW	*win, 
      --		char	*str, 
      -+		WINDOW	*win,
      -+		char	*str,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1122,7 +1130,7 @@
      - 
      - #undef leaveok
      - int	leaveok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1140,14 +1148,14 @@
      - 
      - #undef mousemask
      - mmask_t	mousemask(
      --		mmask_t	newmask, 
      -+		mmask_t	newmask,
      - 		mmask_t	*oldmask)
      - 		{ return(*(mmask_t *)0); }
      - 
      - #undef wenclose
      - NCURSES_BOOL wenclose(
      --		const WINDOW *win, 
      --		int	y, 
      -+		const WINDOW *win,
      -+		int	y,
      - 		int	x)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -1162,9 +1170,9 @@
      - 
      - #undef wmouse_trafo
      - NCURSES_BOOL wmouse_trafo(
      --		const WINDOW *win, 
      --		int	*pY, 
      --		int	*pX, 
      -+		const WINDOW *win,
      -+		int	*pY,
      -+		int	*pX,
      - 		NCURSES_BOOL to_screen)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -1172,8 +1180,8 @@
      - 
      - #undef wmove
      - int	wmove(
      --		WINDOW	*win, 
      --		int	y, 
      -+		WINDOW	*win,
      -+		int	y,
      - 		int	x)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1181,7 +1189,7 @@
      - 
      - #undef _nc_msec_cost
      - int	_nc_msec_cost(
      --		const char *const cap, 
      -+		const char *const cap,
      - 		int	affcnt)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1199,9 +1207,9 @@
      - 
      - #undef mvcur
      - int	mvcur(
      --		int	yold, 
      --		int	xold, 
      --		int	ynew, 
      -+		int	yold,
      -+		int	xold,
      -+		int	ynew,
      - 		int	xnew)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1212,8 +1220,8 @@
      - 
      - #undef mvwin
      - int	mvwin(
      --		WINDOW	*win, 
      --		int	by, 
      -+		WINDOW	*win,
      -+		int	by,
      - 		int	bx)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1225,8 +1233,8 @@
      - 
      - #undef newterm
      - SCREEN	*newterm(
      --		char	*name, 
      --		FILE	*ofp, 
      -+		char	*name,
      -+		FILE	*ofp,
      - 		FILE	*ifp)
      - 		{ return(*(SCREEN **)0); }
      - 
      -@@ -1239,36 +1247,36 @@
      - 
      - #undef newwin
      - WINDOW	*newwin(
      --		int	num_lines, 
      --		int	num_columns, 
      --		int	begy, 
      -+		int	num_lines,
      -+		int	num_columns,
      -+		int	begy,
      - 		int	begx)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef derwin
      - WINDOW	*derwin(
      --		WINDOW	*orig, 
      --		int	num_lines, 
      --		int	num_columns, 
      --		int	begy, 
      -+		WINDOW	*orig,
      -+		int	num_lines,
      -+		int	num_columns,
      -+		int	begy,
      - 		int	begx)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef subwin
      - WINDOW	*subwin(
      --		WINDOW	*w, 
      --		int	l, 
      --		int	c, 
      --		int	y, 
      -+		WINDOW	*w,
      -+		int	l,
      -+		int	c,
      -+		int	y,
      - 		int	x)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef _nc_makenew
      - WINDOW	*_nc_makenew(
      --		int	num_lines, 
      --		int	num_columns, 
      --		int	begy, 
      --		int	begx, 
      -+		int	num_lines,
      -+		int	num_columns,
      -+		int	begy,
      -+		int	begx,
      - 		int	flags)
      - 		{ return(*(WINDOW **)0); }
      - 
      -@@ -1286,26 +1294,26 @@
      - 
      - #undef overlay
      - int	overlay(
      --		const WINDOW *win1, 
      -+		const WINDOW *win1,
      - 		WINDOW	*win2)
      - 		{ return(*(int *)0); }
      - 
      - #undef overwrite
      - int	overwrite(
      --		const WINDOW *win1, 
      -+		const WINDOW *win1,
      - 		WINDOW	*win2)
      - 		{ return(*(int *)0); }
      - 
      - #undef copywin
      - int	copywin(
      --		const WINDOW *src, 
      --		WINDOW	*dst, 
      --		int	sminrow, 
      --		int	smincol, 
      --		int	dminrow, 
      --		int	dmincol, 
      --		int	dmaxrow, 
      --		int	dmaxcol, 
      -+		const WINDOW *src,
      -+		WINDOW	*dst,
      -+		int	sminrow,
      -+		int	smincol,
      -+		int	dminrow,
      -+		int	dmincol,
      -+		int	dmaxrow,
      -+		int	dmaxcol,
      - 		int	over)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1313,44 +1321,44 @@
      - 
      - #undef newpad
      - WINDOW	*newpad(
      --		int	l, 
      -+		int	l,
      - 		int	c)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef subpad
      - WINDOW	*subpad(
      --		WINDOW	*orig, 
      --		int	l, 
      --		int	c, 
      --		int	begy, 
      -+		WINDOW	*orig,
      -+		int	l,
      -+		int	c,
      -+		int	begy,
      - 		int	begx)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef prefresh
      - int	prefresh(
      --		WINDOW	*win, 
      --		int	pminrow, 
      --		int	pmincol, 
      --		int	sminrow, 
      --		int	smincol, 
      --		int	smaxrow, 
      -+		WINDOW	*win,
      -+		int	pminrow,
      -+		int	pmincol,
      -+		int	sminrow,
      -+		int	smincol,
      -+		int	smaxrow,
      - 		int	smaxcol)
      - 		{ return(*(int *)0); }
      - 
      - #undef pnoutrefresh
      - int	pnoutrefresh(
      --		WINDOW	*win, 
      --		int	pminrow, 
      --		int	pmincol, 
      --		int	sminrow, 
      --		int	smincol, 
      --		int	smaxrow, 
      -+		WINDOW	*win,
      -+		int	pminrow,
      -+		int	pmincol,
      -+		int	sminrow,
      -+		int	smincol,
      -+		int	smaxrow,
      - 		int	smaxcol)
      - 		{ return(*(int *)0); }
      - 
      - #undef pechochar
      - int	pechochar(
      --		WINDOW	*pad, 
      -+		WINDOW	*pad,
      - 		const chtype ch)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1358,38 +1366,38 @@
      - 
      - #undef printw
      - int	printw(
      --		char	*fmt, 
      -+		const char *fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef wprintw
      - int	wprintw(
      --		WINDOW	*win, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		const char *fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvprintw
      - int	mvprintw(
      --		int	y, 
      --		int	x, 
      --		char	*fmt, 
      -+		int	y,
      -+		int	x,
      -+		const char *fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwprintw
      - int	mvwprintw(
      --		WINDOW	*win, 
      --		int	y, 
      --		int	x, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		int	y,
      -+		int	x,
      -+		const char *fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef vwprintw
      - int	vwprintw(
      --		WINDOW	*win, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		const char *fmt,
      - 		va_list	argp)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1397,8 +1405,8 @@
      - 
      - #undef wredrawln
      - int	wredrawln(
      --		WINDOW	*win, 
      --		int	beg, 
      -+		WINDOW	*win,
      -+		int	beg,
      - 		int	num)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1418,8 +1426,8 @@
      - 
      - #undef restartterm
      - int	restartterm(
      --		char	*termp, 
      --		int	filenum, 
      -+		char	*termp,
      -+		int	filenum,
      - 		int	*errret)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1427,38 +1435,38 @@
      - 
      - #undef vwscanw
      - int	vwscanw(
      --		WINDOW	*win, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		char	*fmt,
      - 		va_list	argp)
      - 		{ return(*(int *)0); }
      - 
      - #undef scanw
      - int	scanw(
      --		char	*fmt, 
      -+		char	*fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef wscanw
      - int	wscanw(
      --		WINDOW	*win, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		char	*fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvscanw
      - int	mvscanw(
      --		int	y, 
      --		int	x, 
      --		char	*fmt, 
      -+		int	y,
      -+		int	x,
      -+		char	*fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwscanw
      - int	mvwscanw(
      --		WINDOW	*win, 
      --		int	y, 
      --		int	x, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		int	y,
      -+		int	x,
      -+		char	*fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1471,7 +1479,7 @@
      - 
      - #undef putwin
      - int	putwin(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		FILE	*filep)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1499,16 +1507,16 @@
      - 
      - #undef _nc_scroll_window
      - void	_nc_scroll_window(
      --		WINDOW	*win, 
      --		int const n, 
      --		short const top, 
      --		short const bottom, 
      -+		WINDOW	*win,
      -+		int const n,
      -+		short const top,
      -+		short const bottom,
      - 		chtype	blank)
      - 		{ /* void */ }
      - 
      - #undef wscrl
      - int	wscrl(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1516,7 +1524,7 @@
      - 
      - #undef scrollok
      - int	scrollok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1524,8 +1532,8 @@
      - 
      - #undef wsetscrreg
      - int	wsetscrreg(
      --		WINDOW	*win, 
      --		int	top, 
      -+		WINDOW	*win,
      -+		int	top,
      - 		int	bottom)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1543,24 +1551,24 @@
      - 
      - #undef _nc_setupscreen
      - int	_nc_setupscreen(
      --		short	slines, 
      --		short const scolumns, 
      -+		short	slines,
      -+		short const scolumns,
      - 		FILE	*output)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_ripoffline
      - int	_nc_ripoffline(
      --		int	line, 
      -+		int	line,
      - 		int	(*init)(
      --		WINDOW	*p1, 
      -+		WINDOW	*p1,
      - 		int	p2))
      - 		{ return(*(int *)0); }
      - 
      - #undef ripoffline
      - int	ripoffline(
      --		int	line, 
      -+		int	line,
      - 		int	(*init)(
      --		WINDOW	*p1, 
      -+		WINDOW	*p1,
      - 		int	p2))
      - 		{ return(*(int *)0); }
      - 
      -@@ -1571,7 +1579,7 @@
      - 
      - #undef _nc_slk_initialize
      - int	_nc_slk_initialize(
      --		WINDOW	*stwin, 
      -+		WINDOW	*stwin,
      - 		int	cols)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1583,8 +1591,8 @@
      - 
      - #undef slk_attr_set
      - int	slk_attr_set(
      --		const attr_t attr, 
      --		short	color_pair_number, 
      -+		const attr_t attr,
      -+		short	color_pair_number,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1656,8 +1664,8 @@
      - 
      - #undef slk_set
      - int	slk_set(
      --		int	i, 
      --		const char *astr, 
      -+		int	i,
      -+		const char *astr,
      - 		int	format)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1671,7 +1679,7 @@
      - 
      - #undef is_linetouched
      - NCURSES_BOOL is_linetouched(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		int	line)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -1682,9 +1690,9 @@
      - 
      - #undef wtouchln
      - int	wtouchln(
      --		WINDOW	*win, 
      --		int	y, 
      --		int	n, 
      -+		WINDOW	*win,
      -+		int	y,
      -+		int	n,
      - 		int	changed)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1692,7 +1700,7 @@
      - 
      - #undef _traceattr2
      - char	*_traceattr2(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		attr_t	newmode)
      - 		{ return(*(char **)0); }
      - 
      -@@ -1708,13 +1716,13 @@
      - 
      - #undef _nc_altcharset_name
      - const char *_nc_altcharset_name(
      --		attr_t	attr, 
      -+		attr_t	attr,
      - 		chtype	ch)
      - 		{ return(*(const char **)0); }
      - 
      - #undef _tracechtype2
      - char	*_tracechtype2(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		chtype	ch)
      - 		{ return(*(char **)0); }
      - 
      -@@ -1724,15 +1732,15 @@
      - 		{ return(*(char **)0); }
      - 
      - #undef _nc_retrace_chtype
      --attr_t	_nc_retrace_chtype(
      --		attr_t	code)
      --		{ return(*(attr_t *)0); }
      -+chtype	_nc_retrace_chtype(
      -+		chtype	code)
      -+		{ return(*(chtype *)0); }
      - 
      - /* ./trace/lib_tracedmp.c */
      - 
      - #undef _tracedump
      - void	_tracedump(
      --		const char *name, 
      -+		const char *name,
      - 		WINDOW	*win)
      - 		{ /* void */ }
      - 
      -@@ -1767,7 +1775,7 @@
      - 
      - #undef vidputs
      - int	vidputs(
      --		chtype	newmode, 
      -+		chtype	newmode,
      - 		int	(*outc)(
      - 		int	p1))
      - 		{ return(*(int *)0); }
      -@@ -1785,8 +1793,8 @@
      - 
      - #undef wvline
      - int	wvline(
      --		WINDOW	*win, 
      --		chtype	ch, 
      -+		WINDOW	*win,
      -+		chtype	ch,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1794,8 +1802,8 @@
      - 
      - #undef wattr_off
      - int	wattr_off(
      --		WINDOW	*win, 
      --		attr_t	at, 
      -+		WINDOW	*win,
      -+		attr_t	at,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1803,8 +1811,8 @@
      - 
      - #undef wattr_on
      - int	wattr_on(
      --		WINDOW	*win, 
      --		attr_t	at, 
      -+		WINDOW	*win,
      -+		attr_t	at,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1824,14 +1832,14 @@
      - 
      - #undef mvderwin
      - int	mvderwin(
      --		WINDOW	*win, 
      --		int	y, 
      -+		WINDOW	*win,
      -+		int	y,
      - 		int	x)
      - 		{ return(*(int *)0); }
      - 
      - #undef syncok
      - int	syncok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL bf)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1865,7 +1873,7 @@
      - 
      - #undef _nc_printf_string
      - char	*_nc_printf_string(
      --		const char *fmt, 
      -+		const char *fmt,
      - 		va_list	ap)
      - 		{ return(*(char **)0); }
      - 
      -@@ -1885,9 +1893,9 @@
      - 
      - #undef _nc_scrolln
      - int	_nc_scrolln(
      --		int	n, 
      --		int	top, 
      --		int	bot, 
      -+		int	n,
      -+		int	top,
      -+		int	bot,
      - 		int	maxy)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1916,7 +1924,7 @@
      - 
      - #undef _nc_varargs
      - char	*_nc_varargs(
      --		const char *fmt, 
      -+		const char *fmt,
      - 		va_list	ap)
      - 		{ return(*(char **)0); }
      - 
      -@@ -1938,11 +1946,19 @@
      - void	_nc_vsscanf(void)
      - 		{ /* void */ }
      - 
      -+/* ./base/lib_freeall.c */
      -+
      -+#include 
      -+
      -+#undef _nc_freeall
      -+void	_nc_freeall(void)
      -+		{ /* void */ }
      -+
      - /* ./base/define_key.c */
      - 
      - #undef define_key
      - int	define_key(
      --		char	*str, 
      -+		const char *str,
      - 		int	keycode)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1950,13 +1966,13 @@
      - 
      - #undef _nc_toggle_attr_on
      - void	_nc_toggle_attr_on(
      --		attr_t	*S, 
      -+		attr_t	*S,
      - 		attr_t	at)
      - 		{ /* void */ }
      - 
      - #undef _nc_toggle_attr_off
      - void	_nc_toggle_attr_off(
      --		attr_t	*S, 
      -+		attr_t	*S,
      - 		attr_t	at)
      - 		{ /* void */ }
      - 
      -@@ -1975,11 +1991,18 @@
      - 		chtype	c)
      - 		{ /* void */ }
      - 
      -+/* ./base/key_defined.c */
      -+
      -+#undef key_defined
      -+int	key_defined(
      -+		const char *str)
      -+		{ return(*(int *)0); }
      -+
      - /* ./base/keybound.c */
      - 
      - #undef keybound
      - char	*keybound(
      --		int	code, 
      -+		int	code,
      - 		int	count)
      - 		{ return(*(char **)0); }
      - 
      -@@ -1987,7 +2010,7 @@
      - 
      - #undef keyok
      - int	keyok(
      --		int	c, 
      -+		int	c,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1999,23 +2022,15 @@
      - 
      - #undef assume_default_colors
      - int	assume_default_colors(
      --		int	fg, 
      -+		int	fg,
      - 		int	bg)
      - 		{ return(*(int *)0); }
      - 
      --/* ./base/lib_freeall.c */
      --
      --#include 
      --
      --#undef _nc_freeall
      --void	_nc_freeall(void)
      --		{ /* void */ }
      --
      - /* ./tinfo/lib_print.c */
      - 
      - #undef mcprint
      - int	mcprint(
      --		char	*data, 
      -+		char	*data,
      - 		int	len)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2023,19 +2038,19 @@
      - 
      - #undef is_term_resized
      - NCURSES_BOOL is_term_resized(
      --		int	ToLines, 
      -+		int	ToLines,
      - 		int	ToCols)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      - #undef resize_term
      - int	resize_term(
      --		int	ToLines, 
      -+		int	ToLines,
      - 		int	ToCols)
      - 		{ return(*(int *)0); }
      - 
      - #undef resizeterm
      - int	resizeterm(
      --		int	ToLines, 
      -+		int	ToLines,
      - 		int	ToCols)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2050,22 +2065,22 @@
      - 
      - #undef _nc_expand_try
      - char	*_nc_expand_try(
      --		struct tries *tree, 
      --		unsigned short code, 
      --		int	*count, 
      -+		struct tries *tree,
      -+		unsigned short code,
      -+		int	*count,
      - 		size_t	len)
      - 		{ return(*(char **)0); }
      - 
      - #undef _nc_remove_key
      - int	_nc_remove_key(
      --		struct tries **tree, 
      -+		struct tries **tree,
      - 		unsigned short code)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_remove_string
      - int	_nc_remove_string(
      --		struct tries **tree, 
      --		char	*string)
      -+		struct tries **tree,
      -+		const char *string)
      - 		{ return(*(int *)0); }
      - 
      - /* ./base/version.c */
      -@@ -2078,8 +2093,8 @@
      - 
      - #undef wresize
      - int	wresize(
      --		WINDOW	*win, 
      --		int	ToLines, 
      -+		WINDOW	*win,
      -+		int	ToLines,
      - 		int	ToCols)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2090,6 +2105,11 @@
      - 		char	*path)
      - 		{ return(*(char **)0); }
      - 
      -+#undef _nc_pathlast
      -+unsigned _nc_pathlast(
      -+		const char *path)
      -+		{ return(*(unsigned *)0); }
      -+
      - #undef _nc_basename
      - char	*_nc_basename(
      - 		char	*path)
      -@@ -2097,7 +2117,7 @@
      - 
      - #undef _nc_access
      - int	_nc_access(
      --		const char *path, 
      -+		const char *path,
      - 		int	mode)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2109,8 +2129,8 @@
      - 
      - #undef _nc_add_to_try
      - void	_nc_add_to_try(
      --		struct tries **tree, 
      --		const char *str, 
      -+		struct tries **tree,
      -+		const char *str,
      - 		unsigned short code)
      - 		{ /* void */ }
      - 
      -@@ -2133,13 +2153,13 @@
      - 
      - #undef _nc_wrap_entry
      - void	_nc_wrap_entry(
      --		ENTRY	*const ep, 
      -+		ENTRY	*const ep,
      - 		NCURSES_BOOL copy_strings)
      - 		{ /* void */ }
      - 
      - #undef _nc_merge_entry
      - void	_nc_merge_entry(
      --		TERMTYPE *const to, 
      -+		TERMTYPE *const to,
      - 		TERMTYPE *const from)
      - 		{ /* void */ }
      - 
      -@@ -2147,13 +2167,13 @@
      - 
      - #undef _nc_align_termtype
      - void	_nc_align_termtype(
      --		TERMTYPE *to, 
      -+		TERMTYPE *to,
      - 		TERMTYPE *from)
      - 		{ /* void */ }
      - 
      - #undef _nc_copy_termtype
      - void	_nc_copy_termtype(
      --		TERMTYPE *dst, 
      -+		TERMTYPE *dst,
      - 		TERMTYPE *src)
      - 		{ /* void */ }
      - 
      -@@ -2161,15 +2181,15 @@
      - 
      - #undef _nc_captoinfo
      - char	*_nc_captoinfo(
      --		const char *cap, 
      --		const char *s, 
      -+		const char *cap,
      -+		const char *s,
      - 		int const parametrized)
      - 		{ return(*(char **)0); }
      - 
      - #undef _nc_infotocap
      - char	*_nc_infotocap(
      --		const char *cap, 
      --		const char *str, 
      -+		const char *cap,
      -+		const char *str,
      - 		int const parametrized)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2231,19 +2251,19 @@
      - 
      - #undef _nc_warning
      - void	_nc_warning(
      --		const char *const fmt, 
      -+		const char *const fmt,
      - 		...)
      - 		{ /* void */ }
      - 
      - #undef _nc_err_abort
      - void	_nc_err_abort(
      --		const char *const fmt, 
      -+		const char *const fmt,
      - 		...)
      - 		{ /* void */ }
      - 
      - #undef _nc_syserr_abort
      - void	_nc_syserr_abort(
      --		const char *const fmt, 
      -+		const char *const fmt,
      - 		...)
      - 		{ /* void */ }
      - 
      -@@ -2251,8 +2271,8 @@
      - 
      - #undef _nc_tic_expand
      - char	*_nc_tic_expand(
      --		const char *srcp, 
      --		NCURSES_BOOL tic_format, 
      -+		const char *srcp,
      -+		NCURSES_BOOL tic_format,
      - 		int	numbers)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2262,14 +2282,14 @@
      - 
      - #undef _nc_find_entry
      - struct name_table_entry const *_nc_find_entry(
      --		const char *string, 
      -+		const char *string,
      - 		const struct name_table_entry *const *hash_table)
      - 		{ return(*(struct name_table_entry const **)0); }
      - 
      - #undef _nc_find_type_entry
      - struct name_table_entry const *_nc_find_type_entry(
      --		const char *string, 
      --		int	type, 
      -+		const char *string,
      -+		int	type,
      - 		const struct name_table_entry *table)
      - 		{ return(*(struct name_table_entry const **)0); }
      - 
      -@@ -2290,16 +2310,16 @@
      - 
      - #undef _nc_entry_match
      - NCURSES_BOOL _nc_entry_match(
      --		char	*n1, 
      -+		char	*n1,
      - 		char	*n2)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      - #undef _nc_read_entry_source
      - void	_nc_read_entry_source(
      --		FILE	*fp, 
      --		char	*buf, 
      --		int	literal, 
      --		NCURSES_BOOL silent, 
      -+		FILE	*fp,
      -+		char	*buf,
      -+		int	literal,
      -+		NCURSES_BOOL silent,
      - 		NCURSES_BOOL (*hook)(
      - 		ENTRY	*p1))
      - 		{ /* void */ }
      -@@ -2333,7 +2353,7 @@
      - 
      - #undef _nc_trans_string
      - char	_nc_trans_string(
      --		char	*ptr, 
      -+		char	*ptr,
      - 		char	*last)
      - 		{ return(*(char *)0); }
      - 
      -@@ -2349,7 +2369,7 @@
      - 
      - #undef _nc_reset_input
      - void	_nc_reset_input(
      --		FILE	*fp, 
      -+		FILE	*fp,
      - 		char	*buf)
      - 		{ /* void */ }
      - 
      -@@ -2357,7 +2377,7 @@
      - 
      - #undef _nc_doalloc
      - void	*_nc_doalloc(
      --		void	*oldp, 
      -+		void	*oldp,
      - 		size_t	amount)
      - 		{ return(*(void **)0); }
      - 
      -@@ -2425,8 +2445,8 @@
      - #include 
      - 
      - struct speed {
      --    int s;			
      --    int sp;			
      -+    int s;
      -+    int sp;
      - };
      - 
      - #undef _nc_baudrate
      -@@ -2524,13 +2544,13 @@
      - 
      - #undef idlok
      - int	idlok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      - #undef idcok
      - void	idcok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ /* void */ }
      - 
      -@@ -2541,31 +2561,31 @@
      - 
      - #undef nodelay
      - int	nodelay(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      - #undef notimeout
      - int	notimeout(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL f)
      - 		{ return(*(int *)0); }
      - 
      - #undef wtimeout
      - void	wtimeout(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		int	delay)
      - 		{ /* void */ }
      - 
      - #undef keypad
      - int	keypad(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      - #undef meta
      - int	meta(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2617,7 +2637,7 @@
      - 
      - #undef intrflush
      - int	intrflush(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2625,11 +2645,8 @@
      - 
      - #include 
      - 
      --#undef use_env
      --void	use_env(
      --		NCURSES_BOOL f)
      --		{ /* void */ }
      --
      -+#undef ttytype
      -+char	ttytype[256 ];
      - #undef LINES
      - int	LINES;
      - #undef COLS
      -@@ -2637,17 +2654,31 @@
      - #undef TABSIZE
      - int	TABSIZE;
      - 
      -+#undef use_env
      -+void	use_env(
      -+		NCURSES_BOOL f)
      -+		{ /* void */ }
      -+
      - #undef _nc_update_screensize
      - void	_nc_update_screensize(void)
      - 		{ /* void */ }
      - 
      --#undef ttytype
      --char	ttytype[256 ];
      -+#undef _nc_get_locale
      -+char	*_nc_get_locale(void)
      -+		{ return(*(char **)0); }
      -+
      -+#undef _nc_unicode_locale
      -+int	_nc_unicode_locale(void)
      -+		{ return(*(int *)0); }
      -+
      -+#undef _nc_locale_breaks_acs
      -+int	_nc_locale_breaks_acs(void)
      -+		{ return(*(int *)0); }
      - 
      - #undef setupterm
      - int	setupterm(
      --		char	*tname, 
      --		int	Filedes, 
      -+		char	*tname,
      -+		int	Filedes,
      - 		int	*errret)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2660,7 +2691,7 @@
      - 
      - #undef tgetent
      - int	tgetent(
      --		char	*bufp, 
      -+		char	*bufp,
      - 		const char *name)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2682,7 +2713,7 @@
      - 
      - #undef tgetstr
      - char	*tgetstr(
      --		char	*id, 
      -+		char	*id,
      - 		char	**area)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2696,8 +2727,8 @@
      - 
      - #undef tgoto
      - char	*tgoto(
      --		const char *string, 
      --		int	x, 
      -+		const char *string,
      -+		int	x,
      - 		int	y)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2731,9 +2762,16 @@
      - #undef _nc_tparm_err
      - int	_nc_tparm_err;
      - 
      -+#undef _nc_tparm_analyze
      -+int	_nc_tparm_analyze(
      -+		const char *string,
      -+		char	*p_is_s[9 ],
      -+		int	*popcount)
      -+		{ return(*(int *)0); }
      -+
      - #undef tparm
      - char	*tparm(
      --		char	*string, 
      -+		char	*string,
      - 		...)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2767,8 +2805,8 @@
      - 
      - #undef tputs
      - int	tputs(
      --		const char *string, 
      --		int	affcnt, 
      -+		const char *string,
      -+		int	affcnt,
      - 		int	(*outc)(
      - 		int	p1))
      - 		{ return(*(int *)0); }
      -@@ -2789,15 +2827,25 @@
      - 
      - #undef _tracef
      - void	_tracef(
      --		const char *fmt, 
      -+		const char *fmt,
      - 		...)
      - 		{ /* void */ }
      - 
      -+#undef _nc_retrace_bool
      -+NCURSES_BOOL _nc_retrace_bool(
      -+		NCURSES_BOOL code)
      -+		{ return(*(NCURSES_BOOL *)0); }
      -+
      - #undef _nc_retrace_int
      - int	_nc_retrace_int(
      - 		int	code)
      - 		{ return(*(int *)0); }
      - 
      -+#undef _nc_retrace_unsigned
      -+unsigned _nc_retrace_unsigned(
      -+		unsigned code)
      -+		{ return(*(unsigned *)0); }
      -+
      - #undef _nc_retrace_ptr
      - char	*_nc_retrace_ptr(
      - 		char	*code)
      -@@ -2876,8 +2924,8 @@
      - 
      - #undef _nc_timed_wait
      - int	_nc_timed_wait(
      --		int	mode, 
      --		int	milliseconds, 
      -+		int	mode,
      -+		int	milliseconds,
      - 		int	*timeleft)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2890,8 +2938,8 @@
      - 
      - #undef _nc_name_match
      - int	_nc_name_match(
      --		const char *const namelst, 
      --		const char *const name, 
      -+		const char *const namelst,
      -+		const char *const name,
      - 		const char *const delim)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2914,14 +2962,14 @@
      - 
      - #undef _nc_parse_entry
      - int	_nc_parse_entry(
      --		struct entry *entryp, 
      --		int	literal, 
      -+		struct entry *entryp,
      -+		int	literal,
      - 		NCURSES_BOOL silent)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_capcmp
      - int	_nc_capcmp(
      --		const char *s, 
      -+		const char *s,
      - 		const char *t)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2944,14 +2992,14 @@
      - 
      - #undef _nc_read_file_entry
      - int	_nc_read_file_entry(
      --		const char *const filename, 
      -+		const char *const filename,
      - 		TERMTYPE *ptr)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_read_entry
      - int	_nc_read_entry(
      --		const char *const tn, 
      --		char	*const filename, 
      -+		const char *const tn,
      -+		char	*const filename,
      - 		TERMTYPE *const tp)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2959,7 +3007,7 @@
      - 
      - #undef _nc_read_termcap_entry
      - int	_nc_read_termcap_entry(
      --		const char *const tn, 
      -+		const char *const tn,
      - 		TERMTYPE *const tp)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2967,7 +3015,7 @@
      - 
      - #undef _nc_set_buffer
      - void	_nc_set_buffer(
      --		FILE	*ofp, 
      -+		FILE	*ofp,
      - 		NCURSES_BOOL buffered)
      - 		{ /* void */ }
      - 
      -@@ -2975,32 +3023,32 @@
      - 
      - #undef _nc_str_init
      - string_desc *_nc_str_init(
      --		string_desc *dst, 
      --		char	*src, 
      -+		string_desc *dst,
      -+		char	*src,
      - 		size_t	len)
      - 		{ return(*(string_desc **)0); }
      - 
      - #undef _nc_str_null
      - string_desc *_nc_str_null(
      --		string_desc *dst, 
      -+		string_desc *dst,
      - 		size_t	len)
      - 		{ return(*(string_desc **)0); }
      - 
      - #undef _nc_str_copy
      - string_desc *_nc_str_copy(
      --		string_desc *dst, 
      -+		string_desc *dst,
      - 		string_desc *src)
      - 		{ return(*(string_desc **)0); }
      - 
      - #undef _nc_safe_strcat
      - NCURSES_BOOL _nc_safe_strcat(
      --		string_desc *dst, 
      -+		string_desc *dst,
      - 		const char *src)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      - #undef _nc_safe_strcpy
      - NCURSES_BOOL _nc_safe_strcpy(
      --		string_desc *dst, 
      -+		string_desc *dst,
      - 		const char *src)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -3013,10 +3061,16 @@
      - 
      - #undef _nc_trace_buf
      - char	*_nc_trace_buf(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		size_t	want)
      - 		{ return(*(char **)0); }
      - 
      -+#undef _nc_trace_bufcat
      -+char	*_nc_trace_bufcat(
      -+		int	bufnum,
      -+		const char *value)
      -+		{ return(*(char **)0); }
      -+
      - /* ./trace/trace_tries.c */
      - 
      - #undef _nc_trace_tries
      -@@ -3035,7 +3089,7 @@
      - 
      - #undef _nc_visbuf2
      - const char *_nc_visbuf2(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		const char *buf)
      - 		{ return(*(const char **)0); }
      - 
      -@@ -3044,6 +3098,12 @@
      - 		const char *buf)
      - 		{ return(*(const char **)0); }
      - 
      -+#undef _nc_visbufn
      -+const char *_nc_visbufn(
      -+		const char *buf,
      -+		int	len)
      -+		{ return(*(const char **)0); }
      -+
      - /* ./tinfo/write_entry.c */
      - 
      - #undef _nc_set_writedir
      -diff -urNd -urNd ncurses-5.3/ncurses/llib-lncursesw ncurses-5.3.20030906.orig/ncurses/llib-lncursesw
      ---- ncurses-5.3/ncurses/llib-lncursesw	Sat Aug 31 16:58:14 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/llib-lncursesw	Fri Sep 12 16:42:59 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
      -+ * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      -  ****************************************************************************/
      - 
      - /****************************************************************************
      -- *  Author: Thomas E. Dickey 2001,2002                                      *
      -+ *  Author: Thomas E. Dickey 2001-2003                                      *
      -  ****************************************************************************/
      - /* LINTLIBRARY */
      - 
      -@@ -59,8 +59,8 @@
      - 
      - #undef _nc_scroll_oldhash
      - void	_nc_scroll_oldhash(
      --		int	n, 
      --		int	top, 
      -+		int	n,
      -+		int	top,
      - 		int	bot)
      - 		{ /* void */ }
      - 
      -@@ -70,37 +70,37 @@
      - 
      - #undef _nc_render
      - cchar_t	_nc_render(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		cchar_t	ch)
      - 		{ return(*(cchar_t *)0); }
      - 
      - #undef _nc_waddch_nosync
      - int	_nc_waddch_nosync(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const cchar_t c)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddch
      - int	waddch(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const chtype ch)
      - 		{ return(*(int *)0); }
      - 
      - #undef wechochar
      - int	wechochar(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const chtype ch)
      - 		{ return(*(int *)0); }
      - 
      - #undef wadd_wch
      - int	wadd_wch(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const cchar_t *wch)
      - 		{ return(*(int *)0); }
      - 
      - #undef wecho_wchar
      - int	wecho_wchar(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const cchar_t *wch)
      - 		{ return(*(int *)0); }
      - 
      -@@ -108,15 +108,15 @@
      - 
      - #undef waddnstr
      - int	waddnstr(
      --		WINDOW	*win, 
      --		const char *astr, 
      -+		WINDOW	*win,
      -+		const char *astr,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddchnstr
      - int	waddchnstr(
      --		WINDOW	*win, 
      --		const chtype *astr, 
      -+		WINDOW	*win,
      -+		const chtype *astr,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -127,15 +127,15 @@
      - 
      - #undef wadd_wchnstr
      - int	wadd_wchnstr(
      --		WINDOW	*win, 
      --		const cchar_t *const astr, 
      -+		WINDOW	*win,
      -+		const cchar_t *const astr,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddnwstr
      - int	waddnwstr(
      --		WINDOW	*win, 
      --		const wchar_t *str, 
      -+		WINDOW	*win,
      -+		const wchar_t *str,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -149,25 +149,25 @@
      - 
      - #undef wbkgrndset
      - void	wbkgrndset(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const cchar_t *ch)
      - 		{ /* void */ }
      - 
      - #undef wbkgdset
      - void	wbkgdset(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		chtype	ch)
      - 		{ /* void */ }
      - 
      - #undef wbkgrnd
      - int	wbkgrnd(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const cchar_t *ch)
      - 		{ return(*(int *)0); }
      - 
      - #undef wbkgd
      - int	wbkgd(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		chtype	ch)
      - 		{ return(*(int *)0); }
      - 
      -@@ -175,14 +175,14 @@
      - 
      - #undef wborder
      - int	wborder(
      --		WINDOW	*win, 
      --		chtype	ls, 
      --		chtype	rs, 
      --		chtype	ts, 
      --		chtype	bs, 
      --		chtype	tl, 
      --		chtype	tr, 
      --		chtype	bl, 
      -+		WINDOW	*win,
      -+		chtype	ls,
      -+		chtype	rs,
      -+		chtype	ts,
      -+		chtype	bs,
      -+		chtype	tl,
      -+		chtype	tr,
      -+		chtype	bl,
      - 		chtype	br)
      - 		{ return(*(int *)0); }
      - 
      -@@ -190,10 +190,10 @@
      - 
      - #undef wchgat
      - int	wchgat(
      --		WINDOW	*win, 
      --		int	n, 
      --		attr_t	attr, 
      --		short	color, 
      -+		WINDOW	*win,
      -+		int	n,
      -+		attr_t	attr,
      -+		short	color,
      - 		const void *opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -208,7 +208,7 @@
      - 
      - #undef clearok
      - int	clearok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -235,22 +235,26 @@
      - #undef COLORS
      - int	COLORS;
      - 
      -+#undef _nc_reset_colors
      -+NCURSES_BOOL _nc_reset_colors(void)
      -+		{ return(*(NCURSES_BOOL *)0); }
      -+
      - #undef start_color
      - int	start_color(void)
      - 		{ return(*(int *)0); }
      - 
      - #undef init_pair
      - int	init_pair(
      --		short	pair, 
      --		short	f, 
      -+		short	pair,
      -+		short	f,
      - 		short	b)
      - 		{ return(*(int *)0); }
      - 
      - #undef init_color
      - int	init_color(
      --		short	color, 
      --		short	r, 
      --		short	g, 
      -+		short	color,
      -+		short	r,
      -+		short	g,
      - 		short	b)
      - 		{ return(*(int *)0); }
      - 
      -@@ -264,24 +268,24 @@
      - 
      - #undef color_content
      - int	color_content(
      --		short	color, 
      --		short	*r, 
      --		short	*g, 
      -+		short	color,
      -+		short	*r,
      -+		short	*g,
      - 		short	*b)
      - 		{ return(*(int *)0); }
      - 
      - #undef pair_content
      - int	pair_content(
      --		short	pair, 
      --		short	*f, 
      -+		short	pair,
      -+		short	*f,
      - 		short	*b)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_do_color
      - void	_nc_do_color(
      --		int	old_pair, 
      --		int	pair, 
      --		NCURSES_BOOL reverse, 
      -+		int	old_pair,
      -+		int	pair,
      -+		NCURSES_BOOL reverse,
      - 		int	(*outc)(
      - 		int	p1))
      - 		{ /* void */ }
      -@@ -290,8 +294,8 @@
      - 
      - #undef wcolor_set
      - int	wcolor_set(
      --		WINDOW	*win, 
      --		short	color_pair_number, 
      -+		WINDOW	*win,
      -+		short	color_pair_number,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -347,7 +351,7 @@
      - 
      - #undef addchnstr
      - int	addchnstr(
      --		const chtype *a1, 
      -+		const chtype *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -358,7 +362,7 @@
      - 
      - #undef addnstr
      - int	addnstr(
      --		const char *a1, 
      -+		const char *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -384,27 +388,27 @@
      - 
      - #undef attr_get
      - int	attr_get(
      --		attr_t	*a1, 
      --		short	*a2, 
      -+		attr_t	*a1,
      -+		short	*a2,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef attr_off
      - int	attr_off(
      --		attr_t	a1, 
      -+		attr_t	a1,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef attr_on
      - int	attr_on(
      --		attr_t	a1, 
      -+		attr_t	a1,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef attr_set
      - int	attr_set(
      --		attr_t	a1, 
      --		short	a2, 
      -+		attr_t	a1,
      -+		short	a2,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -420,28 +424,28 @@
      - 
      - #undef border
      - int	border(
      --		chtype	a1, 
      --		chtype	a2, 
      --		chtype	a3, 
      --		chtype	a4, 
      --		chtype	a5, 
      --		chtype	a6, 
      --		chtype	a7, 
      -+		chtype	a1,
      -+		chtype	a2,
      -+		chtype	a3,
      -+		chtype	a4,
      -+		chtype	a5,
      -+		chtype	a6,
      -+		chtype	a7,
      - 		chtype	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef box
      - int	box(
      --		WINDOW	*a1, 
      --		chtype	a2, 
      -+		WINDOW	*a1,
      -+		chtype	a2,
      - 		chtype	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef chgat
      - int	chgat(
      --		int	a1, 
      --		attr_t	a2, 
      --		short	a3, 
      -+		int	a1,
      -+		attr_t	a2,
      -+		short	a3,
      - 		const void *z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -459,7 +463,7 @@
      - 
      - #undef color_set
      - int	color_set(
      --		short	a1, 
      -+		short	a1,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -496,7 +500,7 @@
      - 
      - #undef getnstr
      - int	getnstr(
      --		char	*a1, 
      -+		char	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -507,7 +511,7 @@
      - 
      - #undef hline
      - int	hline(
      --		chtype	a1, 
      -+		chtype	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -517,7 +521,7 @@
      - 
      - #undef inchnstr
      - int	inchnstr(
      --		chtype	*a1, 
      -+		chtype	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -528,7 +532,7 @@
      - 
      - #undef innstr
      - int	innstr(
      --		char	*a1, 
      -+		char	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -548,7 +552,7 @@
      - 
      - #undef insnstr
      - int	insnstr(
      --		const char *a1, 
      -+		const char *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -564,323 +568,323 @@
      - 
      - #undef move
      - int	move(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddch
      - int	mvaddch(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const chtype z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddchnstr
      - int	mvaddchnstr(
      --		int	a1, 
      --		int	a2, 
      --		const chtype *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const chtype *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddchstr
      - int	mvaddchstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const chtype *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddnstr
      - int	mvaddnstr(
      --		int	a1, 
      --		int	a2, 
      --		const char *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const char *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddstr
      - int	mvaddstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvchgat
      - int	mvchgat(
      --		int	a1, 
      --		int	a2, 
      --		int	a3, 
      --		attr_t	a4, 
      --		short	a5, 
      -+		int	a1,
      -+		int	a2,
      -+		int	a3,
      -+		attr_t	a4,
      -+		short	a5,
      - 		const void *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvdelch
      - int	mvdelch(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvgetch
      - int	mvgetch(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvgetnstr
      - int	mvgetnstr(
      --		int	a1, 
      --		int	a2, 
      --		char	*a3, 
      -+		int	a1,
      -+		int	a2,
      -+		char	*a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvgetstr
      - int	mvgetstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvhline
      - int	mvhline(
      --		int	a1, 
      --		int	a2, 
      --		chtype	a3, 
      -+		int	a1,
      -+		int	a2,
      -+		chtype	a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinch
      - chtype	mvinch(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(chtype *)0); }
      - 
      - #undef mvinchnstr
      - int	mvinchnstr(
      --		int	a1, 
      --		int	a2, 
      --		chtype	*a3, 
      -+		int	a1,
      -+		int	a2,
      -+		chtype	*a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinchstr
      - int	mvinchstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		chtype	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinnstr
      - int	mvinnstr(
      --		int	a1, 
      --		int	a2, 
      --		char	*a3, 
      -+		int	a1,
      -+		int	a2,
      -+		char	*a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinsch
      - int	mvinsch(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		chtype	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinsnstr
      - int	mvinsnstr(
      --		int	a1, 
      --		int	a2, 
      --		const char *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const char *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinsstr
      - int	mvinsstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinstr
      - int	mvinstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvvline
      - int	mvvline(
      --		int	a1, 
      --		int	a2, 
      --		chtype	a3, 
      -+		int	a1,
      -+		int	a2,
      -+		chtype	a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddch
      - int	mvwaddch(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const chtype z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddchnstr
      - int	mvwaddchnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const chtype *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const chtype *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddchstr
      - int	mvwaddchstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const chtype *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddnstr
      - int	mvwaddnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const char *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const char *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddstr
      - int	mvwaddstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwchgat
      - int	mvwchgat(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		int	a4, 
      --		attr_t	a5, 
      --		short	a6, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		int	a4,
      -+		attr_t	a5,
      -+		short	a6,
      - 		const void *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwdelch
      - int	mvwdelch(
      --		WINDOW	*a1, 
      --		int	a2, 
      -+		WINDOW	*a1,
      -+		int	a2,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwgetch
      - int	mvwgetch(
      --		WINDOW	*a1, 
      --		int	a2, 
      -+		WINDOW	*a1,
      -+		int	a2,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwgetnstr
      - int	mvwgetnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		char	*a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		char	*a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwgetstr
      - int	mvwgetstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwhline
      - int	mvwhline(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		chtype	a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		chtype	a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinch
      - chtype	mvwinch(
      --		WINDOW	*a1, 
      --		int	a2, 
      -+		WINDOW	*a1,
      -+		int	a2,
      - 		int	z)
      - 		{ return(*(chtype *)0); }
      - 
      - #undef mvwinchnstr
      - int	mvwinchnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		chtype	*a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		chtype	*a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinchstr
      - int	mvwinchstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		chtype	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinnstr
      - int	mvwinnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		char	*a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		char	*a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinsch
      - int	mvwinsch(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		chtype	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinsnstr
      - int	mvwinsnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const char *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const char *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinsstr
      - int	mvwinsstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinstr
      - int	mvwinstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwvline
      - int	mvwvline(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		chtype	a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		chtype	a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -910,19 +914,19 @@
      - 
      - #undef setscrreg
      - int	setscrreg(
      --		int	a1, 
      -+		int	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef slk_attr_off
      - int	slk_attr_off(
      --		const attr_t a1, 
      -+		const attr_t a1,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef slk_attr_on
      - int	slk_attr_on(
      --		attr_t	a1, 
      -+		attr_t	a1,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -941,8 +945,8 @@
      - 
      - #undef touchline
      - int	touchline(
      --		WINDOW	*a1, 
      --		int	a2, 
      -+		WINDOW	*a1,
      -+		int	a2,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -958,67 +962,67 @@
      - 
      - #undef vline
      - int	vline(
      --		chtype	a1, 
      -+		chtype	a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef vw_printw
      - int	vw_printw(
      --		WINDOW	*a1, 
      --		char	*a2, 
      -+		WINDOW	*a1,
      -+		const char *a2,
      - 		va_list	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef vw_scanw
      - int	vw_scanw(
      --		WINDOW	*a1, 
      --		char	*a2, 
      -+		WINDOW	*a1,
      -+		char	*a2,
      - 		va_list	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddchstr
      - int	waddchstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		const chtype *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddstr
      - int	waddstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattron
      - int	wattron(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattroff
      - int	wattroff(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattrset
      - int	wattrset(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattr_get
      - int	wattr_get(
      --		WINDOW	*a1, 
      --		attr_t	*a2, 
      --		short	*a3, 
      -+		WINDOW	*a1,
      -+		attr_t	*a2,
      -+		short	*a3,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wattr_set
      - int	wattr_set(
      --		WINDOW	*a1, 
      --		attr_t	a2, 
      --		short	a3, 
      -+		WINDOW	*a1,
      -+		attr_t	a2,
      -+		short	a3,
      - 		void	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1029,13 +1033,13 @@
      - 
      - #undef wgetstr
      - int	wgetstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef winchstr
      - int	winchstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		chtype	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1046,13 +1050,13 @@
      - 
      - #undef winsstr
      - int	winsstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		const char *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef winstr
      - int	winstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		char	*z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1073,7 +1077,7 @@
      - 
      - #undef add_wchnstr
      - int	add_wchnstr(
      --		const cchar_t *a1, 
      -+		const cchar_t *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1084,7 +1088,7 @@
      - 
      - #undef addnwstr
      - int	addnwstr(
      --		const wchar_t *a1, 
      -+		const wchar_t *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1105,20 +1109,20 @@
      - 
      - #undef border_set
      - int	border_set(
      --		const cchar_t *a1, 
      --		const cchar_t *a2, 
      --		const cchar_t *a3, 
      --		const cchar_t *a4, 
      --		const cchar_t *a5, 
      --		const cchar_t *a6, 
      --		const cchar_t *a7, 
      -+		const cchar_t *a1,
      -+		const cchar_t *a2,
      -+		const cchar_t *a3,
      -+		const cchar_t *a4,
      -+		const cchar_t *a5,
      -+		const cchar_t *a6,
      -+		const cchar_t *a7,
      - 		const cchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef box_set
      - int	box_set(
      --		WINDOW	*a1, 
      --		const cchar_t *a2, 
      -+		WINDOW	*a1,
      -+		const cchar_t *a2,
      - 		const cchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1129,12 +1133,12 @@
      - 
      - #undef get_wch
      - int	get_wch(
      --		wint_t *z)
      -+		wint_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef get_wstr
      - int	get_wstr(
      --		wint_t *z)
      -+		wint_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef getbkgrnd
      -@@ -1144,13 +1148,13 @@
      - 
      - #undef getn_wstr
      - int	getn_wstr(
      --		wint_t *a1, 
      -+		wint_t	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef hline_set
      - int	hline_set(
      --		const cchar_t *a1, 
      -+		const cchar_t *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1161,7 +1165,7 @@
      - 
      - #undef in_wchnstr
      - int	in_wchnstr(
      --		cchar_t	*a1, 
      -+		cchar_t	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1172,13 +1176,13 @@
      - 
      - #undef innwstr
      - int	innwstr(
      --		wchar_t *a1, 
      -+		wchar_t	*a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef ins_nwstr
      - int	ins_nwstr(
      --		const wchar_t *a1, 
      -+		const wchar_t *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1194,335 +1198,335 @@
      - 
      - #undef inwstr
      - int	inwstr(
      --		wchar_t *z)
      -+		wchar_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvadd_wch
      - int	mvadd_wch(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const cchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvadd_wchnstr
      - int	mvadd_wchnstr(
      --		int	a1, 
      --		int	a2, 
      --		const cchar_t *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const cchar_t *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvadd_wchstr
      - int	mvadd_wchstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const cchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddnwstr
      - int	mvaddnwstr(
      --		int	a1, 
      --		int	a2, 
      --		const wchar_t *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const wchar_t *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvaddwstr
      - int	mvaddwstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const wchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvget_wch
      - int	mvget_wch(
      --		int	a1, 
      --		int	a2, 
      --		wint_t *z)
      -+		int	a1,
      -+		int	a2,
      -+		wint_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvget_wstr
      - int	mvget_wstr(
      --		int	a1, 
      --		int	a2, 
      --		wint_t *z)
      -+		int	a1,
      -+		int	a2,
      -+		wint_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvgetn_wstr
      - int	mvgetn_wstr(
      --		int	a1, 
      --		int	a2, 
      --		wint_t *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		wint_t	*a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvhline_set
      - int	mvhline_set(
      --		int	a1, 
      --		int	a2, 
      --		const cchar_t *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const cchar_t *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvin_wch
      - int	mvin_wch(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		cchar_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvin_wchnstr
      - int	mvin_wchnstr(
      --		int	a1, 
      --		int	a2, 
      --		cchar_t	*a3, 
      -+		int	a1,
      -+		int	a2,
      -+		cchar_t	*a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvin_wchstr
      - int	mvin_wchstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		cchar_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinnwstr
      - int	mvinnwstr(
      --		int	a1, 
      --		int	a2, 
      --		wchar_t *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		wchar_t	*a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvins_nwstr
      - int	mvins_nwstr(
      --		int	a1, 
      --		int	a2, 
      --		const wchar_t *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const wchar_t *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvins_wch
      - int	mvins_wch(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const cchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvins_wstr
      - int	mvins_wstr(
      --		int	a1, 
      --		int	a2, 
      -+		int	a1,
      -+		int	a2,
      - 		const wchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvinwstr
      - int	mvinwstr(
      --		int	a1, 
      --		int	a2, 
      --		wchar_t *z)
      -+		int	a1,
      -+		int	a2,
      -+		wchar_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvvline_set
      - int	mvvline_set(
      --		int	a1, 
      --		int	a2, 
      --		const cchar_t *a3, 
      -+		int	a1,
      -+		int	a2,
      -+		const cchar_t *a3,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwadd_wch
      - int	mvwadd_wch(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const cchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwadd_wchnstr
      - int	mvwadd_wchnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const cchar_t *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const cchar_t *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwadd_wchstr
      - int	mvwadd_wchstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const cchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddnwstr
      - int	mvwaddnwstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const wchar_t *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const wchar_t *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwaddwstr
      - int	mvwaddwstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const wchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwget_wch
      - int	mvwget_wch(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		wint_t *z)
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		wint_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwget_wstr
      - int	mvwget_wstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		wint_t *z)
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		wint_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwgetn_wstr
      - int	mvwgetn_wstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		wint_t *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		wint_t	*a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwhline_set
      - int	mvwhline_set(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const cchar_t *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const cchar_t *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwin_wch
      - int	mvwin_wch(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		cchar_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwin_wchnstr
      - int	mvwin_wchnstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		cchar_t	*a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		cchar_t	*a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwin_wchstr
      - int	mvwin_wchstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		cchar_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinnwstr
      - int	mvwinnwstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		wchar_t *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		wchar_t	*a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwins_nwstr
      - int	mvwins_nwstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const wchar_t *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const wchar_t *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwins_wch
      - int	mvwins_wch(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const cchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwins_wstr
      - int	mvwins_wstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      - 		const wchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwinwstr
      - int	mvwinwstr(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		wchar_t *z)
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		wchar_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwvline_set
      - int	mvwvline_set(
      --		WINDOW	*a1, 
      --		int	a2, 
      --		int	a3, 
      --		const cchar_t *a4, 
      -+		WINDOW	*a1,
      -+		int	a2,
      -+		int	a3,
      -+		const cchar_t *a4,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef vline_set
      - int	vline_set(
      --		const cchar_t *a1, 
      -+		const cchar_t *a1,
      - 		int	z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wadd_wchstr
      - int	wadd_wchstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		const cchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef waddwstr
      - int	waddwstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		const wchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wget_wstr
      - int	wget_wstr(
      --		WINDOW	*a1, 
      --		wint_t *z)
      -+		WINDOW	*a1,
      -+		wint_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef win_wchstr
      - int	win_wchstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		cchar_t	*z)
      - 		{ return(*(int *)0); }
      - 
      - #undef wins_wstr
      - int	wins_wstr(
      --		WINDOW	*a1, 
      -+		WINDOW	*a1,
      - 		const wchar_t *z)
      - 		{ return(*(int *)0); }
      - 
      - #undef mouse_trafo
      - NCURSES_BOOL mouse_trafo(
      --		int	*a1, 
      --		int	*a2, 
      -+		int	*a1,
      -+		int	*a2,
      - 		NCURSES_BOOL z)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -1535,8 +1539,8 @@
      - 
      - #undef _nc_wgetch
      - int	_nc_wgetch(
      --		WINDOW	*win, 
      --		unsigned long *result, 
      -+		WINDOW	*win,
      -+		unsigned long *result,
      - 		int	use_meta)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1549,8 +1553,8 @@
      - 
      - #undef wgetnstr
      - int	wgetnstr(
      --		WINDOW	*win, 
      --		char	*str, 
      -+		WINDOW	*win,
      -+		char	*str,
      - 		int	maxlen)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1558,8 +1562,8 @@
      - 
      - #undef whline
      - int	whline(
      --		WINDOW	*win, 
      --		chtype	ch, 
      -+		WINDOW	*win,
      -+		chtype	ch,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1567,7 +1571,7 @@
      - 
      - #undef immedok
      - void	immedok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ /* void */ }
      - 
      -@@ -1575,8 +1579,8 @@
      - 
      - #undef winchnstr
      - int	winchnstr(
      --		WINDOW	*win, 
      --		chtype	*str, 
      -+		WINDOW	*win,
      -+		chtype	*str,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1588,26 +1592,30 @@
      - 
      - /* ./base/lib_insch.c */
      - 
      -+#undef _nc_insert_ch
      -+void	_nc_insert_ch(
      -+		WINDOW	*win,
      -+		chtype	ch)
      -+		{ /* void */ }
      -+
      - #undef winsch
      - int	winsch(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		chtype	c)
      - 		{ return(*(int *)0); }
      - 
      --/* ./base/lib_insdel.c */
      --
      --#undef winsdelln
      --int	winsdelln(
      --		WINDOW	*win, 
      -+#undef winsnstr
      -+int	winsnstr(
      -+		WINDOW	*win,
      -+		const char *s,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      --/* ./base/lib_insstr.c */
      -+/* ./base/lib_insdel.c */
      - 
      --#undef winsnstr
      --int	winsnstr(
      --		WINDOW	*win, 
      --		const char *s, 
      -+#undef winsdelln
      -+int	winsdelln(
      -+		WINDOW	*win,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1615,8 +1623,8 @@
      - 
      - #undef winnstr
      - int	winnstr(
      --		WINDOW	*win, 
      --		char	*str, 
      -+		WINDOW	*win,
      -+		char	*str,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1630,7 +1638,7 @@
      - 
      - #undef leaveok
      - int	leaveok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1648,14 +1656,14 @@
      - 
      - #undef mousemask
      - mmask_t	mousemask(
      --		mmask_t	newmask, 
      -+		mmask_t	newmask,
      - 		mmask_t	*oldmask)
      - 		{ return(*(mmask_t *)0); }
      - 
      - #undef wenclose
      - NCURSES_BOOL wenclose(
      --		const WINDOW *win, 
      --		int	y, 
      -+		const WINDOW *win,
      -+		int	y,
      - 		int	x)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -1670,9 +1678,9 @@
      - 
      - #undef wmouse_trafo
      - NCURSES_BOOL wmouse_trafo(
      --		const WINDOW *win, 
      --		int	*pY, 
      --		int	*pX, 
      -+		const WINDOW *win,
      -+		int	*pY,
      -+		int	*pX,
      - 		NCURSES_BOOL to_screen)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -1680,8 +1688,8 @@
      - 
      - #undef wmove
      - int	wmove(
      --		WINDOW	*win, 
      --		int	y, 
      -+		WINDOW	*win,
      -+		int	y,
      - 		int	x)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1689,7 +1697,7 @@
      - 
      - #undef _nc_msec_cost
      - int	_nc_msec_cost(
      --		const char *const cap, 
      -+		const char *const cap,
      - 		int	affcnt)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1707,9 +1715,9 @@
      - 
      - #undef mvcur
      - int	mvcur(
      --		int	yold, 
      --		int	xold, 
      --		int	ynew, 
      -+		int	yold,
      -+		int	xold,
      -+		int	ynew,
      - 		int	xnew)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1720,8 +1728,8 @@
      - 
      - #undef mvwin
      - int	mvwin(
      --		WINDOW	*win, 
      --		int	by, 
      -+		WINDOW	*win,
      -+		int	by,
      - 		int	bx)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1733,8 +1741,8 @@
      - 
      - #undef newterm
      - SCREEN	*newterm(
      --		char	*name, 
      --		FILE	*ofp, 
      -+		char	*name,
      -+		FILE	*ofp,
      - 		FILE	*ifp)
      - 		{ return(*(SCREEN **)0); }
      - 
      -@@ -1747,36 +1755,36 @@
      - 
      - #undef newwin
      - WINDOW	*newwin(
      --		int	num_lines, 
      --		int	num_columns, 
      --		int	begy, 
      -+		int	num_lines,
      -+		int	num_columns,
      -+		int	begy,
      - 		int	begx)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef derwin
      - WINDOW	*derwin(
      --		WINDOW	*orig, 
      --		int	num_lines, 
      --		int	num_columns, 
      --		int	begy, 
      -+		WINDOW	*orig,
      -+		int	num_lines,
      -+		int	num_columns,
      -+		int	begy,
      - 		int	begx)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef subwin
      - WINDOW	*subwin(
      --		WINDOW	*w, 
      --		int	l, 
      --		int	c, 
      --		int	y, 
      -+		WINDOW	*w,
      -+		int	l,
      -+		int	c,
      -+		int	y,
      - 		int	x)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef _nc_makenew
      - WINDOW	*_nc_makenew(
      --		int	num_lines, 
      --		int	num_columns, 
      --		int	begy, 
      --		int	begx, 
      -+		int	num_lines,
      -+		int	num_columns,
      -+		int	begy,
      -+		int	begx,
      - 		int	flags)
      - 		{ return(*(WINDOW **)0); }
      - 
      -@@ -1794,26 +1802,26 @@
      - 
      - #undef overlay
      - int	overlay(
      --		const WINDOW *win1, 
      -+		const WINDOW *win1,
      - 		WINDOW	*win2)
      - 		{ return(*(int *)0); }
      - 
      - #undef overwrite
      - int	overwrite(
      --		const WINDOW *win1, 
      -+		const WINDOW *win1,
      - 		WINDOW	*win2)
      - 		{ return(*(int *)0); }
      - 
      - #undef copywin
      - int	copywin(
      --		const WINDOW *src, 
      --		WINDOW	*dst, 
      --		int	sminrow, 
      --		int	smincol, 
      --		int	dminrow, 
      --		int	dmincol, 
      --		int	dmaxrow, 
      --		int	dmaxcol, 
      -+		const WINDOW *src,
      -+		WINDOW	*dst,
      -+		int	sminrow,
      -+		int	smincol,
      -+		int	dminrow,
      -+		int	dmincol,
      -+		int	dmaxrow,
      -+		int	dmaxcol,
      - 		int	over)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1821,44 +1829,44 @@
      - 
      - #undef newpad
      - WINDOW	*newpad(
      --		int	l, 
      -+		int	l,
      - 		int	c)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef subpad
      - WINDOW	*subpad(
      --		WINDOW	*orig, 
      --		int	l, 
      --		int	c, 
      --		int	begy, 
      -+		WINDOW	*orig,
      -+		int	l,
      -+		int	c,
      -+		int	begy,
      - 		int	begx)
      - 		{ return(*(WINDOW **)0); }
      - 
      - #undef prefresh
      - int	prefresh(
      --		WINDOW	*win, 
      --		int	pminrow, 
      --		int	pmincol, 
      --		int	sminrow, 
      --		int	smincol, 
      --		int	smaxrow, 
      -+		WINDOW	*win,
      -+		int	pminrow,
      -+		int	pmincol,
      -+		int	sminrow,
      -+		int	smincol,
      -+		int	smaxrow,
      - 		int	smaxcol)
      - 		{ return(*(int *)0); }
      - 
      - #undef pnoutrefresh
      - int	pnoutrefresh(
      --		WINDOW	*win, 
      --		int	pminrow, 
      --		int	pmincol, 
      --		int	sminrow, 
      --		int	smincol, 
      --		int	smaxrow, 
      -+		WINDOW	*win,
      -+		int	pminrow,
      -+		int	pmincol,
      -+		int	sminrow,
      -+		int	smincol,
      -+		int	smaxrow,
      - 		int	smaxcol)
      - 		{ return(*(int *)0); }
      - 
      - #undef pechochar
      - int	pechochar(
      --		WINDOW	*pad, 
      -+		WINDOW	*pad,
      - 		const chtype ch)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1866,38 +1874,38 @@
      - 
      - #undef printw
      - int	printw(
      --		char	*fmt, 
      -+		const char *fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef wprintw
      - int	wprintw(
      --		WINDOW	*win, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		const char *fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvprintw
      - int	mvprintw(
      --		int	y, 
      --		int	x, 
      --		char	*fmt, 
      -+		int	y,
      -+		int	x,
      -+		const char *fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwprintw
      - int	mvwprintw(
      --		WINDOW	*win, 
      --		int	y, 
      --		int	x, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		int	y,
      -+		int	x,
      -+		const char *fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef vwprintw
      - int	vwprintw(
      --		WINDOW	*win, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		const char *fmt,
      - 		va_list	argp)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1905,8 +1913,8 @@
      - 
      - #undef wredrawln
      - int	wredrawln(
      --		WINDOW	*win, 
      --		int	beg, 
      -+		WINDOW	*win,
      -+		int	beg,
      - 		int	num)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1926,8 +1934,8 @@
      - 
      - #undef restartterm
      - int	restartterm(
      --		char	*termp, 
      --		int	filenum, 
      -+		char	*termp,
      -+		int	filenum,
      - 		int	*errret)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1935,38 +1943,38 @@
      - 
      - #undef vwscanw
      - int	vwscanw(
      --		WINDOW	*win, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		char	*fmt,
      - 		va_list	argp)
      - 		{ return(*(int *)0); }
      - 
      - #undef scanw
      - int	scanw(
      --		char	*fmt, 
      -+		char	*fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef wscanw
      - int	wscanw(
      --		WINDOW	*win, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		char	*fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvscanw
      - int	mvscanw(
      --		int	y, 
      --		int	x, 
      --		char	*fmt, 
      -+		int	y,
      -+		int	x,
      -+		char	*fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      - #undef mvwscanw
      - int	mvwscanw(
      --		WINDOW	*win, 
      --		int	y, 
      --		int	x, 
      --		char	*fmt, 
      -+		WINDOW	*win,
      -+		int	y,
      -+		int	x,
      -+		char	*fmt,
      - 		...)
      - 		{ return(*(int *)0); }
      - 
      -@@ -1979,7 +1987,7 @@
      - 
      - #undef putwin
      - int	putwin(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		FILE	*filep)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2007,16 +2015,16 @@
      - 
      - #undef _nc_scroll_window
      - void	_nc_scroll_window(
      --		WINDOW	*win, 
      --		int const n, 
      --		short const top, 
      --		short const bottom, 
      -+		WINDOW	*win,
      -+		int const n,
      -+		short const top,
      -+		short const bottom,
      - 		cchar_t	blank)
      - 		{ /* void */ }
      - 
      - #undef wscrl
      - int	wscrl(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2024,7 +2032,7 @@
      - 
      - #undef scrollok
      - int	scrollok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2032,8 +2040,8 @@
      - 
      - #undef wsetscrreg
      - int	wsetscrreg(
      --		WINDOW	*win, 
      --		int	top, 
      -+		WINDOW	*win,
      -+		int	top,
      - 		int	bottom)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2051,24 +2059,24 @@
      - 
      - #undef _nc_setupscreen
      - int	_nc_setupscreen(
      --		short	slines, 
      --		short const scolumns, 
      -+		short	slines,
      -+		short const scolumns,
      - 		FILE	*output)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_ripoffline
      - int	_nc_ripoffline(
      --		int	line, 
      -+		int	line,
      - 		int	(*init)(
      --		WINDOW	*p1, 
      -+		WINDOW	*p1,
      - 		int	p2))
      - 		{ return(*(int *)0); }
      - 
      - #undef ripoffline
      - int	ripoffline(
      --		int	line, 
      -+		int	line,
      - 		int	(*init)(
      --		WINDOW	*p1, 
      -+		WINDOW	*p1,
      - 		int	p2))
      - 		{ return(*(int *)0); }
      - 
      -@@ -2079,7 +2087,7 @@
      - 
      - #undef _nc_slk_initialize
      - int	_nc_slk_initialize(
      --		WINDOW	*stwin, 
      -+		WINDOW	*stwin,
      - 		int	cols)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2091,8 +2099,8 @@
      - 
      - #undef slk_attr_set
      - int	slk_attr_set(
      --		const attr_t attr, 
      --		short	color_pair_number, 
      -+		const attr_t attr,
      -+		short	color_pair_number,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2164,8 +2172,8 @@
      - 
      - #undef slk_set
      - int	slk_set(
      --		int	i, 
      --		const char *astr, 
      -+		int	i,
      -+		const char *astr,
      - 		int	format)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2179,7 +2187,7 @@
      - 
      - #undef is_linetouched
      - NCURSES_BOOL is_linetouched(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		int	line)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -2190,9 +2198,9 @@
      - 
      - #undef wtouchln
      - int	wtouchln(
      --		WINDOW	*win, 
      --		int	y, 
      --		int	n, 
      -+		WINDOW	*win,
      -+		int	y,
      -+		int	n,
      - 		int	changed)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2200,7 +2208,7 @@
      - 
      - #undef _traceattr2
      - char	*_traceattr2(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		attr_t	newmode)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2216,13 +2224,13 @@
      - 
      - #undef _nc_altcharset_name
      - const char *_nc_altcharset_name(
      --		attr_t	attr, 
      -+		attr_t	attr,
      - 		chtype	ch)
      - 		{ return(*(const char **)0); }
      - 
      - #undef _tracechtype2
      - char	*_tracechtype2(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		chtype	ch)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2232,13 +2240,13 @@
      - 		{ return(*(char **)0); }
      - 
      - #undef _nc_retrace_chtype
      --attr_t	_nc_retrace_chtype(
      --		attr_t	code)
      --		{ return(*(attr_t *)0); }
      -+chtype	_nc_retrace_chtype(
      -+		chtype	code)
      -+		{ return(*(chtype *)0); }
      - 
      - #undef _tracecchar_t2
      - char	*_tracecchar_t2(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		const cchar_t *ch)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2251,7 +2259,7 @@
      - 
      - #undef _tracedump
      - void	_tracedump(
      --		const char *name, 
      -+		const char *name,
      - 		WINDOW	*win)
      - 		{ /* void */ }
      - 
      -@@ -2286,7 +2294,7 @@
      - 
      - #undef vidputs
      - int	vidputs(
      --		chtype	newmode, 
      -+		chtype	newmode,
      - 		int	(*outc)(
      - 		int	p1))
      - 		{ return(*(int *)0); }
      -@@ -2304,8 +2312,8 @@
      - 
      - #undef wvline
      - int	wvline(
      --		WINDOW	*win, 
      --		chtype	ch, 
      -+		WINDOW	*win,
      -+		chtype	ch,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2313,8 +2321,8 @@
      - 
      - #undef wattr_off
      - int	wattr_off(
      --		WINDOW	*win, 
      --		attr_t	at, 
      -+		WINDOW	*win,
      -+		attr_t	at,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2322,8 +2330,8 @@
      - 
      - #undef wattr_on
      - int	wattr_on(
      --		WINDOW	*win, 
      --		attr_t	at, 
      -+		WINDOW	*win,
      -+		attr_t	at,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2343,14 +2351,14 @@
      - 
      - #undef mvderwin
      - int	mvderwin(
      --		WINDOW	*win, 
      --		int	y, 
      -+		WINDOW	*win,
      -+		int	y,
      - 		int	x)
      - 		{ return(*(int *)0); }
      - 
      - #undef syncok
      - int	syncok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL bf)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2384,7 +2392,7 @@
      - 
      - #undef _nc_printf_string
      - char	*_nc_printf_string(
      --		const char *fmt, 
      -+		const char *fmt,
      - 		va_list	ap)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2404,9 +2412,9 @@
      - 
      - #undef _nc_scrolln
      - int	_nc_scrolln(
      --		int	n, 
      --		int	top, 
      --		int	bot, 
      -+		int	n,
      -+		int	top,
      -+		int	bot,
      - 		int	maxy)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2435,7 +2443,7 @@
      - 
      - #undef _nc_varargs
      - char	*_nc_varargs(
      --		const char *fmt, 
      -+		const char *fmt,
      - 		va_list	ap)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2457,18 +2465,43 @@
      - void	_nc_vsscanf(void)
      - 		{ /* void */ }
      - 
      -+/* ./base/lib_freeall.c */
      -+
      -+#include 
      -+
      -+#undef _nc_freeall
      -+void	_nc_freeall(void)
      -+		{ /* void */ }
      -+
      -+/* ./widechar/charable.c */
      -+
      -+#undef _nc_is_charable
      -+NCURSES_BOOL _nc_is_charable(
      -+		wchar_t	ch)
      -+		{ return(*(NCURSES_BOOL *)0); }
      -+
      -+#undef _nc_to_char
      -+int	_nc_to_char(
      -+		wint_t	ch)
      -+		{ return(*(int *)0); }
      -+
      -+#undef _nc_to_widechar
      -+wint_t	_nc_to_widechar(
      -+		int	ch)
      -+		{ return(*(wint_t *)0); }
      -+
      - /* ./widechar/lib_box_set.c */
      - 
      - #undef wborder_set
      - int	wborder_set(
      --		WINDOW	*win, 
      --		const cchar_t *ls, 
      --		const cchar_t *rs, 
      --		const cchar_t *ts, 
      --		const cchar_t *bs, 
      --		const cchar_t *tl, 
      --		const cchar_t *tr, 
      --		const cchar_t *bl, 
      -+		WINDOW	*win,
      -+		const cchar_t *ls,
      -+		const cchar_t *rs,
      -+		const cchar_t *ts,
      -+		const cchar_t *bs,
      -+		const cchar_t *tl,
      -+		const cchar_t *tr,
      -+		const cchar_t *bl,
      - 		const cchar_t *br)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2476,19 +2509,19 @@
      - 
      - #undef setcchar
      - int	setcchar(
      --		cchar_t	*wcval, 
      --		const wchar_t *wch, 
      --		const attr_t attrs, 
      --		short	color_pair, 
      -+		cchar_t	*wcval,
      -+		const wchar_t *wch,
      -+		const attr_t attrs,
      -+		short	color_pair,
      - 		const void *opts)
      - 		{ return(*(int *)0); }
      - 
      - #undef getcchar
      - int	getcchar(
      --		const cchar_t *wcval, 
      --		wchar_t *wch, 
      --		attr_t	*attrs, 
      --		short	*color_pair, 
      -+		const cchar_t *wcval,
      -+		wchar_t	*wch,
      -+		attr_t	*attrs,
      -+		short	*color_pair,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2496,28 +2529,28 @@
      - 
      - #undef wget_wch
      - int	wget_wch(
      --		WINDOW	*win, 
      --		wint_t *result)
      -+		WINDOW	*win,
      -+		wint_t	*result)
      - 		{ return(*(int *)0); }
      - 
      - /* ./widechar/lib_erasewchar.c */
      - 
      - #undef erasewchar
      - int	erasewchar(
      --		wchar_t *wch)
      -+		wchar_t	*wch)
      - 		{ return(*(int *)0); }
      - 
      - #undef killwchar
      - int	killwchar(
      --		wchar_t *wch)
      -+		wchar_t	*wch)
      - 		{ return(*(int *)0); }
      - 
      - /* ./widechar/lib_get_wstr.c */
      - 
      - #undef wgetn_wstr
      - int	wgetn_wstr(
      --		WINDOW	*win, 
      --		wint_t *str, 
      -+		WINDOW	*win,
      -+		wint_t	*str,
      - 		int	maxlen)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2525,8 +2558,8 @@
      - 
      - #undef whline_set
      - int	whline_set(
      --		WINDOW	*win, 
      --		const cchar_t *ch, 
      -+		WINDOW	*win,
      -+		const cchar_t *ch,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2534,7 +2567,7 @@
      - 
      - #undef win_wch
      - int	win_wch(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		cchar_t	*wcval)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2542,17 +2575,8 @@
      - 
      - #undef win_wchnstr
      - int	win_wchnstr(
      --		WINDOW	*win, 
      --		cchar_t	*wchstr, 
      --		int	n)
      --		{ return(*(int *)0); }
      --
      --/* ./widechar/lib_ins_nwstr.c */
      --
      --#undef wins_nwstr
      --int	wins_nwstr(
      --		WINDOW	*win, 
      --		const wchar_t *wstr, 
      -+		WINDOW	*win,
      -+		cchar_t	*wchstr,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2560,23 +2584,39 @@
      - 
      - #undef wins_wch
      - int	wins_wch(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		const cchar_t *wch)
      - 		{ return(*(int *)0); }
      - 
      -+#undef wins_nwstr
      -+int	wins_nwstr(
      -+		WINDOW	*win,
      -+		const wchar_t *wstr,
      -+		int	n)
      -+		{ return(*(int *)0); }
      -+
      - /* ./widechar/lib_inwstr.c */
      - 
      - #undef winnwstr
      - int	winnwstr(
      --		WINDOW	*win, 
      --		wchar_t *wstr, 
      -+		WINDOW	*win,
      -+		wchar_t	*wstr,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      - #undef winwstr
      - int	winwstr(
      --		WINDOW	*win, 
      --		wchar_t *wstr)
      -+		WINDOW	*win,
      -+		wchar_t	*wstr)
      -+		{ return(*(int *)0); }
      -+
      -+/* ./widechar/lib_slk_wset.c */
      -+
      -+#undef slk_wset
      -+int	slk_wset(
      -+		int	i,
      -+		const wchar_t *astr,
      -+		int	format)
      - 		{ return(*(int *)0); }
      - 
      - /* ./widechar/lib_unget_wch.c */
      -@@ -2590,17 +2630,17 @@
      - 
      - #undef vid_puts
      - int	vid_puts(
      --		attr_t	newmode, 
      --		short	pair, 
      --		void	*opts, 
      -+		attr_t	newmode,
      -+		short	pair,
      -+		void	*opts,
      - 		int	(*outc)(
      - 		int	p1))
      - 		{ return(*(int *)0); }
      - 
      - #undef vid_attr
      - int	vid_attr(
      --		attr_t	newmode, 
      --		short	pair, 
      -+		attr_t	newmode,
      -+		short	pair,
      - 		void	*opts)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2612,8 +2652,8 @@
      - 
      - #undef wvline_set
      - int	wvline_set(
      --		WINDOW	*win, 
      --		const cchar_t *ch, 
      -+		WINDOW	*win,
      -+		const cchar_t *ch,
      - 		int	n)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2629,7 +2669,7 @@
      - /* ./widechar/lib_wunctrl.c */
      - 
      - #undef wunctrl
      --wchar_t *wunctrl(
      -+wchar_t	*wunctrl(
      - 		cchar_t	*wc)
      - 		{ return(*(wchar_t **)0); }
      - 
      -@@ -2637,7 +2677,7 @@
      - 
      - #undef define_key
      - int	define_key(
      --		char	*str, 
      -+		const char *str,
      - 		int	keycode)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2645,13 +2685,13 @@
      - 
      - #undef _nc_toggle_attr_on
      - void	_nc_toggle_attr_on(
      --		attr_t	*S, 
      -+		attr_t	*S,
      - 		attr_t	at)
      - 		{ /* void */ }
      - 
      - #undef _nc_toggle_attr_off
      - void	_nc_toggle_attr_off(
      --		attr_t	*S, 
      -+		attr_t	*S,
      - 		attr_t	at)
      - 		{ /* void */ }
      - 
      -@@ -2670,11 +2710,18 @@
      - 		chtype	c)
      - 		{ /* void */ }
      - 
      -+/* ./base/key_defined.c */
      -+
      -+#undef key_defined
      -+int	key_defined(
      -+		const char *str)
      -+		{ return(*(int *)0); }
      -+
      - /* ./base/keybound.c */
      - 
      - #undef keybound
      - char	*keybound(
      --		int	code, 
      -+		int	code,
      - 		int	count)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2682,7 +2729,7 @@
      - 
      - #undef keyok
      - int	keyok(
      --		int	c, 
      -+		int	c,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2694,23 +2741,15 @@
      - 
      - #undef assume_default_colors
      - int	assume_default_colors(
      --		int	fg, 
      -+		int	fg,
      - 		int	bg)
      - 		{ return(*(int *)0); }
      - 
      --/* ./base/lib_freeall.c */
      --
      --#include 
      --
      --#undef _nc_freeall
      --void	_nc_freeall(void)
      --		{ /* void */ }
      --
      - /* ./tinfo/lib_print.c */
      - 
      - #undef mcprint
      - int	mcprint(
      --		char	*data, 
      -+		char	*data,
      - 		int	len)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2718,19 +2757,19 @@
      - 
      - #undef is_term_resized
      - NCURSES_BOOL is_term_resized(
      --		int	ToLines, 
      -+		int	ToLines,
      - 		int	ToCols)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      - #undef resize_term
      - int	resize_term(
      --		int	ToLines, 
      -+		int	ToLines,
      - 		int	ToCols)
      - 		{ return(*(int *)0); }
      - 
      - #undef resizeterm
      - int	resizeterm(
      --		int	ToLines, 
      -+		int	ToLines,
      - 		int	ToCols)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2745,22 +2784,22 @@
      - 
      - #undef _nc_expand_try
      - char	*_nc_expand_try(
      --		struct tries *tree, 
      --		unsigned short code, 
      --		int	*count, 
      -+		struct tries *tree,
      -+		unsigned short code,
      -+		int	*count,
      - 		size_t	len)
      - 		{ return(*(char **)0); }
      - 
      - #undef _nc_remove_key
      - int	_nc_remove_key(
      --		struct tries **tree, 
      -+		struct tries **tree,
      - 		unsigned short code)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_remove_string
      - int	_nc_remove_string(
      --		struct tries **tree, 
      --		char	*string)
      -+		struct tries **tree,
      -+		const char *string)
      - 		{ return(*(int *)0); }
      - 
      - /* ./base/version.c */
      -@@ -2773,8 +2812,8 @@
      - 
      - #undef wresize
      - int	wresize(
      --		WINDOW	*win, 
      --		int	ToLines, 
      -+		WINDOW	*win,
      -+		int	ToLines,
      - 		int	ToCols)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2785,6 +2824,11 @@
      - 		char	*path)
      - 		{ return(*(char **)0); }
      - 
      -+#undef _nc_pathlast
      -+unsigned _nc_pathlast(
      -+		const char *path)
      -+		{ return(*(unsigned *)0); }
      -+
      - #undef _nc_basename
      - char	*_nc_basename(
      - 		char	*path)
      -@@ -2792,7 +2836,7 @@
      - 
      - #undef _nc_access
      - int	_nc_access(
      --		const char *path, 
      -+		const char *path,
      - 		int	mode)
      - 		{ return(*(int *)0); }
      - 
      -@@ -2804,8 +2848,8 @@
      - 
      - #undef _nc_add_to_try
      - void	_nc_add_to_try(
      --		struct tries **tree, 
      --		const char *str, 
      -+		struct tries **tree,
      -+		const char *str,
      - 		unsigned short code)
      - 		{ /* void */ }
      - 
      -@@ -2828,13 +2872,13 @@
      - 
      - #undef _nc_wrap_entry
      - void	_nc_wrap_entry(
      --		ENTRY	*const ep, 
      -+		ENTRY	*const ep,
      - 		NCURSES_BOOL copy_strings)
      - 		{ /* void */ }
      - 
      - #undef _nc_merge_entry
      - void	_nc_merge_entry(
      --		TERMTYPE *const to, 
      -+		TERMTYPE *const to,
      - 		TERMTYPE *const from)
      - 		{ /* void */ }
      - 
      -@@ -2842,13 +2886,13 @@
      - 
      - #undef _nc_align_termtype
      - void	_nc_align_termtype(
      --		TERMTYPE *to, 
      -+		TERMTYPE *to,
      - 		TERMTYPE *from)
      - 		{ /* void */ }
      - 
      - #undef _nc_copy_termtype
      - void	_nc_copy_termtype(
      --		TERMTYPE *dst, 
      -+		TERMTYPE *dst,
      - 		TERMTYPE *src)
      - 		{ /* void */ }
      - 
      -@@ -2856,15 +2900,15 @@
      - 
      - #undef _nc_captoinfo
      - char	*_nc_captoinfo(
      --		const char *cap, 
      --		const char *s, 
      -+		const char *cap,
      -+		const char *s,
      - 		int const parametrized)
      - 		{ return(*(char **)0); }
      - 
      - #undef _nc_infotocap
      - char	*_nc_infotocap(
      --		const char *cap, 
      --		const char *str, 
      -+		const char *cap,
      -+		const char *str,
      - 		int const parametrized)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2926,19 +2970,19 @@
      - 
      - #undef _nc_warning
      - void	_nc_warning(
      --		const char *const fmt, 
      -+		const char *const fmt,
      - 		...)
      - 		{ /* void */ }
      - 
      - #undef _nc_err_abort
      - void	_nc_err_abort(
      --		const char *const fmt, 
      -+		const char *const fmt,
      - 		...)
      - 		{ /* void */ }
      - 
      - #undef _nc_syserr_abort
      - void	_nc_syserr_abort(
      --		const char *const fmt, 
      -+		const char *const fmt,
      - 		...)
      - 		{ /* void */ }
      - 
      -@@ -2946,8 +2990,8 @@
      - 
      - #undef _nc_tic_expand
      - char	*_nc_tic_expand(
      --		const char *srcp, 
      --		NCURSES_BOOL tic_format, 
      -+		const char *srcp,
      -+		NCURSES_BOOL tic_format,
      - 		int	numbers)
      - 		{ return(*(char **)0); }
      - 
      -@@ -2957,14 +3001,14 @@
      - 
      - #undef _nc_find_entry
      - struct name_table_entry const *_nc_find_entry(
      --		const char *string, 
      -+		const char *string,
      - 		const struct name_table_entry *const *hash_table)
      - 		{ return(*(struct name_table_entry const **)0); }
      - 
      - #undef _nc_find_type_entry
      - struct name_table_entry const *_nc_find_type_entry(
      --		const char *string, 
      --		int	type, 
      -+		const char *string,
      -+		int	type,
      - 		const struct name_table_entry *table)
      - 		{ return(*(struct name_table_entry const **)0); }
      - 
      -@@ -2985,16 +3029,16 @@
      - 
      - #undef _nc_entry_match
      - NCURSES_BOOL _nc_entry_match(
      --		char	*n1, 
      -+		char	*n1,
      - 		char	*n2)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      - #undef _nc_read_entry_source
      - void	_nc_read_entry_source(
      --		FILE	*fp, 
      --		char	*buf, 
      --		int	literal, 
      --		NCURSES_BOOL silent, 
      -+		FILE	*fp,
      -+		char	*buf,
      -+		int	literal,
      -+		NCURSES_BOOL silent,
      - 		NCURSES_BOOL (*hook)(
      - 		ENTRY	*p1))
      - 		{ /* void */ }
      -@@ -3028,7 +3072,7 @@
      - 
      - #undef _nc_trans_string
      - char	_nc_trans_string(
      --		char	*ptr, 
      -+		char	*ptr,
      - 		char	*last)
      - 		{ return(*(char *)0); }
      - 
      -@@ -3044,7 +3088,7 @@
      - 
      - #undef _nc_reset_input
      - void	_nc_reset_input(
      --		FILE	*fp, 
      -+		FILE	*fp,
      - 		char	*buf)
      - 		{ /* void */ }
      - 
      -@@ -3052,7 +3096,7 @@
      - 
      - #undef _nc_doalloc
      - void	*_nc_doalloc(
      --		void	*oldp, 
      -+		void	*oldp,
      - 		size_t	amount)
      - 		{ return(*(void **)0); }
      - 
      -@@ -3120,8 +3164,8 @@
      - #include 
      - 
      - struct speed {
      --    int s;			
      --    int sp;			
      -+    int s;
      -+    int sp;
      - };
      - 
      - #undef _nc_baudrate
      -@@ -3202,7 +3246,7 @@
      - 
      - #undef key_name
      - char	*key_name(
      --		wchar_t c)
      -+		wchar_t	c)
      - 		{ return(*(char **)0); }
      - 
      - /* ./tinfo/lib_longname.c */
      -@@ -3224,13 +3268,13 @@
      - 
      - #undef idlok
      - int	idlok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      - #undef idcok
      - void	idcok(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ /* void */ }
      - 
      -@@ -3241,31 +3285,31 @@
      - 
      - #undef nodelay
      - int	nodelay(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      - #undef notimeout
      - int	notimeout(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL f)
      - 		{ return(*(int *)0); }
      - 
      - #undef wtimeout
      - void	wtimeout(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		int	delay)
      - 		{ /* void */ }
      - 
      - #undef keypad
      - int	keypad(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      - #undef meta
      - int	meta(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -3317,7 +3361,7 @@
      - 
      - #undef intrflush
      - int	intrflush(
      --		WINDOW	*win, 
      -+		WINDOW	*win,
      - 		NCURSES_BOOL flag)
      - 		{ return(*(int *)0); }
      - 
      -@@ -3325,11 +3369,8 @@
      - 
      - #include 
      - 
      --#undef use_env
      --void	use_env(
      --		NCURSES_BOOL f)
      --		{ /* void */ }
      --
      -+#undef ttytype
      -+char	ttytype[256 ];
      - #undef LINES
      - int	LINES;
      - #undef COLS
      -@@ -3337,17 +3378,31 @@
      - #undef TABSIZE
      - int	TABSIZE;
      - 
      -+#undef use_env
      -+void	use_env(
      -+		NCURSES_BOOL f)
      -+		{ /* void */ }
      -+
      - #undef _nc_update_screensize
      - void	_nc_update_screensize(void)
      - 		{ /* void */ }
      - 
      --#undef ttytype
      --char	ttytype[256 ];
      -+#undef _nc_get_locale
      -+char	*_nc_get_locale(void)
      -+		{ return(*(char **)0); }
      -+
      -+#undef _nc_unicode_locale
      -+int	_nc_unicode_locale(void)
      -+		{ return(*(int *)0); }
      -+
      -+#undef _nc_locale_breaks_acs
      -+int	_nc_locale_breaks_acs(void)
      -+		{ return(*(int *)0); }
      - 
      - #undef setupterm
      - int	setupterm(
      --		char	*tname, 
      --		int	Filedes, 
      -+		char	*tname,
      -+		int	Filedes,
      - 		int	*errret)
      - 		{ return(*(int *)0); }
      - 
      -@@ -3360,7 +3415,7 @@
      - 
      - #undef tgetent
      - int	tgetent(
      --		char	*bufp, 
      -+		char	*bufp,
      - 		const char *name)
      - 		{ return(*(int *)0); }
      - 
      -@@ -3382,7 +3437,7 @@
      - 
      - #undef tgetstr
      - char	*tgetstr(
      --		char	*id, 
      -+		char	*id,
      - 		char	**area)
      - 		{ return(*(char **)0); }
      - 
      -@@ -3396,8 +3451,8 @@
      - 
      - #undef tgoto
      - char	*tgoto(
      --		const char *string, 
      --		int	x, 
      -+		const char *string,
      -+		int	x,
      - 		int	y)
      - 		{ return(*(char **)0); }
      - 
      -@@ -3431,9 +3486,16 @@
      - #undef _nc_tparm_err
      - int	_nc_tparm_err;
      - 
      -+#undef _nc_tparm_analyze
      -+int	_nc_tparm_analyze(
      -+		const char *string,
      -+		char	*p_is_s[9 ],
      -+		int	*popcount)
      -+		{ return(*(int *)0); }
      -+
      - #undef tparm
      - char	*tparm(
      --		char	*string, 
      -+		char	*string,
      - 		...)
      - 		{ return(*(char **)0); }
      - 
      -@@ -3467,8 +3529,8 @@
      - 
      - #undef tputs
      - int	tputs(
      --		const char *string, 
      --		int	affcnt, 
      -+		const char *string,
      -+		int	affcnt,
      - 		int	(*outc)(
      - 		int	p1))
      - 		{ return(*(int *)0); }
      -@@ -3489,15 +3551,25 @@
      - 
      - #undef _tracef
      - void	_tracef(
      --		const char *fmt, 
      -+		const char *fmt,
      - 		...)
      - 		{ /* void */ }
      - 
      -+#undef _nc_retrace_bool
      -+NCURSES_BOOL _nc_retrace_bool(
      -+		NCURSES_BOOL code)
      -+		{ return(*(NCURSES_BOOL *)0); }
      -+
      - #undef _nc_retrace_int
      - int	_nc_retrace_int(
      - 		int	code)
      - 		{ return(*(int *)0); }
      - 
      -+#undef _nc_retrace_unsigned
      -+unsigned _nc_retrace_unsigned(
      -+		unsigned code)
      -+		{ return(*(unsigned *)0); }
      -+
      - #undef _nc_retrace_ptr
      - char	*_nc_retrace_ptr(
      - 		char	*code)
      -@@ -3576,8 +3648,8 @@
      - 
      - #undef _nc_timed_wait
      - int	_nc_timed_wait(
      --		int	mode, 
      --		int	milliseconds, 
      -+		int	mode,
      -+		int	milliseconds,
      - 		int	*timeleft)
      - 		{ return(*(int *)0); }
      - 
      -@@ -3590,8 +3662,8 @@
      - 
      - #undef _nc_name_match
      - int	_nc_name_match(
      --		const char *const namelst, 
      --		const char *const name, 
      -+		const char *const namelst,
      -+		const char *const name,
      - 		const char *const delim)
      - 		{ return(*(int *)0); }
      - 
      -@@ -3614,14 +3686,14 @@
      - 
      - #undef _nc_parse_entry
      - int	_nc_parse_entry(
      --		struct entry *entryp, 
      --		int	literal, 
      -+		struct entry *entryp,
      -+		int	literal,
      - 		NCURSES_BOOL silent)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_capcmp
      - int	_nc_capcmp(
      --		const char *s, 
      -+		const char *s,
      - 		const char *t)
      - 		{ return(*(int *)0); }
      - 
      -@@ -3644,14 +3716,14 @@
      - 
      - #undef _nc_read_file_entry
      - int	_nc_read_file_entry(
      --		const char *const filename, 
      -+		const char *const filename,
      - 		TERMTYPE *ptr)
      - 		{ return(*(int *)0); }
      - 
      - #undef _nc_read_entry
      - int	_nc_read_entry(
      --		const char *const tn, 
      --		char	*const filename, 
      -+		const char *const tn,
      -+		char	*const filename,
      - 		TERMTYPE *const tp)
      - 		{ return(*(int *)0); }
      - 
      -@@ -3659,7 +3731,7 @@
      - 
      - #undef _nc_read_termcap_entry
      - int	_nc_read_termcap_entry(
      --		const char *const tn, 
      -+		const char *const tn,
      - 		TERMTYPE *const tp)
      - 		{ return(*(int *)0); }
      - 
      -@@ -3667,7 +3739,7 @@
      - 
      - #undef _nc_set_buffer
      - void	_nc_set_buffer(
      --		FILE	*ofp, 
      -+		FILE	*ofp,
      - 		NCURSES_BOOL buffered)
      - 		{ /* void */ }
      - 
      -@@ -3675,32 +3747,32 @@
      - 
      - #undef _nc_str_init
      - string_desc *_nc_str_init(
      --		string_desc *dst, 
      --		char	*src, 
      -+		string_desc *dst,
      -+		char	*src,
      - 		size_t	len)
      - 		{ return(*(string_desc **)0); }
      - 
      - #undef _nc_str_null
      - string_desc *_nc_str_null(
      --		string_desc *dst, 
      -+		string_desc *dst,
      - 		size_t	len)
      - 		{ return(*(string_desc **)0); }
      - 
      - #undef _nc_str_copy
      - string_desc *_nc_str_copy(
      --		string_desc *dst, 
      -+		string_desc *dst,
      - 		string_desc *src)
      - 		{ return(*(string_desc **)0); }
      - 
      - #undef _nc_safe_strcat
      - NCURSES_BOOL _nc_safe_strcat(
      --		string_desc *dst, 
      -+		string_desc *dst,
      - 		const char *src)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      - #undef _nc_safe_strcpy
      - NCURSES_BOOL _nc_safe_strcpy(
      --		string_desc *dst, 
      -+		string_desc *dst,
      - 		const char *src)
      - 		{ return(*(NCURSES_BOOL *)0); }
      - 
      -@@ -3713,10 +3785,16 @@
      - 
      - #undef _nc_trace_buf
      - char	*_nc_trace_buf(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		size_t	want)
      - 		{ return(*(char **)0); }
      - 
      -+#undef _nc_trace_bufcat
      -+char	*_nc_trace_bufcat(
      -+		int	bufnum,
      -+		const char *value)
      -+		{ return(*(char **)0); }
      -+
      - /* ./trace/trace_tries.c */
      - 
      - #undef _nc_trace_tries
      -@@ -3735,7 +3813,7 @@
      - 
      - #undef _nc_visbuf2
      - const char *_nc_visbuf2(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		const char *buf)
      - 		{ return(*(const char **)0); }
      - 
      -@@ -3744,9 +3822,15 @@
      - 		const char *buf)
      - 		{ return(*(const char **)0); }
      - 
      -+#undef _nc_visbufn
      -+const char *_nc_visbufn(
      -+		const char *buf,
      -+		int	len)
      -+		{ return(*(const char **)0); }
      -+
      - #undef _nc_viswbuf2
      - const char *_nc_viswbuf2(
      --		int	bufnum, 
      -+		int	bufnum,
      - 		const wchar_t *buf)
      - 		{ return(*(const char **)0); }
      - 
      -@@ -3755,16 +3839,22 @@
      - 		const wchar_t *buf)
      - 		{ return(*(const char **)0); }
      - 
      -+#undef _nc_viswbufn
      -+const char *_nc_viswbufn(
      -+		const wchar_t *buf,
      -+		int	len)
      -+		{ return(*(const char **)0); }
      -+
      - #undef _nc_viscbuf2
      - const char *_nc_viscbuf2(
      --		int	bufnum, 
      --		const cchar_t *buf, 
      -+		int	bufnum,
      -+		const cchar_t *buf,
      - 		int	len)
      - 		{ return(*(const char **)0); }
      - 
      - #undef _nc_viscbuf
      - const char *_nc_viscbuf(
      --		const cchar_t *buf, 
      -+		const cchar_t *buf,
      - 		int	len)
      - 		{ return(*(const char **)0); }
      - 
      -diff -urNd -urNd ncurses-5.3/ncurses/modules ncurses-5.3.20030906.orig/ncurses/modules
      ---- ncurses-5.3/ncurses/modules	Sat May 11 15:14:41 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/modules	Sun Jul 20 14:02:09 2003
      -@@ -1,4 +1,4 @@
      --# $Id: modules,v 1.90 2002/05/11 20:14:41 tom Exp $
      -+# $Id: modules,v 1.96 2003/07/05 16:01:45 tom Exp $
      - ##############################################################################
      - # Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.                #
      - #                                                                            #
      -@@ -61,7 +61,6 @@
      - lib_initscr	lib		$(base)		$(INCDIR)/tic.h
      - lib_insch	lib		$(base)
      - lib_insdel	lib		$(base)
      --lib_insstr	lib		$(base)
      - lib_instr	lib		$(base)
      - lib_isendwin	lib		$(base)
      - lib_leaveok	lib		$(base)
      -@@ -120,8 +119,12 @@
      - sigaction	lib		$(base)
      - vsscanf 	lib		$(base)
      - 
      -+# actually an extension, but with its own configure option (--disable-leaks)
      -+lib_freeall	lib		$(base)
      -+
      - # XSI extensions to the base library (wide-character)
      - @ widechar
      -+charable	lib		$(wide)
      - lib_box_set	lib		$(wide)
      - lib_cchar	lib		$(wide)
      - lib_get_wch	lib		$(wide)
      -@@ -130,9 +133,9 @@
      - lib_hline_set	lib		$(wide)
      - lib_in_wch	lib		$(wide)
      - lib_in_wchnstr	lib		$(wide)
      --lib_ins_nwstr	lib		$(wide)
      - lib_ins_wch	lib		$(wide)
      - lib_inwstr	lib		$(wide)
      -+lib_slk_wset	lib		$(wide)
      - lib_unget_wch	lib		$(wide)
      - lib_vid_attr	lib		$(wide)		../include/term.h
      - lib_vline_set	lib		$(wide)
      -@@ -143,10 +146,10 @@
      - @ ext_funcs
      - define_key	lib		$(base)
      - expanded	lib		.
      -+key_defined	lib		$(base)
      - keybound	lib		$(base)
      - keyok		lib		$(base)
      - lib_dft_fgbg	lib		$(base)		../include/term.h
      --lib_freeall	lib		$(base)
      - lib_print	lib		$(tinfo)	../include/term.h
      - resizeterm	lib		$(base)		../include/term.h
      - trace_xnames	lib		$(trace)	../include/term.h $(INCDIR)/term_entry.h
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/MKkeys_list.sh ncurses-5.3.20030906.orig/ncurses/tinfo/MKkeys_list.sh
      ---- ncurses-5.3/ncurses/tinfo/MKkeys_list.sh	Sat Jun 16 11:50:35 2001
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/MKkeys_list.sh	Tue May 13 20:08:22 2003
      -@@ -1,7 +1,7 @@
      - #! /bin/sh
      --# $Id: MKkeys_list.sh,v 1.2 2001/06/16 16:50:35 tom Exp $
      -+# $Id: MKkeys_list.sh,v 1.3 2003/01/11 22:24:53 tom Exp $
      - ##############################################################################
      --# Copyright (c) 2001 Free Software Foundation, Inc.                          #
      -+# Copyright (c) 2001,2003 Free Software Foundation, Inc.                     #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -39,7 +39,7 @@
      - 
      - data=data$$
      - trap 'rm -f $data' 0 1 2 5 15
      --sed -e 's/[	]\+/	/g' < $DATA >$data
      -+sed -e 's/[	][	]*/	/g' < $DATA >$data
      - 
      - cat <
      - #include 
      - 
      --MODULE_ID("$Id: access.c,v 1.9 2001/06/23 22:11:49 tom Exp $")
      -+MODULE_ID("$Id: access.c,v 1.10 2003/07/05 19:31:28 tom Exp $")
      - 
      - #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
      - 
      -@@ -64,19 +64,28 @@
      -     return result;
      - }
      - 
      --NCURSES_EXPORT(char *)
      --_nc_basename(char *path)
      -+/*
      -+ * Return index of the basename
      -+ */
      -+NCURSES_EXPORT(unsigned)
      -+_nc_pathlast(const char *path)
      - {
      --    char *result = strrchr(path, '/');
      -+    const char *test = strrchr(path, '/');
      - #ifdef __EMX__
      --    if (result == 0)
      --	result = strrchr(path, '\\');
      -+    if (test == 0)
      -+	test = strrchr(path, '\\');
      - #endif
      --    if (result == 0)
      --	result = path;
      -+    if (test == 0)
      -+	test = path;
      -     else
      --	result++;
      --    return result;
      -+	test++;
      -+    return (test - path);
      -+}
      -+
      -+NCURSES_EXPORT(char *)
      -+_nc_basename(char *path)
      -+{
      -+    return path + _nc_pathlast(path);
      - }
      - 
      - NCURSES_EXPORT(int)
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/alloc_entry.c ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_entry.c
      ---- ncurses-5.3/ncurses/tinfo/alloc_entry.c	Sat Sep  7 15:04:15 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_entry.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -47,7 +47,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: alloc_entry.c,v 1.37 2002/09/07 20:04:15 tom Exp $")
      -+MODULE_ID("$Id: alloc_entry.c,v 1.38 2003/05/24 21:10:28 tom Exp $")
      - 
      - #define ABSENT_OFFSET    -1
      - #define CANCELLED_OFFSET -2
      -@@ -61,10 +61,10 @@
      - _nc_init_entry(TERMTYPE * const tp)
      - /* initialize a terminal type data block */
      - {
      --    int i;
      -+    unsigned i;
      - 
      -     if (stringbuf == 0)
      --	stringbuf = malloc(MAX_STRTAB);
      -+	stringbuf = (char *) malloc(MAX_STRTAB);
      - 
      - #if NCURSES_XNAMES
      -     tp->num_Booleans = BOOLCOUNT;
      -@@ -126,7 +126,8 @@
      - /* copy the string parts to allocated storage, preserving pointers to it */
      - {
      -     int offsets[MAX_ENTRY_SIZE / 2], useoffsets[MAX_USES];
      --    int i, n;
      -+    unsigned i, n;
      -+    unsigned nuses = ep->nuses;
      -     TERMTYPE *tp = &(ep->tterm);
      - 
      -     if (copy_strings) {
      -@@ -141,7 +142,7 @@
      - 	    }
      - 	}
      - 
      --	for (i = 0; i < ep->nuses; i++) {
      -+	for (i = 0; i < nuses; i++) {
      - 	    if (ep->uses[i].name == 0) {
      - 		ep->uses[i].name = _nc_save_str(ep->uses[i].name);
      - 	    }
      -@@ -160,7 +161,7 @@
      - 	    offsets[i] = tp->Strings[i] - stringbuf;
      -     }
      - 
      --    for (i = 0; i < ep->nuses; i++) {
      -+    for (i = 0; i < nuses; i++) {
      - 	if (ep->uses[i].name == 0)
      - 	    useoffsets[i] = ABSENT_OFFSET;
      - 	else
      -@@ -200,7 +201,7 @@
      -     }
      - #endif
      - 
      --    for (i = 0; i < ep->nuses; i++) {
      -+    for (i = 0; i < nuses; i++) {
      - 	if (useoffsets[i] == ABSENT_OFFSET)
      - 	    ep->uses[i].name = 0;
      - 	else
      -@@ -209,11 +210,10 @@
      - }
      - 
      - NCURSES_EXPORT(void)
      --_nc_merge_entry
      --(TERMTYPE * const to, TERMTYPE * const from)
      -+_nc_merge_entry(TERMTYPE * const to, TERMTYPE * const from)
      - /* merge capabilities from `from' entry into `to' entry */
      - {
      --    int i;
      -+    unsigned i;
      - 
      - #if NCURSES_XNAMES
      -     _nc_align_termtype(to, from);
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/alloc_ttype.c ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_ttype.c
      ---- ncurses-5.3/ncurses/tinfo/alloc_ttype.c	Sat Sep 28 10:28:43 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_ttype.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -43,7 +43,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: alloc_ttype.c,v 1.13 2002/09/28 15:28:43 tom Exp $")
      -+MODULE_ID("$Id: alloc_ttype.c,v 1.14 2003/05/24 21:10:28 tom Exp $")
      - 
      - #if NCURSES_XNAMES
      - /*
      -@@ -92,8 +92,10 @@
      - }
      - 
      - static void
      --realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
      --	     ext_Numbers, int ext_Strings)
      -+realign_data(TERMTYPE * to, char **ext_Names,
      -+	     int ext_Booleans,
      -+	     int ext_Numbers,
      -+	     int ext_Strings)
      - {
      -     int n, m, base;
      -     int limit = (to->ext_Booleans + to->ext_Numbers + to->ext_Strings);
      -@@ -371,8 +373,7 @@
      - }
      - 
      - NCURSES_EXPORT(void)
      --_nc_align_termtype
      --(TERMTYPE * to, TERMTYPE * from)
      -+_nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
      - {
      -     int na = NUM_EXT_NAMES(to);
      -     int nb = NUM_EXT_NAMES(from);
      -@@ -457,10 +458,9 @@
      - #endif
      - 
      - NCURSES_EXPORT(void)
      --_nc_copy_termtype
      --(TERMTYPE * dst, TERMTYPE * src)
      -+_nc_copy_termtype(TERMTYPE * dst, TERMTYPE * src)
      - {
      --    int i;
      -+    unsigned i;
      - 
      -     *dst = *src;		/* ...to copy the sizes and string-tables */
      -     dst->Booleans = typeMalloc(char, NUM_BOOLEANS(dst));
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/comp_parse.c ncurses-5.3.20030906.orig/ncurses/tinfo/comp_parse.c
      ---- ncurses-5.3/ncurses/tinfo/comp_parse.c	Sat Sep  7 15:01:28 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/comp_parse.c	Fri Sep 12 16:41:41 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -52,7 +52,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: comp_parse.c,v 1.53 2002/09/07 20:01:28 tom Exp $")
      -+MODULE_ID("$Id: comp_parse.c,v 1.55 2003/08/02 23:53:42 tom Exp $")
      - 
      - static void sanity_check(TERMTYPE *);
      - NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype) (TERMTYPE *) = sanity_check;
      -@@ -163,7 +163,7 @@
      -  ****************************************************************************/
      - 
      - NCURSES_EXPORT(void)
      --_nc_read_entry_source(FILE * fp, char *buf,
      -+_nc_read_entry_source(FILE *fp, char *buf,
      - 		      int literal, bool silent,
      - 		      bool(*hook) (ENTRY *))
      - /* slurp all entries in the given file into core */
      -@@ -216,7 +216,8 @@
      - {
      -     ENTRY *qp, *rp, *lastread = 0;
      -     bool keepgoing;
      --    int i, j, unresolved, total_unresolved, multiples;
      -+    int i, unresolved, total_unresolved, multiples;
      -+    unsigned j;
      - 
      -     DEBUG(2, ("RESOLUTION BEGINNING"));
      - 
      -@@ -397,7 +398,7 @@
      - 	 */
      - 	for_entry_list(qp) {
      - 	    for_each_boolean(j, &(qp->tterm)) {
      --		if ((int) qp->tterm.Booleans[j] == CANCELLED_BOOLEAN)
      -+		if (qp->tterm.Booleans[j] == CANCELLED_BOOLEAN)
      - 		    qp->tterm.Booleans[j] = ABSENT_BOOLEAN;
      - 	    }
      - 	    for_each_number(j, &(qp->tterm)) {
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/comp_scan.c ncurses-5.3.20030906.orig/ncurses/tinfo/comp_scan.c
      ---- ncurses-5.3/ncurses/tinfo/comp_scan.c	Sat Sep  7 15:04:09 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/comp_scan.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -50,7 +50,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: comp_scan.c,v 1.61 2002/09/07 20:04:09 tom Exp $")
      -+MODULE_ID("$Id: comp_scan.c,v 1.64 2003/05/31 23:27:20 tom Exp $")
      - 
      - /*
      -  * Maximum length of string capability we'll accept before raising an error.
      -@@ -93,10 +93,10 @@
      - _nc_disable_period = FALSE;	/* used by tic -a option */
      - #endif
      - 
      -+static bool end_of_stream(void);
      - static int last_char(void);
      - static int next_char(void);
      - static long stream_pos(void);
      --static bool end_of_stream(void);
      - static void push_back(char c);
      - 
      - /* Assume we may be looking at a termcap-style continuation */
      -@@ -148,8 +148,11 @@
      -     static const char terminfo_punct[] = "@%&*!#";
      -     static char *buffer;
      - 
      -+    char *after_list;
      -+    char *after_name;
      -     char *numchk;
      -     char *ptr;
      -+    char *s;
      -     char numbuf[80];
      -     int ch;
      -     int dot_flag = FALSE;
      -@@ -173,8 +176,12 @@
      - 	return (retval);
      -     }
      - 
      --    if (end_of_stream())
      -+    if (end_of_stream()) {
      -+	if (buffer != 0) {
      -+	    FreeAndNull(buffer);
      -+	}
      - 	return (EOF);
      -+    }
      - 
      -   start_token:
      -     token_start = stream_pos();
      -@@ -227,17 +234,21 @@
      - 	*(ptr++) = ch;
      - 
      - 	if (first_column) {
      --	    char *desc;
      --
      - 	    _nc_comment_start = token_start;
      - 	    _nc_comment_end = _nc_curr_file_pos;
      - 	    _nc_start_line = _nc_curr_line;
      - 
      - 	    _nc_syntax = ERR;
      -+	    after_name = 0;
      -+	    after_list = 0;
      - 	    while ((ch = next_char()) != '\n') {
      --		if (ch == EOF)
      -+		if (ch == EOF) {
      - 		    _nc_err_abort(MSG_NO_MEMORY);
      --		else if (ch == ':' && last_char() != ',') {
      -+		} else if (ch == '|') {
      -+		    after_list = ptr;
      -+		    if (after_name == 0)
      -+			after_name = ptr;
      -+		} else if (ch == ':' && last_char() != ',') {
      - 		    _nc_syntax = SYN_TERMCAP;
      - 		    separator = ':';
      - 		    break;
      -@@ -245,14 +256,18 @@
      - 		    _nc_syntax = SYN_TERMINFO;
      - 		    separator = ',';
      - 		    /*
      --		     * Fall-through here is not an accident.  The idea is that
      --		     * if we see a comma, we figure this is terminfo unless we
      --		     * subsequently run into a colon -- but we don't stop
      --		     * looking for that colon until hitting a newline.  This
      -+		     * If we did not see a '|', then we found a name with no
      -+		     * aliases or description.
      -+		     */
      -+		    if (after_name == 0)
      -+			break;
      -+		    /*
      -+		     * If we see a comma, we assume this is terminfo unless we
      -+		     * subsequently run into a colon.  But we don't stop
      -+		     * looking for a colon until hitting a newline.  This
      - 		     * allows commas to be embedded in description fields of
      - 		     * either syntax.
      - 		     */
      --		    /* FALLTHRU */
      - 		} else
      - 		    ch = eat_escaped_newline(ch);
      - 
      -@@ -277,53 +292,53 @@
      - 
      - 	    /*
      - 	     * This is the soonest we have the terminal name fetched.  Set up
      --	     * for following warning messages.
      -+	     * for following warning messages.  If there's no '|', then there
      -+	     * is no description.
      - 	     */
      --	    ptr = strchr(buffer, '|');
      --	    if (ptr == (char *) NULL)
      --		ptr = buffer + strlen(buffer);
      --	    ch = *ptr;
      --	    *ptr = '\0';
      --	    _nc_set_type(buffer);
      --	    *ptr = ch;
      -+	    if (after_name != 0) {
      -+		ch = *after_name;
      -+		*after_name = '\0';
      -+		_nc_set_type(buffer);
      -+		*after_name = ch;
      -+	    }
      - 
      - 	    /*
      - 	     * Compute the boundary between the aliases and the description
      - 	     * field for syntax-checking purposes.
      - 	     */
      --	    desc = strrchr(buffer, '|');
      --	    if (!silent && desc) {
      --		if (*desc == '\0')
      --		    _nc_warning("empty longname field");
      --		else if (strchr(desc, ' ') == (char *) NULL)
      --		    _nc_warning("older tic versions may treat the description field as an alias");
      -+	    if (after_list != 0) {
      -+		if (!silent) {
      -+		    if (*after_list == '\0')
      -+			_nc_warning("empty longname field");
      -+		    else if (strchr(after_list, ' ') == 0)
      -+			_nc_warning("older tic versions may treat the description field as an alias");
      -+		}
      -+	    } else {
      -+		after_list = buffer + strlen(buffer);
      -+		DEBUG(1, ("missing description"));
      - 	    }
      --	    if (!desc)
      --		desc = buffer + strlen(buffer);
      - 
      - 	    /*
      - 	     * Whitespace in a name field other than the long name can confuse
      - 	     * rdist and some termcap tools.  Slashes are a no-no.  Other
      - 	     * special characters can be dangerous due to shell expansion.
      - 	     */
      --	    for (ptr = buffer; ptr < desc; ptr++) {
      --		if (isspace(UChar(*ptr))) {
      -+	    for (s = buffer; s < after_list; ++s) {
      -+		if (isspace(UChar(*s))) {
      - 		    if (!silent)
      - 			_nc_warning("whitespace in name or alias field");
      - 		    break;
      --		} else if (*ptr == '/') {
      -+		} else if (*s == '/') {
      - 		    if (!silent)
      - 			_nc_warning("slashes aren't allowed in names or aliases");
      - 		    break;
      --		} else if (strchr("$[]!*?", *ptr)) {
      -+		} else if (strchr("$[]!*?", *s)) {
      - 		    if (!silent)
      --			_nc_warning("dubious character `%c' in name or alias field", *ptr);
      -+			_nc_warning("dubious character `%c' in name or alias field", *s);
      - 		    break;
      - 		}
      - 	    }
      - 
      --	    ptr = buffer;
      --
      - 	    _nc_curr_token.tk_name = buffer;
      - 	    type = NAMES;
      - 	} else {
      -@@ -684,7 +699,7 @@
      -  */
      - 
      - NCURSES_EXPORT(void)
      --_nc_reset_input(FILE * fp, char *buf)
      -+_nc_reset_input(FILE *fp, char *buf)
      - {
      -     pushtype = NO_PUSHBACK;
      -     if (pushname != 0)
      -@@ -766,7 +781,7 @@
      - 		if (used == 0)
      - 		    _nc_curr_file_pos = ftell(yyin);
      - 
      --		if (fgets(result + used, allocated - used, yyin) != NULL) {
      -+		if (fgets(result + used, allocated - used, yyin) != 0) {
      - 		    bufstart = result;
      - 		    if (used == 0) {
      - 			_nc_curr_line++;
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/free_ttype.c ncurses-5.3.20030906.orig/ncurses/tinfo/free_ttype.c
      ---- ncurses-5.3/ncurses/tinfo/free_ttype.c	Sun Sep  1 15:29:03 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/free_ttype.c	Fri Sep 12 16:41:56 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -43,11 +43,43 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: free_ttype.c,v 1.8 2002/09/01 20:29:03 tom Exp $")
      -+MODULE_ID("$Id: free_ttype.c,v 1.10 2003/08/09 21:22:03 tom Exp $")
      - 
      - NCURSES_EXPORT(void)
      - _nc_free_termtype(TERMTYPE * ptr)
      - {
      -+    T(("_nc_free_termtype(%s)", ptr->term_names));
      -+
      -+    if (ptr->str_table == 0
      -+	|| (ptr->term_names < ptr->str_table
      -+	    || ptr->term_names >= ptr->str_table + MAX_ENTRY_SIZE)) {
      -+	FreeIfNeeded(ptr->term_names);
      -+    }
      -+#if NO_LEAKS
      -+    else {
      -+	if (ptr->str_table != 0
      -+	    && (ptr->term_names < ptr->str_table + MAX_ENTRY_SIZE)) {
      -+	    int j;
      -+	    char *last = ptr->str_table;
      -+	    /*
      -+	     * We should have saved the entry-size someplace.  Too late,
      -+	     * but this is useful for the memory-leak checking, though more
      -+	     * work/time than should be in the normal library.
      -+	     */
      -+	    for (j = 0; j < NUM_STRINGS(ptr); j++) {
      -+		char *s = ptr->Strings[j];
      -+		if (VALID_STRING(s)) {
      -+		    char *t = s + strlen(s) + 1;
      -+		    if (t > last)
      -+			last = t;
      -+		}
      -+	    }
      -+	    if (last < ptr->term_names) {
      -+		FreeIfNeeded(ptr->term_names);
      -+	    }
      -+	}
      -+    }
      -+#endif
      -     FreeIfNeeded(ptr->str_table);
      -     FreeIfNeeded(ptr->Booleans);
      -     FreeIfNeeded(ptr->Numbers);
      -@@ -66,7 +98,9 @@
      - use_extended_names(bool flag)
      - {
      -     int oldflag = _nc_user_definable;
      -+
      -+    T((T_CALLED("use_extended_names(%d)"), flag));
      -     _nc_user_definable = flag;
      --    return oldflag;
      -+    returnBool(oldflag);
      - }
      - #endif
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_acs.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_acs.c
      ---- ncurses-5.3/ncurses/tinfo/lib_acs.c	Sun Sep  1 14:26:57 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_acs.c	Tue May 13 20:08:22 2003
      -@@ -34,7 +34,7 @@
      - #include 
      - #include 		/* ena_acs, acs_chars */
      - 
      --MODULE_ID("$Id: lib_acs.c,v 1.22 2002/09/01 19:26:57 tom Exp $")
      -+MODULE_ID("$Id: lib_acs.c,v 1.25 2002/12/28 16:26:46 tom Exp $")
      - 
      - #if BROKEN_LINKER
      - NCURSES_EXPORT_VAR(chtype *)
      -@@ -55,101 +55,88 @@
      - NCURSES_EXPORT(void)
      - _nc_init_acs(void)
      - {
      -+    chtype *fake_map = acs_map;
      -+    chtype *real_map = SP != 0 ? SP->_acs_map : fake_map;
      -+    int j;
      -+
      -     T(("initializing ACS map"));
      --#if !BROKEN_LINKER
      --    memset(acs_map, 0, sizeof(acs_map));
      --#endif
      -+
      -+    /*
      -+     * If we're using this from curses (rather than terminfo), we are storing
      -+     * the mapping information in the SCREEN struct so we can decide how to
      -+     * render it.
      -+     */
      -+    if (real_map != fake_map) {
      -+	for (j = 1; j < ACS_LEN; ++j) {
      -+	    real_map[j] = 0;
      -+	    fake_map[j] = A_ALTCHARSET | j;
      -+	}
      -+    } else {
      -+	for (j = 1; j < ACS_LEN; ++j) {
      -+	    real_map[j] = 0;
      -+	}
      -+    }
      - 
      -     /*
      -      * Initializations for a UNIX-like multi-terminal environment.  Use
      -      * ASCII chars and count on the terminfo description to do better.
      -      */
      --    ACS_ULCORNER = '+';		/* should be upper left corner */
      --    ACS_LLCORNER = '+';		/* should be lower left corner */
      --    ACS_URCORNER = '+';		/* should be upper right corner */
      --    ACS_LRCORNER = '+';		/* should be lower right corner */
      --    ACS_RTEE = '+';		/* should be tee pointing left */
      --    ACS_LTEE = '+';		/* should be tee pointing right */
      --    ACS_BTEE = '+';		/* should be tee pointing up */
      --    ACS_TTEE = '+';		/* should be tee pointing down */
      --    ACS_HLINE = '-';		/* should be horizontal line */
      --    ACS_VLINE = '|';		/* should be vertical line */
      --    ACS_PLUS = '+';		/* should be large plus or crossover */
      --    ACS_S1 = '~';		/* should be scan line 1 */
      --    ACS_S9 = '_';		/* should be scan line 9 */
      --    ACS_DIAMOND = '+';		/* should be diamond */
      --    ACS_CKBOARD = ':';		/* should be checker board (stipple) */
      --    ACS_DEGREE = '\'';		/* should be degree symbol */
      --    ACS_PLMINUS = '#';		/* should be plus/minus */
      --    ACS_BULLET = 'o';		/* should be bullet */
      --    ACS_LARROW = '<';		/* should be arrow pointing left */
      --    ACS_RARROW = '>';		/* should be arrow pointing right */
      --    ACS_DARROW = 'v';		/* should be arrow pointing down */
      --    ACS_UARROW = '^';		/* should be arrow pointing up */
      --    ACS_BOARD = '#';		/* should be board of squares */
      --    ACS_LANTERN = '#';		/* should be lantern symbol */
      --    ACS_BLOCK = '#';		/* should be solid square block */
      -+    real_map['l'] = '+';	/* should be upper left corner */
      -+    real_map['m'] = '+';	/* should be lower left corner */
      -+    real_map['k'] = '+';	/* should be upper right corner */
      -+    real_map['j'] = '+';	/* should be lower right corner */
      -+    real_map['u'] = '+';	/* should be tee pointing left */
      -+    real_map['t'] = '+';	/* should be tee pointing right */
      -+    real_map['v'] = '+';	/* should be tee pointing up */
      -+    real_map['w'] = '+';	/* should be tee pointing down */
      -+    real_map['q'] = '-';	/* should be horizontal line */
      -+    real_map['x'] = '|';	/* should be vertical line */
      -+    real_map['n'] = '+';	/* should be large plus or crossover */
      -+    real_map['o'] = '~';	/* should be scan line 1 */
      -+    real_map['s'] = '_';	/* should be scan line 9 */
      -+    real_map['`'] = '+';	/* should be diamond */
      -+    real_map['a'] = ':';	/* should be checker board (stipple) */
      -+    real_map['f'] = '\'';	/* should be degree symbol */
      -+    real_map['g'] = '#';	/* should be plus/minus */
      -+    real_map['~'] = 'o';	/* should be bullet */
      -+    real_map[','] = '<';	/* should be arrow pointing left */
      -+    real_map['+'] = '>';	/* should be arrow pointing right */
      -+    real_map['.'] = 'v';	/* should be arrow pointing down */
      -+    real_map['-'] = '^';	/* should be arrow pointing up */
      -+    real_map['h'] = '#';	/* should be board of squares */
      -+    real_map['i'] = '#';	/* should be lantern symbol */
      -+    real_map['0'] = '#';	/* should be solid square block */
      -     /* these defaults were invented for ncurses */
      --    ACS_S3 = '-';		/* should be scan line 3 */
      --    ACS_S7 = '-';		/* should be scan line 7 */
      --    ACS_LEQUAL = '<';		/* should be less-than-or-equal-to */
      --    ACS_GEQUAL = '>';		/* should be greater-than-or-equal-to */
      --    ACS_PI = '*';		/* should be greek pi */
      --    ACS_NEQUAL = '!';		/* should be not-equal */
      --    ACS_STERLING = 'f';		/* should be pound-sterling symbol */
      -+    real_map['p'] = '-';	/* should be scan line 3 */
      -+    real_map['r'] = '-';	/* should be scan line 7 */
      -+    real_map['y'] = '<';	/* should be less-than-or-equal-to */
      -+    real_map['z'] = '>';	/* should be greater-than-or-equal-to */
      -+    real_map['{'] = '*';	/* should be greek pi */
      -+    real_map['|'] = '!';	/* should be not-equal */
      -+    real_map['}'] = 'f';	/* should be pound-sterling symbol */
      -+
      -+#if !USE_WIDEC_SUPPORT
      -+    if (_nc_unicode_locale() && _nc_locale_breaks_acs()) {
      -+	acs_chars = NULL;
      -+	ena_acs = NULL;
      -+    }
      -+#endif
      - 
      -     if (ena_acs != NULL) {
      - 	TPUTS_TRACE("ena_acs");
      - 	putp(ena_acs);
      -     }
      --#define ALTCHAR(c)	((chtype)(((unsigned char)(c)) | A_ALTCHARSET))
      - 
      -     if (acs_chars != NULL) {
      - 	size_t i = 0;
      - 	size_t length = strlen(acs_chars);
      - 
      --	while (i < length)
      --	    switch (acs_chars[i]) {
      --	    case 'l':
      --	    case 'm':
      --	    case 'k':
      --	    case 'j':
      --	    case 'u':
      --	    case 't':
      --	    case 'v':
      --	    case 'w':
      --	    case 'q':
      --	    case 'x':
      --	    case 'n':
      --	    case 'o':
      --	    case 's':
      --	    case '`':
      --	    case 'a':
      --	    case 'f':
      --	    case 'g':
      --	    case '~':
      --	    case ',':
      --	    case '+':
      --	    case '.':
      --	    case '-':
      --	    case 'h':
      --	    case 'i':
      --	    case '0':
      --	    case 'p':
      --	    case 'r':
      --	    case 'y':
      --	    case 'z':
      --	    case '{':
      --	    case '|':
      --	    case '}':
      --		acs_map[(unsigned int) acs_chars[i]] =
      --		    ALTCHAR(acs_chars[i + 1]);
      --		i++;
      --		/* FALLTHRU */
      --	    default:
      --		i++;
      --		break;
      -+	while (i + 1 < length) {
      -+	    if (acs_chars[i] != 0 && UChar(acs_chars[i]) < ACS_LEN) {
      -+		real_map[UChar(acs_chars[i])] = UChar(acs_chars[i + 1]) | A_ALTCHARSET;
      - 	    }
      -+	    i += 2;
      -+	}
      -     }
      - #ifdef TRACE
      -     /* Show the equivalent mapping, noting if it does not match the
      -@@ -159,9 +146,9 @@
      - 	size_t n, m;
      - 	char show[ACS_LEN + 1];
      - 	for (n = 1, m = 0; n < ACS_LEN; n++) {
      --	    if (acs_map[n] != 0) {
      -+	    if (real_map[n] != 0) {
      - 		show[m++] = (char) n;
      --		show[m++] = ChCharOf(acs_map[n]);
      -+		show[m++] = ChCharOf(real_map[n]);
      - 	    }
      - 	}
      - 	show[m] = 0;
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_cur_term.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_cur_term.c
      ---- ncurses-5.3/ncurses/tinfo/lib_cur_term.c	Sat Dec  9 20:55:07 2000
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_cur_term.c	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -40,7 +40,7 @@
      - #include 		/* TTY, cur_term */
      - #include 		/* ospeed */
      - 
      --MODULE_ID("$Id: lib_cur_term.c,v 1.11 2000/12/10 02:55:07 tom Exp $")
      -+MODULE_ID("$Id: lib_cur_term.c,v 1.12 2003/02/23 01:00:56 tom Exp $")
      - 
      - NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0;
      - 
      -@@ -49,11 +49,14 @@
      - {
      -     TERMINAL *oldterm = cur_term;
      - 
      -+    T((T_CALLED("set_curterm(%p)"), termp));
      -+
      -     if ((cur_term = termp) != 0) {
      - 	ospeed = _nc_ospeed(cur_term->_baudrate);
      - 	PC = (pad_char != NULL) ? pad_char[0] : 0;
      -     }
      --    return oldterm;
      -+    T((T_RETURN("%p"), oldterm));
      -+    return (oldterm);
      - }
      - 
      - NCURSES_EXPORT(int)
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_kernel.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_kernel.c
      ---- ncurses-5.3/ncurses/tinfo/lib_kernel.c	Sat May 11 15:32:18 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_kernel.c	Tue May 13 20:08:22 2003
      -@@ -48,12 +48,12 @@
      - #include 
      - #include 		/* cur_term */
      - 
      --MODULE_ID("$Id: lib_kernel.c,v 1.22 2002/05/11 20:32:18 tom Exp $")
      -+MODULE_ID("$Id: lib_kernel.c,v 1.23 2003/01/26 00:24:53 tom Exp $")
      - 
      - static int
      - _nc_vdisable(void)
      - {
      --    int value;
      -+    int value = -1;
      - #if defined(_POSIX_VDISABLE) && defined(HAVE_UNISTD_H)
      -     value = _POSIX_VDISABLE;
      - #endif
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_setup.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_setup.c
      ---- ncurses-5.3/ncurses/tinfo/lib_setup.c	Sat Oct 12 16:50:18 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_setup.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -29,6 +29,7 @@
      - /****************************************************************************
      -  *  Author: Zeyd M. Ben-Halim  1992,1995               *
      -  *     and: Eric S. Raymond                          *
      -+ *     and: Thomas E. Dickey 1996-2003                                      *
      -  ****************************************************************************/
      - 
      - /*
      -@@ -48,7 +49,7 @@
      - 
      - #include 		/* lines, columns, cur_term */
      - 
      --MODULE_ID("$Id: lib_setup.c,v 1.70 2002/10/12 21:50:18 tom Exp $")
      -+MODULE_ID("$Id: lib_setup.c,v 1.77 2003/05/24 21:10:28 tom Exp $")
      - 
      - /****************************************************************************
      -  *
      -@@ -90,9 +91,12 @@
      - # endif
      - #endif
      - 
      --static int _use_env = TRUE;
      -+NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
      -+NCURSES_EXPORT_VAR(int) LINES = 0;
      -+NCURSES_EXPORT_VAR(int) COLS = 0;
      -+NCURSES_EXPORT_VAR(int) TABSIZE = 0;
      - 
      --static void do_prototype(void);
      -+static int _use_env = TRUE;
      - 
      - NCURSES_EXPORT(void)
      - use_env(bool f)
      -@@ -102,10 +106,6 @@
      -     returnVoid;
      - }
      - 
      --NCURSES_EXPORT_VAR(int) LINES = 0;
      --NCURSES_EXPORT_VAR(int) COLS = 0;
      --NCURSES_EXPORT_VAR(int) TABSIZE = 0;
      --
      - static void
      - _nc_get_screensize(int *linep, int *colp)
      - /* Obtain lines/columns values from the environment and/or terminfo entry */
      -@@ -199,7 +199,6 @@
      -     else
      - 	TABSIZE = 8;
      -     T(("TABSIZE = %d", TABSIZE));
      --
      - }
      - 
      - #if USE_SIZECHANGE
      -@@ -241,7 +240,9 @@
      - grab_entry(const char *const tn, TERMTYPE * const tp)
      - /* return 1 if entry found, 0 if not found, -1 if database not accessible */
      - {
      -+#if USE_DATABASE
      -     char filename[PATH_MAX];
      -+#endif
      -     int status;
      - 
      -     /*
      -@@ -275,7 +276,7 @@
      -      * a string is cancelled, for merging entries).
      -      */
      -     if (status == 1) {
      --	int n;
      -+	unsigned n;
      - 	for_each_boolean(n, tp) {
      - 	    if (!VALID_BOOLEAN(tp->Booleans[n]))
      - 		tp->Booleans[n] = FALSE;
      -@@ -289,7 +290,82 @@
      - }
      - #endif
      - 
      --NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
      -+/*
      -+**	do_prototype()
      -+**
      -+**	Take the real command character out of the CC environment variable
      -+**	and substitute it in for the prototype given in 'command_character'.
      -+**
      -+*/
      -+static void
      -+do_prototype(void)
      -+{
      -+    int i;
      -+    char CC;
      -+    char proto;
      -+    char *tmp;
      -+
      -+    tmp = getenv("CC");
      -+    CC = *tmp;
      -+    proto = *command_character;
      -+
      -+    for_each_string(i, &(cur_term->type)) {
      -+	for (tmp = cur_term->type.Strings[i]; *tmp; tmp++) {
      -+	    if (*tmp == proto)
      -+		*tmp = CC;
      -+	}
      -+    }
      -+}
      -+
      -+/*
      -+ * Check if we are running in a UTF-8 locale.
      -+ */
      -+NCURSES_EXPORT(char *)
      -+_nc_get_locale(void)
      -+{
      -+    char *env;
      -+    if (((env = getenv("LC_ALL")) != 0 && *env != '\0')
      -+	|| ((env = getenv("LC_CTYPE")) != 0 && *env != '\0')
      -+	|| ((env = getenv("LANG")) != 0 && *env != '\0')) {
      -+	return env;
      -+    }
      -+    return 0;
      -+}
      -+
      -+/*
      -+ * Check if we are running in a UTF-8 locale.
      -+ */
      -+NCURSES_EXPORT(int)
      -+_nc_unicode_locale(void)
      -+{
      -+    char *env = _nc_get_locale();
      -+    if (env != 0) {
      -+	if (strstr(env, ".UTF-8") != 0)
      -+	    return 1;
      -+    }
      -+    return 0;
      -+}
      -+
      -+/*
      -+ * Check for known broken cases where a UTF-8 locale breaks the alternate
      -+ * character set.
      -+ */
      -+NCURSES_EXPORT(int)
      -+_nc_locale_breaks_acs(void)
      -+{
      -+    char *env = getenv("TERM");
      -+    if (env != 0) {
      -+	if (strstr(env, "linux"))
      -+	    return 1;		/* always broken */
      -+	if (strstr(env, "screen") != 0
      -+	    && ((env = getenv("TERMCAP")) != 0
      -+		&& strstr(env, "screen") != 0)
      -+	    && strstr(env, "hhII00") != 0) {
      -+	    return 1;
      -+	}
      -+    }
      -+    return 0;
      -+}
      - 
      - /*
      -  *	setupterm(termname, Filedes, errret)
      -@@ -302,7 +378,6 @@
      - NCURSES_EXPORT(int)
      - setupterm(NCURSES_CONST char *tname, int Filedes, int *errret)
      - {
      --    struct term *term_ptr;
      -     int status;
      - 
      -     START_TRACE();
      -@@ -321,77 +396,89 @@
      - 
      -     T(("your terminal name is %s", tname));
      - 
      --    term_ptr = typeCalloc(TERMINAL, 1);
      -+    /*
      -+     * Allow output redirection.  This is what SVr3 does.  If stdout is
      -+     * directed to a file, screen updates go to standard error.
      -+     */
      -+    if (Filedes == STDOUT_FILENO && !isatty(Filedes))
      -+	Filedes = STDERR_FILENO;
      - 
      --    if (term_ptr == 0) {
      --	ret_error0(-1, "Not enough memory to create terminal structure.\n");
      --    }
      -+    /*
      -+     * Check if we have already initialized to use this terminal.  If so, we
      -+     * do not need to re-read the terminfo entry, or obtain TTY settings.
      -+     *
      -+     * This is an improvement on SVr4 curses.  If an application mixes curses
      -+     * and termcap calls, it may call both initscr and tgetent.  This is not
      -+     * really a good thing to do, but can happen if someone tries using ncurses
      -+     * with the readline library.  The problem we are fixing is that when
      -+     * tgetent calls setupterm, the resulting Ottyb struct in cur_term is
      -+     * zeroed.  A subsequent call to endwin uses the zeroed terminal settings
      -+     * rather than the ones saved in initscr.  So we check if cur_term appears
      -+     * to contain terminal settings for the same output file as our current
      -+     * call - and copy those terminal settings.  (SVr4 curses does not do this,
      -+     * however applications that are working around the problem will still work
      -+     * properly with this feature).
      -+     */
      -+    if (cur_term != 0
      -+	&& cur_term->Filedes == Filedes
      -+	&& _nc_name_match(cur_term->type.term_names, tname, "|")) {
      -+	T(("reusing existing terminal information and mode-settings"));
      -+    } else {
      -+	TERMINAL *term_ptr;
      -+
      -+	term_ptr = typeCalloc(TERMINAL, 1);
      -+
      -+	if (term_ptr == 0) {
      -+	    ret_error0(-1,
      -+		       "Not enough memory to create terminal structure.\n");
      -+	}
      - #if USE_DATABASE || USE_TERMCAP
      --    status = grab_entry(tname, &term_ptr->type);
      -+	status = grab_entry(tname, &term_ptr->type);
      - #else
      --    status = 0;
      -+	status = 0;
      - #endif
      - 
      --    /* try fallback list if entry on disk */
      --    if (status != 1) {
      --	const TERMTYPE *fallback = _nc_fallback(tname);
      -+	/* try fallback list if entry on disk */
      -+	if (status != 1) {
      -+	    const TERMTYPE *fallback = _nc_fallback(tname);
      - 
      --	if (fallback) {
      --	    term_ptr->type = *fallback;
      --	    status = 1;
      -+	    if (fallback) {
      -+		term_ptr->type = *fallback;
      -+		status = 1;
      -+	    }
      - 	}
      --    }
      - 
      --    if (status == -1) {
      --	ret_error0(-1, "terminals database is inaccessible\n");
      --    } else if (status == 0) {
      --	ret_error(0, "'%s': unknown terminal type.\n", tname);
      --    }
      -+	if (status == -1) {
      -+	    ret_error0(-1, "terminals database is inaccessible\n");
      -+	} else if (status == 0) {
      -+	    ret_error(0, "'%s': unknown terminal type.\n", tname);
      -+	}
      - 
      --    /*
      --     * Improve on SVr4 curses.  If an application mixes curses and termcap
      --     * calls, it may call both initscr and tgetent.  This is not really a
      --     * good thing to do, but can happen if someone tries using ncurses with
      --     * the readline library.  The problem we are fixing is that when
      --     * tgetent calls setupterm, the resulting Ottyb struct in cur_term is
      --     * zeroed.  A subsequent call to endwin uses the zeroed terminal
      --     * settings rather than the ones saved in initscr.  So we check if
      --     * cur_term appears to contain terminal settings for the same output
      --     * file as our current call - and copy those terminal settings.  (SVr4
      --     * curses does not do this, however applications that are working
      --     * around the problem will still work properly with this feature).
      --     */
      --    if (cur_term != 0) {
      --	if (cur_term->Filedes == Filedes)
      --	    term_ptr->Ottyb = cur_term->Ottyb;
      --    }
      -+	set_curterm(term_ptr);
      - 
      --    set_curterm(term_ptr);
      -+	if (command_character && getenv("CC"))
      -+	    do_prototype();
      - 
      --    if (command_character && getenv("CC"))
      --	do_prototype();
      -+	strncpy(ttytype, cur_term->type.term_names, NAMESIZE - 1);
      -+	ttytype[NAMESIZE - 1] = '\0';
      - 
      --    strncpy(ttytype, cur_term->type.term_names, NAMESIZE - 1);
      --    ttytype[NAMESIZE - 1] = '\0';
      -+	cur_term->Filedes = Filedes;
      - 
      --    /*
      --     * Allow output redirection.  This is what SVr3 does.  If stdout is
      --     * directed to a file, screen updates go to standard error.
      --     */
      --    if (Filedes == STDOUT_FILENO && !isatty(Filedes))
      --	Filedes = STDERR_FILENO;
      --    cur_term->Filedes = Filedes;
      -+	/*
      -+	 * If an application calls setupterm() rather than initscr() or
      -+	 * newterm(), we will not have the def_prog_mode() call in
      -+	 * _nc_setupscreen().  Do it now anyway, so we can initialize the
      -+	 * baudrate.
      -+	 */
      -+	if (isatty(Filedes)) {
      -+	    def_prog_mode();
      -+	    baudrate();
      -+	}
      -+    }
      - 
      -     /*
      --     * If an application calls setupterm() rather than initscr() or newterm(),
      --     * we will not have the def_prog_mode() call in _nc_setupscreen().  Do it
      --     * now anyway, so we can initialize the baudrate.
      -+     * We should always check the screensize, just in case.
      -      */
      --    if (isatty(Filedes)) {
      --	def_prog_mode();
      --	baudrate();
      --    }
      --
      -     _nc_get_screensize(&LINES, &COLS);
      - 
      -     if (errret)
      -@@ -407,31 +494,3 @@
      -     }
      -     returnCode(OK);
      - }
      --
      --/*
      --**	do_prototype()
      --**
      --**	Take the real command character out of the CC environment variable
      --**	and substitute it in for the prototype given in 'command_character'.
      --**
      --*/
      --
      --static void
      --do_prototype(void)
      --{
      --    int i;
      --    char CC;
      --    char proto;
      --    char *tmp;
      --
      --    tmp = getenv("CC");
      --    CC = *tmp;
      --    proto = *command_character;
      --
      --    for_each_string(i, &(cur_term->type)) {
      --	for (tmp = cur_term->type.Strings[i]; *tmp; tmp++) {
      --	    if (*tmp == proto)
      --		*tmp = CC;
      --	}
      --    }
      --}
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_termcap.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_termcap.c
      ---- ncurses-5.3/ncurses/tinfo/lib_termcap.c	Sat May 25 07:24:13 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_termcap.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -43,7 +43,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_termcap.c,v 1.43 2002/05/25 12:24:13 tom Exp $")
      -+MODULE_ID("$Id: lib_termcap.c,v 1.44 2003/05/24 21:10:28 tom Exp $")
      - 
      - #define CSI       233
      - #define ESC       033		/* ^[ */
      -@@ -233,7 +233,7 @@
      - NCURSES_EXPORT(int)
      - tgetflag(NCURSES_CONST char *id)
      - {
      --    int i;
      -+    unsigned i;
      - 
      -     T((T_CALLED("tgetflag(%s)"), id));
      -     if (cur_term != 0) {
      -@@ -261,7 +261,7 @@
      - NCURSES_EXPORT(int)
      - tgetnum(NCURSES_CONST char *id)
      - {
      --    int i;
      -+    unsigned i;
      - 
      -     T((T_CALLED("tgetnum(%s)"), id));
      -     if (cur_term != 0) {
      -@@ -290,7 +290,7 @@
      - NCURSES_EXPORT(char *)
      - tgetstr(NCURSES_CONST char *id, char **area)
      - {
      --    int i;
      -+    unsigned i;
      -     char *result = NULL;
      - 
      -     T((T_CALLED("tgetstr(%s,%p)"), id, area));
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_ti.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ti.c
      ---- ncurses-5.3/ncurses/tinfo/lib_ti.c	Sat Dec  9 20:55:08 2000
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ti.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -36,12 +36,12 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: lib_ti.c,v 1.22 2000/12/10 02:55:08 tom Exp $")
      -+MODULE_ID("$Id: lib_ti.c,v 1.23 2003/05/24 21:10:28 tom Exp $")
      - 
      - NCURSES_EXPORT(int)
      - tigetflag(NCURSES_CONST char *str)
      - {
      --    int i;
      -+    unsigned i;
      - 
      -     T((T_CALLED("tigetflag(%s)"), str));
      - 
      -@@ -62,7 +62,7 @@
      - NCURSES_EXPORT(int)
      - tigetnum(NCURSES_CONST char *str)
      - {
      --    int i;
      -+    unsigned i;
      - 
      -     T((T_CALLED("tigetnum(%s)"), str));
      - 
      -@@ -84,7 +84,7 @@
      - NCURSES_EXPORT(char *)
      - tigetstr(NCURSES_CONST char *str)
      - {
      --    int i;
      -+    unsigned i;
      - 
      -     T((T_CALLED("tigetstr(%s)"), str));
      - 
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_tparm.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tparm.c
      ---- ncurses-5.3/ncurses/tinfo/lib_tparm.c	Sat Oct  5 14:33:24 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tparm.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -43,7 +43,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: lib_tparm.c,v 1.62 2002/10/05 19:33:24 Frank.Henigman Exp $")
      -+MODULE_ID("$Id: lib_tparm.c,v 1.67 2003/05/24 20:18:50 tom Exp $")
      - 
      - /*
      -  *	char *
      -@@ -129,6 +129,9 @@
      - static size_t out_size;
      - static size_t out_used;
      - 
      -+static char *fmt_buff;
      -+static size_t fmt_size;
      -+
      - #if NO_LEAKS
      - NCURSES_EXPORT(void)
      - _nc_free_tparm(void)
      -@@ -137,6 +140,8 @@
      - 	FreeAndNull(out_buff);
      - 	out_size = 0;
      - 	out_used = 0;
      -+	FreeAndNull(fmt_buff);
      -+	fmt_size = 0;
      -     }
      - }
      - #endif
      -@@ -247,153 +252,136 @@
      - static inline const char *
      - parse_format(const char *s, char *format, int *len)
      - {
      --    bool done = FALSE;
      --    bool allowminus = FALSE;
      --    bool dot = FALSE;
      --    bool err = FALSE;
      --    char *fmt = format;
      --    int my_width = 0;
      --    int my_prec = 0;
      --    int value = 0;
      --
      -     *len = 0;
      --    *format++ = '%';
      --    while (*s != '\0' && !done) {
      --	switch (*s) {
      --	case 'c':		/* FALLTHRU */
      --	case 'd':		/* FALLTHRU */
      --	case 'o':		/* FALLTHRU */
      --	case 'x':		/* FALLTHRU */
      --	case 'X':		/* FALLTHRU */
      --	case 's':
      --	    *format++ = *s;
      --	    done = TRUE;
      --	    break;
      --	case '.':
      --	    *format++ = *s++;
      --	    if (dot) {
      --		err = TRUE;
      --	    } else {		/* value before '.' is the width */
      --		dot = TRUE;
      --		my_width = value;
      --	    }
      --	    value = 0;
      --	    break;
      --	case '#':
      --	    *format++ = *s++;
      --	    break;
      --	case ' ':
      --	    *format++ = *s++;
      --	    break;
      --	case ':':
      --	    s++;
      --	    allowminus = TRUE;
      --	    break;
      --	case '-':
      --	    if (allowminus) {
      --		*format++ = *s++;
      --	    } else {
      -+    if (format != 0) {
      -+	bool done = FALSE;
      -+	bool allowminus = FALSE;
      -+	bool dot = FALSE;
      -+	bool err = FALSE;
      -+	char *fmt = format;
      -+	int my_width = 0;
      -+	int my_prec = 0;
      -+	int value = 0;
      -+
      -+	*len = 0;
      -+	*format++ = '%';
      -+	while (*s != '\0' && !done) {
      -+	    switch (*s) {
      -+	    case 'c':		/* FALLTHRU */
      -+	    case 'd':		/* FALLTHRU */
      -+	    case 'o':		/* FALLTHRU */
      -+	    case 'x':		/* FALLTHRU */
      -+	    case 'X':		/* FALLTHRU */
      -+	    case 's':
      -+		*format++ = *s;
      - 		done = TRUE;
      --	    }
      --	    break;
      --	default:
      --	    if (isdigit(UChar(*s))) {
      --		value = (value * 10) + (*s - '0');
      --		if (value > 10000)
      -+		break;
      -+	    case '.':
      -+		*format++ = *s++;
      -+		if (dot) {
      - 		    err = TRUE;
      -+		} else {	/* value before '.' is the width */
      -+		    dot = TRUE;
      -+		    my_width = value;
      -+		}
      -+		value = 0;
      -+		break;
      -+	    case '#':
      - 		*format++ = *s++;
      --	    } else {
      --		done = TRUE;
      -+		break;
      -+	    case ' ':
      -+		*format++ = *s++;
      -+		break;
      -+	    case ':':
      -+		s++;
      -+		allowminus = TRUE;
      -+		break;
      -+	    case '-':
      -+		if (allowminus) {
      -+		    *format++ = *s++;
      -+		} else {
      -+		    done = TRUE;
      -+		}
      -+		break;
      -+	    default:
      -+		if (isdigit(UChar(*s))) {
      -+		    value = (value * 10) + (*s - '0');
      -+		    if (value > 10000)
      -+			err = TRUE;
      -+		    *format++ = *s++;
      -+		} else {
      -+		    done = TRUE;
      -+		}
      - 	    }
      - 	}
      --    }
      - 
      --    /*
      --     * If we found an error, ignore (and remove) the flags.
      --     */
      --    if (err) {
      --	my_width = my_prec = value = 0;
      --	format = fmt;
      --	*format++ = '%';
      --	*format++ = *s;
      --    }
      -+	/*
      -+	 * If we found an error, ignore (and remove) the flags.
      -+	 */
      -+	if (err) {
      -+	    my_width = my_prec = value = 0;
      -+	    format = fmt;
      -+	    *format++ = '%';
      -+	    *format++ = *s;
      -+	}
      - 
      --    /*
      --     * Any value after '.' is the precision.  If we did not see '.', then
      --     * the value is the width.
      --     */
      --    if (dot)
      --	my_prec = value;
      --    else
      --	my_width = value;
      -+	/*
      -+	 * Any value after '.' is the precision.  If we did not see '.', then
      -+	 * the value is the width.
      -+	 */
      -+	if (dot)
      -+	    my_prec = value;
      -+	else
      -+	    my_width = value;
      - 
      --    *format = '\0';
      --    /* return maximum string length in print */
      --    *len = (my_width > my_prec) ? my_width : my_prec;
      -+	*format = '\0';
      -+	/* return maximum string length in print */
      -+	*len = (my_width > my_prec) ? my_width : my_prec;
      -+    }
      -     return s;
      - }
      - 
      - #define isUPPER(c) ((c) >= 'A' && (c) <= 'Z')
      - #define isLOWER(c) ((c) >= 'a' && (c) <= 'z')
      - 
      --static inline char *
      --tparam_internal(const char *string, va_list ap)
      -+/*
      -+ * Analyze the string to see how many parameters we need from the varargs list,
      -+ * and what their types are.  We will only accept string parameters if they
      -+ * appear as a %l or %s format following an explicit parameter reference (e.g.,
      -+ * %p2%s).  All other parameters are numbers.
      -+ *
      -+ * 'number' counts coarsely the number of pop's we see in the string, and
      -+ * 'popcount' shows the highest parameter number in the string.  We would like
      -+ * to simply use the latter count, but if we are reading termcap strings, there
      -+ * may be cases that we cannot see the explicit parameter numbers.
      -+ */
      -+NCURSES_EXPORT(int)
      -+_nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount)
      - {
      --#define NUM_VARS 26
      --    char *p_is_s[9];
      --    long param[9];
      --    int lastpop;
      --    int popcount;
      --    int number;
      --    int len;
      --    int level;
      --    int x, y;
      --    int i;
      -     size_t len2;
      --    register const char *cp;
      --    static size_t len_fmt;
      -+    int i;
      -+    int lastpop = -1;
      -+    int len;
      -+    int number = 0;
      -+    const char *cp = string;
      -     static char dummy[] = "";
      --    static char *format;
      --    static int dynamic_var[NUM_VARS];
      --    static int static_vars[NUM_VARS];
      - 
      --    out_used = 0;
      --    if (string == NULL)
      --	return NULL;
      -+    if (cp == 0)
      -+	return 0;
      - 
      --    if ((len2 = strlen(string)) > len_fmt) {
      --	len_fmt = len2 + len_fmt + 2;
      --	if ((format = typeRealloc(char, len_fmt, format)) == 0)
      -+    if ((len2 = strlen(cp)) > fmt_size) {
      -+	fmt_size = len2 + fmt_size + 2;
      -+	if ((fmt_buff = typeRealloc(char, fmt_size, fmt_buff)) == 0)
      - 	      return 0;
      -     }
      - 
      --    /*
      --     * Find the highest parameter-number referred to in the format string.
      --     * Use this value to limit the number of arguments copied from the
      --     * variable-length argument list.
      --     */
      --
      --    number = 0;
      --    lastpop = -1;
      --    popcount = 0;
      --    memset(p_is_s, 0, sizeof(p_is_s));
      -+    memset(p_is_s, 0, sizeof(p_is_s[0]) * NUM_PARM);
      -+    *popcount = 0;
      - 
      --    /*
      --     * Analyze the string to see how many parameters we need from the varargs
      --     * list, and what their types are.  We will only accept string parameters
      --     * if they appear as a %l or %s format following an explicit parameter
      --     * reference (e.g., %p2%s).  All other parameters are numbers.
      --     *
      --     * 'number' counts coarsely the number of pop's we see in the string, and
      --     * 'popcount' shows the highest parameter number in the string.  We would
      --     * like to simply use the latter count, but if we are reading termcap
      --     * strings, there may be cases that we cannot see the explicit parameter
      --     * numbers.
      --     */
      --    for (cp = string; (cp - string) < (int) len2;) {
      -+    while ((cp - string) < (int) len2) {
      - 	if (*cp == '%') {
      - 	    cp++;
      --	    cp = parse_format(cp, format, &len);
      -+	    cp = parse_format(cp, fmt_buff, &len);
      - 	    switch (*cp) {
      - 	    default:
      - 		break;
      -@@ -416,11 +404,11 @@
      - 
      - 	    case 'p':
      - 		cp++;
      --		i = (*cp - '0');
      --		if (i >= 0 && i <= 9) {
      -+		i = (UChar(*cp) - '0');
      -+		if (i >= 0 && i <= NUM_PARM) {
      - 		    lastpop = i;
      --		    if (lastpop > popcount)
      --			popcount = lastpop;
      -+		    if (lastpop > *popcount)
      -+			*popcount = lastpop;
      - 		}
      - 		break;
      - 
      -@@ -440,7 +428,7 @@
      - 
      - 	    case L_BRACE:
      - 		cp++;
      --		while (*cp >= '0' && *cp <= '9') {
      -+		while (isdigit(UChar(*cp))) {
      - 		    cp++;
      - 		}
      - 		break;
      -@@ -470,8 +458,8 @@
      - 
      - 	    case 'i':
      - 		lastpop = -1;
      --		if (popcount < 2)
      --		    popcount = 2;
      -+		if (*popcount < 2)
      -+		    *popcount = 2;
      - 		break;
      - 	    }
      - 	}
      -@@ -479,8 +467,43 @@
      - 	    cp++;
      -     }
      - 
      --    if (number > 9)
      --	number = 9;
      -+    if (number > NUM_PARM)
      -+	number = NUM_PARM;
      -+    return number;
      -+}
      -+
      -+static inline char *
      -+tparam_internal(const char *string, va_list ap)
      -+{
      -+#define NUM_VARS 26
      -+    char *p_is_s[NUM_PARM];
      -+    long param[NUM_PARM];
      -+    int popcount;
      -+    int number;
      -+    int len;
      -+    int level;
      -+    int x, y;
      -+    int i;
      -+    const char *cp = string;
      -+    size_t len2;
      -+    static int dynamic_var[NUM_VARS];
      -+    static int static_vars[NUM_VARS];
      -+
      -+    if (cp == NULL)
      -+	return NULL;
      -+
      -+    out_used = 0;
      -+    len2 = strlen(cp);
      -+
      -+    /*
      -+     * Find the highest parameter-number referred to in the format string.
      -+     * Use this value to limit the number of arguments copied from the
      -+     * variable-length argument list.
      -+     */
      -+    number = _nc_tparm_analyze(cp, p_is_s, &popcount);
      -+    if (fmt_buff == 0)
      -+	return NULL;
      -+
      -     for (i = 0; i < max(popcount, number); i++) {
      - 	/*
      - 	 * A few caps (such as plab_norm) have string-valued parms.
      -@@ -517,18 +540,18 @@
      - 	    else
      - 		save_number(", %d", param[i], 0);
      - 	}
      --	_tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(string), out_buff);
      -+	_tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(cp), out_buff);
      - 	out_used = 0;
      -     }
      - #endif /* TRACE */
      - 
      --    while (*string) {
      --	if (*string != '%') {
      --	    save_char(*string);
      -+    while ((cp - string) < (int) len2) {
      -+	if (*cp != '%') {
      -+	    save_char(UChar(*cp));
      - 	} else {
      --	    tparam_base = string++;
      --	    string = parse_format(string, format, &len);
      --	    switch (*string) {
      -+	    tparam_base = cp++;
      -+	    cp = parse_format(cp, fmt_buff, &len);
      -+	    switch (*cp) {
      - 	    default:
      - 		break;
      - 	    case '%':
      -@@ -539,7 +562,7 @@
      - 	    case 'o':		/* FALLTHRU */
      - 	    case 'x':		/* FALLTHRU */
      - 	    case 'X':		/* FALLTHRU */
      --		save_number(format, npop(), len);
      -+		save_number(fmt_buff, npop(), len);
      - 		break;
      - 
      - 	    case 'c':		/* FALLTHRU */
      -@@ -551,13 +574,13 @@
      - 		break;
      - 
      - 	    case 's':
      --		save_text(format, spop(), len);
      -+		save_text(fmt_buff, spop(), len);
      - 		break;
      - 
      - 	    case 'p':
      --		string++;
      --		i = (*string - '1');
      --		if (i >= 0 && i < 9) {
      -+		cp++;
      -+		i = (UChar(*cp) - '1');
      -+		if (i >= 0 && i < NUM_PARM) {
      - 		    if (p_is_s[i])
      - 			spush(p_is_s[i]);
      - 		    else
      -@@ -566,39 +589,39 @@
      - 		break;
      - 
      - 	    case 'P':
      --		string++;
      --		if (isUPPER(*string)) {
      --		    i = (*string - 'A');
      -+		cp++;
      -+		if (isUPPER(*cp)) {
      -+		    i = (UChar(*cp) - 'A');
      - 		    static_vars[i] = npop();
      --		} else if (isLOWER(*string)) {
      --		    i = (*string - 'a');
      -+		} else if (isLOWER(*cp)) {
      -+		    i = (UChar(*cp) - 'a');
      - 		    dynamic_var[i] = npop();
      - 		}
      - 		break;
      - 
      - 	    case 'g':
      --		string++;
      --		if (isUPPER(*string)) {
      --		    i = (*string - 'A');
      -+		cp++;
      -+		if (isUPPER(*cp)) {
      -+		    i = (UChar(*cp) - 'A');
      - 		    npush(static_vars[i]);
      --		} else if (isLOWER(*string)) {
      --		    i = (*string - 'a');
      -+		} else if (isLOWER(*cp)) {
      -+		    i = (UChar(*cp) - 'a');
      - 		    npush(dynamic_var[i]);
      - 		}
      - 		break;
      - 
      - 	    case S_QUOTE:
      --		string++;
      --		npush(*string);
      --		string++;
      -+		cp++;
      -+		npush(UChar(*cp));
      -+		cp++;
      - 		break;
      - 
      - 	    case L_BRACE:
      - 		number = 0;
      --		string++;
      --		while (*string >= '0' && *string <= '9') {
      --		    number = number * 10 + *string - '0';
      --		    string++;
      -+		cp++;
      -+		while (isdigit(UChar(*cp))) {
      -+		    number = (number * 10) + (UChar(*cp) - '0');
      -+		    cp++;
      - 		}
      - 		npush(number);
      - 		break;
      -@@ -689,38 +712,38 @@
      - 		x = npop();
      - 		if (!x) {
      - 		    /* scan forward for %e or %; at level zero */
      --		    string++;
      -+		    cp++;
      - 		    level = 0;
      --		    while (*string) {
      --			if (*string == '%') {
      --			    string++;
      --			    if (*string == '?')
      -+		    while (*cp) {
      -+			if (*cp == '%') {
      -+			    cp++;
      -+			    if (*cp == '?')
      - 				level++;
      --			    else if (*string == ';') {
      -+			    else if (*cp == ';') {
      - 				if (level > 0)
      - 				    level--;
      - 				else
      - 				    break;
      --			    } else if (*string == 'e' && level == 0)
      -+			    } else if (*cp == 'e' && level == 0)
      - 				break;
      - 			}
      - 
      --			if (*string)
      --			    string++;
      -+			if (*cp)
      -+			    cp++;
      - 		    }
      - 		}
      - 		break;
      - 
      - 	    case 'e':
      - 		/* scan forward for a %; at level zero */
      --		string++;
      -+		cp++;
      - 		level = 0;
      --		while (*string) {
      --		    if (*string == '%') {
      --			string++;
      --			if (*string == '?')
      -+		while (*cp) {
      -+		    if (*cp == '%') {
      -+			cp++;
      -+			if (*cp == '?')
      - 			    level++;
      --			else if (*string == ';') {
      -+			else if (*cp == ';') {
      - 			    if (level > 0)
      - 				level--;
      - 			    else
      -@@ -728,22 +751,22 @@
      - 			}
      - 		    }
      - 
      --		    if (*string)
      --			string++;
      -+		    if (*cp)
      -+			cp++;
      - 		}
      - 		break;
      - 
      - 	    case ';':
      - 		break;
      - 
      --	    }			/* endswitch (*string) */
      --	}			/* endelse (*string == '%') */
      -+	    }			/* endswitch (*cp) */
      -+	}			/* endelse (*cp == '%') */
      - 
      --	if (*string == '\0')
      -+	if (*cp == '\0')
      - 	    break;
      - 
      --	string++;
      --    }				/* endwhile (*string) */
      -+	cp++;
      -+    }				/* endwhile (*cp) */
      - 
      -     get_space(1);
      -     out_buff[out_used] = '\0';
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_tputs.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tputs.c
      ---- ncurses-5.3/ncurses/tinfo/lib_tputs.c	Sat Aug 17 18:44:08 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tputs.c	Fri Sep 12 16:42:24 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -45,7 +45,7 @@
      - #include 		/* ospeed */
      - #include 
      - 
      --MODULE_ID("$Id: lib_tputs.c,v 1.60 2002/08/17 23:44:08 tom Exp $")
      -+MODULE_ID("$Id: lib_tputs.c,v 1.62 2003/08/23 21:39:20 tom Exp $")
      - 
      - NCURSES_EXPORT_VAR(char) PC = 0;		/* used by termcap library */
      - NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0;	/* used by termcap library */
      -@@ -65,7 +65,7 @@
      -     } else {
      - 	register int nullcount;
      - 
      --	nullcount = (ms * _nc_baudrate(ospeed)) / 10000;
      -+	nullcount = (ms * _nc_baudrate(ospeed)) / (BAUDBYTE * 1000);
      - 	for (_nc_nulls_sent += nullcount; nullcount > 0; nullcount--)
      - 	    my_outch(PC);
      - 	if (my_outch == _nc_outch)
      -@@ -84,9 +84,7 @@
      - NCURSES_EXPORT(int)
      - _nc_outch(int ch)
      - {
      --#ifdef TRACE
      --    _nc_outchars++;
      --#endif /* TRACE */
      -+    TRACE_OUTCHARS(1);
      - 
      -     if (SP != 0
      - 	&& SP->_cleanup) {
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_ttyflags.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ttyflags.c
      ---- ncurses-5.3/ncurses/tinfo/lib_ttyflags.c	Sat Oct 12 16:28:16 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ttyflags.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -38,7 +38,7 @@
      - #include 
      - #include 		/* cur_term */
      - 
      --MODULE_ID("$Id: lib_ttyflags.c,v 1.9 2002/10/12 21:28:16 tom Exp $")
      -+MODULE_ID("$Id: lib_ttyflags.c,v 1.11 2003/05/17 23:50:37 tom Exp $")
      - 
      - #undef tabs
      - 
      -@@ -60,8 +60,10 @@
      - _nc_get_tty_mode(TTY * buf)
      - {
      -     if (cur_term == 0
      --	|| GET_TTY(cur_term->Filedes, buf) != 0)
      -+	|| GET_TTY(cur_term->Filedes, buf) != 0) {
      -+	memset(buf, 0, sizeof(*buf));
      - 	return (ERR);
      -+    }
      -     TR(TRACE_BITS, ("_nc_get_tty_mode(%d): %s",
      - 		    cur_term->Filedes, _nc_trace_ttymode(buf)));
      -     return (OK);
      -@@ -71,8 +73,11 @@
      - _nc_set_tty_mode(TTY * buf)
      - {
      -     if (cur_term == 0
      --	|| SET_TTY(cur_term->Filedes, buf) != 0)
      -+	|| SET_TTY(cur_term->Filedes, buf) != 0) {
      -+	if ((errno == ENOTTY) && (SP != 0))
      -+	    SP->_notty = TRUE;
      - 	return (ERR);
      -+    }
      -     TR(TRACE_BITS, ("_nc_set_tty_mode(%d): %s",
      - 		    cur_term->Filedes, _nc_trace_ttymode(buf)));
      -     return (OK);
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/parse_entry.c ncurses-5.3.20030906.orig/ncurses/tinfo/parse_entry.c
      ---- ncurses-5.3/ncurses/tinfo/parse_entry.c	Sat Aug 31 12:02:02 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/parse_entry.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -47,7 +47,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: parse_entry.c,v 1.57 2002/08/31 17:02:02 tom Exp $")
      -+MODULE_ID("$Id: parse_entry.c,v 1.58 2003/05/24 22:51:38 tom Exp $")
      - 
      - #ifdef LINT
      - static short const parametrized[] =
      -@@ -196,8 +196,7 @@
      -  */
      - 
      - NCURSES_EXPORT(int)
      --_nc_parse_entry
      --(struct entry *entryp, int literal, bool silent)
      -+_nc_parse_entry(struct entry *entryp, int literal, bool silent)
      - {
      -     int token_type;
      -     struct name_table_entry const *entry_ptr;
      -@@ -217,11 +216,21 @@
      -     entryp->startline = _nc_start_line;
      -     DEBUG(2, ("Comment range is %ld to %ld", entryp->cstart, entryp->cend));
      - 
      --    /* junk the 2-character termcap name, if present */
      -+    /*
      -+     * Strip off the 2-character termcap name, if present.  Originally termcap
      -+     * used that as an indexing aid.  We can retain 2-character terminfo names,
      -+     * but note that they would be lost if we translate to/from termcap.  This
      -+     * feature is supposedly obsolete since "newer" BSD implementations do not
      -+     * use it; however our reference for this feature is SunOS 4.x, which
      -+     * implemented it.  Note that the resulting terminal type was never the
      -+     * 2-character name, but was instead the first alias after that.
      -+     */
      -     ptr = _nc_curr_token.tk_name;
      --    if (ptr[2] == '|') {
      --	ptr = _nc_curr_token.tk_name + 3;
      --	_nc_curr_token.tk_name[2] = '\0';
      -+    if (_nc_syntax == SYN_TERMCAP) {
      -+	if (ptr[2] == '|') {
      -+	    ptr += 3;
      -+	    _nc_curr_token.tk_name[2] = '\0';
      -+	}
      -     }
      - 
      -     entryp->tterm.str_table = entryp->tterm.term_names = _nc_save_str(ptr);
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/read_entry.c ncurses-5.3.20030906.orig/ncurses/tinfo/read_entry.c
      ---- ncurses-5.3/ncurses/tinfo/read_entry.c	Sat Dec  9 20:55:08 2000
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/read_entry.c	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -29,6 +29,7 @@
      - /****************************************************************************
      -  *  Author: Zeyd M. Ben-Halim  1992,1995               *
      -  *     and: Eric S. Raymond                          *
      -+ *     and: Thomas E. Dickey                                                *
      -  ****************************************************************************/
      - 
      - /*
      -@@ -41,10 +42,10 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: read_entry.c,v 1.72 2000/12/10 02:55:08 tom Exp $")
      -+MODULE_ID("$Id: read_entry.c,v 1.76 2003/07/05 19:31:51 tom Exp $")
      - 
      - #if !HAVE_TELL
      --#define tell(fd) 0		/* lseek() is POSIX, but not tell() - odd... */
      -+#define tell(fd) lseek(fd, 0, SEEK_CUR)		/* lseek() is POSIX, but not tell() */
      - #endif
      - 
      - /*
      -@@ -156,9 +157,10 @@
      - {
      -     int name_size, bool_count, num_count, str_count, str_size;
      -     int i;
      --    char buf[MAX_ENTRY_SIZE];
      -+    char buf[MAX_ENTRY_SIZE + 1];
      -+    unsigned want, have;
      - 
      --    TR(TRACE_DATABASE, ("READ termtype header @%d", tell(fd)));
      -+    TR(TRACE_DATABASE, ("READ termtype header @%ld", (long) tell(fd)));
      - 
      -     memset(ptr, 0, sizeof(*ptr));
      - 
      -@@ -197,16 +199,19 @@
      - 	str_count = 0;
      -     }
      - 
      --    /* grab the name (a null-terminate string) */
      --    read(fd, buf, min(MAX_NAME_SIZE, (unsigned) name_size));
      --    buf[MAX_NAME_SIZE] = '\0';
      -+    /* grab the name (a null-terminated string) */
      -+    want = min(MAX_NAME_SIZE, (unsigned) name_size);
      -+    if ((have = read(fd, buf, want)) != want) {
      -+	memset(buf + have, 0, want - have);
      -+    }
      -+    buf[want] = '\0';
      -     ptr->term_names = typeCalloc(char, strlen(buf) + 1);
      -     if (ptr->term_names == NULL) {
      - 	return (0);
      -     }
      -     (void) strcpy(ptr->term_names, buf);
      --    if (name_size > MAX_NAME_SIZE)
      --	lseek(fd, (off_t) (name_size - MAX_NAME_SIZE), 1);
      -+    if (have > MAX_NAME_SIZE)
      -+	lseek(fd, (off_t) (have - MAX_NAME_SIZE), 1);
      - 
      -     /* grab the booleans */
      -     if ((ptr->Booleans = typeCalloc(char, max(BOOLCOUNT, bool_count))) == 0
      -@@ -252,7 +257,7 @@
      -      * Read extended entries, if any, after the normal end of terminfo data.
      -      */
      -     even_boundary(str_size);
      --    TR(TRACE_DATABASE, ("READ extended_header @%d", tell(fd)));
      -+    TR(TRACE_DATABASE, ("READ extended_header @%ld", (long) tell(fd)));
      -     if (_nc_user_definable && read_shorts(fd, buf, 5)) {
      - 	int ext_bool_count = LOW_MSB(buf + 0);
      - 	int ext_num_count = LOW_MSB(buf + 2);
      -@@ -284,8 +289,8 @@
      - 			    ext_bool_count, ext_num_count, ext_str_count,
      - 			    ext_str_size, ext_str_limit));
      - 
      --	TR(TRACE_DATABASE, ("READ %d extended-booleans @%d",
      --			    ext_bool_count, tell(fd)));
      -+	TR(TRACE_DATABASE, ("READ %d extended-booleans @%ld",
      -+			    ext_bool_count, (long) tell(fd)));
      - 	if ((ptr->ext_Booleans = ext_bool_count) != 0) {
      - 	    if (read(fd, ptr->Booleans + BOOLCOUNT, (unsigned)
      - 		     ext_bool_count) != ext_bool_count)
      -@@ -293,8 +298,8 @@
      - 	}
      - 	even_boundary(ext_bool_count);
      - 
      --	TR(TRACE_DATABASE, ("READ %d extended-numbers @%d",
      --			    ext_num_count, tell(fd)));
      -+	TR(TRACE_DATABASE, ("READ %d extended-numbers @%ld",
      -+			    ext_num_count, (long) tell(fd)));
      - 	if ((ptr->ext_Numbers = ext_num_count) != 0) {
      - 	    if (!read_shorts(fd, buf, ext_num_count))
      - 		return (0);
      -@@ -302,13 +307,13 @@
      - 	    convert_shorts(buf, ptr->Numbers + NUMCOUNT, ext_num_count);
      - 	}
      - 
      --	TR(TRACE_DATABASE, ("READ extended-offsets @%d", tell(fd)));
      -+	TR(TRACE_DATABASE, ("READ extended-offsets @%ld", (long) tell(fd)));
      - 	if ((ext_str_count || need)
      - 	    && !read_shorts(fd, buf, ext_str_count + need))
      - 	    return (0);
      - 
      --	TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%d",
      --			    ext_str_limit, tell(fd)));
      -+	TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%ld",
      -+			    ext_str_limit, (long) tell(fd)));
      - 
      - 	if (ext_str_limit) {
      - 	    if ((ptr->ext_str_table = typeMalloc(char, ext_str_limit)) == 0)
      -@@ -374,8 +379,7 @@
      - }
      - 
      - NCURSES_EXPORT(int)
      --_nc_read_file_entry
      --(const char *const filename, TERMTYPE * ptr)
      -+_nc_read_file_entry(const char *const filename, TERMTYPE * ptr)
      - /* return 1 if read, 0 if not found or garbled */
      - {
      -     int code, fd = -1;
      -@@ -458,13 +462,20 @@
      -  */
      - 
      - NCURSES_EXPORT(int)
      --_nc_read_entry
      --(const char *const tn, char *const filename, TERMTYPE * const tp)
      -+_nc_read_entry(const char *const tn, char *const filename, TERMTYPE * const tp)
      - {
      -     char *envp;
      -     char ttn[MAX_ALIAS + 3];
      - 
      --    /* truncate the terminal name to prevent dangerous buffer airline */
      -+    if (strlen(tn) == 0
      -+	|| strcmp(tn, ".") == 0
      -+	|| strcmp(tn, "..") == 0
      -+	|| _nc_pathlast(tn) != 0) {
      -+	T(("illegal or missing entry name '%s'", tn));
      -+	return 0;
      -+    }
      -+
      -+    /* truncate the terminal name to prevent buffer overflow */
      -     (void) sprintf(ttn, "%c/%.*s", *tn, MAX_ALIAS, tn);
      - 
      -     /* This is System V behavior, in conjunction with our requirements for
      -@@ -482,7 +493,7 @@
      - 	/* this is an ncurses extension */
      - 	if ((envp = _nc_home_terminfo()) != 0) {
      - 	    if (_nc_read_tic_entry(filename, envp, ttn, tp) == 1) {
      --		return (1);
      -+		return 1;
      - 	    }
      - 	}
      - 
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/read_termcap.c ncurses-5.3.20030906.orig/ncurses/tinfo/read_termcap.c
      ---- ncurses-5.3/ncurses/tinfo/read_termcap.c	Sat Oct 27 20:11:34 2001
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/read_termcap.c	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.         *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -57,7 +57,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: read_termcap.c,v 1.58 2001/10/28 01:11:34 tom Exp $")
      -+MODULE_ID("$Id: read_termcap.c,v 1.60 2003/07/05 19:31:16 tom Exp $")
      - 
      - #if !PURE_TERMINFO
      - 
      -@@ -945,6 +945,15 @@
      -     static int lineno;
      - 
      -     T(("read termcap entry for %s", tn));
      -+
      -+    if (strlen(tn) == 0
      -+	|| strcmp(tn, ".") == 0
      -+	|| strcmp(tn, "..") == 0
      -+	|| _nc_pathlast(tn) != 0) {
      -+	T(("illegal or missing entry name '%s'", tn));
      -+	return 0;
      -+    }
      -+
      -     if (use_terminfo_vars() && (p = getenv("TERMCAP")) != 0
      - 	&& !is_pathname(p) && _nc_name_match(p, tn, "|:")) {
      - 	/* TERMCAP holds a termcap entry */
      -diff -urNd -urNd ncurses-5.3/ncurses/tinfo/strings.c ncurses-5.3.20030906.orig/ncurses/tinfo/strings.c
      ---- ncurses-5.3/ncurses/tinfo/strings.c	Sat Dec  9 20:55:08 2000
      -+++ ncurses-5.3.20030906.orig/ncurses/tinfo/strings.c	Fri Sep 12 16:42:10 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 2000 Free Software Foundation, Inc.                        *
      -+ * Copyright (c) 2000,2003 Free Software Foundation, Inc.                   *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -36,7 +36,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: strings.c,v 1.3 2000/12/10 02:55:08 tom Exp $")
      -+MODULE_ID("$Id: strings.c,v 1.5 2003/08/16 23:46:00 tom Exp $")
      - 
      - /****************************************************************************
      -  * Useful string functions (especially for mvcur)
      -@@ -44,8 +44,7 @@
      - 
      - #if !HAVE_STRSTR
      - NCURSES_EXPORT(char *)
      --_nc_strstr
      --(const char *haystack, const char *needle)
      -+_nc_strstr(const char *haystack, const char *needle)
      - {
      -     size_t len1 = strlen(haystack);
      -     size_t len2 = strlen(needle);
      -@@ -63,16 +62,18 @@
      - #endif
      - 
      - /*
      -- * Initialize the descriptor so we can append to it.
      -+ * Initialize the descriptor so we can append to it.  Note that 'src' may
      -+ * be a null pointer (see _nc_str_null), so the corresponding strcat and
      -+ * strcpy calls have to allow for this.
      -  */
      - NCURSES_EXPORT(string_desc *)
      --_nc_str_init
      --(string_desc * dst, char *src, size_t len)
      -+_nc_str_init(string_desc * dst, char *src, size_t len)
      - {
      -     if (dst != 0) {
      - 	dst->s_head = src;
      - 	dst->s_tail = src;
      - 	dst->s_size = len - 1;
      -+	dst->s_init = dst->s_size;
      - 	if (src != 0)
      - 	    *src = 0;
      -     }
      -@@ -83,8 +84,7 @@
      -  * Initialize the descriptor for only tracking the amount of memory used.
      -  */
      - NCURSES_EXPORT(string_desc *)
      --_nc_str_null
      --(string_desc * dst, size_t len)
      -+_nc_str_null(string_desc * dst, size_t len)
      - {
      -     return _nc_str_init(dst, 0, len);
      - }
      -@@ -93,8 +93,7 @@
      -  * Copy a descriptor
      -  */
      - NCURSES_EXPORT(string_desc *)
      --_nc_str_copy
      --(string_desc * dst, string_desc * src)
      -+_nc_str_copy(string_desc * dst, string_desc * src)
      - {
      -     *dst = *src;
      -     return dst;
      -@@ -135,7 +134,7 @@
      - 		strcpy(dst->s_head, src);
      - 		dst->s_tail = dst->s_head + len;
      - 	    }
      --	    dst->s_size -= len;
      -+	    dst->s_size = dst->s_init - len;
      - 	    return TRUE;
      - 	}
      -     }
      -diff -urNd -urNd ncurses-5.3/ncurses/trace/lib_trace.c ncurses-5.3.20030906.orig/ncurses/trace/lib_trace.c
      ---- ncurses-5.3/ncurses/trace/lib_trace.c	Sat Oct 12 10:20:15 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/trace/lib_trace.c	Fri Sep 12 16:41:56 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -40,7 +40,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_trace.c,v 1.50 2002/10/12 15:20:15 tom Exp $")
      -+MODULE_ID("$Id: lib_trace.c,v 1.52 2003/08/09 22:15:44 tom Exp $")
      - 
      - NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0;	/* always define this */
      - 
      -@@ -48,20 +48,21 @@
      - NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace = "";
      - NCURSES_EXPORT_VAR(long) _nc_outchars = 0;
      - 
      --static FILE *tracefp;		/* default to writing to stderr */
      -+static FILE *tracefp = 0;	/* default to writing to stderr */
      - 
      - NCURSES_EXPORT(void)
      --trace(const unsigned int tracelevel GCC_UNUSED)
      -+trace(const unsigned int tracelevel)
      - {
      -     static bool been_here = FALSE;
      -     static char my_name[] = "trace";
      - 
      --    if (!been_here && tracelevel) {
      --	been_here = TRUE;
      -+    if ((tracefp == 0) && tracelevel) {
      -+	const char *mode = been_here ? "ab" : "wb";
      - 
      -+	been_here = TRUE;
      - 	_nc_tracing = tracelevel;
      - 	if (_nc_access(my_name, W_OK) < 0
      --	    || (tracefp = fopen(my_name, "wb")) == 0) {
      -+	    || (tracefp = fopen(my_name, mode)) == 0) {
      - 	    perror("curses: Can't open 'trace' file: ");
      - 	    exit(EXIT_FAILURE);
      - 	}
      -@@ -74,8 +75,16 @@
      - #elif HAVE_SETBUF		/* POSIX */
      - 	(void) setbuffer(tracefp, (char *) 0);
      - #endif
      --	_tracef("TRACING NCURSES version %s (tracelevel=%#x)",
      --		curses_version(), tracelevel);
      -+	_tracef("TRACING NCURSES version %s.%d (tracelevel=%#x)",
      -+		NCURSES_VERSION,
      -+		NCURSES_VERSION_PATCH,
      -+		tracelevel);
      -+    } else if (tracelevel == 0) {
      -+	if (tracefp != 0) {
      -+	    fclose(tracefp);
      -+	    tracefp = 0;
      -+	}
      -+	_nc_tracing = tracelevel;
      -     } else if (_nc_tracing != tracelevel) {
      - 	_nc_tracing = tracelevel;
      - 	_tracef("tracelevel=%#x", tracelevel);
      -diff -urNd -urNd ncurses-5.3/ncurses/trace/lib_traceatr.c ncurses-5.3.20030906.orig/ncurses/trace/lib_traceatr.c
      ---- ncurses-5.3/ncurses/trace/lib_traceatr.c	Sat Sep 28 07:37:03 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/trace/lib_traceatr.c	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      -  ****************************************************************************/
      - 
      - /****************************************************************************
      -- *  Author: Thomas Dickey 1996-2001                                         *
      -+ *  Author: Thomas Dickey 1996-2003                                         *
      -  *     and: Zeyd M. Ben-Halim  1992,1995               *
      -  *     and: Eric S. Raymond                          *
      -  ****************************************************************************/
      -@@ -39,7 +39,7 @@
      - #include 
      - #include 		/* acs_chars */
      - 
      --MODULE_ID("$Id: lib_traceatr.c,v 1.43 2002/09/28 12:37:03 tom Exp $")
      -+MODULE_ID("$Id: lib_traceatr.c,v 1.47 2003/06/28 23:20:26 tom Exp $")
      - 
      - #define COLOR_OF(c) (c < 0 || c > 7 ? "default" : colors[c].name)
      - 
      -@@ -52,7 +52,7 @@
      - _traceattr2(int bufnum, attr_t newmode)
      - {
      -     char *buf = _nc_trace_buf(bufnum, BUFSIZ);
      --    char *tmp = buf;
      -+    char temp[80];
      -     static const struct {
      - 	unsigned int val;
      - 	const char *name;
      -@@ -92,39 +92,39 @@
      -     unsigned save_nc_tracing = _nc_tracing;
      -     _nc_tracing = 0;
      - 
      --    strcpy(tmp++, l_brace);
      -+    strcpy(buf, l_brace);
      - 
      -     for (n = 0; n < SIZEOF(names); n++) {
      - 	if ((newmode & names[n].val) != 0) {
      - 	    if (buf[1] != '\0')
      --		strcat(tmp, "|");
      --	    strcat(tmp, names[n].name);
      --	    tmp += strlen(tmp);
      -+		buf = _nc_trace_bufcat(bufnum, "|");
      -+	    buf = _nc_trace_bufcat(bufnum, names[n].name);
      - 
      - 	    if (names[n].val == A_COLOR) {
      - 		short pairnum = PAIR_NUMBER(newmode);
      - 		short fg, bg;
      - 
      --		if (pair_content(pairnum, &fg, &bg) == OK)
      --		    (void) sprintf(tmp,
      -+		if (pair_content(pairnum, &fg, &bg) == OK) {
      -+		    (void) sprintf(temp,
      - 				   "{%d = {%s, %s}}",
      - 				   pairnum,
      - 				   COLOR_OF(fg),
      --				   COLOR_OF(bg)
      --			);
      --		else
      --		    (void) sprintf(tmp, "{%d}", pairnum);
      -+				   COLOR_OF(bg));
      -+		} else {
      -+		    (void) sprintf(temp, "{%d}", pairnum);
      -+		}
      -+		buf = _nc_trace_bufcat(bufnum, temp);
      - 	    }
      - 	}
      -     }
      -     if (ChAttrOf(newmode) == A_NORMAL) {
      - 	if (buf[1] != '\0')
      --	    strcat(tmp, "|");
      --	strcat(tmp, "A_NORMAL");
      -+	    (void) _nc_trace_bufcat(bufnum, "|");
      -+	(void) _nc_trace_bufcat(bufnum, "A_NORMAL");
      -     }
      - 
      -     _nc_tracing = save_nc_tracing;
      --    return (strcat(buf, r_brace));
      -+    return (_nc_trace_bufcat(bufnum, r_brace));
      - }
      - 
      - NCURSES_EXPORT(char *)
      -@@ -146,7 +146,7 @@
      - {
      -     const char *result = 0;
      - 
      --    if (attr & A_ALTCHARSET) {
      -+    if ((attr & A_ALTCHARSET) && (acs_chars != 0)) {
      - 	char *cp;
      - 	char *found = 0;
      - 	static const struct {
      -@@ -214,20 +214,21 @@
      - NCURSES_EXPORT(char *)
      - _tracechtype2(int bufnum, chtype ch)
      - {
      --    char *buf = _nc_trace_buf(bufnum, BUFSIZ);
      -     const char *found;
      - 
      --    strcpy(buf, l_brace);
      -+    strcpy(_nc_trace_buf(bufnum, BUFSIZ), l_brace);
      -     if ((found = _nc_altcharset_name(ChAttrOf(ch), ch)) != 0) {
      --	(void) strcat(buf, found);
      -+	(void) _nc_trace_bufcat(bufnum, found);
      -     } else
      --	(void) strcat(buf, _tracechar(ChCharOf(ch)));
      -+	(void) _nc_trace_bufcat(bufnum, _tracechar(ChCharOf(ch)));
      - 
      --    if (ChAttrOf(ch) != A_NORMAL)
      --	(void) sprintf(buf + strlen(buf), " | %s",
      -+    if (ChAttrOf(ch) != A_NORMAL) {
      -+	(void) _nc_trace_bufcat(bufnum, " | ");
      -+	(void) _nc_trace_bufcat(bufnum,
      - 		_traceattr2(bufnum + 20, ChAttrOf(ch)));
      -+    }
      - 
      --    return (strcat(buf, r_brace));
      -+    return (_nc_trace_bufcat(bufnum, r_brace));
      - }
      - 
      - NCURSES_EXPORT(char *)
      -@@ -256,15 +257,16 @@
      -     if (ch != 0) {
      - 	attr = AttrOfD(ch);
      - 	if ((found = _nc_altcharset_name(attr, CharOfD(ch))) != 0) {
      --	    (void) strcat(buf, found);
      -+	    (void) _nc_trace_bufcat(bufnum, found);
      - 	    attr &= ~A_ALTCHARSET;
      --	} else if (!isnac(CHDEREF(ch))) {
      -+	} else if (isnac(CHDEREF(ch))) {
      -+	    (void) _nc_trace_bufcat(bufnum, "{NAC}");
      -+	} else {
      - 	    PUTC_DATA;
      - 	    int n;
      - 
      --	    memset (&PUT_st, '\0', sizeof (PUT_st));
      --	    PUTC_i = 0;
      --	    (void) strcat(buf, "{ ");
      -+	    PUTC_INIT;
      -+	    (void) _nc_trace_bufcat(bufnum, "{ ");
      - 	    do {
      - 		PUTC_ch = PUTC_i < CCHARW_MAX ? ch->chars[PUTC_i] : L'\0';
      - 		PUTC_n = wcrtomb(PUTC_buf, ch->chars[PUTC_i], &PUT_st);
      -@@ -274,19 +276,20 @@
      - 		    break;
      - 		for (n = 0; n < PUTC_n; n++) {
      - 		    if (n)
      --			(void) strcat(buf, ", ");
      --		    (void) strcat(buf, _tracechar(UChar(PUTC_buf[n])));
      -+			(void) _nc_trace_bufcat(bufnum, ", ");
      -+		    (void) _nc_trace_bufcat(bufnum, _tracechar(UChar(PUTC_buf[n])));
      - 		}
      - 		++PUTC_i;
      - 	    } while (PUTC_ch != L'\0');
      --	    (void) strcat(buf, " }");
      -+	    (void) _nc_trace_bufcat(bufnum, " }");
      -+	}
      -+	if (attr != A_NORMAL) {
      -+	    (void) _nc_trace_bufcat(bufnum, " | ");
      -+	    (void) _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr));
      - 	}
      --	if (attr != A_NORMAL)
      --	    (void) sprintf(buf + strlen(buf), " | %s",
      --		    _traceattr2(bufnum + 20, attr));
      -     }
      - 
      --    return (strcat(buf, r_brace));
      -+    return (_nc_trace_bufcat(bufnum, r_brace));
      - }
      - 
      - NCURSES_EXPORT(char *)
      -diff -urNd -urNd ncurses-5.3/ncurses/trace/lib_tracechr.c ncurses-5.3.20030906.orig/ncurses/trace/lib_tracechr.c
      ---- ncurses-5.3/ncurses/trace/lib_tracechr.c	Sat May 25 18:34:19 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/trace/lib_tracechr.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -36,19 +36,36 @@
      -  */
      - #include 
      - 
      --MODULE_ID("$Id: lib_tracechr.c,v 1.9 2002/05/25 23:34:19 tom Exp $")
      -+#include 
      -+
      -+MODULE_ID("$Id: lib_tracechr.c,v 1.10 2003/06/14 11:05:42 tom Exp $")
      - 
      - #ifdef TRACE
      - NCURSES_EXPORT(char *)
      - _tracechar(int ch)
      - {
      --    static char crep[40];
      --    (void) sprintf(crep, "'%.30s' = %#03o",
      --		   ((ch > KEY_MIN || ch < 0)
      --		    ? keyname(ch)
      --		    : unctrl(ch)),
      --		   ch);
      --    return (crep);
      -+    static char result[40];
      -+    char *name;
      -+
      -+    if (ch > KEY_MIN || ch < 0) {
      -+	name = keyname(ch);
      -+	if (name == 0 || *name == '\0')
      -+	    name = "NULL";
      -+	(void) sprintf(result, "'%.30s' = %#03o", name, ch);
      -+    } else if (!isprint(ch) || ch > 255) {
      -+	/*
      -+	 * workaround for glibc bug:
      -+	 * sprintf changes the result from unctrl() to an empty string if it
      -+	 * does not correspond to a valid multibyte sequence.
      -+	 */
      -+	(void) sprintf(result, "%#03o", ch);
      -+    } else {
      -+	name = unctrl(ch);
      -+	if (name == 0 || *name == 0)
      -+	    name = "null";	/* shouldn't happen */
      -+	(void) sprintf(result, "'%.30s' = %#03o", name, ch);
      -+    }
      -+    return (result);
      - }
      - #else
      - empty_module(_nc_lib_tracechr)
      -diff -urNd -urNd ncurses-5.3/ncurses/trace/trace_buf.c ncurses-5.3.20030906.orig/ncurses/trace/trace_buf.c
      ---- ncurses-5.3/ncurses/trace/trace_buf.c	Sat Jul 13 19:08:08 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/trace/trace_buf.c	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -35,15 +35,15 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: trace_buf.c,v 1.11 2002/07/14 00:08:08 tom Exp $")
      -+MODULE_ID("$Id: trace_buf.c,v 1.12 2003/03/15 21:21:36 tom Exp $")
      - 
      - typedef struct {
      -     char *text;
      -     size_t size;
      - } LIST;
      - 
      --NCURSES_EXPORT(char *)
      --_nc_trace_buf(int bufnum, size_t want)
      -+static char *
      -+_nc_trace_alloc(int bufnum, size_t want)
      - {
      -     char *result = 0;
      -     static LIST *list;
      -@@ -65,8 +65,6 @@
      - 		  list[bufnum].size = want;
      - 	}
      - 
      --	if (list[bufnum].text != 0)
      --	    *(list[bufnum].text) = '\0';
      - 	result = list[bufnum].text;
      -     }
      - #if NO_LEAKS
      -@@ -82,3 +80,30 @@
      - #endif
      -     return result;
      - }
      -+
      -+/*
      -+ * (re)Allocate a buffer big enough for the caller's wants.
      -+ */
      -+NCURSES_EXPORT(char *)
      -+_nc_trace_buf(int bufnum, size_t want)
      -+{
      -+    char *result = _nc_trace_alloc(bufnum, want);
      -+    if (result != 0)
      -+	*result = '\0';
      -+    return result;
      -+}
      -+
      -+/*
      -+ * Append a new string to an existing buffer.
      -+ */
      -+NCURSES_EXPORT(char *)
      -+_nc_trace_bufcat(int bufnum, const char *value)
      -+{
      -+    char *buffer = _nc_trace_alloc(bufnum, 0);
      -+    size_t have = strlen(buffer);
      -+
      -+    buffer = _nc_trace_alloc(bufnum, 1 + have + strlen(value));
      -+    (void) strcpy(buffer + have, value);
      -+
      -+    return buffer;
      -+}
      -diff -urNd -urNd ncurses-5.3/ncurses/trace/varargs.c ncurses-5.3.20030906.orig/ncurses/trace/varargs.c
      ---- ncurses-5.3/ncurses/trace/varargs.c	Sat Oct  5 18:04:17 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/trace/varargs.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
      -+ * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -34,7 +34,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: varargs.c,v 1.3 2002/10/05 23:04:17 tom Exp $")
      -+MODULE_ID("$Id: varargs.c,v 1.4 2003/05/24 21:10:28 tom Exp $")
      - 
      - #ifdef TRACE
      - 
      -@@ -46,7 +46,7 @@
      - 
      - #define VA_INT(type) ival = va_arg(ap, type)
      - #define VA_FLT(type) fval = va_arg(ap, type)
      --#define VA_PTR(type) pval = (void *)va_arg(ap, type)
      -+#define VA_PTR(type) pval = (char *)va_arg(ap, type)
      - #define VA_STR(type) sval = va_arg(ap, type)
      - 
      - /*
      -diff -urNd -urNd ncurses-5.3/ncurses/trace/visbuf.c ncurses-5.3.20030906.orig/ncurses/trace/visbuf.c
      ---- ncurses-5.3/ncurses/trace/visbuf.c	Sat Oct  5 19:03:43 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/trace/visbuf.c	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 2001 Free Software Foundation, Inc.                        *
      -+ * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -27,7 +27,7 @@
      -  ****************************************************************************/
      - 
      - /****************************************************************************
      -- *  Author: Thomas E. Dickey 1996-2001                                      *
      -+ *  Author: Thomas E. Dickey 1996-2003                                      *
      -  *     and: Zeyd M. Ben-Halim  1992,1995               *
      -  *     and: Eric S. Raymond                          *
      -  ****************************************************************************/
      -@@ -41,7 +41,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: visbuf.c,v 1.6 2002/10/06 00:03:43 tom Exp $")
      -+MODULE_ID("$Id: visbuf.c,v 1.8 2003/06/28 23:20:37 tom Exp $")
      - 
      - static char *
      - _nc_vischar(char *tp, unsigned c)
      -@@ -187,9 +187,7 @@
      - NCURSES_EXPORT(const char *)
      - _nc_viscbuf2(int bufnum, const cchar_t * buf, int len)
      - {
      --    size_t have = BUFSIZ;
      --    char *result = _nc_trace_buf(bufnum, have);
      --    char *tp = result;
      -+    char *result = _nc_trace_buf(bufnum, BUFSIZ);
      -     int n;
      -     bool same = TRUE;
      -     attr_t attr = A_NORMAL;
      -@@ -211,17 +209,18 @@
      -      * detailed trace function that displays each character separately.
      -      */
      -     if (same) {
      --	*tp++ = D_QUOTE;
      -+	static const char d_quote[] =
      -+	{D_QUOTE, 0};
      -+
      -+	result = _nc_trace_bufcat(bufnum, d_quote);
      - 	while (len-- > 0) {
      - 	    if ((found = _nc_altcharset_name(attr, CharOfD(buf))) != 0) {
      --		(void) strcpy(tp, found);
      --		tp += strlen(tp);
      -+		result = _nc_trace_bufcat(bufnum, found);
      - 		attr &= ~A_ALTCHARSET;
      - 	    } else if (!isnac(CHDEREF(buf))) {
      - 		PUTC_DATA;
      - 
      --		memset(&PUT_st, '\0', sizeof(PUT_st));
      --		PUTC_i = 0;
      -+		PUTC_INIT;
      - 		do {
      - 		    PUTC_ch = PUTC_i < CCHARW_MAX ? buf->chars[PUTC_i] : L'\0';
      - 		    PUTC_n = wcrtomb(PUTC_buf, buf->chars[PUTC_i], &PUT_st);
      -@@ -230,33 +229,31 @@
      - 		    if (PUTC_n <= 0)
      - 			break;
      - 		    for (n = 0; n < PUTC_n; n++) {
      --			tp = _nc_vischar(tp, UChar(PUTC_buf[n]));
      -+			char temp[80];
      -+			_nc_vischar(temp, UChar(PUTC_buf[n]));
      -+			result = _nc_trace_bufcat(bufnum, temp);
      - 		    }
      - 		    ++PUTC_i;
      - 		} while (PUTC_ch != L'\0');
      - 	    }
      - 	    buf++;
      - 	}
      --	*tp++ = D_QUOTE;
      --	*tp++ = '\0';
      --	if (attr != A_NORMAL)
      --	    (void) sprintf(tp, " | %s",
      --			   _traceattr2(bufnum + 20, attr));
      -+	result = _nc_trace_bufcat(bufnum, d_quote);
      -+	if (attr != A_NORMAL) {
      -+	    result = _nc_trace_bufcat(bufnum, " | ");
      -+	    result = _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr));
      -+	}
      -     } else {
      --	*tp++ = L_BRACE;
      -+	static const char l_brace[] =
      -+	{L_BRACE, 0};
      -+	static const char r_brace[] =
      -+	{R_BRACE, 0};
      -+	strcpy(result, l_brace);
      - 	while (len-- > 0) {
      --	    char *temp = _tracecchar_t2(bufnum + 20, buf++);
      --	    size_t used = (tp - result);
      --	    size_t want = strlen(temp) + 5 + used;
      --	    if (want > have) {
      --		result = _nc_trace_buf(bufnum, have = want);
      --		tp = result + used;
      --	    }
      --	    (void) strcpy(tp, temp);
      --	    tp += strlen(tp);
      -+	    result = _nc_trace_bufcat(bufnum,
      -+				      _tracecchar_t2(bufnum + 20, buf++));
      - 	}
      --	*tp++ = R_BRACE;
      --	*tp++ = '\0';
      -+	result = _nc_trace_bufcat(bufnum, r_brace);
      -     }
      -     return result;
      - }
      -diff -urNd -urNd ncurses-5.3/ncurses/tty/lib_mvcur.c ncurses-5.3.20030906.orig/ncurses/tty/lib_mvcur.c
      ---- ncurses-5.3/ncurses/tty/lib_mvcur.c	Sat Sep 14 18:02:06 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tty/lib_mvcur.c	Fri Sep 12 16:42:24 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -108,7 +108,9 @@
      -  * LONG_DIST and (b) further inward from the right or left edge than LONG_DIST,
      -  * we'll consider nonlocal.
      -  */
      --#define NOT_LOCAL(fy, fx, ty, tx)	((tx > LONG_DIST) && (tx < screen_lines - 1 - LONG_DIST) && (abs(ty-fy) + abs(tx-fx) > LONG_DIST))
      -+#define NOT_LOCAL(fy, fx, ty, tx)	((tx > LONG_DIST) \
      -+ 		 && (tx < screen_columns - 1 - LONG_DIST) \
      -+		 && (abs(ty-fy) + abs(tx-fx) > LONG_DIST))
      - 
      - /****************************************************************************
      -  *
      -@@ -152,12 +154,8 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: lib_mvcur.c,v 1.86 2002/09/14 23:02:06 Philippe.Blain Exp $")
      -+MODULE_ID("$Id: lib_mvcur.c,v 1.93 2003/08/23 21:51:58 tom Exp $")
      - 
      --#define CURRENT_ROW	SP->_cursrow	/* phys cursor row */
      --#define CURRENT_COLUMN	SP->_curscol	/* phys cursor column */
      --#define CURRENT_ATTR	SP->_current_attr	/* current phys attribute */
      --#define REAL_ATTR	SP->_current_attr	/* phys current attribute */
      - #define WANT_CHAR(y, x)	SP->_newscr->_line[y].text[x]	/* desired state */
      - #define BAUDRATE	cur_term->_baudrate	/* bits per second */
      - 
      -@@ -296,10 +294,11 @@
      - _nc_mvcur_init(void)
      - /* initialize the cost structure */
      - {
      --    /*
      --     * 9 = 7 bits + 1 parity + 1 stop.
      --     */
      --    SP->_char_padding = (9 * 1000 * 10) / (BAUDRATE > 0 ? BAUDRATE : 9600);
      -+    if (isatty(fileno(SP->_ofp)))
      -+	SP->_char_padding = ((BAUDBYTE * 1000 * 10)
      -+			     / (BAUDRATE > 0 ? BAUDRATE : 9600));
      -+    else
      -+	SP->_char_padding = 1;	/* must be nonzero */
      -     if (SP->_char_padding <= 0)
      - 	SP->_char_padding = 1;	/* must be nonzero */
      -     TR(TRACE_CHARPUT | TRACE_MOVE, ("char_padding %d msecs", SP->_char_padding));
      -@@ -371,6 +370,13 @@
      -     SP->_dch1_cost = NormalizedCost(delete_character, 1);
      -     SP->_ich1_cost = NormalizedCost(insert_character, 1);
      - 
      -+    /*
      -+     * If this is a bce-terminal, we want to bias the choice so we use clr_eol
      -+     * rather than spaces at the end of a line.
      -+     */
      -+    if (back_color_erase)
      -+	SP->_el_cost = 0;
      -+
      -     /* parameterized screen-update strings */
      -     SP->_dch_cost = NormalizedCost(tparm(parm_dch, 23), 1);
      -     SP->_ich_cost = NormalizedCost(tparm(parm_ich, 23), 1);
      -@@ -508,10 +514,10 @@
      - 	    n = (from_y - to_y);
      - 
      - 	    if (parm_up_cursor
      --		&& SP->_cup_cost < vcost
      -+		&& SP->_cuu_cost < vcost
      - 		&& _nc_safe_strcat(_nc_str_copy(target, &save),
      - 				   tparm(parm_up_cursor, n))) {
      --		vcost = SP->_cup_cost;
      -+		vcost = SP->_cuu_cost;
      - 	    }
      - 
      - 	    if (cursor_up && (n * SP->_cuu1_cost < vcost)) {
      -@@ -570,7 +576,6 @@
      - 		}
      - #endif /* USE_HARD_TABS */
      - 
      --#if defined(REAL_ATTR) && defined(WANT_CHAR)
      - 		if (n <= 0 || n >= (int) check.s_size)
      - 		    ovw = FALSE;
      - #if BSD_TPUTS
      -@@ -601,7 +606,7 @@
      - 
      - 		    for (i = 0; i < n; i++) {
      - 			NCURSES_CH_T ch = WANT_CHAR(to_y, from_x + i);
      --			if (AttrOf(ch) != CURRENT_ATTR
      -+			if (AttrOf(ch) != SP->_current_attr
      - #if USE_WIDEC_SUPPORT
      - 			    || !Charable(ch)
      - #endif
      -@@ -619,9 +624,7 @@
      - 		    *check.s_tail = '\0';
      - 		    check.s_size -= n;
      - 		    lhcost += n * SP->_char_padding;
      --		} else
      --#endif /* defined(REAL_ATTR) && defined(WANT_CHAR) */
      --		{
      -+		} else {
      - 		    lhcost = repeated_append(&check, lhcost, SP->_cuf1_cost,
      - 					     n, cursor_right);
      - 		}
      -@@ -831,6 +834,8 @@
      -     if (usecost != INFINITY) {
      - 	TPUTS_TRACE("mvcur");
      - 	tputs(buffer, 1, _nc_outch);
      -+	SP->_cursrow = ynew;
      -+	SP->_curscol = xnew;
      - 	return (OK);
      -     } else
      - 	return (ERR);
      -@@ -840,67 +845,94 @@
      - mvcur(int yold, int xold, int ynew, int xnew)
      - /* optimized cursor move from (yold, xold) to (ynew, xnew) */
      - {
      -+    attr_t oldattr;
      -+    int code;
      -+
      -     TR(TRACE_CALLS | TRACE_MOVE, (T_CALLED("mvcur(%d,%d,%d,%d)"),
      - 				  yold, xold, ynew, xnew));
      - 
      --    if (SP == 0)
      --	returnCode(ERR);
      -+    if (SP == 0) {
      -+	code = ERR;
      -+    } else if (yold == ynew && xold == xnew) {
      -+	code = OK;
      -+    } else {
      - 
      --    if (yold == ynew && xold == xnew)
      --	returnCode(OK);
      -+	/*
      -+	 * Most work here is rounding for terminal boundaries getting the
      -+	 * column position implied by wraparound or the lack thereof and
      -+	 * rolling up the screen to get ynew on the screen.
      -+	 */
      -+	if (xnew >= screen_columns) {
      -+	    ynew += xnew / screen_columns;
      -+	    xnew %= screen_columns;
      -+	}
      - 
      --    /*
      --     * Most work here is rounding for terminal boundaries getting the
      --     * column position implied by wraparound or the lack thereof and
      --     * rolling up the screen to get ynew on the screen.
      --     */
      -+	/*
      -+	 * Force restore even if msgr is on when we're in an alternate
      -+	 * character set -- these have a strong tendency to screw up the CR &
      -+	 * LF used for local character motions!
      -+	 */
      -+	oldattr = SP->_current_attr;
      -+	if ((oldattr & A_ALTCHARSET)
      -+	    || (oldattr && !move_standout_mode)) {
      -+	    TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
      -+			       oldattr, _traceattr(oldattr)));
      -+	    (void) vidattr(A_NORMAL);
      -+	}
      - 
      --    if (xnew >= screen_columns) {
      --	ynew += xnew / screen_columns;
      --	xnew %= screen_columns;
      --    }
      --    if (xold >= screen_columns) {
      --	int l;
      -+	if (xold >= screen_columns) {
      -+	    int l;
      - 
      --	if (SP->_nl) {
      --	    l = (xold + 1) / screen_columns;
      --	    yold += l;
      --	    if (yold >= screen_lines)
      --		l -= (yold - screen_lines - 1);
      -+	    if (SP->_nl) {
      -+		l = (xold + 1) / screen_columns;
      -+		yold += l;
      -+		if (yold >= screen_lines)
      -+		    l -= (yold - screen_lines - 1);
      - 
      --	    while (l > 0) {
      --		if (newline) {
      --		    TPUTS_TRACE("newline");
      --		    tputs(newline, 0, _nc_outch);
      --		} else
      --		    putchar('\n');
      --		l--;
      --		if (xold > 0) {
      --		    if (carriage_return) {
      --			TPUTS_TRACE("carriage_return");
      --			tputs(carriage_return, 0, _nc_outch);
      -+		while (l > 0) {
      -+		    if (newline) {
      -+			TPUTS_TRACE("newline");
      -+			putp(newline);
      - 		    } else
      --			putchar('\r');
      --		    xold = 0;
      -+			putchar('\n');
      -+		    l--;
      -+		    if (xold > 0) {
      -+			if (carriage_return) {
      -+			    TPUTS_TRACE("carriage_return");
      -+			    putp(carriage_return);
      -+			} else
      -+			    putchar('\r');
      -+			xold = 0;
      -+		    }
      - 		}
      -+	    } else {
      -+		/*
      -+		 * If caller set nonl(), we cannot really use newlines to
      -+		 * position to the next row.
      -+		 */
      -+		xold = -1;
      -+		yold = -1;
      - 	    }
      --	} else {
      --	    /*
      --	     * If caller set nonl(), we cannot really use newlines to position
      --	     * to the next row.
      --	     */
      --	    xold = -1;
      --	    yold = -1;
      - 	}
      --    }
      - 
      --    if (yold > screen_lines - 1)
      --	yold = screen_lines - 1;
      --    if (ynew > screen_lines - 1)
      --	ynew = screen_lines - 1;
      -+	if (yold > screen_lines - 1)
      -+	    yold = screen_lines - 1;
      -+	if (ynew > screen_lines - 1)
      -+	    ynew = screen_lines - 1;
      - 
      --    /* destination location is on screen now */
      --    returnCode(onscreen_mvcur(yold, xold, ynew, xnew, TRUE));
      -+	/* destination location is on screen now */
      -+	code = onscreen_mvcur(yold, xold, ynew, xnew, TRUE);
      -+
      -+	/*
      -+	 * Restore attributes if we disabled them before moving.
      -+	 */
      -+	if (oldattr != SP->_current_attr) {
      -+	    TR(TRACE_CHARPUT, ("turning on (%#lx) %s after move",
      -+			       oldattr, _traceattr(oldattr)));
      -+	    (void) vidattr(oldattr);
      -+	}
      -+    }
      -+    returnCode(code);
      - }
      - 
      - #if defined(TRACE) || defined(NCURSES_TEST)
      -diff -urNd -urNd ncurses-5.3/ncurses/tty/lib_twait.c ncurses-5.3.20030906.orig/ncurses/tty/lib_twait.c
      ---- ncurses-5.3/ncurses/tty/lib_twait.c	Sat Aug 31 19:28:18 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tty/lib_twait.c	Tue May 13 20:08:22 2003
      -@@ -61,7 +61,7 @@
      - # endif
      - #endif
      - 
      --MODULE_ID("$Id: lib_twait.c,v 1.46 2002/09/01 00:28:18 tom Exp $")
      -+MODULE_ID("$Id: lib_twait.c,v 1.47 2003/01/25 18:21:17 tom Exp $")
      - 
      - static long
      - _nc_gettime(bool first)
      -@@ -388,7 +388,7 @@
      -      * then come back for more.
      -      */
      -     if (result == 0 && milliseconds > 100) {
      --	napms(100);
      -+	napms(100);	/* FIXME: this won't be right if I recur! */
      - 	milliseconds -= 100;
      - 	goto retry;
      -     }
      -diff -urNd -urNd ncurses-5.3/ncurses/tty/tty_display.h ncurses-5.3.20030906.orig/ncurses/tty/tty_display.h
      ---- ncurses-5.3/ncurses/tty/tty_display.h	Sat Dec  9 20:27:01 2000
      -+++ ncurses-5.3.20030906.orig/ncurses/tty/tty_display.h	Fri Sep 12 16:41:41 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
      -+ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -29,6 +29,9 @@
      - #ifndef TTY_DISPLAY_H
      - #define TTY_DISPLAY_H 1
      - 
      -+/*
      -+ * $Id: tty_display.h,v 1.5 2003/08/02 22:59:07 Philippe.Blain Exp $
      -+ */
      - extern NCURSES_EXPORT(bool) _nc_tty_beep (void);
      - extern NCURSES_EXPORT(bool) _nc_tty_check_resize (void);
      - extern NCURSES_EXPORT(bool) _nc_tty_cursor (int);
      -@@ -111,7 +114,7 @@
      - 		: ((enter_insert_mode && exit_insert_mode) \
      - 		  ? D->_smir_cost + D->_rmir_cost + (D->_ip_cost * count) \
      - 		  : ((insert_character != 0) \
      --		    ? (D->_ich1_cost * count) \
      -+		    ? ((D->_ich1_cost + D->_ip_cost) * count) \
      - 		    : INFINITY)))
      - 
      - #if USE_XMC_SUPPORT
      -diff -urNd -urNd ncurses-5.3/ncurses/tty/tty_update.c ncurses-5.3.20030906.orig/ncurses/tty/tty_update.c
      ---- ncurses-5.3/ncurses/tty/tty_update.c	Sat Sep 28 15:41:55 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/tty/tty_update.c	Fri Sep 12 16:42:24 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -29,6 +29,7 @@
      - /****************************************************************************
      -  *  Author: Zeyd M. Ben-Halim  1992,1995               *
      -  *     and: Eric S. Raymond                          *
      -+ *     and: Thomas E. Dickey 1996-2002                                      *
      -  ****************************************************************************/
      - 
      - /*-----------------------------------------------------------------
      -@@ -72,7 +73,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: tty_update.c,v 1.177 2002/09/28 20:41:55 tom Exp $")
      -+MODULE_ID("$Id: tty_update.c,v 1.199 2003/08/23 21:25:08 tom Exp $")
      - 
      - /*
      -  * This define controls the line-breakout optimization.  Every once in a
      -@@ -165,61 +166,90 @@
      - static inline void
      - GoTo(int const row, int const col)
      - {
      --    attr_t oldattr = SP->_current_attr;
      --
      -     TR(TRACE_MOVE, ("GoTo(%d, %d) from (%d, %d)",
      - 		    row, col, SP->_cursrow, SP->_curscol));
      - 
      -     position_check(SP->_cursrow, SP->_curscol, "GoTo");
      - 
      --    /*
      --     * Force restore even if msgr is on when we're in an alternate
      --     * character set -- these have a strong tendency to screw up the
      --     * CR & LF used for local character motions!
      --     */
      --    if ((oldattr & A_ALTCHARSET)
      --	|| (oldattr && !move_standout_mode)) {
      --	TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
      --			   oldattr, _traceattr(oldattr)));
      --	vidattr(A_NORMAL);
      --    }
      --
      -     mvcur(SP->_cursrow, SP->_curscol, row, col);
      --    SP->_cursrow = row;
      --    SP->_curscol = col;
      -     position_check(SP->_cursrow, SP->_curscol, "GoTo2");
      - }
      - 
      - static inline void
      - PutAttrChar(CARG_CH_T ch)
      - {
      -+    int chlen = 1;
      -+    NCURSES_CH_T my_ch;
      -     PUTC_DATA;
      -     NCURSES_CH_T tilde;
      -+    NCURSES_ATTR_T attr = AttrOfD(ch);
      -+
      -+    TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)",
      -+		       _tracech_t(ch),
      -+		       SP->_cursrow, SP->_curscol));
      -+#if USE_WIDEC_SUPPORT
      -+    /*
      -+     * If this is not a valid character, there is nothing more to do.
      -+     */
      -+    if (isnac(CHDEREF(ch)))
      -+	return;
      -+    /*
      -+     * Determine the number of character cells which the 'ch' value will use
      -+     * on the screen.  It should be at least one.
      -+     */
      -+    if ((chlen = wcwidth(CharOf(CHDEREF(ch)))) <= 0) {
      -+	static NCURSES_CH_T blank = NewChar(BLANK_TEXT);
      -+
      -+	ch = CHREF(blank);
      -+	chlen = 1;
      -+	TR(TRACE_CHARPUT, ("forced to blank"));
      -+    }
      -+#endif
      - 
      -+    if ((attr & A_ALTCHARSET)
      -+	&& SP->_acs_map != 0
      -+	&& CharOfD(ch) < ACS_LEN) {
      -+	my_ch = CHDEREF(ch);	/* work around const param */
      -+#if USE_WIDEC_SUPPORT
      -+	/*
      -+	 * This is crude & ugly, but works most of the time.  It checks if the
      -+	 * acs_chars string specified that we have a mapping for this
      -+	 * character, and uses the wide-character mapping when we expect the
      -+	 * normal one to be broken (by mis-design ;-).
      -+	 */
      -+	if (SP->_screen_acs_fix
      -+	    && SP->_acs_map[CharOf(my_ch)] & A_ALTCHARSET) {
      -+	    attr &= ~(A_ALTCHARSET);
      -+	    my_ch = _nc_wacs[CharOf(my_ch)];
      -+	}
      -+#endif
      -+	if (attr & A_ALTCHARSET) {
      -+	    chtype temp = UChar(SP->_acs_map[CharOfD(ch)]);
      -+	    if (temp != 0)
      -+		SetChar(my_ch, temp, attr);
      -+	    RemAttr(my_ch, A_ALTCHARSET);
      -+	}
      -+	ch = CHREF(my_ch);
      -+    }
      -     if (tilde_glitch && (CharOfD(ch) == L('~'))) {
      --	SetChar(tilde, L('`'), AttrOfD(ch));
      -+	SetChar(tilde, L('`'), attr);
      - 	ch = CHREF(tilde);
      -     }
      - 
      --    TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)",
      --		       _tracech_t(ch),
      --		       SP->_cursrow, SP->_curscol));
      --    UpdateAttrs(AttrOfD(ch));
      -+    UpdateAttrs(attr);
      - #if !USE_WIDEC_SUPPORT
      -     /* FIXME - we do this special case for signal handling, should see how to
      -      * make it work for wide characters.
      -      */
      -     if (SP->_outch != 0) {
      --	SP->_outch((int) ch);
      -+	SP->_outch(UChar(ch));
      -     } else
      - #endif
      -     {
      - 	PUTC(CHDEREF(ch), SP->_ofp);	/* macro's fastest... */
      --#ifdef TRACE
      --	_nc_outchars++;
      --#endif /* TRACE */
      -+	TRACE_OUTCHARS(1);
      -     }
      --    SP->_curscol++;
      -+    SP->_curscol += chlen;
      -     if (char_padding) {
      - 	TPUTS_TRACE("char_padding");
      - 	putp(char_padding);
      -@@ -456,7 +486,8 @@
      - 		    rep_count--;
      - 
      - 		UpdateAttrs(AttrOf(ntext0));
      --		putp(tparm(repeat_char, CharOf(ntext0), rep_count));
      -+		tputs(tparm(repeat_char, CharOf(ntext0), rep_count),
      -+		      rep_count, _nc_outch);
      - 		SP->_curscol += rep_count;
      - 
      - 		if (wrap_possible)
      -@@ -888,12 +919,12 @@
      -     if (needclear) {
      - 	UpdateAttrs(AttrOf(blank));
      - 	TPUTS_TRACE("clr_eol");
      --	if (SP->_el_cost > (screen_columns - SP->_curscol)) {
      -+	if (clr_eol && SP->_el_cost <= (screen_columns - SP->_curscol)) {
      -+	    putp(clr_eol);
      -+	} else {
      - 	    int count = (screen_columns - SP->_curscol);
      - 	    while (count-- > 0)
      - 		PutChar(CHREF(blank));
      --	} else {
      --	    putp(clr_eol);
      - 	}
      -     }
      - }
      -@@ -939,7 +970,7 @@
      -     int col;
      -     int top = total;
      -     int last = min(screen_columns, newscr->_maxx + 1);
      --    NCURSES_CH_T blank = ClrBlank(stdscr);
      -+    NCURSES_CH_T blank = newscr->_line[total - 1].text[last - 1];
      -     bool ok;
      - 
      -     if (clr_eos && can_clear_with(CHREF(blank))) {
      -@@ -959,17 +990,16 @@
      - 	}
      - 
      - 	/* don't use clr_eos for just one line if clr_eol available */
      --	if (top < total - 1 || (top < total && !clr_eol && !clr_bol)) {
      -+	if (top < total) {
      - 	    GoTo(top, 0);
      - 	    ClrToEOS(blank);
      --	    total = top;
      - 	    if (SP->oldhash && SP->newhash) {
      - 		for (row = top; row < screen_lines; row++)
      - 		    SP->oldhash[row] = SP->newhash[row];
      - 	    }
      - 	}
      -     }
      --    return total;
      -+    return top;
      - }
      - 
      - #if USE_XMC_SUPPORT
      -@@ -1314,7 +1344,7 @@
      - 
      - 	    UpdateAttrs(AttrOf(blank));
      - 	    TPUTS_TRACE("clr_eos");
      --	    putp(clr_eos);
      -+	    tputs(clr_eos, screen_lines, _nc_outch);
      - 	} else if (clr_eol) {
      - 	    SP->_cursrow = SP->_curscol = -1;
      - 
      -@@ -1478,12 +1508,12 @@
      - 	GoTo(bot, 0);
      - 	UpdateAttrs(AttrOf(blank));
      - 	TPUTS_TRACE("scroll_forward");
      --	tputs(scroll_forward, 0, _nc_outch);
      -+	putp(scroll_forward);
      -     } else if (n == 1 && delete_line && bot == maxy) {
      - 	GoTo(top, 0);
      - 	UpdateAttrs(AttrOf(blank));
      - 	TPUTS_TRACE("delete_line");
      --	tputs(delete_line, 0, _nc_outch);
      -+	putp(delete_line);
      -     } else if (parm_index && top == miny && bot == maxy) {
      - 	GoTo(bot, 0);
      - 	UpdateAttrs(AttrOf(blank));
      -@@ -1499,14 +1529,14 @@
      - 	UpdateAttrs(AttrOf(blank));
      - 	for (i = 0; i < n; i++) {
      - 	    TPUTS_TRACE("scroll_forward");
      --	    tputs(scroll_forward, 0, _nc_outch);
      -+	    putp(scroll_forward);
      - 	}
      -     } else if (delete_line && bot == maxy) {
      - 	GoTo(top, 0);
      - 	UpdateAttrs(AttrOf(blank));
      - 	for (i = 0; i < n; i++) {
      - 	    TPUTS_TRACE("delete_line");
      --	    tputs(delete_line, 0, _nc_outch);
      -+	    putp(delete_line);
      - 	}
      -     } else
      - 	return ERR;
      -@@ -1536,12 +1566,12 @@
      - 	GoTo(top, 0);
      - 	UpdateAttrs(AttrOf(blank));
      - 	TPUTS_TRACE("scroll_reverse");
      --	tputs(scroll_reverse, 0, _nc_outch);
      -+	putp(scroll_reverse);
      -     } else if (n == 1 && insert_line && bot == maxy) {
      - 	GoTo(top, 0);
      - 	UpdateAttrs(AttrOf(blank));
      - 	TPUTS_TRACE("insert_line");
      --	tputs(insert_line, 0, _nc_outch);
      -+	putp(insert_line);
      -     } else if (parm_rindex && top == miny && bot == maxy) {
      - 	GoTo(top, 0);
      - 	UpdateAttrs(AttrOf(blank));
      -@@ -1557,14 +1587,14 @@
      - 	UpdateAttrs(AttrOf(blank));
      - 	for (i = 0; i < n; i++) {
      - 	    TPUTS_TRACE("scroll_reverse");
      --	    tputs(scroll_reverse, 0, _nc_outch);
      -+	    putp(scroll_reverse);
      - 	}
      -     } else if (insert_line && bot == maxy) {
      - 	GoTo(top, 0);
      - 	UpdateAttrs(AttrOf(blank));
      - 	for (i = 0; i < n; i++) {
      - 	    TPUTS_TRACE("insert_line");
      --	    tputs(insert_line, 0, _nc_outch);
      -+	    putp(insert_line);
      - 	}
      -     } else
      - 	return ERR;
      -@@ -1596,14 +1626,14 @@
      -     UpdateAttrs(AttrOf(blank));
      -     if (n == 1 && delete_line) {
      - 	TPUTS_TRACE("delete_line");
      --	tputs(delete_line, 0, _nc_outch);
      -+	putp(delete_line);
      -     } else if (parm_delete_line) {
      - 	TPUTS_TRACE("parm_delete_line");
      - 	tputs(tparm(parm_delete_line, n, 0), n, _nc_outch);
      -     } else {			/* if (delete_line) */
      - 	for (i = 0; i < n; i++) {
      - 	    TPUTS_TRACE("delete_line");
      --	    tputs(delete_line, 0, _nc_outch);
      -+	    putp(delete_line);
      - 	}
      -     }
      - 
      -@@ -1611,20 +1641,28 @@
      -     UpdateAttrs(AttrOf(blank));
      -     if (n == 1 && insert_line) {
      - 	TPUTS_TRACE("insert_line");
      --	tputs(insert_line, 0, _nc_outch);
      -+	putp(insert_line);
      -     } else if (parm_insert_line) {
      - 	TPUTS_TRACE("parm_insert_line");
      - 	tputs(tparm(parm_insert_line, n, 0), n, _nc_outch);
      -     } else {			/* if (insert_line) */
      - 	for (i = 0; i < n; i++) {
      - 	    TPUTS_TRACE("insert_line");
      --	    tputs(insert_line, 0, _nc_outch);
      -+	    putp(insert_line);
      - 	}
      -     }
      - 
      -     return OK;
      - }
      - 
      -+/*
      -+ * Note:  some terminals require the cursor to be within the scrolling margins
      -+ * before setting them.  Generally, the cursor must be at the appropriate end
      -+ * of the scrolling margins when issuing an indexing operation (it is not
      -+ * apparent whether it must also be at the left margin; we do this just to be
      -+ * safe).  To make the related cursor movement a little faster, we use the
      -+ * save/restore cursor capabilities if the terminal has them.
      -+ */
      - NCURSES_EXPORT(int)
      - _nc_scrolln(int n, int top, int bot, int maxy)
      - /* scroll region from top to bot by n lines */
      -@@ -1658,13 +1696,13 @@
      - 		&& save_cursor && restore_cursor) {
      - 		cursor_saved = TRUE;
      - 		TPUTS_TRACE("save_cursor");
      --		tputs(save_cursor, 0, _nc_outch);
      -+		putp(save_cursor);
      - 	    }
      - 	    TPUTS_TRACE("change_scroll_region");
      --	    tputs(tparm(change_scroll_region, top, bot), 0, _nc_outch);
      -+	    putp(tparm(change_scroll_region, top, bot));
      - 	    if (cursor_saved) {
      - 		TPUTS_TRACE("restore_cursor");
      --		tputs(restore_cursor, 0, _nc_outch);
      -+		putp(restore_cursor);
      - 	    } else {
      - 		SP->_cursrow = SP->_curscol = -1;
      - 	    }
      -@@ -1672,7 +1710,7 @@
      - 	    res = scroll_csr_forward(n, top, bot, top, bot, blank);
      - 
      - 	    TPUTS_TRACE("change_scroll_region");
      --	    tputs(tparm(change_scroll_region, 0, maxy), 0, _nc_outch);
      -+	    putp(tparm(change_scroll_region, 0, maxy));
      - 	    SP->_cursrow = SP->_curscol = -1;
      - 	}
      - 
      -@@ -1686,7 +1724,7 @@
      - 	    && (non_dest_scroll_region || (memory_below && bot == maxy))) {
      - 	    NCURSES_CH_T blank2 = NewChar(BLANK_TEXT);
      - 	    if (bot == maxy && clr_eos) {
      --		GoTo(bot - n, 0);
      -+		GoTo(bot - n + 1, 0);
      - 		ClrToEOS(blank2);
      - 	    } else {
      - 		for (i = 0; i < n; i++) {
      -@@ -1704,13 +1742,13 @@
      - 		&& save_cursor && restore_cursor) {
      - 		cursor_saved = TRUE;
      - 		TPUTS_TRACE("save_cursor");
      --		tputs(save_cursor, 0, _nc_outch);
      -+		putp(save_cursor);
      - 	    }
      - 	    TPUTS_TRACE("change_scroll_region");
      --	    tputs(tparm(change_scroll_region, top, bot), 0, _nc_outch);
      -+	    putp(tparm(change_scroll_region, top, bot));
      - 	    if (cursor_saved) {
      - 		TPUTS_TRACE("restore_cursor");
      --		tputs(restore_cursor, 0, _nc_outch);
      -+		putp(restore_cursor);
      - 	    } else {
      - 		SP->_cursrow = SP->_curscol = -1;
      - 	    }
      -@@ -1718,7 +1756,7 @@
      - 	    res = scroll_csr_backward(-n, top, bot, top, bot, blank);
      - 
      - 	    TPUTS_TRACE("change_scroll_region");
      --	    tputs(tparm(change_scroll_region, 0, maxy), 0, _nc_outch);
      -+	    putp(tparm(change_scroll_region, 0, maxy));
      - 	    SP->_cursrow = SP->_curscol = -1;
      - 	}
      - 
      -@@ -1811,8 +1849,6 @@
      - 	SP->_default_color = FALSE;
      - 
      - 	mvcur(SP->_cursrow, SP->_curscol, screen_lines - 1, 0);
      --	SP->_cursrow = screen_lines - 1;
      --	SP->_curscol = 0;
      - 
      - 	ClrToEOL(blank, TRUE);
      -     }
      -diff -urNd -urNd ncurses-5.3/ncurses/widechar/charable.c ncurses-5.3.20030906.orig/ncurses/widechar/charable.c
      ---- ncurses-5.3/ncurses/widechar/charable.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/ncurses/widechar/charable.c	Sun Jul 20 14:02:09 2003
      -@@ -0,0 +1,77 @@
      -+/****************************************************************************
      -+ * Copyright (c) 2003 Free Software Foundation, Inc.                        *
      -+ *                                                                          *
      -+ * Permission is hereby granted, free of charge, to any person obtaining a  *
      -+ * copy of this software and associated documentation files (the            *
      -+ * "Software"), to deal in the Software without restriction, including      *
      -+ * without limitation the rights to use, copy, modify, merge, publish,      *
      -+ * distribute, distribute with modifications, sublicense, and/or sell       *
      -+ * copies of the Software, and to permit persons to whom the Software is    *
      -+ * furnished to do so, subject to the following conditions:                 *
      -+ *                                                                          *
      -+ * The above copyright notice and this permission notice shall be included  *
      -+ * in all copies or substantial portions of the Software.                   *
      -+ *                                                                          *
      -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
      -+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
      -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
      -+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
      -+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
      -+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
      -+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
      -+ *                                                                          *
      -+ * Except as contained in this notice, the name(s) of the above copyright   *
      -+ * holders shall not be used in advertising or otherwise to promote the     *
      -+ * sale, use or other dealings in this Software without prior written       *
      -+ * authorization.                                                           *
      -+ ****************************************************************************/
      -+
      -+/*
      -+**	Support functions for wide/narrow conversion.
      -+*/
      -+
      -+#include 
      -+
      -+MODULE_ID("$Id: charable.c,v 1.2 2003/07/05 18:04:08 tom Exp $")
      -+
      -+NCURSES_EXPORT(bool) _nc_is_charable(wchar_t ch)
      -+{
      -+    bool result;
      -+#if HAVE_WCTOB
      -+    result = (wctob(ch) == ch);
      -+#else
      -+    result = (_nc_to_char(ch) >= 0);
      -+#endif
      -+    return result;
      -+}
      -+
      -+NCURSES_EXPORT(int) _nc_to_char(wint_t ch)
      -+{
      -+    int result;
      -+#if HAVE_WCTOB
      -+    result = wctob(ch);
      -+#elif HAVE_WCTOMB
      -+    char temp[MB_LEN_MAX];
      -+    result = wctomb(temp, ch);
      -+    if (strlen(temp) == 1)
      -+	result = UChar(temp[0]);
      -+    else
      -+	result = -1;
      -+#endif
      -+    return result;
      -+}
      -+
      -+NCURSES_EXPORT(wint_t) _nc_to_widechar(int ch)
      -+{
      -+    wint_t result;
      -+#if HAVE_BTOWC
      -+    result = btowc(ch);
      -+#elif HAVE_MBTOWC
      -+    char temp[2];
      -+    temp[0] = ch;
      -+    temp[1] = '\0';
      -+    if (mbtowc((wchar_t *) (&result), temp, 1) != 1)
      -+	result = WEOF;
      -+#endif
      -+    return result;
      -+}
      -diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_cchar.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_cchar.c
      ---- ncurses-5.3/ncurses/widechar/lib_cchar.c	Sat Aug 10 17:27:37 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_cchar.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
      -+ * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -35,7 +35,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_cchar.c,v 1.6 2002/08/10 22:27:37 tom Exp $")
      -+MODULE_ID("$Id: lib_cchar.c,v 1.8 2003/05/25 00:07:41 tom Exp $")
      - 
      - /* 
      -  * The SuSv2 description leaves some room for interpretation.  We'll assume wch
      -@@ -55,26 +55,28 @@
      - 		      wcval, _nc_viswbuf(wch), attrs, color_pair, opts));
      - 
      -     if (opts != NULL || (len = wcslen(wch)) > CCHARW_MAX
      --	|| (len > 0 && wcwidth(wch[0]) < 0)) {
      -+	|| (len > 1 && wcwidth(wch[0]) < 0)) {
      - 	code = ERR;
      -     } else {
      - 
      -+	/*
      -+	 * If we have a following spacing-character, stop at that point.  We
      -+	 * are only interested in adding non-spacing characters.
      -+	 */
      - 	for (i = 1; i < len; ++i) {
      - 	    if (wcwidth(wch[i]) != 0) {
      --		code = ERR;
      -+		len = i;
      - 		break;
      - 	    }
      - 	}
      - 
      --	if (code != ERR) {
      --	    memset(wcval, 0, sizeof(*wcval));
      -+	memset(wcval, 0, sizeof(*wcval));
      - 
      --	    if (len != 0) {
      --		SetAttr(*wcval, attrs | color_pair);
      --		memcpy(&wcval->chars, wch, len * sizeof(wchar_t));
      --		TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len,
      --				  _tracecchar_t(wcval)));
      --	    }
      -+	if (len != 0) {
      -+	    SetAttr(*wcval, attrs | color_pair);
      -+	    memcpy(&wcval->chars, wch, len * sizeof(wchar_t));
      -+	    TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len,
      -+			      _tracecchar_t(wcval)));
      - 	}
      -     }
      - 
      -@@ -100,6 +102,8 @@
      - 
      - 	if (wch == NULL) {
      - 	    code = len;
      -+	} else if (attrs == 0 || color_pair == 0) {
      -+	    code = ERR;
      - 	} else if (len >= 0) {
      - 	    *attrs = AttrOf(*wcval);
      - 	    *color_pair = AttrOf(*wcval) & A_COLOR;
      -diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_get_wstr.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_get_wstr.c
      ---- ncurses-5.3/ncurses/widechar/lib_get_wstr.c	Sat Jul 20 14:28:29 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_get_wstr.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 2002 Free Software Foundation, Inc.                        *
      -+ * Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -40,7 +40,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: lib_get_wstr.c,v 1.4 2002/07/20 19:28:29 tom Exp $")
      -+MODULE_ID("$Id: lib_get_wstr.c,v 1.6 2003/05/17 21:33:03 tom Exp $")
      - 
      - /*
      -  * This wipes out the last character, no matter whether it was a tab, control
      -@@ -109,6 +109,25 @@
      - 	wrefresh(win);
      - 
      -     while ((code = wget_wch(win, &ch)) != ERR) {
      -+	/*
      -+	 * Map special characters into key-codes.
      -+	 */
      -+	if (ch == '\r')
      -+	    ch = '\n';
      -+	if (ch == '\n') {
      -+	    code = KEY_CODE_YES;
      -+	    ch = KEY_ENTER;
      -+	}
      -+	if (ch < KEY_MIN) {
      -+	    if (ch == erasec) {
      -+		ch = KEY_BACKSPACE;
      -+		code = KEY_CODE_YES;
      -+	    }
      -+	    if (ch == killc) {
      -+		ch = KEY_EOL;
      -+		code = KEY_CODE_YES;
      -+	    }
      -+	}
      - 	if (code == KEY_CODE_YES) {
      - 	    /*
      - 	     * Some terminals (the Wyse-50 is the most common) generate a \n
      -@@ -116,21 +135,18 @@
      - 	     * choice whether to set kcud=\n for wget_wch(); terminating
      - 	     * *getn_wstr() with \n should work either way.
      - 	     */
      --	    if (ch == '\n'
      --		|| ch == '\r'
      --		|| ch == KEY_DOWN
      --		|| ch == KEY_ENTER) {
      -+	    if (ch == KEY_DOWN || ch == KEY_ENTER) {
      - 		if (oldecho == TRUE
      - 		    && win->_cury == win->_maxy
      - 		    && win->_scroll)
      - 		    wechochar(win, (chtype) '\n');
      - 		break;
      - 	    }
      --	    if (ch == erasec || ch == KEY_LEFT || ch == KEY_BACKSPACE) {
      -+	    if (ch == KEY_LEFT || ch == KEY_BACKSPACE) {
      - 		if (tmpstr > oldstr) {
      - 		    tmpstr = WipeOut(win, y, x, oldstr, tmpstr, oldecho);
      - 		}
      --	    } else if (ch == killc) {
      -+	    } else if (ch == KEY_EOL) {
      - 		while (tmpstr > oldstr) {
      - 		    tmpstr = WipeOut(win, y, x, oldstr, tmpstr, oldecho);
      - 		}
      -@@ -141,6 +157,7 @@
      - 	    beep();
      - 	} else {
      - 	    *tmpstr++ = ch;
      -+	    *tmpstr = 0;
      - 	    if (oldecho == TRUE) {
      - 		int oldy = win->_cury;
      - 		cchar_t tmp;
      -@@ -193,7 +210,7 @@
      -     *tmpstr = 0;
      -     if (code == ERR) {
      - 	if (tmpstr == oldstr) {
      --	    *tmpstr++ = (wchar_t)WEOF;
      -+	    *tmpstr++ = (wchar_t) WEOF;
      - 	    *tmpstr = 0;
      - 	}
      - 	returnCode(ERR);
      -diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_ins_wch.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_ins_wch.c
      ---- ncurses-5.3/ncurses/widechar/lib_ins_wch.c	Sun Mar 10 16:25:06 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_ins_wch.c	Tue May 13 20:08:22 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 2002 Free Software Foundation, Inc.                        *
      -+ * Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -39,16 +39,16 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_ins_wch.c,v 1.1 2002/03/10 22:25:06 tom Exp $")
      -+MODULE_ID("$Id: lib_ins_wch.c,v 1.3 2003/03/29 21:52:29 tom Exp $")
      - 
      --NCURSES_EXPORT(int)
      --wins_wch(WINDOW *win, const cchar_t * wch)
      -+/*
      -+ * Insert the given character, updating the current location to simplify
      -+ * inserting a string.
      -+ */
      -+static void
      -+_nc_insert_wch(WINDOW *win, const cchar_t * wch)
      - {
      --    int code = ERR;
      --
      --    T((T_CALLED("wins_wch(%p, %s)"), win, _tracecchar_t(wch)));
      --
      --    if (win) {
      -+    if (win->_curx <= win->_maxx) {
      - 	struct ldat *line = &(win->_line[win->_cury]);
      - 	NCURSES_CH_T *end = &(line->text[win->_curx]);
      - 	NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
      -@@ -59,6 +59,71 @@
      - 	    *temp1-- = *temp2--;
      - 
      - 	*temp1 = _nc_render(win, *wch);
      -+
      -+	win->_curx++;
      -+    }
      -+}
      -+
      -+NCURSES_EXPORT(int)
      -+wins_wch(WINDOW *win, const cchar_t * wch)
      -+{
      -+    NCURSES_SIZE_T oy;
      -+    NCURSES_SIZE_T ox;
      -+    int code = ERR;
      -+
      -+    T((T_CALLED("wins_wch(%p, %s)"), win, _tracecchar_t(wch)));
      -+
      -+    if (win != 0) {
      -+	oy = win->_cury;
      -+	ox = win->_curx;
      -+
      -+	_nc_insert_wch(win, wch);
      -+
      -+	win->_curx = ox;
      -+	win->_cury = oy;
      -+	_nc_synchook(win);
      -+	code = OK;
      -+    }
      -+    returnCode(code);
      -+}
      -+
      -+NCURSES_EXPORT(int)
      -+wins_nwstr(WINDOW *win, const wchar_t * wstr, int n)
      -+{
      -+    int code = ERR;
      -+    NCURSES_SIZE_T oy;
      -+    NCURSES_SIZE_T ox;
      -+    const wchar_t *cp;
      -+
      -+    T((T_CALLED("wins_nwstr(%p,%s,%d)"), win, _nc_viswbufn(wstr, n), n));
      -+
      -+    if (win != 0
      -+	&& wstr != 0) {
      -+	if (n < 1)
      -+	    n = wcslen(wstr);
      -+	if (n > 0) {
      -+	    oy = win->_cury;
      -+	    ox = win->_curx;
      -+	    for (cp = wstr; *cp && ((cp - wstr) < n); cp++) {
      -+		if (wcwidth(*cp) > 1) {
      -+		    cchar_t tmp_cchar;
      -+		    wchar_t tmp_wchar = *cp;
      -+		    memset(&tmp_cchar, 0, sizeof(tmp_cchar));
      -+		    (void) setcchar(&tmp_cchar,
      -+				    &tmp_wchar,
      -+				    WA_NORMAL,
      -+				    0,
      -+				    (void *) 0);
      -+		    _nc_insert_wch(win, &tmp_cchar);
      -+		} else {
      -+		    _nc_insert_ch(win, *cp);	/* tabs, other ASCII stuff */
      -+		}
      -+	    }
      -+
      -+	    win->_curx = ox;
      -+	    win->_cury = oy;
      -+	    _nc_synchook(win);
      -+	}
      - 	code = OK;
      -     }
      -     returnCode(code);
      -diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_slk_wset.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_slk_wset.c
      ---- ncurses-5.3/ncurses/widechar/lib_slk_wset.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_slk_wset.c	Sun Jul 20 14:02:08 2003
      -@@ -0,0 +1,146 @@
      -+/****************************************************************************
      -+ * Copyright (c) 2003 Free Software Foundation, Inc.                        *
      -+ *                                                                          *
      -+ * Permission is hereby granted, free of charge, to any person obtaining a  *
      -+ * copy of this software and associated documentation files (the            *
      -+ * "Software"), to deal in the Software without restriction, including      *
      -+ * without limitation the rights to use, copy, modify, merge, publish,      *
      -+ * distribute, distribute with modifications, sublicense, and/or sell       *
      -+ * copies of the Software, and to permit persons to whom the Software is    *
      -+ * furnished to do so, subject to the following conditions:                 *
      -+ *                                                                          *
      -+ * The above copyright notice and this permission notice shall be included  *
      -+ * in all copies or substantial portions of the Software.                   *
      -+ *                                                                          *
      -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
      -+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
      -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
      -+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
      -+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
      -+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
      -+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
      -+ *                                                                          *
      -+ * Except as contained in this notice, the name(s) of the above copyright   *
      -+ * holders shall not be used in advertising or otherwise to promote the     *
      -+ * sale, use or other dealings in this Software without prior written       *
      -+ * authorization.                                                           *
      -+ ****************************************************************************/
      -+
      -+/****************************************************************************
      -+ *  Author: Thomas E. Dickey, 2003                                          *
      -+ ****************************************************************************/
      -+
      -+/*
      -+ *	lib_slk_wset.c
      -+ *      Set soft label text.
      -+ */
      -+#include 
      -+#include 
      -+
      -+MODULE_ID("$Id: lib_slk_wset.c,v 1.4 2003/06/07 22:17:43 tom Exp $")
      -+
      -+NCURSES_EXPORT(int)
      -+slk_wset(int i, const wchar_t * astr, int format)
      -+{
      -+    static wchar_t empty[] =
      -+    {L'\0'};
      -+    int result = ERR;
      -+    SLK *slk = SP->_slk;
      -+    int offset;
      -+    size_t arglen;
      -+    const wchar_t *p;
      -+
      -+    T((T_CALLED("slk_wset(%d, %s, %d)"), i, _nc_viswbuf(astr), format));
      -+
      -+    if (astr == 0)
      -+	astr = empty;
      -+    arglen = wcslen(astr);
      -+    while (iswspace(*astr)) {
      -+	--arglen;
      -+	++astr;			/* skip over leading spaces  */
      -+    }
      -+    p = astr;
      -+    while (iswprint(*p))
      -+	p++;			/* The first non-print stops */
      -+
      -+    arglen = (size_t) (p - astr);
      -+
      -+    if (slk != NULL &&
      -+	i >= 1 &&
      -+	i <= slk->labcnt &&
      -+	format >= 0 &&
      -+	format <= 2) {
      -+	char *new_text;
      -+	size_t n;
      -+	size_t used = 0;
      -+	int mycols;
      -+	mbstate_t state;
      -+
      -+	--i;			/* Adjust numbering of labels */
      -+
      -+	/*
      -+	 * Reduce the actual number of columns to fit in the label field.
      -+	 */
      -+	while (arglen != 0 && wcswidth(astr, arglen) > slk->maxlen) {
      -+	    --arglen;
      -+	}
      -+	mycols = wcswidth(astr, arglen);
      -+
      -+	/*
      -+	 * translate the wide-character string to multibyte form.
      -+	 */
      -+	memset(&state, 0, sizeof(state));
      -+
      -+	if ((new_text = (char *) _nc_doalloc(0, MB_LEN_MAX * arglen)) == 0)
      -+	    returnCode(ERR);
      -+
      -+	for (n = 0; n < arglen; ++n) {
      -+	    used += wcrtomb(new_text + used, astr[n], &state);
      -+	}
      -+	new_text[used] = '\0';
      -+
      -+	if (used >= (size_t) (slk->maxlen + 1)) {
      -+	    if ((slk->ent[i].ent_text = (char *) _nc_doalloc(slk->ent[i].ent_text,
      -+							     used + 1)) == 0)
      -+		returnCode(ERR);
      -+	    if ((slk->ent[i].form_text = (char *) _nc_doalloc(slk->ent[i].form_text,
      -+							      used + 1)) == 0)
      -+		returnCode(ERR);
      -+	}
      -+
      -+	(void) strcpy(slk->ent[i].ent_text, new_text);
      -+	free(new_text);
      -+
      -+	sprintf(slk->ent[i].form_text, "%*s", (size_t) slk->maxlen, " ");
      -+
      -+	switch (format) {
      -+	default:
      -+	case 0:		/* left-aligned */
      -+	    offset = 0;
      -+	    break;
      -+	case 1:		/* centered */
      -+	    offset = (slk->maxlen - mycols) / 2;
      -+	    break;
      -+	case 2:		/* right-aligned */
      -+	    offset = slk->maxlen - mycols;
      -+	    break;
      -+	}
      -+	if (offset < 0)
      -+	    offset = 0;
      -+	strcpy(slk->ent[i].form_text + offset,
      -+	       slk->ent[i].ent_text);
      -+	/*
      -+	 * Pad the display with blanks on the right, unless it is already
      -+	 * right-aligned.
      -+	 */
      -+	if (format != 2 && mycols < slk->maxlen) {
      -+	    sprintf(slk->ent[i].form_text + offset + used,
      -+		    "%*s",
      -+		    slk->maxlen - (mycols - offset),
      -+		    " ");
      -+	}
      -+	slk->ent[i].dirty = TRUE;
      -+	result = OK;
      -+    }
      -+    returnCode(result);
      -+}
      -diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_unget_wch.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_unget_wch.c
      ---- ncurses-5.3/ncurses/widechar/lib_unget_wch.c	Sat Jun 29 16:11:02 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_unget_wch.c	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 2002 Free Software Foundation, Inc.                        *
      -+ * Copyright (c) 2002,2003 Free Software Foundation, Inc.                        *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -39,7 +39,7 @@
      - 
      - #include 
      - 
      --MODULE_ID("$Id: lib_unget_wch.c,v 1.3 2002/06/29 21:11:02 tom Exp $")
      -+MODULE_ID("$Id: lib_unget_wch.c,v 1.5 2003/07/05 19:46:51 tom Exp $")
      - 
      - NCURSES_EXPORT(int)
      - unget_wch(const wchar_t wch)
      -@@ -49,25 +49,29 @@
      -     size_t length;
      -     int n;
      - 
      --    T((T_CALLED("unget_wch(%#lx)"), wch));
      -+    T((T_CALLED("unget_wch(%#lx)"), (unsigned long) wch));
      - 
      -     memset(&state, 0, sizeof(state));
      -     length = wcrtomb(0, wch, &state);
      - 
      -     if (length != (size_t) (-1)
      - 	&& length != 0) {
      --	char *string = malloc(length);
      -+	char *string;
      - 
      --	memset(&state, 0, sizeof(state));
      --	wcrtomb(string, wch, &state);
      -+	if ((string = (char *) malloc(length)) != 0) {
      -+	    memset(&state, 0, sizeof(state));
      -+	    wcrtomb(string, wch, &state);
      - 
      --	for (n = (int) (length - 1); n >= 0; --n) {
      --	    if (ungetch(string[n]) != OK) {
      --		result = ERR;
      --		break;
      -+	    for (n = (int) (length - 1); n >= 0; --n) {
      -+		if (ungetch(string[n]) != OK) {
      -+		    result = ERR;
      -+		    break;
      -+		}
      - 	    }
      -+	    free(string);
      -+	} else {
      -+	    result = ERR;
      - 	}
      --	free(string);
      -     } else {
      - 	result = ERR;
      -     }
      -diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_wacs.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_wacs.c
      ---- ncurses-5.3/ncurses/widechar/lib_wacs.c	Sat Aug 31 14:44:17 2002
      -+++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_wacs.c	Tue May 13 20:08:22 2003
      -@@ -33,23 +33,10 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: lib_wacs.c,v 1.5 2002/08/31 19:44:17 tom Exp $")
      -+MODULE_ID("$Id: lib_wacs.c,v 1.6 2002/12/21 12:30:19 tom Exp $")
      - 
      - NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0;
      - 
      --static int
      --_nc_unicode_locale(void)
      --{
      --    char *s;
      --    if (((s = getenv("LC_ALL")) != 0 && *s != '\0')
      --	|| ((s = getenv("LC_ALL")) != 0 && *s != '\0')
      --	|| ((s = getenv("LC_ALL")) != 0 && *s != '\0')) {
      --	if (strstr(s, ".UTF-8") != 0)
      --	    return 1;
      --    }
      --    return 0;
      --}
      --
      - NCURSES_EXPORT(void)
      - _nc_init_wacs(void)
      - {
      -diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_wunctrl.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_wunctrl.c
      ---- ncurses-5.3/ncurses/widechar/lib_wunctrl.c	Sat Sep 22 14:18:02 2001
      -+++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_wunctrl.c	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 2001 Free Software Foundation, Inc.                        *
      -+ * Copyright (c) 2001,2003 Free Software Foundation, Inc.                   *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -37,7 +37,7 @@
      - 
      - #if USE_WIDEC_SUPPORT
      - 
      --MODULE_ID("$Id: lib_wunctrl.c,v 1.6 2001/09/22 19:18:02 tom Exp $")
      -+MODULE_ID("$Id: lib_wunctrl.c,v 1.7 2003/07/05 17:01:43 tom Exp $")
      - 
      - NCURSES_EXPORT(wchar_t *)
      - wunctrl(cchar_t * wc)
      -@@ -46,8 +46,8 @@
      - 
      -     if (Charable(*wc)) {
      - 	const char *p;
      --	for (p = unctrl(wctob(CharOf(*wc))), sp = str; *p;)
      --	    *sp++ = btowc(*p++);
      -+	for (p = unctrl(_nc_to_char(CharOf(*wc))), sp = str; *p;)
      -+	    *sp++ = _nc_to_widechar(*p++);
      - 	return str;
      -     } else
      - 	return wc->chars;
      -diff -urNd -urNd ncurses-5.3/panel/Makefile.in ncurses-5.3.20030906.orig/panel/Makefile.in
      ---- ncurses-5.3/panel/Makefile.in	Sat Jan 19 18:41:18 2002
      -+++ ncurses-5.3.20030906.orig/panel/Makefile.in	Fri Sep 12 16:42:40 2003
      -@@ -1,6 +1,6 @@
      --# $Id: Makefile.in,v 1.41 2002/01/20 00:41:18 tom Exp $
      -+# $Id: Makefile.in,v 1.45 2003/08/23 23:26:21 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -27,7 +27,7 @@
      - # authorization.                                                             #
      - ##############################################################################
      - #
      --# Author: Thomas E. Dickey  1996,1997
      -+# Author: Thomas E. Dickey 1996-2002
      - #
      - # Makefile for panels source code.
      - #
      -@@ -56,6 +56,11 @@
      - datadir		= @datadir@
      - 
      - LIBTOOL		= @LIBTOOL@
      -+LIBTOOL_CLEAN	= @LIB_CLEAN@
      -+LIBTOOL_COMPILE	= @LIB_COMPILE@
      -+LIBTOOL_LINK	= @LIB_LINK@
      -+LIBTOOL_INSTALL	= @LIB_INSTALL@
      -+LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
      - 
      - INSTALL		= @INSTALL@
      - INSTALL_LIB	= @INSTALL@ @INSTALL_LIB@
      -@@ -72,8 +77,7 @@
      - CPP		= @CPP@
      - CFLAGS		= @CFLAGS@
      - 
      --CPPFLAGS	= @CPPFLAGS@ -I@top_srcdir@/ncurses \
      --		  -DHAVE_CONFIG_H
      -+CPPFLAGS	= -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@
      - 
      - CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
      - 
      -@@ -85,7 +89,7 @@
      - 
      - CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
      - 
      --LINK		= $(LIBTOOL) $(CC)
      -+LINK		= $(LIBTOOL_LINK) $(CC)
      - LDFLAGS		= @LDFLAGS@ @LD_MODEL@ @LIBS@
      - 
      - SHLIB_DIRS	= -L../lib
      -@@ -98,7 +102,7 @@
      - REL_VERSION	= @cf_cv_rel_version@
      - ABI_VERSION	= @cf_cv_abi_version@
      - 
      --RANLIB		= @RANLIB@
      -+RANLIB		= @LIB_PREP@
      - 
      - IMPORT_LIB	= @IMPORT_LIB@
      - SHARED_LIB	= @SHARED_LIB@
      -diff -urNd -urNd ncurses-5.3/progs/MKtermsort.sh ncurses-5.3.20030906.orig/progs/MKtermsort.sh
      ---- ncurses-5.3/progs/MKtermsort.sh	Sat Jun 29 15:02:48 2002
      -+++ ncurses-5.3.20030906.orig/progs/MKtermsort.sh	Tue May 13 20:08:22 2003
      -@@ -1,10 +1,10 @@
      - #!/bin/sh
      --# $Id: MKtermsort.sh,v 1.8 2002/06/29 20:02:48 tom Exp $
      -+# $Id: MKtermsort.sh,v 1.9 2003/01/11 22:23:50 tom Exp $
      - #
      - # MKtermsort.sh -- generate indirection vectors for the various sort methods
      - #
      - ##############################################################################
      --# Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.                #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -47,7 +47,7 @@
      - 
      - data=data$$
      - trap 'rm -f $data' 1 2 5 15
      --sed -e 's/[	]\+/	/g' < $DATA >$data
      -+sed -e 's/[	][	]*/	/g' < $DATA >$data
      - DATA=$data
      - 
      - echo "/*";
      -diff -urNd -urNd ncurses-5.3/progs/Makefile.in ncurses-5.3.20030906.orig/progs/Makefile.in
      ---- ncurses-5.3/progs/Makefile.in	Sat Dec  8 12:48:01 2001
      -+++ ncurses-5.3.20030906.orig/progs/Makefile.in	Fri Sep 12 16:42:40 2003
      -@@ -1,6 +1,6 @@
      --# $Id: Makefile.in,v 1.56 2001/12/08 18:48:01 tom Exp $
      -+# $Id: Makefile.in,v 1.60 2003/08/30 21:22:14 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.           #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -27,7 +27,7 @@
      - # authorization.                                                             #
      - ##############################################################################
      - #
      --# Author: Thomas E. Dickey  1996,1997
      -+# Author: Thomas E. Dickey 1996-2003
      - #
      - # Makefile for ncurses source code.
      - #
      -@@ -60,6 +60,11 @@
      - datadir		= @datadir@
      - 
      - LIBTOOL		= @LIBTOOL@
      -+LIBTOOL_CLEAN	= @LIB_CLEAN@
      -+LIBTOOL_COMPILE	= @LIB_COMPILE@
      -+LIBTOOL_LINK	= @LIB_LINK@
      -+LIBTOOL_INSTALL	= @LIB_INSTALL@
      -+LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
      - 
      - INSTALL		= @INSTALL@
      - INSTALL_PROGRAM	= @INSTALL_PROGRAM@
      -@@ -73,8 +78,7 @@
      - CFLAGS		= @CFLAGS@
      - 
      - INCDIR		= $(srcdir)/../include
      --CPPFLAGS	= -I../progs -I$(srcdir) @CPPFLAGS@ \
      --		  -DHAVE_CONFIG_H
      -+CPPFLAGS	= -I../progs -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
      - 
      - CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
      - 
      -@@ -87,15 +91,15 @@
      - CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
      - 
      - LD		= @LD@
      --LINK		= @LINK_PROGS@ $(LIBTOOL) $(CC)
      -+LINK		= @LINK_PROGS@ $(LIBTOOL_LINK) $(CC)
      - LDFLAGS		= @EXTRA_LDFLAGS@ \
      - 		@PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
      - 
      --LDFLAGS_LIBTOOL	= $(LDFLAGS)
      --LDFLAGS_NORMAL	= $(LDFLAGS)
      --LDFLAGS_DEBUG	= $(LDFLAGS) @CC_G_OPT@
      --LDFLAGS_PROFILE	= $(LDFLAGS) -pg
      --LDFLAGS_SHARED	= $(LDFLAGS) @LD_SHARED_OPTS@
      -+LDFLAGS_LIBTOOL	= $(LDFLAGS) $(CFLAGS_LIBTOOL)
      -+LDFLAGS_NORMAL	= $(LDFLAGS) $(CFLAGS_NORMAL)
      -+LDFLAGS_DEBUG	= $(LDFLAGS) $(CFLAGS_DEBUG)
      -+LDFLAGS_PROFILE	= $(LDFLAGS) $(CFLAGS_PROFILE) 
      -+LDFLAGS_SHARED	= $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
      - 
      - LDFLAGS_DEFAULT	= $(LDFLAGS_@DFT_UPR_MODEL@)
      - 
      -@@ -150,31 +154,31 @@
      - 	echo "#define PROG_INIT      \"$(actual_init)\""      >>$@
      - 
      - install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir)
      --@MAKE_TERMINFO@	$(LIBTOOL) $(INSTALL_PROGRAM) tic$x     $(DESTDIR)$(bindir)/$(actual_tic)
      --@MAKE_TERMINFO@	$(LIBTOOL) $(INSTALL_PROGRAM) toe$x     $(DESTDIR)$(bindir)/$(actual_toe)
      -+@MAKE_TERMINFO@	$(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tic$x     $(DESTDIR)$(bindir)/$(actual_tic)
      -+@MAKE_TERMINFO@	$(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) toe$x     $(DESTDIR)$(bindir)/$(actual_toe)
      - @MAKE_TERMINFO@	@echo "linking $(actual_infotocap) to $(actual_tic)"
      - @MAKE_TERMINFO@	-@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
      - @MAKE_TERMINFO@	(cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap))
      - @MAKE_TERMINFO@	@echo "linking $(actual_captoinfo) to $(actual_tic)"
      - @MAKE_TERMINFO@	-@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
      - @MAKE_TERMINFO@	(cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo))
      --	$(LIBTOOL) $(INSTALL_PROGRAM) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
      --	$(LIBTOOL) $(INSTALL_PROGRAM) clear$x   $(DESTDIR)$(bindir)/$(actual_clear)
      --	$(LIBTOOL) $(INSTALL_PROGRAM) tput$x    $(DESTDIR)$(bindir)/$(actual_tput)
      --	$(LIBTOOL) $(INSTALL_PROGRAM) tset$x    $(DESTDIR)$(bindir)/$(actual_tset)
      -+	$(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
      -+	$(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) clear$x   $(DESTDIR)$(bindir)/$(actual_clear)
      -+	$(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tput$x    $(DESTDIR)$(bindir)/$(actual_tput)
      -+	$(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tset$x    $(DESTDIR)$(bindir)/$(actual_tset)
      - 	@echo "linking $(actual_reset) to $(actual_tset)"
      - 	-@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
      - 	(cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset))
      - 
      - uninstall.progs:
      --@MAKE_TERMINFO@	-@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tic)
      --@MAKE_TERMINFO@	-@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_toe)
      -+@MAKE_TERMINFO@	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tic)
      -+@MAKE_TERMINFO@	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_toe)
      - @MAKE_TERMINFO@	-@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
      - @MAKE_TERMINFO@	-@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
      --	-@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
      --	-@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
      --	-@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
      --	-@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
      -+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
      -+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
      -+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
      -+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
      - 	-@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
      - 
      - $(DESTDIR)$(bindir) :
      -@@ -225,7 +229,7 @@
      - 	@ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_DEFAULT) -o $@
      - 
      - termsort.c: $(srcdir)/MKtermsort.sh
      --	sh -c "$(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@" >$@
      -+	sh $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@ >$@
      - 
      - #
      - # Utility productions start here
      -diff -urNd -urNd ncurses-5.3/progs/dump_entry.c ncurses-5.3.20030906.orig/progs/dump_entry.c
      ---- ncurses-5.3/progs/dump_entry.c	Sun Sep  1 12:54:43 2002
      -+++ ncurses-5.3.20030906.orig/progs/dump_entry.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -39,7 +39,7 @@
      - #include "termsort.c"		/* this C file is generated */
      - #include 	/* so is this */
      - 
      --MODULE_ID("$Id: dump_entry.c,v 1.64 2002/09/01 17:54:43 tom Exp $")
      -+MODULE_ID("$Id: dump_entry.c,v 1.66 2003/05/24 22:43:59 tom Exp $")
      - 
      - #define INDENT			8
      - #define DISCARD(string) string = ABSENT_STRING
      -@@ -913,15 +913,23 @@
      - 	     */
      - 	    char *oldsgr = set_attributes;
      - 	    char *oldacsc = acs_chars;
      --	    set_attributes = ABSENT_STRING;
      --	    SHOW_WHY("# (sgr removed to fit entry within %d bytes)\n",
      --		     critlen);
      --	    if ((len = FMT_ENTRY()) > critlen) {
      --		acs_chars = ABSENT_STRING;
      --		SHOW_WHY("# (acsc removed to fit entry within %d bytes)\n",
      -+	    bool changed = FALSE;
      -+
      -+	    if (VALID_STRING(set_attributes)) {
      -+		set_attributes = ABSENT_STRING;
      -+		SHOW_WHY("# (sgr removed to fit entry within %d bytes)\n",
      - 			 critlen);
      -+		changed = TRUE;
      - 	    }
      --	    if ((len = FMT_ENTRY()) > critlen) {
      -+	    if (!changed || ((len = FMT_ENTRY()) > critlen)) {
      -+		if (VALID_STRING(acs_chars)) {
      -+		    acs_chars = ABSENT_STRING;
      -+		    SHOW_WHY("# (acsc removed to fit entry within %d bytes)\n",
      -+			     critlen);
      -+		    changed = TRUE;
      -+		}
      -+	    }
      -+	    if (!changed || ((len = FMT_ENTRY()) > critlen)) {
      - 		int oldversion = tversion;
      - 
      - 		tversion = V_BSD;
      -diff -urNd -urNd ncurses-5.3/progs/infocmp.c ncurses-5.3.20030906.orig/progs/infocmp.c
      ---- ncurses-5.3/progs/infocmp.c	Sat Oct  5 20:13:04 2002
      -+++ ncurses-5.3.20030906.orig/progs/infocmp.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -41,7 +41,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: infocmp.c,v 1.68 2002/10/06 01:13:04 tom Exp $")
      -+MODULE_ID("$Id: infocmp.c,v 1.70 2003/05/24 21:05:47 tom Exp $")
      - 
      - #define L_CURL "{"
      - #define R_CURL "}"
      -@@ -120,7 +120,7 @@
      -  ***************************************************************************/
      - 
      - static int
      --capcmp(int idx, const char *s, const char *t)
      -+capcmp(unsigned idx, const char *s, const char *t)
      - /* capability comparison function */
      - {
      -     if (!VALID_STRING(s) && !VALID_STRING(t))
      -@@ -248,7 +248,7 @@
      - entryeq(TERMTYPE * t1, TERMTYPE * t2)
      - /* are two entries equivalent? */
      - {
      --    int i;
      -+    unsigned i;
      - 
      -     for (i = 0; i < NUM_BOOLEANS(t1); i++)
      - 	if (t1->Booleans[i] != t2->Booleans[i])
      -@@ -268,7 +268,7 @@
      - #define TIC_EXPAND(result) _nc_tic_expand(result, outform==F_TERMINFO, numbers)
      - 
      - static void
      --print_uses(ENTRY * ep, FILE * fp)
      -+print_uses(ENTRY * ep, FILE *fp)
      - /* print an entry's use references */
      - {
      -     int i;
      -@@ -739,7 +739,7 @@
      - 		    (void) fputc('\n', stderr);
      - 		}
      - 	    }
      --	    exit(EXIT_FAILURE);
      -+	    ExitProgram(EXIT_FAILURE);
      - 	}
      - 
      - 	heads[filecount] = _nc_head;
      -@@ -936,7 +936,7 @@
      - 	else
      - 	    fprintf(stderr, "%s\n", tbl[n]);
      -     }
      --    exit(EXIT_FAILURE);
      -+    ExitProgram(EXIT_FAILURE);
      - }
      - 
      - static char *
      -@@ -975,7 +975,7 @@
      - static void
      - dump_initializers(TERMTYPE * term)
      - {
      --    int n;
      -+    unsigned n;
      -     int size;
      -     const char *str = 0;
      - 
      -@@ -1145,7 +1145,7 @@
      - 
      -     if (temp == 0 || temp == optarg || *temp != 0) {
      - 	fprintf(stderr, "Expected a number, not \"%s\"\n", optarg);
      --	exit(EXIT_FAILURE);
      -+	ExitProgram(EXIT_FAILURE);
      -     }
      -     return (int) value;
      - }
      -diff -urNd -urNd ncurses-5.3/progs/tic.c ncurses-5.3.20030906.orig/progs/tic.c
      ---- ncurses-5.3/progs/tic.c	Sat Oct  5 14:59:41 2002
      -+++ ncurses-5.3.20030906.orig/progs/tic.c	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -45,7 +45,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: tic.c,v 1.102 2002/10/05 19:59:41 tom Exp $")
      -+MODULE_ID("$Id: tic.c,v 1.107 2003/07/19 20:48:24 tom Exp $")
      - 
      - const char *_nc_progname = "tic";
      - 
      -@@ -58,7 +58,7 @@
      - static void (*save_check_termtype) (TERMTYPE *);
      - static void check_termtype(TERMTYPE * tt);
      - 
      --static const char usage_string[] = "[-V] [-v[n]] [-e names] [-CILNRTcfrswx1] source-file\n";
      -+static const char usage_string[] = "[-V] [-v[n]] [-e names] [-o dir] [-R name] [-CILNTcfrswx1] source-file\n";
      - 
      - static void
      - cleanup(void)
      -@@ -79,7 +79,7 @@
      - {
      -     perror(msg);
      -     cleanup();
      --    exit(EXIT_FAILURE);
      -+    ExitProgram(EXIT_FAILURE);
      - }
      - 
      - static void
      -@@ -126,7 +126,7 @@
      - 	fputs(tbl[j], stderr);
      - 	putc('\n', stderr);
      -     }
      --    exit(EXIT_FAILURE);
      -+    ExitProgram(EXIT_FAILURE);
      - }
      - 
      - #define L_BRACE '{'
      -@@ -317,12 +317,12 @@
      - 
      -     if (fp == 0) {
      - 	fprintf(stderr, "%s: Can't open %s\n", _nc_progname, filename);
      --	exit(EXIT_FAILURE);
      -+	ExitProgram(EXIT_FAILURE);
      -     }
      -     if (fstat(fileno(fp), &sb) < 0
      - 	|| (sb.st_mode & S_IFMT) != S_IFREG) {
      - 	fprintf(stderr, "%s: %s is not a file\n", _nc_progname, filename);
      --	exit(EXIT_FAILURE);
      -+	ExitProgram(EXIT_FAILURE);
      -     }
      -     return fp;
      - }
      -@@ -769,6 +769,205 @@
      - #define CUR tp->
      - 
      - /*
      -+ * Check if the alternate character-set capabilities are consistent.
      -+ */
      -+static void
      -+check_acs(TERMTYPE * tp)
      -+{
      -+    if (VALID_STRING(acs_chars)) {
      -+	const char *boxes = "lmkjtuvwqxn";
      -+	char mapped[256];
      -+	char missing[256];
      -+	const char *p;
      -+	char *q;
      -+
      -+	memset(mapped, 0, sizeof(mapped));
      -+	for (p = acs_chars; *p != '\0'; p += 2) {
      -+	    if (p[1] == '\0') {
      -+		_nc_warning("acsc has odd number of characters");
      -+		break;
      -+	    }
      -+	    mapped[UChar(p[0])] = p[1];
      -+	}
      -+	if (mapped['I'] && !mapped['i']) {
      -+	    _nc_warning("acsc refers to 'I', which is probably an error");
      -+	}
      -+	for (p = boxes, q = missing; *p != '\0'; ++p) {
      -+	    if (!mapped[UChar(p[0])]) {
      -+		*q++ = p[0];
      -+	    }
      -+	    *q = '\0';
      -+	}
      -+	if (*missing != '\0' && strcmp(missing, boxes)) {
      -+	    _nc_warning("acsc is missing some line-drawing mapping: %s", missing);
      -+	}
      -+    }
      -+}
      -+
      -+/*
      -+ * Check if the color capabilities are consistent
      -+ */
      -+static void
      -+check_colors(TERMTYPE * tp)
      -+{
      -+    if ((max_colors > 0) != (max_pairs > 0)
      -+	|| ((max_colors > max_pairs) && (initialize_pair == 0)))
      -+	_nc_warning("inconsistent values for max_colors (%d) and max_pairs (%d)",
      -+		    max_colors, max_pairs);
      -+
      -+    PAIRED(set_foreground, set_background);
      -+    PAIRED(set_a_foreground, set_a_background);
      -+    PAIRED(set_color_pair, initialize_pair);
      -+
      -+    if (VALID_STRING(set_foreground)
      -+	&& VALID_STRING(set_a_foreground)
      -+	&& !strcmp(set_foreground, set_a_foreground))
      -+	_nc_warning("expected setf/setaf to be different");
      -+
      -+    if (VALID_STRING(set_background)
      -+	&& VALID_STRING(set_a_background)
      -+	&& !strcmp(set_background, set_a_background))
      -+	_nc_warning("expected setb/setab to be different");
      -+}
      -+
      -+static int
      -+keypad_final(const char *string)
      -+{
      -+    int result = '\0';
      -+
      -+    if (VALID_STRING(string)
      -+	&& *string++ == '\033'
      -+	&& *string++ == 'O'
      -+	&& strlen(string) == 1) {
      -+	result = *string;
      -+    }
      -+
      -+    return result;
      -+}
      -+
      -+static int
      -+keypad_index(const char *string)
      -+{
      -+    char *test;
      -+    const char *list = "PQRSwxymtuvlqrsPpn";	/* app-keypad except "Enter" */
      -+    int ch;
      -+    int result = -1;
      -+
      -+    if ((ch = keypad_final(string)) != '\0') {
      -+	test = strchr(list, ch);
      -+	if (test != 0)
      -+	    result = (test - list);
      -+    }
      -+    return result;
      -+}
      -+
      -+/*
      -+ * Do a quick sanity-check for vt100-style keypads to see if the 5-key keypad
      -+ * is mapped inconsistently.
      -+ */
      -+static void
      -+check_keypad(TERMTYPE * tp)
      -+{
      -+    char show[80];
      -+
      -+    if (VALID_STRING(key_a1) &&
      -+	VALID_STRING(key_a3) &&
      -+	VALID_STRING(key_b2) &&
      -+	VALID_STRING(key_c1) &&
      -+	VALID_STRING(key_c3)) {
      -+	char final[6];
      -+	int list[5];
      -+	int increase = 0;
      -+	int j, k, kk;
      -+	int last;
      -+	int test;
      -+
      -+	final[0] = keypad_final(key_a1);
      -+	final[1] = keypad_final(key_a3);
      -+	final[2] = keypad_final(key_b2);
      -+	final[3] = keypad_final(key_c1);
      -+	final[4] = keypad_final(key_c3);
      -+	final[5] = '\0';
      -+
      -+	/* special case: legacy coding using 1,2,3,0,. on the bottom */
      -+	if (!strcmp(final, "qsrpn"))
      -+	    return;
      -+
      -+	list[0] = keypad_index(key_a1);
      -+	list[1] = keypad_index(key_a3);
      -+	list[2] = keypad_index(key_b2);
      -+	list[3] = keypad_index(key_c1);
      -+	list[4] = keypad_index(key_c3);
      -+
      -+	/* check that they're all vt100 keys */
      -+	for (j = 0; j < 5; ++j) {
      -+	    if (list[j] < 0) {
      -+		return;
      -+	    }
      -+	}
      -+
      -+	/* check if they're all in increasing order */
      -+	for (j = 1; j < 5; ++j) {
      -+	    if (list[j] > list[j - 1]) {
      -+		++increase;
      -+	    }
      -+	}
      -+	if (increase != 4) {
      -+	    show[0] = '\0';
      -+
      -+	    for (j = 0, last = -1; j < 5; ++j) {
      -+		for (k = 0, kk = -1, test = 100; k < 5; ++k) {
      -+		    if (list[k] > last &&
      -+			list[k] < test) {
      -+			test = list[k];
      -+			kk = k;
      -+		    }
      -+		}
      -+		last = test;
      -+		switch (kk) {
      -+		case 0:
      -+		    strcat(show, " ka1");
      -+		    break;
      -+		case 1:
      -+		    strcat(show, " ka3");
      -+		    break;
      -+		case 2:
      -+		    strcat(show, " kb2");
      -+		    break;
      -+		case 3:
      -+		    strcat(show, " kc1");
      -+		    break;
      -+		case 4:
      -+		    strcat(show, " kc3");
      -+		    break;
      -+		}
      -+	    }
      -+
      -+	    _nc_warning("vt100 keypad order inconsistent: %s", show);
      -+	}
      -+
      -+    } else if (VALID_STRING(key_a1) ||
      -+	       VALID_STRING(key_a3) ||
      -+	       VALID_STRING(key_b2) ||
      -+	       VALID_STRING(key_c1) ||
      -+	       VALID_STRING(key_c3)) {
      -+	show[0] = '\0';
      -+	if (keypad_index(key_a1) >= 0)
      -+	    strcat(show, " ka1");
      -+	if (keypad_index(key_a3) >= 0)
      -+	    strcat(show, " ka3");
      -+	if (keypad_index(key_b2) >= 0)
      -+	    strcat(show, " kb2");
      -+	if (keypad_index(key_c1) >= 0)
      -+	    strcat(show, " kc1");
      -+	if (keypad_index(key_c3) >= 0)
      -+	    strcat(show, " kc3");
      -+	if (*show != '\0')
      -+	    _nc_warning("vt100 keypad map incomplete:%s", show);
      -+    }
      -+}
      -+
      -+/*
      -  * Returns the expected number of parameters for the given capability.
      -  */
      - static int
      -@@ -1076,17 +1275,9 @@
      - 	    check_params(tp, ExtStrname(tp, j, strnames), a);
      -     }
      - 
      --    /*
      --     * Quick check for color.  We could also check if the ANSI versus
      --     * non-ANSI strings are misused.
      --     */
      --    if ((max_colors > 0) != (max_pairs > 0)
      --	|| ((max_colors > max_pairs) && (initialize_pair == 0)))
      --	_nc_warning("inconsistent values for max_colors (%d) and max_pairs (%d)",
      --		    max_colors, max_pairs);
      --
      --    PAIRED(set_foreground, set_background);
      --    PAIRED(set_a_foreground, set_a_background);
      -+    check_acs(tp);
      -+    check_colors(tp);
      -+    check_keypad(tp);
      - 
      -     /*
      -      * These may be mismatched because the terminal description relies on
      -diff -urNd -urNd ncurses-5.3/progs/tput.c ncurses-5.3.20030906.orig/progs/tput.c
      ---- ncurses-5.3/progs/tput.c	Sat Jul 20 14:09:47 2002
      -+++ ncurses-5.3.20030906.orig/progs/tput.c	Tue May 13 20:08:23 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.         *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -45,7 +45,7 @@
      - #endif
      - #include 
      - 
      --MODULE_ID("$Id: tput.c,v 1.31 2002/07/20 19:09:47 tom Exp $")
      -+MODULE_ID("$Id: tput.c,v 1.33 2003/02/22 22:10:34 tom Exp $")
      - 
      - #define PUTS(s)		fputs(s, stdout)
      - #define PUTCHAR(c)	putchar(c)
      -@@ -70,14 +70,14 @@
      -     vfprintf(stderr, fmt, argp);
      -     fprintf(stderr, "\n");
      -     va_end(argp);
      --    exit(status);
      -+    ExitProgram(status);
      - }
      - 
      - static void
      - usage(void)
      - {
      -     fprintf(stderr, "usage: %s [-V] [-S] [-T term] capname\n", prg_name);
      --    exit(EXIT_FAILURE);
      -+    ExitProgram(EXIT_FAILURE);
      - }
      - 
      - static void
      -@@ -297,8 +297,10 @@
      - 	token = STRING;
      - 	if (argc > 1) {
      - 	    int k;
      --	    int numbers[10];
      --	    char *strings[10];
      -+	    int popcount;
      -+	    long numbers[1 + NUM_PARM];
      -+	    char *strings[1 + NUM_PARM];
      -+	    char *p_is_s[NUM_PARM];
      - 
      - 	    /* Nasty hack time. The tparm function needs to see numeric
      - 	     * parameters as numbers, not as pointers to their string
      -@@ -312,7 +314,7 @@
      - 		if (tmp == 0 || *tmp != 0)
      - 		    numbers[k] = 0;
      - 	    }
      --	    for (k = argc; k <= 9; k++) {
      -+	    for (k = argc; k <= NUM_PARM; k++) {
      - 		numbers[k] = 0;
      - 		strings[k] = 0;
      - 	    }
      -@@ -325,10 +327,18 @@
      - 		s = tparm(s, numbers[1], strings[2], strings[3]);
      - 		break;
      - 	    default:
      -+		(void) _nc_tparm_analyze(s, p_is_s, &popcount);
      -+#define myParam(n) (p_is_s[n - 1] != 0 ? ((long) strings[n]) : numbers[n])
      - 		s = tparm(s,
      --			  numbers[1], numbers[2], numbers[3],
      --			  numbers[4], numbers[5], numbers[6],
      --			  numbers[7], numbers[8], numbers[9]);
      -+			  myParam(1),
      -+			  myParam(2),
      -+			  myParam(3),
      -+			  myParam(4),
      -+			  myParam(5),
      -+			  myParam(6),
      -+			  myParam(7),
      -+			  myParam(8),
      -+			  myParam(9));
      - 		break;
      - 	    }
      - 	}
      -diff -urNd -urNd ncurses-5.3/progs/tset.c ncurses-5.3.20030906.orig/progs/tset.c
      ---- ncurses-5.3/progs/tset.c	Sat Aug 24 18:18:16 2002
      -+++ ncurses-5.3.20030906.orig/progs/tset.c	Tue May 13 20:08:23 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -103,7 +103,7 @@
      - #include 
      - #include 
      - 
      --MODULE_ID("$Id: tset.c,v 0.53 2002/08/24 23:18:16 tom Exp $")
      -+MODULE_ID("$Id: tset.c,v 0.55 2003/02/09 00:30:09 tom Exp $")
      - 
      - extern char **environ;
      - 
      -@@ -142,7 +142,7 @@
      - 	SET_TTY(STDERR_FILENO, &original);
      -     (void) fprintf(stderr, "\n");
      -     fflush(stderr);
      --    exit(EXIT_FAILURE);
      -+    ExitProgram(EXIT_FAILURE);
      -     /* NOTREACHED */
      - }
      - 
      -@@ -627,8 +627,10 @@
      -  **************************************************************************/
      - 
      - /* some BSD systems have these built in, some systems are missing
      -- * one or more definitions. The safest solution is to override.
      -+ * one or more definitions. The safest solution is to override unless the
      -+ * commonly-altered ones are defined.
      -  */
      -+#if !(defined(CERASE) && defined(CINTR) && defined(CKILL) && defined(CQUIT))
      - #undef CEOF
      - #undef CERASE
      - #undef CINTR
      -@@ -639,18 +641,39 @@
      - #undef CSTART
      - #undef CSTOP
      - #undef CSUSP
      -+#endif
      - 
      - /* control-character defaults */
      -+#ifndef CEOF
      - #define CEOF	CTRL('D')
      -+#endif
      -+#ifndef CERASE
      - #define CERASE	CTRL('H')
      -+#endif
      -+#ifndef CINTR
      - #define CINTR	127		/* ^? */
      -+#endif
      -+#ifndef CKILL
      - #define CKILL	CTRL('U')
      -+#endif
      -+#ifndef CLNEXT
      - #define CLNEXT  CTRL('v')
      -+#endif
      -+#ifndef CRPRNT
      - #define CRPRNT  CTRL('r')
      -+#endif
      -+#ifndef CQUIT
      - #define CQUIT	CTRL('\\')
      -+#endif
      -+#ifndef CSTART
      - #define CSTART	CTRL('Q')
      -+#endif
      -+#ifndef CSTOP
      - #define CSTOP	CTRL('S')
      -+#endif
      -+#ifndef CSUSP
      - #define CSUSP	CTRL('Z')
      -+#endif
      - 
      - #define	CHK(val, dft)	((int)val <= 0 ? dft : val)
      - 
      -@@ -1183,8 +1206,8 @@
      - #ifdef TERMIOS
      - 	if (!quiet) {
      - 	    report("Erase", VERASE, CERASE);
      --	    report("Kill", VKILL, CINTR);
      --	    report("Interrupt", VINTR, CKILL);
      -+	    report("Kill", VKILL, CKILL);
      -+	    report("Interrupt", VINTR, CINTR);
      - 	}
      - #endif
      -     }
      -@@ -1193,12 +1216,14 @@
      - 	err("The -S option is not supported under terminfo.");
      - 
      -     if (sflag) {
      -+	int len;
      - 	/*
      - 	 * Figure out what shell we're using.  A hack, we look for an
      - 	 * environmental variable SHELL ending in "csh".
      - 	 */
      - 	if ((p = getenv("SHELL")) != 0
      --	    && !strcmp(p + strlen(p) - 3, "csh"))
      -+	    && (len = strlen(p)) >= 3
      -+	    && !strcmp(p + len - 3, "csh"))
      - 	    p = "set noglob;\nsetenv TERM %s;\nunset noglob;\n";
      - 	else
      - 	    p = "TERM=%s;\n";
      -@@ -1207,5 +1232,3 @@
      - 
      -     return EXIT_SUCCESS;
      - }
      --
      --/* tset.c ends here */
      -diff -urNd -urNd ncurses-5.3/tack/Makefile.in ncurses-5.3.20030906.orig/tack/Makefile.in
      ---- ncurses-5.3/tack/Makefile.in	Sat Dec  8 12:48:01 2001
      -+++ ncurses-5.3.20030906.orig/tack/Makefile.in	Fri Sep 12 16:42:40 2003
      -@@ -1,4 +1,4 @@
      --# $Id: Makefile.in,v 1.27 2001/12/08 18:48:01 tom Exp $
      -+# $Id: Makefile.in,v 1.29 2003/08/23 23:24:08 tom Exp $
      - # Makefile for tack
      - #
      - # The variable 'srcdir' refers to the source-distribution, and can be set with
      -@@ -29,6 +29,11 @@
      - datadir		= @datadir@
      - 
      - LIBTOOL		= @LIBTOOL@
      -+LIBTOOL_CLEAN	= @LIB_CLEAN@
      -+LIBTOOL_COMPILE	= @LIB_COMPILE@
      -+LIBTOOL_LINK	= @LIB_LINK@
      -+LIBTOOL_INSTALL	= @LIB_INSTALL@
      -+LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
      - 
      - INSTALL		= @INSTALL@
      - INSTALL_PROGRAM	= @INSTALL_PROGRAM@
      -@@ -55,15 +60,15 @@
      - CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
      - 
      - LD		= @LD@
      --LINK		= @LINK_PROGS@ $(LIBTOOL) $(CC)
      -+LINK		= @LINK_PROGS@ $(LIBTOOL_LINK) $(CC)
      - LDFLAGS		= @EXTRA_LDFLAGS@ \
      - 		@PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
      - 
      --LDFLAGS_LIBTOOL	= $(LDFLAGS)
      --LDFLAGS_NORMAL	= $(LDFLAGS)
      --LDFLAGS_DEBUG	= $(LDFLAGS) @CC_G_OPT@
      --LDFLAGS_PROFILE	= $(LDFLAGS) -pg
      --LDFLAGS_SHARED	= $(LDFLAGS) @LD_SHARED_OPTS@
      -+LDFLAGS_LIBTOOL	= $(LDFLAGS) $(CFLAGS_LIBTOOL)
      -+LDFLAGS_NORMAL	= $(LDFLAGS) $(CFLAGS_NORMAL)
      -+LDFLAGS_DEBUG	= $(LDFLAGS) $(CFLAGS_DEBUG)
      -+LDFLAGS_PROFILE	= $(LDFLAGS) $(CFLAGS_PROFILE)
      -+LDFLAGS_SHARED	= $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
      - 
      - LDFLAGS_DEFAULT	= $(LDFLAGS_@DFT_UPR_MODEL@)
      - 
      -@@ -92,11 +97,11 @@
      - install.tack: $(PROGS) \
      - 	$(DESTDIR)$(bindir) \
      - 	$(DESTDIR)$(mandir)
      --	$(LIBTOOL) $(INSTALL_PROGRAM) tack$x $(DESTDIR)$(bindir)/tack$x
      -+	$(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tack$x $(DESTDIR)$(bindir)/tack$x
      - 	$(INSTALL_DATA) $(srcdir)/tack.1 $(DESTDIR)$(mandir)/tack.1
      - 
      - uninstall.tack:
      --	-@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/tack$x
      -+	-@$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(bindir)/tack$x
      - 	-@rm -f $(DESTDIR)$(mandir)/tack.1
      - 
      - $(DESTDIR)$(bindir) \
      -diff -urNd -urNd ncurses-5.3/tar-copy.sh ncurses-5.3.20030906.orig/tar-copy.sh
      ---- ncurses-5.3/tar-copy.sh	Wed Feb 11 06:14:03 1998
      -+++ ncurses-5.3.20030906.orig/tar-copy.sh	Tue May 13 20:08:23 2003
      -@@ -1,7 +1,7 @@
      - #!/bin/sh
      --# $Id: tar-copy.sh,v 1.3 1998/02/11 12:14:03 tom Exp $
      -+# $Id: tar-copy.sh,v 1.4 2003/05/11 00:23:28 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998 Free Software Foundation, Inc.                          #
      -+# Copyright (c) 1998,2003 Free Software Foundation, Inc.                     #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -28,7 +28,7 @@
      - # authorization.                                                             #
      - ##############################################################################
      - #
      --# Author: Thomas E. Dickey  1997,1998
      -+# Author: Thomas E. Dickey
      - #
      - # Copy a collection of files using 'tar', so that their dates and links are
      - # preserved
      -@@ -55,16 +55,24 @@
      - WD=`pwd`
      - 
      - TMP=$WD/copy$$
      --trap "rm -f $TMP" 0 1 2 5 15
      - 
      - cd $2
      --if ( tar cf $TMP $1 )
      -+TEST=`ls -d $1 2>/dev/null`
      -+if test -z "$TEST"
      - then
      --	cd $3
      --	LIST=`tar tf $TMP 2>&1`
      --	$DOIT rm -rf $LIST 2>/dev/null
      --	$DOIT tar xvf $TMP
      -+	echo "... no match for \"$1\" in $2"
      - else
      --	echo "Cannot create tar of $1 files"
      --	exit 1
      -+	echo "... installing files matching \"$1\" in $2"
      -+	trap "rm -f $TMP" 0 1 2 5 15
      -+	if ( tar cf $TMP $1 )
      -+	then
      -+		cd $3
      -+		LIST=`tar tf $TMP 2>&1`
      -+		$DOIT rm -rf $LIST 2>/dev/null
      -+		$DOIT tar xvf $TMP
      -+		trap 0 1 2 5 15
      -+	else
      -+		echo "Cannot create tar of $1 files"
      -+		exit 1
      -+	fi
      - fi
      -diff -urNd -urNd ncurses-5.3/test/Makefile.in ncurses-5.3.20030906.orig/test/Makefile.in
      ---- ncurses-5.3/test/Makefile.in	Sat Feb  2 18:54:10 2002
      -+++ ncurses-5.3.20030906.orig/test/Makefile.in	Fri Sep 12 16:42:40 2003
      -@@ -1,6 +1,6 @@
      --# $Id: Makefile.in,v 1.63 2002/02/03 00:54:10 china Exp $
      -+# $Id: Makefile.in,v 1.73 2003/08/24 00:05:14 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.           #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -27,7 +27,7 @@
      - # authorization.                                                             #
      - ##############################################################################
      - #
      --# Author: Thomas E. Dickey  1996,1997,1998
      -+# Author: Thomas E. Dickey 1996-2002
      - #
      - # Makefile for ncurses tests.
      - 
      -@@ -46,12 +46,15 @@
      - includedir	= @includedir@
      - 
      - LIBTOOL		= @LIBTOOL@
      -+LIBTOOL_CLEAN	= @LIB_CLEAN@
      -+LIBTOOL_COMPILE	= @LIB_COMPILE@
      -+LIBTOOL_LINK	= @LIB_LINK@
      - 
      - CC		= @CC@
      - CPP		= @CPP@
      - 
      - CFLAGS		= @CFLAGS@
      --CPPFLAGS	=  -I../test -I$(srcdir) @CPPFLAGS@ -DHAVE_CONFIG_H
      -+CPPFLAGS	=  -I../test -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
      - 
      - CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
      - 
      -@@ -69,15 +72,15 @@
      - MATH_LIB	= @MATH_LIB@
      - 
      - LD		= @LD@
      --LINK		= @LINK_TESTS@ $(LIBTOOL) $(CC) $(CFLAGS)
      -+LINK		= @LINK_TESTS@ $(LIBTOOL_LINK) $(CC) $(CFLAGS)
      - 
      - LDFLAGS		= @LD_MODEL@ @TEST_ARGS@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
      - 
      --LDFLAGS_LIBTOOL	= $(LDFLAGS)
      --LDFLAGS_NORMAL	= $(LDFLAGS)
      --LDFLAGS_DEBUG	= $(LDFLAGS) @CC_G_OPT@
      --LDFLAGS_PROFILE	= $(LDFLAGS) -pg
      --LDFLAGS_SHARED	= $(LDFLAGS) @LD_SHARED_OPTS@
      -+LDFLAGS_LIBTOOL	= $(LDFLAGS) $(CFLAGS_LIBTOOL)
      -+LDFLAGS_NORMAL	= $(LDFLAGS) $(CFLAGS_NORMAL)
      -+LDFLAGS_DEBUG	= $(LDFLAGS) $(CFLAGS_DEBUG)
      -+LDFLAGS_PROFILE	= $(LDFLAGS) $(CFLAGS_PROFILE)
      -+LDFLAGS_SHARED	= $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
      - 
      - LDFLAGS_DEFAULT	= $(LDFLAGS_@DFT_UPR_MODEL@)
      - 
      -@@ -89,6 +92,11 @@
      - 	blue$x \
      - 	bs$x \
      - 	cardfile$x \
      -+	demo_defkey$x \
      -+	demo_forms$x \
      -+	demo_keyok$x \
      -+	demo_menus$x \
      -+	demo_panels$x \
      - 	ditto$x \
      - 	dots$x \
      - 	filter$x \
      -@@ -97,13 +105,15 @@
      - 	gdc$x \
      - 	hanoi$x \
      - 	hashtest$x \
      -+	ins_wide$x \
      -+	inserts$x \
      - 	keynames$x \
      - 	knight$x \
      - 	lrtest$x \
      - 	ncurses$x \
      - 	newdemo$x \
      --	rain$x \
      - 	railroad$x \
      -+	rain$x \
      - 	tclock$x \
      - 	testaddch$x \
      - 	testcurs$x \
      -@@ -125,6 +135,21 @@
      - cardfile$x: $(MODEL)/cardfile.o $(LOCAL_LIBS)
      - 	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/cardfile.o $(LDFLAGS_DEFAULT)
      - 
      -+demo_defkey$x: $(MODEL)/demo_defkey.o $(LOCAL_LIBS)
      -+	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_defkey.o $(LDFLAGS_DEFAULT)
      -+
      -+demo_forms$x: $(MODEL)/demo_forms.o $(MODEL)/edit_field.o $(LOCAL_LIBS)
      -+	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_forms.o $(MODEL)/edit_field.o $(LDFLAGS_DEFAULT)
      -+
      -+demo_keyok$x: $(MODEL)/demo_keyok.o $(LOCAL_LIBS)
      -+	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_keyok.o $(LDFLAGS_DEFAULT)
      -+
      -+demo_menus$x: $(MODEL)/demo_menus.o $(LOCAL_LIBS)
      -+	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_menus.o $(LDFLAGS_DEFAULT)
      -+
      -+demo_panels$x: $(MODEL)/demo_panels.o $(LOCAL_LIBS)
      -+	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_panels.o $(LDFLAGS_DEFAULT)
      -+
      - ditto$x: $(MODEL)/ditto.o $(LOCAL_LIBS)
      - 	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ditto.o $(LDFLAGS_DEFAULT)
      - 
      -@@ -149,6 +174,12 @@
      - hashtest$x: $(MODEL)/hashtest.o $(LOCAL_LIBS)
      - 	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/hashtest.o $(LDFLAGS_DEFAULT)
      - 
      -+inserts$x: $(MODEL)/inserts.o $(LOCAL_LIBS)
      -+	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/inserts.o $(LDFLAGS_DEFAULT)
      -+
      -+ins_wide$x: $(MODEL)/ins_wide.o $(LOCAL_LIBS)
      -+	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ins_wide.o $(LDFLAGS_DEFAULT)
      -+
      - keynames$x: $(MODEL)/keynames.o $(LOCAL_LIBS)
      - 	@ECHO_LINK@ $(LINK) -o $@ $(MODEL)/keynames.o $(LDFLAGS_DEFAULT)
      - 
      -@@ -213,9 +244,3 @@
      - 
      - lint:
      - 	sh -c 'for N in $(TESTS); do echo LINT:$$N; $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/$$N.c $(LINT_LIBS); done'
      --
      --# Use this to get a list of test-programs for the standalone configure script.
      --echo_tests :
      --	@echo "$(TESTS)"
      --echo_suffix :
      --	@echo "$x"
      -diff -urNd -urNd ncurses-5.3/test/README ncurses-5.3.20030906.orig/test/README
      ---- ncurses-5.3/test/README	Sat Nov 25 01:11:22 1995
      -+++ ncurses-5.3.20030906.orig/test/README	Sun Jul 20 14:02:09 2003
      -@@ -1,3 +1,6 @@
      -+-- $Id: README,v 1.15 2003/07/05 19:17:49 tom Exp $
      -+-------------------------------------------------------------------------------
      -+
      - The programs in this directory are designed to test your newest toy :-)
      - Check the sources for any further details.
      - 
      -@@ -20,3 +23,601 @@
      - This directory also contains:
      - 
      - tracemunch - Perl script to crunch trace scripts to make them easier to read
      -+
      -+-------------------------------------------------------------------------------
      -+-------------------------------------------------------------------------------
      -+
      -+These programs provide examples of use, but do not comprise a complete set of
      -+tests.  Here is a list of library externals, noting those that are used:
      -+
      -+libform:
      -+-------
      -+TYPE_ALNUM			test: demo_forms
      -+TYPE_ALPHA			test: demo_forms ncurses
      -+TYPE_ENUM			test: demo_forms
      -+TYPE_INTEGER			test: demo_forms
      -+TYPE_IPV4			-
      -+TYPE_NUMERIC			test: demo_forms
      -+TYPE_REGEXP			test: demo_forms
      -+current_field			test: demo_forms edit_field ncurses
      -+data_ahead			-
      -+data_behind			-
      -+dup_field			-
      -+dynamic_field_info		-
      -+field_arg			-
      -+field_back			-
      -+field_buffer			test: cardfile demo_forms edit_field ncurses
      -+field_count			-
      -+field_fore			-
      -+field_index			test: demo_forms
      -+field_info			test: ncurses
      -+field_init			-
      -+field_just			-
      -+field_opts			test: demo_forms ncurses
      -+field_opts_off			test: cardfile
      -+field_opts_on			-
      -+field_pad			-
      -+field_status			-
      -+field_term			-
      -+field_type			test: demo_forms
      -+field_userptr			test: ncurses
      -+form_driver			test: cardfile demo_forms edit_field ncurses
      -+form_fields			test: cardfile
      -+form_init			-
      -+form_opts			-
      -+form_opts_off			-
      -+form_opts_on			-
      -+form_page			-
      -+form_request_by_name		-
      -+form_request_name		test: edit_field
      -+form_sub			test: cardfile demo_forms ncurses
      -+form_term			-
      -+form_userptr			-
      -+form_win			test: cardfile demo_forms edit_field ncurses
      -+free_field			test: cardfile demo_forms ncurses
      -+free_fieldtype			-
      -+free_form			test: cardfile demo_forms ncurses
      -+link_field			-
      -+link_fieldtype			-
      -+move_field			-
      -+new_field			test: cardfile demo_forms ncurses
      -+new_fieldtype			test: ncurses
      -+new_form			test: cardfile demo_forms ncurses
      -+new_page			-
      -+pos_form_cursor			-
      -+post_form			test: cardfile demo_forms ncurses
      -+scale_form			test: demo_forms ncurses
      -+set_current_field		-
      -+set_field_back			test: cardfile demo_forms edit_field ncurses
      -+set_field_buffer		test: cardfile demo_forms edit_field ncurses
      -+set_field_fore			-
      -+set_field_init			-
      -+set_field_just			test: cardfile
      -+set_field_opts			test: demo_forms ncurses
      -+set_field_pad			-
      -+set_field_status		-
      -+set_field_term			-
      -+set_field_type			test: demo_forms ncurses
      -+set_field_userptr		test: demo_forms ncurses
      -+set_fieldtype_arg		-
      -+set_fieldtype_choice		-
      -+set_form_fields			-
      -+set_form_init			-
      -+set_form_opts			-
      -+set_form_page			-
      -+set_form_sub			test: cardfile demo_forms ncurses
      -+set_form_term			-
      -+set_form_userptr		-
      -+set_form_win			test: cardfile demo_forms ncurses
      -+set_max_field			-
      -+set_new_page			test: demo_forms
      -+unpost_form			test: cardfile demo_forms ncurses
      -+
      -+libmenu:
      -+-------
      -+current_item			test: ncurses
      -+free_item			test: ncurses
      -+free_menu			test: ncurses
      -+item_count			-
      -+item_description		-
      -+item_index			test: ncurses
      -+item_init			-
      -+item_name			test: ncurses
      -+item_opts			-
      -+item_opts_off			-
      -+item_opts_on			-
      -+item_term			-
      -+item_userptr			-
      -+item_value			test: ncurses
      -+item_visible			-
      -+menu_back			-
      -+menu_driver			test: ncurses
      -+menu_fore			-
      -+menu_format			-
      -+menu_grey			-
      -+menu_init			-
      -+menu_items			test: ncurses
      -+menu_mark			-
      -+menu_opts			-
      -+menu_opts_off			test: ncurses
      -+menu_opts_on			-
      -+menu_pad			-
      -+menu_pattern			-
      -+menu_request_by_name		-
      -+menu_request_name		-
      -+menu_spacing			-
      -+menu_sub			-
      -+menu_term			-
      -+menu_userptr			-
      -+menu_win			test: ncurses
      -+new_item			test: ncurses
      -+new_menu			test: ncurses
      -+pos_menu_cursor			lib: menu
      -+post_menu			test: ncurses
      -+scale_menu			test: ncurses
      -+set_current_item		-
      -+set_item_init			-
      -+set_item_opts			-
      -+set_item_term			-
      -+set_item_userptr		-
      -+set_item_value			test: ncurses
      -+set_menu_back			-
      -+set_menu_fore			-
      -+set_menu_format			test: ncurses
      -+set_menu_grey			-
      -+set_menu_init			-
      -+set_menu_items			-
      -+set_menu_mark			-
      -+set_menu_opts			-
      -+set_menu_pad			-
      -+set_menu_pattern		-
      -+set_menu_spacing		-
      -+set_menu_sub			test: ncurses
      -+set_menu_term			-
      -+set_menu_userptr		-
      -+set_menu_win			test: ncurses
      -+set_top_row			-
      -+top_row				-
      -+unpost_menu			test: ncurses
      -+
      -+libncurses:
      -+----------
      -+BC				-
      -+COLORS				test: ncurses xmas
      -+COLOR_PAIR			test: blue bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas
      -+COLOR_PAIRS			test: ncurses newdemo
      -+COLS				test: cardfile demo_defkey demo_forms demo_keyok edit_field firework hashtest ins_wide inserts lrtest ncurses newdemo rain tclock testcurs view worm
      -+ESCDELAY			lib: ncurses
      -+LINES				test: cardfile demo_defkey demo_keyok edit_field firework hanoi hashtest ins_wide inserts lrtest ncurses newdemo rain tclock testcurs view worm xmas
      -+PAIR_NUMBER			lib: ncurses
      -+PC				lib: ncurses
      -+SP				lib: ncurses
      -+TABSIZE				lib: menu
      -+UP				-
      -+acs_map				test: gdc ins_wide inserts knight ncurses newdemo testcurs
      -+add_wch				-
      -+add_wchnstr			test: ncurses
      -+add_wchstr			test: view
      -+addch				test: blue bs ditto hashtest ncurses testaddch view worm
      -+addchnstr			-
      -+addchstr			-
      -+addnstr				-
      -+addnwstr			-
      -+addstr				test: blue bs cardfile gdc hanoi lrtest ncurses
      -+addwstr				-
      -+assume_default_colors		test: ncurses
      -+attr_get			-
      -+attr_off			test: ncurses
      -+attr_on				test: ncurses
      -+attr_set			-
      -+attroff				test: filter gdc ncurses tclock
      -+attron				test: bs filter gdc ncurses
      -+attrset				test: bs firework gdc hanoi ncurses rain tclock testaddch testcurs
      -+baudrate			lib: ncurses
      -+beep				test: blue bs cardfile demo_forms edit_field hanoi ins_wide inserts knight ncurses tclock testcurs view xmas
      -+bkgd				test: demo_forms ncurses tclock view
      -+bkgdset				test: ncurses testaddch
      -+bkgrnd				-
      -+bkgrndset			-
      -+boolcodes			progs: dump_entry
      -+boolfnames			progs: dump_entry
      -+boolnames			progs: dump_entry infocmp
      -+border				-
      -+border_set			-
      -+box				test: cardfile demo_forms edit_field ins_wide inserts lrtest ncurses newdemo testcurs
      -+box_set				test: ncurses
      -+can_change_color		test: ncurses
      -+cbreak				test: blue bs cardfile demo_defkey demo_forms demo_keyok ditto filter firework gdc hanoi hashtest ins_wide inserts knight lrtest ncurses newdemo tclock testcurs view worm xmas
      -+chgat				-
      -+clear				test: blue bs gdc ncurses testcurs xmas
      -+clearok				test: bs knight
      -+clrtobot			test: ncurses
      -+clrtoeol			test: blue bs hanoi hashtest ncurses view
      -+color_content			test: ncurses
      -+color_set			-
      -+copywin				test: testcurs
      -+cur_term			test: dots lrtest progs: clear tic tput tset
      -+curs_set			test: firework gdc hanoi lrtest newdemo rain tclock testcurs worm xmas
      -+curscr				test: edit_field knight lrtest ncurses tclock view
      -+curses_version			test: ncurses progs: infocmp tic toe tput tset
      -+def_prog_mode			test: bs ncurses
      -+def_shell_mode			lib: ncurses
      -+define_key			test: demo_defkey
      -+del_curterm			lib: ncurses
      -+delay_output			-
      -+delch				-
      -+deleteln			-
      -+delscreen			-
      -+delwin				test: cardfile demo_forms edit_field ncurses newdemo testcurs
      -+derwin				test: cardfile demo_forms ncurses
      -+doupdate			test: cardfile edit_field ins_wide inserts knight ncurses
      -+dupwin				test: edit_field
      -+echo				test: bs hanoi ncurses testcurs testscanw
      -+echo_wchar			test: ncurses
      -+echochar			test: ncurses
      -+endwin				test: blue bs cardfile demo_defkey demo_forms demo_keyok ditto filter firework firstlast gdc hanoi hashtest ins_wide inserts knight lrtest ncurses newdemo rain tclock testaddch testcurs testscanw view worm xmas
      -+erase				test: cardfile filter firework firstlast hanoi lrtest ncurses tclock testcurs
      -+erasechar			lib: ncurses
      -+erasewchar			-
      -+filter				test: filter
      -+flash				test: cardfile lrtest ncurses tclock testcurs
      -+flushinp			test: ncurses newdemo testcurs
      -+get_wch				-
      -+get_wstr			-
      -+getbkgd				test: ncurses
      -+getbkgrnd			-
      -+getcchar			test: view
      -+getch				test: blue bs ditto firework firstlast hanoi hashtest lrtest rain tclock testaddch testcurs view worm xmas
      -+getmouse			test: bs knight ncurses
      -+getn_wstr			-
      -+getnstr				test: filter ncurses
      -+getstr				-
      -+getwin				test: ncurses
      -+halfdelay			test: view
      -+has_colors			test: bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testcurs view worm xmas
      -+has_ic				test: lrtest
      -+has_il				lib: ncurses
      -+has_key				lib: ncurses
      -+hline				test: gdc ncurses
      -+hline_set			-
      -+idcok				-
      -+idlok				test: ncurses testscanw view
      -+immedok				-
      -+in_wch				-
      -+in_wchnstr			-
      -+in_wchstr			-
      -+inch				-
      -+inchnstr			-
      -+inchstr				-
      -+init_color			test: ncurses
      -+init_pair			test: blue bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas
      -+initscr				test: blue bs cardfile demo_defkey demo_forms demo_keyok firework firstlast gdc hanoi hashtest ins_wide inserts knight lrtest ncurses newdemo rain tclock testaddch testcurs testscanw view worm xmas
      -+innstr				-
      -+innwstr				-
      -+ins_nwstr			-
      -+ins_wch				-
      -+ins_wstr			-
      -+insch				-
      -+insdelln			-
      -+insertln			-
      -+insnstr				-
      -+insstr				-
      -+instr				-
      -+intrflush			test: demo_forms
      -+inwstr				-
      -+is_linetouched			lib: form
      -+is_term_resized			-
      -+is_wintouched			lib: ncurses
      -+isendwin			-
      -+key_defined			test: demo_defkey
      -+key_name			test: ncurses
      -+keybound			test: demo_defkey
      -+keyname				test: demo_defkey demo_keyok edit_field keynames ncurses testcurs view progs: tic
      -+keyok				test: demo_keyok
      -+keypad				test: bs cardfile demo_defkey demo_forms demo_keyok edit_field filter firework hashtest ins_wide inserts knight lrtest ncurses tclock testcurs testscanw view
      -+killchar			lib: ncurses
      -+killwchar			-
      -+leaveok				test: hanoi
      -+longname			test: testcurs progs: tput
      -+mcprint				-
      -+meta				test: ncurses
      -+mouse_trafo			-
      -+mouseinterval			-
      -+mousemask			test: bs knight ncurses
      -+move				test: blue bs cardfile gdc hanoi hashtest knight lrtest ncurses testscanw view worm xmas
      -+mvadd_wch			test: ncurses
      -+mvadd_wchnstr			-
      -+mvadd_wchstr			-
      -+mvaddch				test: bs gdc hanoi lrtest ncurses rain tclock xmas
      -+mvaddchnstr			test: gdc
      -+mvaddchstr			-
      -+mvaddnstr			-
      -+mvaddnwstr			-
      -+mvaddstr			test: bs demo_forms gdc hanoi knight ncurses rain tclock testcurs xmas
      -+mvaddwstr			-
      -+mvchgat				-
      -+mvcur				lib: ncurses
      -+mvdelch				-
      -+mvderwin			lib: menu
      -+mvget_wch			-
      -+mvget_wstr			-
      -+mvgetch				-
      -+mvgetn_wstr			-
      -+mvgetnstr			-
      -+mvgetstr			-
      -+mvhline				test: ncurses
      -+mvhline_set			test: ncurses
      -+mvin_wch			-
      -+mvin_wchnstr			-
      -+mvin_wchstr			-
      -+mvinch				-
      -+mvinchnstr			test: gdc
      -+mvinchstr			-
      -+mvinnstr			-
      -+mvinnwstr			-
      -+mvins_nwstr			-
      -+mvins_wch			-
      -+mvins_wstr			-
      -+mvinsch				-
      -+mvinsnstr			-
      -+mvinsstr			-
      -+mvinstr				-
      -+mvinwstr			-
      -+mvprintw			test: bs firework hanoi ncurses tclock view
      -+mvscanw				-
      -+mvvline				test: ncurses
      -+mvvline_set			test: ncurses
      -+mvwadd_wch			-
      -+mvwadd_wchnstr			-
      -+mvwadd_wchstr			-
      -+mvwaddch			test: newdemo testcurs xmas
      -+mvwaddchnstr			-
      -+mvwaddchstr			-
      -+mvwaddnstr			test: newdemo testcurs
      -+mvwaddnwstr			-
      -+mvwaddstr			test: firstlast ins_wide inserts knight ncurses newdemo testcurs xmas
      -+mvwaddwstr			-
      -+mvwchgat			-
      -+mvwdelch			test: ncurses
      -+mvwget_wch			-
      -+mvwget_wstr			-
      -+mvwgetch			-
      -+mvwgetn_wstr			-
      -+mvwgetnstr			-
      -+mvwgetstr			-
      -+mvwhline			lib: ncurses
      -+mvwhline_set			-
      -+mvwin				test: cardfile testcurs xmas
      -+mvwin_wch			-
      -+mvwin_wchnstr			-
      -+mvwin_wchstr			-
      -+mvwinch				test: newdemo testcurs
      -+mvwinchnstr			-
      -+mvwinchstr			-
      -+mvwinnstr			test: testcurs
      -+mvwinnwstr			-
      -+mvwins_nwstr			-
      -+mvwins_wch			test: ins_wide
      -+mvwins_wstr			test: ins_wide
      -+mvwinsch			test: ins_wide inserts
      -+mvwinsnstr			-
      -+mvwinsstr			test: inserts testcurs
      -+mvwinstr			-
      -+mvwinwstr			-
      -+mvwprintw			test: ncurses testcurs
      -+mvwscanw			test: testcurs
      -+mvwvline			test: ins_wide inserts
      -+mvwvline_set			-
      -+napms				test: firework gdc hanoi lrtest ncurses newdemo railroad rain tclock testcurs view worm xmas progs: tset
      -+newpad				test: edit_field ncurses testcurs
      -+newscr				lib: ncurses
      -+newterm				test: ditto filter gdc
      -+newwin				test: cardfile demo_defkey demo_forms demo_keyok edit_field firstlast ins_wide inserts knight ncurses newdemo testcurs xmas
      -+nl				test: demo_forms ncurses rain testcurs
      -+nocbreak			test: testcurs
      -+nodelay				test: firework gdc lrtest ncurses newdemo rain tclock view xmas
      -+noecho				test: bs cardfile demo_defkey demo_forms demo_keyok ditto firework firstlast gdc hanoi hashtest ins_wide inserts knight lrtest ncurses rain tclock testcurs view worm xmas
      -+nonl				test: bs demo_forms hashtest ncurses view worm xmas
      -+noqiflush			-
      -+noraw				test: demo_forms ncurses testcurs
      -+notimeout			-
      -+numcodes			progs: dump_entry
      -+numfnames			progs: dump_entry
      -+numnames			progs: dump_entry infocmp
      -+ospeed				progs: tset
      -+overlay				test: testcurs xmas
      -+overwrite			test: ncurses
      -+pair_content			lib: ncurses
      -+pechochar			-
      -+pnoutrefresh			test: edit_field ncurses
      -+prefresh			test: testcurs
      -+printw				test: blue bs demo_defkey demo_keyok filter ncurses testcurs testscanw view
      -+putp				progs: tput
      -+putwin				test: ncurses
      -+qiflush				-
      -+raw				test: demo_forms ncurses testcurs
      -+redrawwin			-
      -+refresh				test: blue bs demo_defkey demo_forms demo_keyok ditto filter firstlast gdc hanoi hashtest lrtest ncurses tclock testcurs view worm xmas
      -+reset_prog_mode			test: filter ncurses
      -+reset_shell_mode		test: bs filter
      -+resetty				-
      -+resize_term			test: view
      -+resizeterm			lib: ncurses
      -+restartterm			-
      -+ripoffline			test: ncurses
      -+savetty				-
      -+scanw				test: testcurs testscanw
      -+scr_dump			-
      -+scr_init			-
      -+scr_restore			-
      -+scr_set				-
      -+scrl				-
      -+scroll				test: testcurs
      -+scrollok			test: demo_defkey demo_keyok ditto hashtest knight ncurses testcurs testscanw view
      -+set_curterm			lib: ncurses
      -+set_term			test: ditto
      -+setcchar			test: ins_wide ncurses view
      -+setscrreg			test: view
      -+setupterm			test: dots progs: clear tput tset
      -+slk_attr			-
      -+slk_attr_off			-
      -+slk_attr_on			-
      -+slk_attr_set			-
      -+slk_attroff			lib: ncurses
      -+slk_attron			lib: ncurses
      -+slk_attrset			-
      -+slk_clear			test: ncurses
      -+slk_color			test: ncurses
      -+slk_init			test: ncurses
      -+slk_label			test: ncurses
      -+slk_noutrefresh			test: ncurses
      -+slk_refresh			test: ncurses
      -+slk_restore			test: ncurses
      -+slk_set				test: ncurses
      -+slk_touch			test: ncurses
      -+slk_wset			test: ncurses
      -+standend			test: blue gdc ncurses worm
      -+standout			test: blue ncurses
      -+start_color			test: blue bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas
      -+stdscr				test: bs demo_forms ditto filter firework gdc hanoi hashtest ins_wide inserts knight lrtest ncurses rain tclock testcurs testscanw view xmas
      -+strcodes			progs: dump_entry
      -+strfnames			progs: dump_entry
      -+strnames			progs: dump_entry infocmp tic
      -+subpad				test: testcurs
      -+subwin				test: ncurses newdemo testcurs
      -+syncok				-
      -+term_attrs			-
      -+termattrs			test: ncurses testcurs
      -+termname			test: testcurs
      -+tgetent				test: railroad
      -+tgetflag			-
      -+tgetnum				test: railroad
      -+tgetstr				test: railroad
      -+tgoto				test: railroad
      -+tigetflag			progs: tput
      -+tigetnum			test: ncurses progs: tput
      -+tigetstr			test: blue demo_defkey testcurs progs: tput
      -+timeout				test: rain
      -+touchline			lib: ncurses
      -+touchwin			test: edit_field filter firstlast ncurses xmas
      -+tparm				test: dots progs: tic tput
      -+tputs				test: dots railroad progs: clear tset
      -+trace				test: hanoi hashtest lrtest ncurses testcurs view worm
      -+ttytype				lib: ncurses
      -+typeahead			test: testcurs
      -+unctrl				test: ncurses testcurs
      -+unget_wch			-
      -+ungetch				test: bs knight
      -+ungetmouse			-
      -+untouchwin			-
      -+use_default_colors		test: filter firework gdc hanoi knight ncurses rain tclock worm xmas
      -+use_env				progs: tput
      -+use_extended_names		progs: infocmp tic
      -+vid_attr			-
      -+vid_puts			-
      -+vidattr				lib: ncurses
      -+vidputs				lib: ncurses
      -+vline				test: gdc ncurses
      -+vline_set			-
      -+vw_printw			-
      -+vw_scanw			-
      -+vwprintw			lib: ncurses
      -+vwscanw				lib: ncurses
      -+wadd_wch			lib: ncurses
      -+wadd_wchnstr			lib: ncurses
      -+wadd_wchstr			-
      -+waddch				test: firstlast knight ncurses
      -+waddchnstr			lib: ncurses
      -+waddchstr			-
      -+waddnstr			lib: form
      -+waddnwstr			test: ncurses
      -+waddstr				test: demo_forms edit_field firstlast ins_wide knight ncurses testcurs
      -+waddwstr			test: ins_wide
      -+wattr_get			-
      -+wattr_off			lib: menu
      -+wattr_on			lib: menu
      -+wattr_set			-
      -+wattroff			test: demo_forms ncurses testcurs xmas
      -+wattron				test: testcurs xmas
      -+wattrset			test: demo_forms ncurses newdemo testcurs xmas
      -+wbkgd				test: demo_forms ncurses newdemo testcurs
      -+wbkgdset			test: ins_wide inserts ncurses
      -+wbkgrnd				lib: ncurses
      -+wbkgrndset			lib: ncurses
      -+wborder				lib: ncurses
      -+wborder_set			lib: ncurses
      -+wchgat				test: view
      -+wclear				test: ncurses testcurs
      -+wclrtobot			test: firstlast ncurses testcurs
      -+wclrtoeol			test: demo_defkey demo_keyok firstlast ins_wide inserts knight ncurses testcurs
      -+wcolor_set			lib: ncurses
      -+wcursyncup			lib: form
      -+wdelch				test: ncurses testcurs
      -+wdeleteln			test: testcurs
      -+wecho_wchar			lib: ncurses
      -+wechochar			lib: ncurses
      -+wenclose			lib: menu
      -+werase				test: cardfile demo_forms edit_field firstlast knight ncurses newdemo testcurs xmas
      -+wget_wch			test: ins_wide ncurses
      -+wget_wstr			-
      -+wgetch				test: cardfile demo_defkey demo_keyok edit_field gdc inserts knight ncurses newdemo testcurs
      -+wgetn_wstr			test: ncurses
      -+wgetnstr			test: ncurses
      -+wgetstr				-
      -+whline				test: testcurs
      -+whline_set			lib: ncurses
      -+win_wch				lib: ncurses
      -+win_wchnstr			lib: ncurses
      -+win_wchstr			-
      -+winch				test: knight testcurs
      -+winchnstr			lib: ncurses
      -+winchstr			-
      -+winnstr				test: demo_defkey
      -+winnwstr			lib: ncurses
      -+wins_nwstr			lib: ncurses
      -+wins_wch			lib: ncurses
      -+wins_wstr			-
      -+winsch				test: testcurs
      -+winsdelln			lib: form
      -+winsertln			test: testcurs
      -+winsnstr			lib: form
      -+winsstr				-
      -+winstr				-
      -+winwstr				lib: ncurses
      -+wmouse_trafo			lib: menu
      -+wmove				test: demo_defkey demo_keyok firstlast ins_wide inserts knight ncurses newdemo testcurs
      -+wnoutrefresh			test: edit_field ins_wide inserts knight ncurses
      -+wprintw				test: demo_defkey demo_forms demo_keyok edit_field ins_wide inserts knight ncurses testcurs
      -+wredrawln			lib: ncurses
      -+wrefresh			test: demo_forms demo_keyok edit_field firstlast knight lrtest ncurses newdemo tclock testcurs view xmas
      -+wresize				test: cardfile ncurses
      -+wscanw				test: testcurs
      -+wscrl				test: ncurses testcurs view
      -+wsetscrreg			test: ncurses testcurs
      -+wstandend			test: xmas
      -+wstandout			test: xmas
      -+wsyncdown			lib: ncurses
      -+wsyncup				lib: form
      -+wtimeout			test: ncurses
      -+wtouchln			lib: form
      -+wunctrl				-
      -+wvline				test: testcurs
      -+wvline_set			lib: ncurses
      -+
      -+libpanel:
      -+--------
      -+bottom_panel			test: ncurses
      -+del_panel			test: ncurses
      -+hide_panel			test: ncurses
      -+move_panel			test: ncurses
      -+new_panel			test: cardfile ncurses
      -+panel_above			-
      -+panel_below			-
      -+panel_hidden			-
      -+panel_userptr			test: ncurses
      -+panel_window			test: cardfile ncurses
      -+replace_panel			-
      -+set_panel_userptr		test: ncurses
      -+show_panel			test: ncurses
      -+top_panel			test: cardfile ncurses
      -+update_panels			test: cardfile ncurses
      -diff -urNd -urNd ncurses-5.3/test/aclocal.m4 ncurses-5.3.20030906.orig/test/aclocal.m4
      ---- ncurses-5.3/test/aclocal.m4	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/aclocal.m4	Sun Jul 20 14:02:08 2003
      -@@ -0,0 +1,812 @@
      -+dnl $Id: aclocal.m4,v 1.4 2003/05/17 22:22:52 tom Exp $
      -+dnl ---------------------------------------------------------------------------
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52
      -+dnl -------------
      -+dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
      -+dnl redundant.  We don't normally need to add -I/usr/local/include for gcc,
      -+dnl but old versions (and some misinstalled ones) need that.  To make things
      -+dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to
      -+dnl the include-path).
      -+AC_DEFUN([CF_ADD_INCDIR],
      -+[
      -+for cf_add_incdir in $1
      -+do
      -+	while true
      -+	do
      -+		case $cf_add_incdir in
      -+		/usr/include) # (vi
      -+			;;
      -+		/usr/local/include) # (vi
      -+			if test "$GCC" = yes
      -+			then
      -+				cf_save_CPPFLAGS="$CPPFLAGS"
      -+				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+				AC_TRY_COMPILE([#include ],
      -+						[printf("Hello")],
      -+						[],
      -+						[CPPFLAGS="$cf_save_CPPFLAGS"])
      -+			fi
      -+			;;
      -+		*) # (vi
      -+			CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+			;;
      -+		esac
      -+		cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
      -+		test "$cf_top_incdir" = "$cf_add_incdir" && break
      -+		cf_add_incdir="$cf_top_incdir"
      -+	done
      -+done
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_CHECK_CACHE version: 7 updated: 2001/12/19 00:50:10
      -+dnl --------------
      -+dnl Check if we're accidentally using a cache from a different machine.
      -+dnl Derive the system name, as a check for reusing the autoconf cache.
      -+dnl
      -+dnl If we've packaged config.guess and config.sub, run that (since it does a
      -+dnl better job than uname).  Normally we'll use AC_CANONICAL_HOST, but allow
      -+dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
      -+dnl which is useful in cross-compiles.
      -+AC_DEFUN([CF_CHECK_CACHE],
      -+[
      -+if test -f $srcdir/config.guess ; then
      -+	ifelse([$1],,[AC_CANONICAL_HOST],[$1])
      -+	system_name="$host_os"
      -+else
      -+	system_name="`(uname -s -r) 2>/dev/null`"
      -+	if test -z "$system_name" ; then
      -+		system_name="`(hostname) 2>/dev/null`"
      -+	fi
      -+fi
      -+test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
      -+AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
      -+
      -+test -z "$system_name" && system_name="$cf_cv_system_name"
      -+test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
      -+
      -+if test ".$system_name" != ".$cf_cv_system_name" ; then
      -+	AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
      -+	AC_ERROR("Please remove config.cache and try again.")
      -+fi
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_CURSES_ACS_MAP version: 3 updated: 2003/05/17 22:19:02
      -+dnl -----------------
      -+dnl Check for likely values of acs_map[]:
      -+AC_DEFUN([CF_CURSES_ACS_MAP],
      -+[
      -+AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[
      -+cf_cv_curses_acs_map=unknown
      -+for name in acs_map _acs_map __acs_map _nc_acs_map
      -+do
      -+AC_TRY_LINK([
      -+#include <${cf_cv_ncurses_header-curses.h}>
      -+],[
      -+$name['k'] = ACS_PLUS
      -+],[cf_cv_curses_acs_map=$name; break])
      -+done
      -+])
      -+
      -+test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
      -+])
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_CURSES_CHECK_TYPE version: 2 updated: 2003/03/01 23:40:33
      -+dnl --------------------
      -+dnl Check if curses.h defines the given type
      -+AC_DEFUN([CF_CURSES_CHECK_TYPE],
      -+[
      -+AC_MSG_CHECKING(for type $1 in ${cf_cv_ncurses_header-curses.h})
      -+AC_TRY_COMPILE([
      -+#ifndef _XOPEN_SOURCE_EXTENDED
      -+#define _XOPEN_SOURCE_EXTENDED
      -+#endif
      -+#include <${cf_cv_ncurses_header-curses.h}>],[
      -+$1 foo
      -+],cf_result=yes,cf_result=no)
      -+AC_MSG_RESULT($cf_result)
      -+if test $cf_result = yes ; then
      -+	CF_UPPER(cf_result,have_type_$1)
      -+	AC_DEFINE_UNQUOTED($cf_result)
      -+else
      -+	AC_DEFINE_UNQUOTED($1,$2)
      -+fi
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_CURSES_CPPFLAGS version: 6 updated: 2002/10/27 18:21:42
      -+dnl ------------------
      -+dnl Look for the curses headers.
      -+AC_DEFUN([CF_CURSES_CPPFLAGS],[
      -+
      -+AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[
      -+cf_cv_curses_incdir=no
      -+case $host_os in #(vi
      -+hpux10.*|hpux11.*) #(vi
      -+	test -d /usr/include/curses_colr && \
      -+	cf_cv_curses_incdir="-I/usr/include/curses_colr"
      -+	;;
      -+sunos3*|sunos4*)
      -+	test -d /usr/5lib && \
      -+	test -d /usr/5include && \
      -+	cf_cv_curses_incdir="-I/usr/5include"
      -+	;;
      -+esac
      -+])
      -+test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
      -+
      -+AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
      -+cf_cv_ncurses_header=none
      -+for cf_header in \
      -+	curses.h \
      -+	ncurses.h \
      -+	ncurses/curses.h \
      -+	ncurses/ncurses.h
      -+do
      -+AC_TRY_COMPILE([#include <${cf_header}>],
      -+	[initscr(); tgoto("?", 0,0)],
      -+	[cf_cv_ncurses_header=$cf_header; break],[])
      -+done
      -+])
      -+
      -+if test "$cf_cv_ncurses_header" = none ; then
      -+	AC_MSG_ERROR(No curses header-files found)
      -+fi
      -+
      -+# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
      -+AC_CHECK_HEADERS($cf_cv_ncurses_header)
      -+
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_CURSES_LIBS version: 22 updated: 2002/10/27 18:21:42
      -+dnl --------------
      -+dnl Look for the curses libraries.  Older curses implementations may require
      -+dnl termcap/termlib to be linked as well.  Call CF_CURSES_CPPFLAGS first.
      -+AC_DEFUN([CF_CURSES_LIBS],[
      -+
      -+AC_MSG_CHECKING(if we have identified curses libraries)
      -+AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
      -+	[initscr(); tgoto("?", 0,0)],
      -+	cf_result=yes,
      -+	cf_result=no)
      -+AC_MSG_RESULT($cf_result)
      -+
      -+if test "$cf_result" = no ; then
      -+case $host_os in #(vi
      -+freebsd*) #(vi
      -+	AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"])
      -+	;;
      -+hpux10.*|hpux11.*) #(vi
      -+	AC_CHECK_LIB(cur_colr,initscr,[
      -+		LIBS="-lcur_colr $LIBS"
      -+		ac_cv_func_initscr=yes
      -+		],[
      -+	AC_CHECK_LIB(Hcurses,initscr,[
      -+		# HP's header uses __HP_CURSES, but user claims _HP_CURSES.
      -+		LIBS="-lHcurses $LIBS"
      -+		CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
      -+		ac_cv_func_initscr=yes
      -+		])])
      -+	;;
      -+linux*) # Suse Linux does not follow /usr/lib convention
      -+	LIBS="$LIBS -L/lib"
      -+	;;
      -+sunos3*|sunos4*)
      -+	test -d /usr/5lib && \
      -+	LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap"
      -+	ac_cv_func_initscr=yes
      -+	;;
      -+esac
      -+
      -+if test ".$ac_cv_func_initscr" != .yes ; then
      -+	cf_save_LIBS="$LIBS"
      -+	cf_term_lib=""
      -+	cf_curs_lib=""
      -+
      -+	if test ".${cf_cv_ncurses_version-no}" != .no
      -+	then
      -+		cf_check_list="ncurses curses cursesX"
      -+	else
      -+		cf_check_list="cursesX curses ncurses"
      -+	fi
      -+
      -+	# Check for library containing tgoto.  Do this before curses library
      -+	# because it may be needed to link the test-case for initscr.
      -+	AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
      -+		for cf_term_lib in $cf_check_list termcap termlib unknown
      -+		do
      -+			AC_CHECK_LIB($cf_term_lib,tgoto,[break])
      -+		done
      -+	])
      -+
      -+	# Check for library containing initscr
      -+	test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
      -+	for cf_curs_lib in $cf_check_list xcurses jcurses unknown
      -+	do
      -+		AC_CHECK_LIB($cf_curs_lib,initscr,[break])
      -+	done
      -+	test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
      -+
      -+	LIBS="-l$cf_curs_lib $cf_save_LIBS"
      -+	if test "$cf_term_lib" = unknown ; then
      -+		AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
      -+		AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
      -+			[initscr()],
      -+			[cf_result=yes],
      -+			[cf_result=no])
      -+		AC_MSG_RESULT($cf_result)
      -+		test $cf_result = no && AC_ERROR(Cannot link curses library)
      -+	elif test "$cf_curs_lib" = "$cf_term_lib" ; then
      -+		:
      -+	elif test "$cf_term_lib" != predefined ; then
      -+		AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
      -+		AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
      -+			[initscr(); tgoto((char *)0, 0, 0);],
      -+			[cf_result=no],
      -+			[
      -+			LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
      -+			AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
      -+				[initscr()],
      -+				[cf_result=yes],
      -+				[cf_result=error])
      -+			])
      -+		AC_MSG_RESULT($cf_result)
      -+	fi
      -+fi
      -+fi
      -+
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_CURSES_WACS_MAP version: 3 updated: 2003/05/17 22:19:02
      -+dnl ------------------
      -+dnl Check for likely values of wacs_map[]:
      -+AC_DEFUN([CF_CURSES_WACS_MAP],
      -+[
      -+AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
      -+	cf_cv_curses_wacs_map=unknown
      -+	for name in wacs_map _wacs_map __wacs_map _nc_wacs
      -+	do
      -+	AC_TRY_LINK([
      -+#ifndef _XOPEN_SOURCE_EXTENDED
      -+#define _XOPEN_SOURCE_EXTENDED
      -+#endif
      -+#include <${cf_cv_ncurses_header-curses.h}>],
      -+	[$name['k'] = *WACS_PLUS],
      -+	[cf_cv_curses_wacs_map=$name
      -+	 break])
      -+	done])
      -+])
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
      -+dnl ----------
      -+dnl "dirname" is not portable, so we fake it with a shell script.
      -+AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_FIND_LIBRARY version: 7 updated: 2000/04/13 21:38:04
      -+dnl ---------------
      -+dnl Look for a non-standard library, given parameters for AC_TRY_LINK.  We
      -+dnl prefer a standard location, and use -L options only if we do not find the
      -+dnl library in the standard library location(s).
      -+dnl	$1 = library name
      -+dnl	$2 = library class, usually the same as library name
      -+dnl	$3 = includes
      -+dnl	$4 = code fragment to compile/link
      -+dnl	$5 = corresponding function-name
      -+dnl	$6 = flag, nonnull if failure causes an error-exit
      -+dnl
      -+dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had
      -+dnl to use a -L option.
      -+AC_DEFUN([CF_FIND_LIBRARY],
      -+[
      -+	eval 'cf_cv_have_lib_'$1'=no'
      -+	cf_libdir=""
      -+	AC_CHECK_FUNC($5,
      -+		eval 'cf_cv_have_lib_'$1'=yes',[
      -+		cf_save_LIBS="$LIBS"
      -+		AC_MSG_CHECKING(for $5 in -l$1)
      -+		LIBS="-l$1 $LIBS"
      -+		AC_TRY_LINK([$3],[$4],
      -+			[AC_MSG_RESULT(yes)
      -+			 eval 'cf_cv_have_lib_'$1'=yes'
      -+			],
      -+			[AC_MSG_RESULT(no)
      -+			CF_LIBRARY_PATH(cf_search,$2)
      -+			for cf_libdir in $cf_search
      -+			do
      -+				AC_MSG_CHECKING(for -l$1 in $cf_libdir)
      -+				LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
      -+				AC_TRY_LINK([$3],[$4],
      -+					[AC_MSG_RESULT(yes)
      -+			 		 eval 'cf_cv_have_lib_'$1'=yes'
      -+					 break],
      -+					[AC_MSG_RESULT(no)
      -+					 LIBS="$cf_save_LIBS"])
      -+			done
      -+			])
      -+		])
      -+eval 'cf_found_library=[$]cf_cv_have_lib_'$1
      -+ifelse($6,,[
      -+if test $cf_found_library = no ; then
      -+	AC_ERROR(Cannot link $1 library)
      -+fi
      -+])
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_FUNC_CURSES_VERSION version: 3 updated: 2003/05/17 22:19:02
      -+dnl ----------------------
      -+dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
      -+dnl It's a character string "SVR4", not documented.
      -+AC_DEFUN([CF_FUNC_CURSES_VERSION],
      -+[
      -+AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
      -+AC_TRY_RUN([
      -+#include <${cf_cv_ncurses_header-curses.h}>
      -+int main()
      -+{
      -+	char temp[1024];
      -+	sprintf(temp, "%s\n", curses_version());
      -+	exit(0);
      -+}]
      -+,[cf_cv_func_curses_version=yes]
      -+,[cf_cv_func_curses_version=no]
      -+,[cf_cv_func_curses_version=unknown])
      -+rm -f core])
      -+test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
      -+])
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_HEADER_PATH version: 8 updated: 2002/11/10 14:46:59
      -+dnl --------------
      -+dnl Construct a search-list for a nonstandard header-file
      -+AC_DEFUN([CF_HEADER_PATH],
      -+[CF_SUBDIR_PATH($1,$2,include)
      -+test "$includedir" != NONE && \
      -+test "$includedir" != "/usr/include" && \
      -+test -d "$includedir" && {
      -+	test -d $includedir &&    $1="[$]$1 $includedir"
      -+	test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
      -+}
      -+
      -+test "$oldincludedir" != NONE && \
      -+test "$oldincludedir" != "/usr/include" && \
      -+test -d "$oldincludedir" && {
      -+	test -d $oldincludedir    && $1="[$]$1 $oldincludedir"
      -+	test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
      -+}
      -+
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_INHERIT_SCRIPT version: 2 updated: 2003/03/01 23:50:42
      -+dnl -----------------
      -+dnl If we do not have a given script, look for it in the parent directory.
      -+AC_DEFUN([CF_INHERIT_SCRIPT],
      -+[
      -+test -f $1 || ( test -f ../$1 && cp ../$1 ./ )
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_LIBRARY_PATH version: 7 updated: 2002/11/10 14:46:59
      -+dnl ---------------
      -+dnl Construct a search-list for a nonstandard library-file
      -+AC_DEFUN([CF_LIBRARY_PATH],
      -+[CF_SUBDIR_PATH($1,$2,lib)])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_NCURSES_CC_CHECK version: 3 updated: 2003/01/12 18:59:28
      -+dnl -------------------
      -+dnl Check if we can compile with ncurses' header file
      -+dnl $1 is the cache variable to set
      -+dnl $2 is the header-file to include
      -+dnl $3 is the root name (ncurses or ncursesw)
      -+AC_DEFUN([CF_NCURSES_CC_CHECK],[
      -+	AC_TRY_COMPILE([
      -+]ifelse($3,ncursesw,[
      -+#define _XOPEN_SOURCE_EXTENDED
      -+#undef  HAVE_LIBUTF8_H	/* in case we used CF_UTF8_LIB */
      -+#define HAVE_LIBUTF8_H	/* to force ncurses' header file to use cchar_t */
      -+])[
      -+#include <$2>],[
      -+#ifdef NCURSES_VERSION
      -+]ifelse($3,ncursesw,[
      -+#ifndef WACS_BSSB
      -+	make an error
      -+#endif
      -+])[
      -+printf("%s\n", NCURSES_VERSION);
      -+#else
      -+#ifdef __NCURSES_H
      -+printf("old\n");
      -+#else
      -+	make an error
      -+#endif
      -+#endif
      -+	]
      -+	,[$1=$cf_header]
      -+	,[$1=no])
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_NCURSES_CPPFLAGS version: 16 updated: 2002/12/29 18:30:46
      -+dnl -------------------
      -+dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
      -+dnl the CPPFLAGS variable so we can include its header.
      -+dnl
      -+dnl The header files may be installed as either curses.h, or ncurses.h (would
      -+dnl be obsolete, except that some packagers prefer this name to distinguish it
      -+dnl from a "native" curses implementation).  If not installed for overwrite,
      -+dnl the curses.h file would be in an ncurses subdirectory (e.g.,
      -+dnl /usr/include/ncurses), but someone may have installed overwriting the
      -+dnl vendor's curses.  Only very old versions (pre-1.9.2d, the first autoconf'd
      -+dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in
      -+dnl the header.
      -+dnl
      -+dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header
      -+dnl is already in the include-path, don't even bother with this, since we cannot
      -+dnl easily determine which file it is.  In this case, it has to be .
      -+dnl
      -+dnl The optional parameter gives the root name of the library, in case it is
      -+dnl not installed as the default curses library.  That is how the
      -+dnl wide-character version of ncurses is installed.
      -+AC_DEFUN([CF_NCURSES_CPPFLAGS],
      -+[AC_REQUIRE([CF_WITH_CURSES_DIR])
      -+
      -+cf_ncuhdr_root=ifelse($1,,ncurses,$1)
      -+
      -+test -n "$cf_cv_curses_dir" && \
      -+test "$cf_cv_curses_dir" != "no" && \
      -+CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
      -+
      -+AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
      -+	cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
      -+	( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
      -+	for cf_header in $cf_header_list
      -+	do
      -+		CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
      -+		test "$cf_cv_ncurses_h" != no && break
      -+	done
      -+])
      -+
      -+if test "$cf_cv_ncurses_h" != no ; then
      -+	cf_cv_ncurses_header=$cf_cv_ncurses_h
      -+else
      -+AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
      -+	test -n "$verbose" && echo
      -+	CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
      -+	test -n "$verbose" && echo search path $cf_search
      -+	cf_save2_CPPFLAGS="$CPPFLAGS"
      -+	for cf_incdir in $cf_search
      -+	do
      -+		CF_ADD_INCDIR($cf_incdir)
      -+		for cf_header in \
      -+			ncurses.h \
      -+			curses.h
      -+		do
      -+			CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
      -+			if test "$cf_cv_ncurses_h2" != no ; then
      -+				cf_cv_ncurses_h2=$cf_incdir/$cf_header
      -+				test -n "$verbose" && echo $ac_n "	... found $ac_c" 1>&AC_FD_MSG
      -+				break
      -+			fi
      -+			test -n "$verbose" && echo "	... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
      -+		done
      -+		CPPFLAGS="$cf_save2_CPPFLAGS"
      -+		test "$cf_cv_ncurses_h2" != no && break
      -+	done
      -+	test "$cf_cv_ncurses_h2" = no && AC_ERROR(not found)
      -+	])
      -+
      -+	CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
      -+	cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
      -+	if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
      -+		cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
      -+	fi
      -+	CF_ADD_INCDIR($cf_1st_incdir)
      -+
      -+fi
      -+
      -+AC_DEFINE(NCURSES)
      -+
      -+case $cf_cv_ncurses_header in # (vi
      -+*ncurses.h)
      -+	AC_DEFINE(HAVE_NCURSES_H)
      -+	;;
      -+esac
      -+
      -+case $cf_cv_ncurses_header in # (vi
      -+ncurses/curses.h|ncurses/ncurses.h)
      -+	AC_DEFINE(HAVE_NCURSES_NCURSES_H)
      -+	;;
      -+ncursesw/curses.h|ncursesw/ncurses.h)
      -+	AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
      -+	;;
      -+esac
      -+
      -+CF_NCURSES_VERSION
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_NCURSES_LIBS version: 11 updated: 2002/12/22 14:22:25
      -+dnl ---------------
      -+dnl Look for the ncurses library.  This is a little complicated on Linux,
      -+dnl because it may be linked with the gpm (general purpose mouse) library.
      -+dnl Some distributions have gpm linked with (bsd) curses, which makes it
      -+dnl unusable with ncurses.  However, we don't want to link with gpm unless
      -+dnl ncurses has a dependency, since gpm is normally set up as a shared library,
      -+dnl and the linker will record a dependency.
      -+dnl
      -+dnl The optional parameter gives the root name of the library, in case it is
      -+dnl not installed as the default curses library.  That is how the
      -+dnl wide-character version of ncurses is installed.
      -+AC_DEFUN([CF_NCURSES_LIBS],
      -+[AC_REQUIRE([CF_NCURSES_CPPFLAGS])
      -+
      -+cf_nculib_root=ifelse($1,,ncurses,$1)
      -+	# This works, except for the special case where we find gpm, but
      -+	# ncurses is in a nonstandard location via $LIBS, and we really want
      -+	# to link gpm.
      -+cf_ncurses_LIBS=""
      -+cf_ncurses_SAVE="$LIBS"
      -+AC_CHECK_LIB(gpm,Gpm_Open,
      -+	[AC_CHECK_LIB(gpm,initscr,
      -+		[LIBS="$cf_ncurses_SAVE"],
      -+		[cf_ncurses_LIBS="-lgpm"])])
      -+
      -+case $host_os in #(vi
      -+freebsd*)
      -+	# This is only necessary if you are linking against an obsolete
      -+	# version of ncurses (but it should do no harm, since it's static).
      -+	AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
      -+	;;
      -+esac
      -+
      -+LIBS="$cf_ncurses_LIBS $LIBS"
      -+
      -+if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
      -+then
      -+	LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
      -+else
      -+	CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
      -+		[#include <${cf_cv_ncurses_header-curses.h}>],
      -+		[initscr()],
      -+		initscr)
      -+fi
      -+
      -+if test -n "$cf_ncurses_LIBS" ; then
      -+	AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
      -+	cf_ncurses_SAVE="$LIBS"
      -+	for p in $cf_ncurses_LIBS ; do
      -+		q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
      -+		if test "$q" != "$LIBS" ; then
      -+			LIBS="$q"
      -+		fi
      -+	done
      -+	AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
      -+		[initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
      -+		[AC_MSG_RESULT(yes)],
      -+		[AC_MSG_RESULT(no)
      -+		 LIBS="$cf_ncurses_SAVE"])
      -+fi
      -+
      -+CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
      -+AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_NCURSES_VERSION version: 10 updated: 2002/10/27 18:21:42
      -+dnl ------------------
      -+dnl Check for the version of ncurses, to aid in reporting bugs, etc.
      -+dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS.  We don't use
      -+dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi.
      -+AC_DEFUN([CF_NCURSES_VERSION],
      -+[
      -+AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
      -+	cf_cv_ncurses_version=no
      -+	cf_tempfile=out$$
      -+	rm -f $cf_tempfile
      -+	AC_TRY_RUN([
      -+#include <${cf_cv_ncurses_header-curses.h}>
      -+#include 
      -+int main()
      -+{
      -+	FILE *fp = fopen("$cf_tempfile", "w");
      -+#ifdef NCURSES_VERSION
      -+# ifdef NCURSES_VERSION_PATCH
      -+	fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
      -+# else
      -+	fprintf(fp, "%s\n", NCURSES_VERSION);
      -+# endif
      -+#else
      -+# ifdef __NCURSES_H
      -+	fprintf(fp, "old\n");
      -+# else
      -+	make an error
      -+# endif
      -+#endif
      -+	exit(0);
      -+}],[
      -+	cf_cv_ncurses_version=`cat $cf_tempfile`],,[
      -+
      -+	# This will not work if the preprocessor splits the line after the
      -+	# Autoconf token.  The 'unproto' program does that.
      -+	cat > conftest.$ac_ext <
      -+#undef Autoconf
      -+#ifdef NCURSES_VERSION
      -+Autoconf NCURSES_VERSION
      -+#else
      -+#ifdef __NCURSES_H
      -+Autoconf "old"
      -+#endif
      -+;
      -+#endif
      -+EOF
      -+	cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
      -+	AC_TRY_EVAL(cf_try)
      -+	if test -f conftest.out ; then
      -+		cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
      -+		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
      -+		rm -f conftest.out
      -+	fi
      -+])
      -+	rm -f $cf_tempfile
      -+])
      -+test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
      -+dnl --------------
      -+dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
      -+dnl begins with one of the prefix/exec_prefix variables, and then again if the
      -+dnl result begins with 'NONE'.  This is necessary to work around autoconf's
      -+dnl delayed evaluation of those symbols.
      -+AC_DEFUN([CF_PATH_SYNTAX],[
      -+case ".[$]$1" in #(vi
      -+.\[$]\(*\)*|.\'*\'*) #(vi
      -+  ;;
      -+..|./*|.\\*) #(vi
      -+  ;;
      -+.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
      -+  ;;
      -+.\[$]{*prefix}*) #(vi
      -+  eval $1="[$]$1"
      -+  case ".[$]$1" in #(vi
      -+  .NONE/*)
      -+    $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
      -+    ;;
      -+  esac
      -+  ;; #(vi
      -+.NONE/*)
      -+  $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
      -+  ;;
      -+*)
      -+  ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
      -+  ;;
      -+esac
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_SUBDIR_PATH version: 3 updated: 2002/12/29 18:30:46
      -+dnl --------------
      -+dnl Construct a search-list for a nonstandard header/lib-file
      -+dnl	$1 = the variable to return as result
      -+dnl	$2 = the package name
      -+dnl	$3 = the subdirectory, e.g., bin, include or lib
      -+AC_DEFUN([CF_SUBDIR_PATH],
      -+[$1=""
      -+
      -+test -d [$]HOME && {
      -+	test -n "$verbose" && echo "	... testing $3-directories under [$]HOME"
      -+	test -d [$]HOME/$3 &&          $1="[$]$1 [$]HOME/$3"
      -+	test -d [$]HOME/$3/$2 &&       $1="[$]$1 [$]HOME/$3/$2"
      -+	test -d [$]HOME/$3/$2/$3 &&    $1="[$]$1 [$]HOME/$3/$2/$3"
      -+}
      -+
      -+# For other stuff under the home directory, it should be sufficient to put
      -+# a symbolic link for $HOME/$2 to the actual package location:
      -+test -d [$]HOME/$2 && {
      -+	test -n "$verbose" && echo "	... testing $3-directories under [$]HOME/$2"
      -+	test -d [$]HOME/$2/$3 &&       $1="[$]$1 [$]HOME/$2/$3"
      -+	test -d [$]HOME/$2/$3/$2 &&    $1="[$]$1 [$]HOME/$2/$3/$2"
      -+}
      -+
      -+test "$prefix" != /usr/local && \
      -+test -d /usr/local && {
      -+	test -n "$verbose" && echo "	... testing $3-directories under /usr/local"
      -+	test -d /usr/local/$3 &&       $1="[$]$1 /usr/local/$3"
      -+	test -d /usr/local/$3/$2 &&    $1="[$]$1 /usr/local/$3/$2"
      -+	test -d /usr/local/$3/$2/$3 && $1="[$]$1 /usr/local/$3/$2/$3"
      -+	test -d /usr/local/$2/$3 &&    $1="[$]$1 /usr/local/$2/$3"
      -+	test -d /usr/local/$2/$3/$2 && $1="[$]$1 /usr/local/$2/$3/$2"
      -+}
      -+
      -+test "$prefix" != NONE && \
      -+test -d $prefix && {
      -+	test -n "$verbose" && echo "	... testing $3-directories under $prefix"
      -+	test -d $prefix/$3 &&          $1="[$]$1 $prefix/$3"
      -+	test -d $prefix/$3/$2 &&       $1="[$]$1 $prefix/$3/$2"
      -+	test -d $prefix/$3/$2/$3 &&    $1="[$]$1 $prefix/$3/$2/$3"
      -+	test -d $prefix/$2/$3 &&       $1="[$]$1 $prefix/$2/$3"
      -+	test -d $prefix/$2/$3/$2 &&    $1="[$]$1 $prefix/$2/$3/$2"
      -+}
      -+
      -+test "$prefix" != /opt && \
      -+test -d /opt && {
      -+	test -n "$verbose" && echo "	... testing $3-directories under /opt"
      -+	test -d /opt/$3 &&             $1="[$]$1 /opt/$3"
      -+	test -d /opt/$3/$2 &&          $1="[$]$1 /opt/$3/$2"
      -+	test -d /opt/$3/$2/$3 &&       $1="[$]$1 /opt/$3/$2/$3"
      -+	test -d /opt/$2/$3 &&          $1="[$]$1 /opt/$2/$3"
      -+	test -d /opt/$2/$3/$2 &&       $1="[$]$1 /opt/$2/$3/$2"
      -+}
      -+
      -+test "$prefix" != /usr && \
      -+test -d /usr && {
      -+	test -n "$verbose" && echo "	... testing $3-directories under /usr"
      -+	test -d /usr/$3 &&             $1="[$]$1 /usr/$3"
      -+	test -d /usr/$3/$2 &&          $1="[$]$1 /usr/$3/$2"
      -+	test -d /usr/$3/$2/$3 &&       $1="[$]$1 /usr/$3/$2/$3"
      -+	test -d /usr/$2/$3 &&          $1="[$]$1 /usr/$2/$3"
      -+}
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
      -+dnl ------------------
      -+dnl Check if we can include  with ; this breaks on
      -+dnl older SCO configurations.
      -+AC_DEFUN([CF_SYS_TIME_SELECT],
      -+[
      -+AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
      -+AC_CACHE_VAL(cf_cv_sys_time_select,[
      -+AC_TRY_COMPILE([
      -+#include 
      -+#ifdef HAVE_SYS_TIME_H
      -+#include 
      -+#endif
      -+#ifdef HAVE_SYS_SELECT_H
      -+#include 
      -+#endif
      -+],[],[cf_cv_sys_time_select=yes],
      -+     [cf_cv_sys_time_select=no])
      -+     ])
      -+AC_MSG_RESULT($cf_cv_sys_time_select)
      -+test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
      -+dnl --------
      -+dnl Make an uppercase version of a variable
      -+dnl $1=uppercase($2)
      -+AC_DEFUN([CF_UPPER],
      -+[
      -+$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_UTF8_LIB version: 4 updated: 2003/03/01 18:36:42
      -+dnl -----------
      -+dnl Check for multibyte support, and if not found, utf8 compatibility library
      -+AC_DEFUN([CF_UTF8_LIB],
      -+[
      -+AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
      -+	cf_save_LIBS="$LIBS"
      -+	AC_TRY_LINK([
      -+#include ],[putwc(0,0);],
      -+	[cf_cv_utf8_lib=yes],
      -+	[LIBS="-lutf8 $LIBS"
      -+	 AC_TRY_LINK([
      -+#include ],[putwc(0,0);],
      -+		[cf_cv_utf8_lib=add-on],
      -+		[cf_cv_utf8_lib=no])
      -+	LIBS="$cf_save_LIBS"
      -+])])
      -+
      -+# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
      -+# ncurses/ncursesw:
      -+if test "$cf_cv_utf8_lib" = "add-on" ; then
      -+	AC_DEFINE(HAVE_LIBUTF8_H)
      -+	LIBS="-lutf8 $LIBS"
      -+fi
      -+])dnl
      -+dnl ---------------------------------------------------------------------------
      -+dnl CF_WITH_CURSES_DIR version: 2 updated: 2002/11/10 14:46:59
      -+dnl ------------------
      -+dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
      -+dnl libraries.
      -+AC_DEFUN([CF_WITH_CURSES_DIR],[
      -+AC_ARG_WITH(curses-dir,
      -+	[  --with-curses-dir=DIR   directory in which (n)curses is installed],
      -+	[CF_PATH_SYNTAX(withval)
      -+	 cf_cv_curses_dir=$withval],
      -+	[cf_cv_curses_dir=no])
      -+])dnl
      -diff -urNd -urNd ncurses-5.3/test/bs.c ncurses-5.3.20030906.orig/test/bs.c
      ---- ncurses-5.3/test/bs.c	Sat Jun 29 18:32:18 2002
      -+++ ncurses-5.3.20030906.orig/test/bs.c	Tue May 13 20:08:23 2003
      -@@ -7,11 +7,9 @@
      -  * v2.0 featuring strict ANSI/POSIX conformance, November 1993.
      -  * v2.1 with ncurses mouse support, September 1995
      -  *
      -- * $Id: bs.c,v 1.36 2002/06/29 23:32:18 tom Exp $
      -+ * $Id: bs.c,v 1.37 2002/10/19 22:11:47 tom Exp $
      -  */
      - 
      --#include 
      --#include 
      - #include 
      - 
      - #include 
      -diff -urNd -urNd ncurses-5.3/test/cardfile.c ncurses-5.3.20030906.orig/test/cardfile.c
      ---- ncurses-5.3/test/cardfile.c	Sun Sep  1 12:59:48 2002
      -+++ ncurses-5.3.20030906.orig/test/cardfile.c	Tue May 13 20:08:23 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1999-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -29,26 +29,28 @@
      - /*
      -  * Author: Thomas E. Dickey  1999
      -  *
      -- * $Id: cardfile.c,v 1.19 2002/09/01 17:59:48 tom Exp $
      -+ * $Id: cardfile.c,v 1.23 2003/04/26 16:43:56 tom Exp $
      -  *
      -- * File format: text beginning in column 1 is a title; other text forms the content.
      -+ * File format: text beginning in column 1 is a title; other text is content.
      -  */
      - 
      - #include 
      - 
      --#if HAVE_FORM_H && HAVE_PANEL_H && HAVE_LIBFORM && HAVE_LIBPANEL
      -+#if USE_LIBFORM && USE_LIBPANEL
      - 
      - #include 
      - #include 
      - 
      --#include 
      --
      - #define VISIBLE_CARDS 10
      - #define OFFSET_CARD 2
      - 
      --#ifndef CTRL
      --#define CTRL(x)		((x) & 0x1f)
      --#endif
      -+enum {
      -+    MY_CTRL_x = MAX_FORM_COMMAND
      -+    ,MY_CTRL_N
      -+    ,MY_CTRL_P
      -+    ,MY_CTRL_Q
      -+    ,MY_CTRL_W
      -+};
      - 
      - typedef struct _card {
      -     struct _card *link;
      -@@ -273,14 +275,14 @@
      - 
      -     switch (c) {
      -     case CTRL('W'):
      --	return (MAX_FORM_COMMAND + 4);
      -+	return (MY_CTRL_W);
      -     case CTRL('N'):
      --	return (MAX_FORM_COMMAND + 3);
      -+	return (MY_CTRL_N);
      -     case CTRL('P'):
      --	return (MAX_FORM_COMMAND + 2);
      -+	return (MY_CTRL_P);
      -     case CTRL('Q'):
      -     case 033:
      --	return (MAX_FORM_COMMAND + 1);
      -+	return (MY_CTRL_Q);
      - 
      -     case KEY_BACKSPACE:
      - 	return (REQ_DEL_PREV);
      -@@ -311,10 +313,12 @@
      -     f[0] = new_field(1, form_wide, 0, 0, 0, 0);
      -     set_field_back(f[0], A_REVERSE);
      -     set_field_buffer(f[0], 0, p->title);
      -+    field_opts_off(f[0], O_BLANK);
      - 
      -     f[1] = new_field(form_high - 1, form_wide, 1, 0, 0, 0);
      -     set_field_buffer(f[1], 0, p->content);
      -     set_field_just(f[1], JUSTIFY_LEFT);
      -+    field_opts_off(f[1], O_BLANK);
      - 
      -     f[2] = 0;
      -     return f;
      -@@ -394,18 +398,19 @@
      - 	    break;
      - 	case E_UNKNOWN_COMMAND:
      - 	    switch (ch) {
      --	    case MAX_FORM_COMMAND + 1:
      -+	    case MY_CTRL_Q:
      - 		finished = TRUE;
      - 		break;
      --	    case MAX_FORM_COMMAND + 2:
      -+	    case MY_CTRL_P:
      - 		top_card = prev_card(top_card);
      - 		order_cards(top_card, visible_cards);
      - 		break;
      --	    case MAX_FORM_COMMAND + 3:
      -+	    case MY_CTRL_N:
      - 		top_card = next_card(top_card);
      - 		order_cards(top_card, visible_cards);
      - 		break;
      --	    case MAX_FORM_COMMAND + 4:
      -+	    case MY_CTRL_W:
      -+		form_driver(top_card->form, REQ_VALIDATION);
      - 		write_data(fname);
      - 		break;
      - #if defined(KEY_RESIZE) && HAVE_WRESIZE
      -diff -urNd -urNd ncurses-5.3/test/configure ncurses-5.3.20030906.orig/test/configure
      ---- ncurses-5.3/test/configure	Sat Apr  6 17:16:16 2002
      -+++ ncurses-5.3.20030906.orig/test/configure	Sun Jul 20 14:02:08 2003
      -@@ -1,7 +1,7 @@
      - #! /bin/sh
      - 
      - # Guess values for system-dependent variables and create Makefiles.
      --# Generated automatically using autoconf version 2.13.20000819 
      -+# Generated automatically using autoconf version 2.13.20020210 
      - # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
      - #
      - # This configure script is free software; the Free Software Foundation
      -@@ -183,6 +183,7 @@
      - EOF
      - cat <&2; exit 1; }
      -+fi
      -+ac_config_guess=$ac_aux_dir/config.guess
      -+ac_config_sub=$ac_aux_dir/config.sub
      -+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
      -+
      -+
      -+if test -f $srcdir/config.guess ; then
      -+	
      -+# Make sure we can run config.sub.
      -+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
      -+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
      -+fi
      -+
      -+echo $ac_n "checking host system type""... $ac_c" 1>&6
      -+echo "configure:565: checking host system type" >&5
      -+
      -+host_alias=$host
      -+case "$host_alias" in
      -+NONE)
      -+  case $nonopt in
      -+  NONE)
      -+    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
      -+    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
      -+    fi ;;
      -+  *) host_alias=$nonopt ;;
      -+  esac ;;
      -+esac
      -+
      -+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
      -+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
      -+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
      -+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
      -+echo "$ac_t""$host" 1>&6
      -+
      -+	system_name="$host_os"
      -+else
      -+	system_name="`(uname -s -r) 2>/dev/null`"
      -+	if test -z "$system_name" ; then
      -+		system_name="`(hostname) 2>/dev/null`"
      -+	fi
      -+fi
      -+test -n "$system_name" && cat >> confdefs.h <&6
      -+else
      -+  cf_cv_system_name="$system_name"
      -+fi
      -+
      -+
      -+test -z "$system_name" && system_name="$cf_cv_system_name"
      -+test -n "$cf_cv_system_name" && echo "$ac_t""Configuring for $cf_cv_system_name" 1>&6
      -+
      -+if test ".$system_name" != ".$cf_cv_system_name" ; then
      -+	echo "$ac_t""Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" 1>&6
      -+	{ echo "configure: error: "Please remove config.cache and try again."" 1>&2; exit 1; }
      -+fi
      -+
      -+
      - # Extract the first word of "gcc", so it can be a program name with args.
      - set dummy gcc; ac_word=$2
      - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
      --echo "configure:533: checking for $ac_word" >&5
      -+echo "configure:615: checking for $ac_word" >&5
      - if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -@@ -559,7 +641,7 @@
      -   # Extract the first word of "cc", so it can be a program name with args.
      - set dummy cc; ac_word=$2
      - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
      --echo "configure:563: checking for $ac_word" >&5
      -+echo "configure:645: checking for $ac_word" >&5
      - if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -@@ -610,7 +692,7 @@
      -       # Extract the first word of "cl", so it can be a program name with args.
      - set dummy cl; ac_word=$2
      - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
      --echo "configure:614: checking for $ac_word" >&5
      -+echo "configure:696: checking for $ac_word" >&5
      - if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -@@ -642,7 +724,7 @@
      - fi
      - 
      - echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
      --echo "configure:646: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
      -+echo "configure:728: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
      - 
      - ac_ext=c
      - # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
      -@@ -653,12 +735,12 @@
      - 
      - cat > conftest.$ac_ext << EOF
      - 
      --#line 657 "configure"
      -+#line 739 "configure"
      - #include "confdefs.h"
      - 
      - main(){return(0);}
      - EOF
      --if { (eval echo configure:662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   ac_cv_prog_cc_works=yes
      -   # If we can't run a trivial program, we are probably using a cross compiler.
      -   if (./conftest; exit) 2>/dev/null; then
      -@@ -684,12 +766,12 @@
      -   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
      - fi
      - echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
      --echo "configure:688: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
      -+echo "configure:770: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
      - echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
      - cross_compiling=$ac_cv_prog_cc_cross
      - 
      - echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
      --echo "configure:693: checking whether we are using GNU C" >&5
      -+echo "configure:775: checking whether we are using GNU C" >&5
      - if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -@@ -698,7 +780,7 @@
      -   yes;
      - #endif
      - EOF
      --if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:702: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
      -+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:784: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
      -   ac_cv_prog_gcc=yes
      - else
      -   ac_cv_prog_gcc=no
      -@@ -717,7 +799,7 @@
      - ac_save_CFLAGS="$CFLAGS"
      - CFLAGS=
      - echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
      --echo "configure:721: checking whether ${CC-cc} accepts -g" >&5
      -+echo "configure:803: checking whether ${CC-cc} accepts -g" >&5
      - if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -@@ -748,6 +830,86 @@
      -   fi
      - fi
      - 
      -+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
      -+echo "configure:835: checking how to run the C preprocessor" >&5
      -+# On Suns, sometimes $CPP names a directory.
      -+if test -n "$CPP" && test -d "$CPP"; then
      -+  CPP=
      -+fi
      -+if test -z "$CPP"; then
      -+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+    # This must be in double quotes, not single quotes, because CPP may get
      -+  # substituted into the Makefile and "${CC-cc}" will confuse make.
      -+  CPP="${CC-cc} -E"
      -+  # On the NeXT, cc -E runs the code through the compiler's parser,
      -+  # not just through cpp.
      -+  cat > conftest.$ac_ext <
      -+Syntax Error
      -+EOF
      -+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
      -+{ (eval echo configure:856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      -+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
      -+if test -z "$ac_err"; then
      -+  :
      -+else
      -+  echo "$ac_err" >&5
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  CPP="${CC-cc} -E -traditional-cpp"
      -+  cat > conftest.$ac_ext <
      -+Syntax Error
      -+EOF
      -+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
      -+{ (eval echo configure:873: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      -+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
      -+if test -z "$ac_err"; then
      -+  :
      -+else
      -+  echo "$ac_err" >&5
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  CPP="${CC-cc} -nologo -E"
      -+  cat > conftest.$ac_ext <
      -+Syntax Error
      -+EOF
      -+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
      -+{ (eval echo configure:890: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      -+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
      -+if test -z "$ac_err"; then
      -+  :
      -+else
      -+  echo "$ac_err" >&5
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  CPP=/lib/cpp
      -+fi
      -+rm -f conftest*
      -+fi
      -+rm -f conftest*
      -+fi
      -+rm -f conftest*
      -+  ac_cv_prog_CPP="$CPP"
      -+fi
      -+  CPP="$ac_cv_prog_CPP"
      -+else
      -+  ac_cv_prog_CPP="$CPP"
      -+fi
      -+echo "$ac_t""$CPP" 1>&6
      -+
      - 
      - CC_G_OPT="-g"				
      - CC_SHARED_OPTS=unknown			
      -@@ -775,6 +937,45 @@
      - cf_cv_abi_version=""			
      - cf_cv_rel_version=""			
      - 
      -+cf_cv_screen=curses
      -+cf_cv_libtype=
      -+
      -+
      -+
      -+# Check whether --with-curses-dir or --without-curses-dir was given.
      -+if test "${with_curses_dir+set}" = set; then
      -+  withval="$with_curses_dir"
      -+  
      -+case ".$withval" in #(vi
      -+.\$\(*\)*|.\'*\'*) #(vi
      -+  ;;
      -+..|./*|.\\*) #(vi
      -+  ;;
      -+.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
      -+  ;;
      -+.\${*prefix}*) #(vi
      -+  eval withval="$withval"
      -+  case ".$withval" in #(vi
      -+  .NONE/*)
      -+    withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
      -+    ;;
      -+  esac
      -+  ;; #(vi
      -+.NONE/*)
      -+  withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
      -+  ;;
      -+*)
      -+  { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; }
      -+  ;;
      -+esac
      -+
      -+	 cf_cv_curses_dir=$withval
      -+else
      -+  cf_cv_curses_dir=no
      -+fi
      -+
      -+
      -+
      - 
      - # Check whether --with-5lib or --without-5lib was given.
      - if test "${with_5lib+set}" = set; then
      -@@ -785,87 +986,303 @@
      - 
      - 
      - 
      --
      - # Check whether --with-ncursesw or --without-ncursesw was given.
      - if test "${with_ncursesw+set}" = set; then
      -   withval="$with_ncursesw"
      -+  cf_cv_screen=ncursesw
      -+fi
      -+
      -+
      -+
      -+# Check whether --with-ncurses or --without-ncurses was given.
      -+if test "${with_ncurses+set}" = set; then
      -+  withval="$with_ncurses"
      -+  cf_cv_screen=ncurses
      -+fi
      -+
      -+
      -+case $cf_cv_screen in
      -+curses)
      -+	
      -+
      -+echo $ac_n "checking for extra include directories""... $ac_c" 1>&6
      -+echo "configure:1010: checking for extra include directories" >&5
      -+if eval "test \"`echo '$''{'cf_cv_curses_incdir'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -   
      --	 cat >> confdefs.h <<\EOF
      --#define _GNU_SOURCE 1
      --EOF
      -+cf_cv_curses_incdir=no
      -+case $host_os in #(vi
      -+hpux10.*|hpux11.*) #(vi
      -+	test -d /usr/include/curses_colr && \
      -+	cf_cv_curses_incdir="-I/usr/include/curses_colr"
      -+	;;
      -+sunos3*|sunos4*)
      -+	test -d /usr/5lib && \
      -+	test -d /usr/5include && \
      -+	cf_cv_curses_incdir="-I/usr/5include"
      -+	;;
      -+esac
      - 
      --	 cat >> confdefs.h <<\EOF
      --#define _XOPEN_SOURCE_EXTENDED 1
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_curses_incdir" 1>&6
      -+test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
      -+
      -+echo $ac_n "checking if we have identified curses headers""... $ac_c" 1>&6
      -+echo "configure:1034: checking if we have identified curses headers" >&5
      -+if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+cf_cv_ncurses_header=none
      -+for cf_header in \
      -+	curses.h \
      -+	ncurses.h \
      -+	ncurses/curses.h \
      -+	ncurses/ncurses.h
      -+do
      -+cat > conftest.$ac_ext <
      -+int main() {
      -+initscr(); tgoto("?", 0,0)
      -+; return 0; }
      - EOF
      -+if { (eval echo configure:1054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  rm -rf conftest*
      -+  cf_cv_ncurses_header=$cf_header; break
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+fi
      -+rm -f conftest*
      -+done
      - 
      --	 echo $ac_n "checking for initscr""... $ac_c" 1>&6
      --echo "configure:803: checking for initscr" >&5
      --if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_ncurses_header" 1>&6
      -+
      -+if test "$cf_cv_ncurses_header" = none ; then
      -+	{ echo "configure: error: No curses header-files found" 1>&2; exit 1; }
      -+fi
      -+
      -+# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
      -+for ac_hdr in $cf_cv_ncurses_header
      -+do
      -+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
      -+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
      -+echo "configure:1077: checking for $ac_hdr" >&5
      -+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   cat > conftest.$ac_ext <
      --/* Override any gcc2 internal prototype to avoid an error.  */
      --/* We use char because int might match the return type of a gcc2
      --    builtin and then its argument prototype would still apply.  */
      --char initscr();
      -+#include <$ac_hdr>
      -+EOF
      -+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
      -+{ (eval echo configure:1087: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      -+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
      -+if test -z "$ac_err"; then
      -+  rm -rf conftest*
      -+  eval "ac_cv_header_$ac_safe=yes"
      -+else
      -+  echo "$ac_err" >&5
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  eval "ac_cv_header_$ac_safe=no"
      -+fi
      -+rm -f conftest*
      -+fi
      -+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
      -+  echo "$ac_t""yes" 1>&6
      -+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
      -+  cat >> confdefs.h <&6
      -+fi
      -+done
      - 
      --int main() {
      - 
      --/* The GNU C library defines this for functions which it implements
      --    to always fail with ENOSYS.  Some functions are actually named
      --    something starting with __ and the normal name is an alias.  */
      --#if defined (__stub_initscr) || defined (__stub___initscr)
      --choke me
      -+
      -+	
      -+echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
      -+echo "configure:1117: checking for ncurses version" >&5
      -+if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+	cf_cv_ncurses_version=no
      -+	cf_tempfile=out$$
      -+	rm -f $cf_tempfile
      -+	if test "$cross_compiling" = yes; then
      -+  
      -+
      -+	# This will not work if the preprocessor splits the line after the
      -+	# Autoconf token.  The 'unproto' program does that.
      -+	cat > conftest.$ac_ext <
      -+#undef Autoconf
      -+#ifdef NCURSES_VERSION
      -+Autoconf NCURSES_VERSION
      - #else
      --initscr();
      -+#ifdef __NCURSES_H
      -+Autoconf "old"
      -+#endif
      -+;
      -+#endif
      -+EOF
      -+	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
      -+	{ (eval echo configure:1143: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
      -+	if test -f conftest.out ; then
      -+		cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
      -+		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
      -+		rm -f conftest.out
      -+	fi
      -+
      -+else
      -+  cat > conftest.$ac_ext <
      -+#include 
      -+int main()
      -+{
      -+	FILE *fp = fopen("$cf_tempfile", "w");
      -+#ifdef NCURSES_VERSION
      -+# ifdef NCURSES_VERSION_PATCH
      -+	fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
      -+# else
      -+	fprintf(fp, "%s\n", NCURSES_VERSION);
      -+# endif
      -+#else
      -+# ifdef __NCURSES_H
      -+	fprintf(fp, "old\n");
      -+# else
      -+	make an error
      -+# endif
      - #endif
      -+	exit(0);
      -+}
      -+EOF
      -+if { (eval echo configure:1176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
      -+then
      -+  
      -+	cf_cv_ncurses_version=`cat $cf_tempfile`
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+fi
      -+rm -fr conftest*
      -+fi
      -+
      -+	rm -f $cf_tempfile
      -+
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_ncurses_version" 1>&6
      -+test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF
      -+#define NCURSES 1
      -+EOF
      -+
      -+
      -+	
      - 
      -+echo $ac_n "checking if we have identified curses libraries""... $ac_c" 1>&6
      -+echo "configure:1200: checking if we have identified curses libraries" >&5
      -+cat > conftest.$ac_ext <
      -+int main() {
      -+initscr(); tgoto("?", 0,0)
      - ; return 0; }
      - EOF
      --if { (eval echo configure:831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:1209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      --  eval "ac_cv_func_initscr=yes"
      -+  cf_result=yes
      - else
      -   echo "configure: failed program was:" >&5
      -   cat conftest.$ac_ext >&5
      -   rm -rf conftest*
      --  eval "ac_cv_func_initscr=no"
      -+  cf_result=no
      - fi
      - rm -f conftest*
      -+echo "$ac_t""$cf_result" 1>&6
      -+
      -+if test "$cf_result" = no ; then
      -+case $host_os in #(vi
      -+freebsd*) #(vi
      -+	echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
      -+echo "configure:1225: checking for tgoto in -lmytinfo" >&5
      -+ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
      -+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  ac_save_LIBS="$LIBS"
      -+LIBS="-lmytinfo  $LIBS"
      -+cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=yes"
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=no"
      - fi
      -+rm -f conftest*
      -+LIBS="$ac_save_LIBS"
      - 
      --if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then
      -+fi
      -+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -   echo "$ac_t""yes" 1>&6
      --  :
      -+  LIBS="-lmytinfo $LIBS"
      - else
      -   echo "$ac_t""no" 1>&6
      -+fi
      - 
      --	 echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
      --echo "configure:850: checking for Gpm_Open in -lgpm" >&5
      --ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
      -+	;;
      -+hpux10.*|hpux11.*) #(vi
      -+	echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6
      -+echo "configure:1267: checking for initscr in -lcur_colr" >&5
      -+ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'`
      - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   ac_save_LIBS="$LIBS"
      --LIBS="-lgpm  $LIBS"
      -+LIBS="-lcur_colr  $LIBS"
      - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:1286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      -   eval "ac_cv_lib_$ac_lib_var=yes"
      - else
      -@@ -880,144 +1297,857 @@
      - fi
      - if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -   echo "$ac_t""yes" 1>&6
      --    ac_tr_lib=HAVE_LIB`echo gpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \
      --    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
      --  cat >> confdefs.h <&6
      - 
      --  LIBS="-lgpm $LIBS"
      -+	echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6
      -+echo "configure:1309: checking for initscr in -lHcurses" >&5
      -+ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'`
      -+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  ac_save_LIBS="$LIBS"
      -+LIBS="-lHcurses  $LIBS"
      -+cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=yes"
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=no"
      -+fi
      -+rm -f conftest*
      -+LIBS="$ac_save_LIBS"
      - 
      -+fi
      -+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -+  echo "$ac_t""yes" 1>&6
      -+  
      -+		# HP's header uses __HP_CURSES, but user claims _HP_CURSES.
      -+		LIBS="-lHcurses $LIBS"
      -+		CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
      -+		ac_cv_func_initscr=yes
      -+		
      - else
      -   echo "$ac_t""no" 1>&6
      - fi
      - 
      --	 LIB_NAME=ncursesw
      --	 echo $ac_n "checking for putwc""... $ac_c" 1>&6
      --echo "configure:898: checking for putwc" >&5
      --if eval "test \"`echo '$''{'ac_cv_func_putwc'+set}'`\" = set"; then
      -+fi
      -+
      -+	;;
      -+linux*) # Suse Linux does not follow /usr/lib convention
      -+	LIBS="$LIBS -L/lib"
      -+	;;
      -+sunos3*|sunos4*)
      -+	test -d /usr/5lib && \
      -+	LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap"
      -+	ac_cv_func_initscr=yes
      -+	;;
      -+esac
      -+
      -+if test ".$ac_cv_func_initscr" != .yes ; then
      -+	cf_save_LIBS="$LIBS"
      -+	cf_term_lib=""
      -+	cf_curs_lib=""
      -+
      -+	if test ".${cf_cv_ncurses_version-no}" != .no
      -+	then
      -+		cf_check_list="ncurses curses cursesX"
      -+	else
      -+		cf_check_list="cursesX curses ncurses"
      -+	fi
      -+
      -+	# Check for library containing tgoto.  Do this before curses library
      -+	# because it may be needed to link the test-case for initscr.
      -+	echo $ac_n "checking for tgoto""... $ac_c" 1>&6
      -+echo "configure:1381: checking for tgoto" >&5
      -+if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   cat > conftest.$ac_ext <
      - /* Override any gcc2 internal prototype to avoid an error.  */
      - /* We use char because int might match the return type of a gcc2
      -     builtin and then its argument prototype would still apply.  */
      --char putwc();
      -+char tgoto();
      - 
      - int main() {
      - 
      - /* The GNU C library defines this for functions which it implements
      -     to always fail with ENOSYS.  Some functions are actually named
      -     something starting with __ and the normal name is an alias.  */
      --#if defined (__stub_putwc) || defined (__stub___putwc)
      -+#if defined (__stub_tgoto) || defined (__stub___tgoto)
      - choke me
      - #else
      --putwc();
      -+tgoto();
      - #endif
      - 
      - ; return 0; }
      - EOF
      --if { (eval echo configure:926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:1409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      --  eval "ac_cv_func_putwc=yes"
      -+  eval "ac_cv_func_tgoto=yes"
      - else
      -   echo "configure: failed program was:" >&5
      -   cat conftest.$ac_ext >&5
      -   rm -rf conftest*
      --  eval "ac_cv_func_putwc=no"
      -+  eval "ac_cv_func_tgoto=no"
      - fi
      - rm -f conftest*
      - fi
      - 
      --if eval "test \"`echo '$ac_cv_func_'putwc`\" = yes"; then
      -+if eval "test \"`echo '$ac_cv_func_'tgoto`\" = yes"; then
      -   echo "$ac_t""yes" 1>&6
      --  :
      -+  cf_term_lib=predefined
      - else
      -   echo "$ac_t""no" 1>&6
      - 
      --echo $ac_n "checking for putwc in libutf8""... $ac_c" 1>&6
      --echo "configure:945: checking for putwc in libutf8" >&5
      --if eval "test \"`echo '$''{'cf_cv_libutf8'+set}'`\" = set"; then
      -+		for cf_term_lib in $cf_check_list termcap termlib unknown
      -+		do
      -+			echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6
      -+echo "configure:1430: checking for tgoto in -l$cf_term_lib" >&5
      -+ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'`
      -+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      --  
      --	cf_save_LIBS="$LIBS"
      --	LIBS="-lutf8 $LIBS"
      -+  ac_save_LIBS="$LIBS"
      -+LIBS="-l$cf_term_lib  $LIBS"
      - cat > conftest.$ac_ext <
      - int main() {
      --putwc(0,0);
      -+tgoto()
      - ; return 0; }
      - EOF
      --if { (eval echo configure:961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:1449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      --  cf_cv_libutf8=yes
      -+  eval "ac_cv_lib_$ac_lib_var=yes"
      - else
      -   echo "configure: failed program was:" >&5
      -   cat conftest.$ac_ext >&5
      -   rm -rf conftest*
      --  cf_cv_libutf8=no
      -+  eval "ac_cv_lib_$ac_lib_var=no"
      - fi
      - rm -f conftest*
      --	LIBS="$cf_save_LIBS"
      -+LIBS="$ac_save_LIBS"
      - 
      - fi
      -+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -+  echo "$ac_t""yes" 1>&6
      -+  break
      -+else
      -+  echo "$ac_t""no" 1>&6
      -+fi
      - 
      --echo "$ac_t""$cf_cv_libutf8" 1>&6
      -+		done
      -+	
      -+fi
      - 
      --if test "$cf_cv_libutf8" = yes ; then
      --	cat >> confdefs.h <<\EOF
      --#define HAVE_LIBUTF8_H 1
      -+
      -+	# Check for library containing initscr
      -+	test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
      -+	for cf_curs_lib in $cf_check_list xcurses jcurses unknown
      -+	do
      -+		echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6
      -+echo "configure:1479: checking for initscr in -l$cf_curs_lib" >&5
      -+ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'`
      -+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  ac_save_LIBS="$LIBS"
      -+LIBS="-l$cf_curs_lib  $LIBS"
      -+cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=yes"
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=no"
      -+fi
      -+rm -f conftest*
      -+LIBS="$ac_save_LIBS"
      - 
      --	LIBS="-lutf8 $LIBS"
      - fi
      -+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -+  echo "$ac_t""yes" 1>&6
      -+  break
      -+else
      -+  echo "$ac_t""no" 1>&6
      -+fi
      -+
      -+	done
      -+	test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; }
      - 
      -+	LIBS="-l$cf_curs_lib $cf_save_LIBS"
      -+	if test "$cf_term_lib" = unknown ; then
      -+		echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6
      -+echo "configure:1524: checking if we can link with $cf_curs_lib library" >&5
      -+		cat > conftest.$ac_ext <
      -+int main() {
      -+initscr()
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:1533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  cf_result=yes
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  cf_result=no
      -+fi
      -+rm -f conftest*
      -+		echo "$ac_t""$cf_result" 1>&6
      -+		test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; }
      -+	elif test "$cf_curs_lib" = "$cf_term_lib" ; then
      -+		:
      -+	elif test "$cf_term_lib" != predefined ; then
      -+		echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6
      -+echo "configure:1549: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
      -+		cat > conftest.$ac_ext <
      -+int main() {
      -+initscr(); tgoto((char *)0, 0, 0);
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:1558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  cf_result=no
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  
      -+			LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
      -+			cat > conftest.$ac_ext <
      -+int main() {
      -+initscr()
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:1575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  cf_result=yes
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  cf_result=error
      -+fi
      -+rm -f conftest*
      -+			
      -+fi
      -+rm -f conftest*
      -+		echo "$ac_t""$cf_result" 1>&6
      -+	fi
      -+fi
      - fi
      - 
      --	 for p in $HOME /usr/local /usr
      --	 do
      --	 	if test -f $p/include/ncursesw/curses.h
      --		then
      --			CPPFLAGS="$CPPFLAGS -I$p/include/ncursesw"
      --			test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
      --			test $p != /usr && LIBS="-L$p/lib $LIBS"
      --			break
      --		elif test $p != /usr
      --		then
      --			if test -f $p/include/curses.h
      -+
      -+	;;
      -+ncurses)
      -+	
      -+
      -+cf_ncuhdr_root=ncurses
      -+
      -+test -n "$cf_cv_curses_dir" && \
      -+test "$cf_cv_curses_dir" != "no" && \
      -+CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
      -+
      -+echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6
      -+echo "configure:1605: checking for $cf_ncuhdr_root header in include-path" >&5
      -+if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+	cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
      -+	( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
      -+	for cf_header in $cf_header_list
      -+	do
      -+		
      -+	cat > conftest.$ac_ext <
      -+int main() {
      -+
      -+#ifdef NCURSES_VERSION
      -+
      -+printf("%s\n", NCURSES_VERSION);
      -+#else
      -+#ifdef __NCURSES_H
      -+printf("old\n");
      -+#else
      -+	make an error
      -+#endif
      -+#endif
      -+	
      -+	
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:1637: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  rm -rf conftest*
      -+  cf_cv_ncurses_h=$cf_header
      -+	
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  cf_cv_ncurses_h=no
      -+fi
      -+rm -f conftest*
      -+
      -+		test "$cf_cv_ncurses_h" != no && break
      -+	done
      -+
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_ncurses_h" 1>&6
      -+
      -+if test "$cf_cv_ncurses_h" != no ; then
      -+	cf_cv_ncurses_header=$cf_cv_ncurses_h
      -+else
      -+echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6
      -+echo "configure:1660: checking for $cf_ncuhdr_root include-path" >&5
      -+if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+	test -n "$verbose" && echo
      -+	cf_search=""
      -+
      -+test -d $HOME && {
      -+	test -n "$verbose" && echo "	... testing include-directories under $HOME"
      -+	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
      -+	test -d $HOME/include/$cf_ncuhdr_root &&       cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
      -+	test -d $HOME/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
      -+}
      -+
      -+# For other stuff under the home directory, it should be sufficient to put
      -+# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location:
      -+test -d $HOME/$cf_ncuhdr_root && {
      -+	test -n "$verbose" && echo "	... testing include-directories under $HOME/$cf_ncuhdr_root"
      -+	test -d $HOME/$cf_ncuhdr_root/include &&       cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
      -+	test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$prefix" != /usr/local && \
      -+test -d /usr/local && {
      -+	test -n "$verbose" && echo "	... testing include-directories under /usr/local"
      -+	test -d /usr/local/include &&       cf_search="$cf_search /usr/local/include"
      -+	test -d /usr/local/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
      -+	test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
      -+	test -d /usr/local/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
      -+	test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$prefix" != NONE && \
      -+test -d $prefix && {
      -+	test -n "$verbose" && echo "	... testing include-directories under $prefix"
      -+	test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
      -+	test -d $prefix/include/$cf_ncuhdr_root &&       cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
      -+	test -d $prefix/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
      -+	test -d $prefix/$cf_ncuhdr_root/include &&       cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
      -+	test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$prefix" != /opt && \
      -+test -d /opt && {
      -+	test -n "$verbose" && echo "	... testing include-directories under /opt"
      -+	test -d /opt/include &&             cf_search="$cf_search /opt/include"
      -+	test -d /opt/include/$cf_ncuhdr_root &&          cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
      -+	test -d /opt/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
      -+	test -d /opt/$cf_ncuhdr_root/include &&          cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
      -+	test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&       cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$prefix" != /usr && \
      -+test -d /usr && {
      -+	test -n "$verbose" && echo "	... testing include-directories under /usr"
      -+	test -d /usr/include &&             cf_search="$cf_search /usr/include"
      -+	test -d /usr/include/$cf_ncuhdr_root &&          cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
      -+	test -d /usr/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
      -+	test -d /usr/$cf_ncuhdr_root/include &&          cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
      -+}
      -+
      -+test "$includedir" != NONE && \
      -+test "$includedir" != "/usr/include" && \
      -+test -d "$includedir" && {
      -+	test -d $includedir &&    cf_search="$cf_search $includedir"
      -+	test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$oldincludedir" != NONE && \
      -+test "$oldincludedir" != "/usr/include" && \
      -+test -d "$oldincludedir" && {
      -+	test -d $oldincludedir    && cf_search="$cf_search $oldincludedir"
      -+	test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
      -+}
      -+
      -+
      -+	test -n "$verbose" && echo search path $cf_search
      -+	cf_save2_CPPFLAGS="$CPPFLAGS"
      -+	for cf_incdir in $cf_search
      -+	do
      -+		
      -+for cf_add_incdir in $cf_incdir
      -+do
      -+	while true
      -+	do
      -+		case $cf_add_incdir in
      -+		/usr/include) # (vi
      -+			;;
      -+		/usr/local/include) # (vi
      -+			if test "$GCC" = yes
      - 			then
      --				CPPFLAGS="$CPPFLAGS -I$p/include"
      --				LIBS="-L$p/lib $LIBS"
      -+				cf_save_CPPFLAGS="$CPPFLAGS"
      -+				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+				cat > conftest.$ac_ext <
      -+int main() {
      -+printf("Hello")
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:1762: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  :
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  CPPFLAGS="$cf_save_CPPFLAGS"
      -+fi
      -+rm -f conftest*
      -+			fi
      -+			;;
      -+		*) # (vi
      -+			CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+			;;
      -+		esac
      -+		cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
      -+		test "$cf_top_incdir" = "$cf_add_incdir" && break
      -+		cf_add_incdir="$cf_top_incdir"
      -+	done
      -+done
      -+
      -+		for cf_header in \
      -+			ncurses.h \
      -+			curses.h
      -+		do
      -+			
      -+	cat > conftest.$ac_ext <
      -+int main() {
      -+
      -+#ifdef NCURSES_VERSION
      -+
      -+printf("%s\n", NCURSES_VERSION);
      -+#else
      -+#ifdef __NCURSES_H
      -+printf("old\n");
      -+#else
      -+	make an error
      -+#endif
      -+#endif
      -+	
      -+	
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:1810: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  rm -rf conftest*
      -+  cf_cv_ncurses_h2=$cf_header
      -+	
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  cf_cv_ncurses_h2=no
      -+fi
      -+rm -f conftest*
      -+
      -+			if test "$cf_cv_ncurses_h2" != no ; then
      -+				cf_cv_ncurses_h2=$cf_incdir/$cf_header
      -+				test -n "$verbose" && echo $ac_n "	... found $ac_c" 1>&6
      - 				break
      - 			fi
      --		fi
      --	 done
      -+			test -n "$verbose" && echo "	... tested $cf_incdir/$cf_header" 1>&6
      -+		done
      -+		CPPFLAGS="$cf_save2_CPPFLAGS"
      -+		test "$cf_cv_ncurses_h2" != no && break
      -+	done
      -+	test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; }
      - 	
      - fi
      - 
      -+echo "$ac_t""$cf_cv_ncurses_h2" 1>&6
      -+
      -+	cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
      -+	cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
      -+	if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
      -+		cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
      -+	fi
      -+	
      -+for cf_add_incdir in $cf_1st_incdir
      -+do
      -+	while true
      -+	do
      -+		case $cf_add_incdir in
      -+		/usr/include) # (vi
      -+			;;
      -+		/usr/local/include) # (vi
      -+			if test "$GCC" = yes
      -+			then
      -+				cf_save_CPPFLAGS="$CPPFLAGS"
      -+				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+				cat > conftest.$ac_ext <
      -+int main() {
      -+printf("Hello")
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:1864: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  :
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  CPPFLAGS="$cf_save_CPPFLAGS"
      -+fi
      -+rm -f conftest*
      -+			fi
      -+			;;
      -+		*) # (vi
      -+			CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+			;;
      -+		esac
      -+		cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
      -+		test "$cf_top_incdir" = "$cf_add_incdir" && break
      -+		cf_add_incdir="$cf_top_incdir"
      -+	done
      -+done
      -+
      -+
      - fi
      - 
      -+cat >> confdefs.h <<\EOF
      -+#define NCURSES 1
      -+EOF
      - 
      - 
      --# Check whether --with-ncurses or --without-ncurses was given.
      --if test "${with_ncurses+set}" = set; then
      --  withval="$with_ncurses"
      --  echo $ac_n "checking for initscr""... $ac_c" 1>&6
      --echo "configure:1016: checking for initscr" >&5
      -+case $cf_cv_ncurses_header in # (vi
      -+*ncurses.h)
      -+	cat >> confdefs.h <<\EOF
      -+#define HAVE_NCURSES_H 1
      -+EOF
      -+
      -+	;;
      -+esac
      -+
      -+case $cf_cv_ncurses_header in # (vi
      -+ncurses/curses.h|ncurses/ncurses.h)
      -+	cat >> confdefs.h <<\EOF
      -+#define HAVE_NCURSES_NCURSES_H 1
      -+EOF
      -+
      -+	;;
      -+ncursesw/curses.h|ncursesw/ncurses.h)
      -+	cat >> confdefs.h <<\EOF
      -+#define HAVE_NCURSESW_NCURSES_H 1
      -+EOF
      -+
      -+	;;
      -+esac
      -+
      -+
      -+echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
      -+echo "configure:1919: checking for ncurses version" >&5
      -+if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+	cf_cv_ncurses_version=no
      -+	cf_tempfile=out$$
      -+	rm -f $cf_tempfile
      -+	if test "$cross_compiling" = yes; then
      -+  
      -+
      -+	# This will not work if the preprocessor splits the line after the
      -+	# Autoconf token.  The 'unproto' program does that.
      -+	cat > conftest.$ac_ext <
      -+#undef Autoconf
      -+#ifdef NCURSES_VERSION
      -+Autoconf NCURSES_VERSION
      -+#else
      -+#ifdef __NCURSES_H
      -+Autoconf "old"
      -+#endif
      -+;
      -+#endif
      -+EOF
      -+	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
      -+	{ (eval echo configure:1945: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
      -+	if test -f conftest.out ; then
      -+		cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
      -+		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
      -+		rm -f conftest.out
      -+	fi
      -+
      -+else
      -+  cat > conftest.$ac_ext <
      -+#include 
      -+int main()
      -+{
      -+	FILE *fp = fopen("$cf_tempfile", "w");
      -+#ifdef NCURSES_VERSION
      -+# ifdef NCURSES_VERSION_PATCH
      -+	fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
      -+# else
      -+	fprintf(fp, "%s\n", NCURSES_VERSION);
      -+# endif
      -+#else
      -+# ifdef __NCURSES_H
      -+	fprintf(fp, "old\n");
      -+# else
      -+	make an error
      -+# endif
      -+#endif
      -+	exit(0);
      -+}
      -+EOF
      -+if { (eval echo configure:1978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
      -+then
      -+  
      -+	cf_cv_ncurses_version=`cat $cf_tempfile`
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+fi
      -+rm -fr conftest*
      -+fi
      -+
      -+	rm -f $cf_tempfile
      -+
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_ncurses_version" 1>&6
      -+test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF
      -+#define NCURSES 1
      -+EOF
      -+
      -+
      -+
      -+	
      -+
      -+cf_nculib_root=ncurses
      -+	# This works, except for the special case where we find gpm, but
      -+	# ncurses is in a nonstandard location via $LIBS, and we really want
      -+	# to link gpm.
      -+cf_ncurses_LIBS=""
      -+cf_ncurses_SAVE="$LIBS"
      -+echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
      -+echo "configure:2009: checking for Gpm_Open in -lgpm" >&5
      -+ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
      -+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  ac_save_LIBS="$LIBS"
      -+LIBS="-lgpm  $LIBS"
      -+cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=yes"
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=no"
      -+fi
      -+rm -f conftest*
      -+LIBS="$ac_save_LIBS"
      -+
      -+fi
      -+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -+  echo "$ac_t""yes" 1>&6
      -+  echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
      -+echo "configure:2044: checking for initscr in -lgpm" >&5
      -+ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
      -+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  ac_save_LIBS="$LIBS"
      -+LIBS="-lgpm  $LIBS"
      -+cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=yes"
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=no"
      -+fi
      -+rm -f conftest*
      -+LIBS="$ac_save_LIBS"
      -+
      -+fi
      -+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -+  echo "$ac_t""yes" 1>&6
      -+  LIBS="$cf_ncurses_SAVE"
      -+else
      -+  echo "$ac_t""no" 1>&6
      -+cf_ncurses_LIBS="-lgpm"
      -+fi
      -+
      -+else
      -+  echo "$ac_t""no" 1>&6
      -+fi
      -+
      -+
      -+case $host_os in #(vi
      -+freebsd*)
      -+	# This is only necessary if you are linking against an obsolete
      -+	# version of ncurses (but it should do no harm, since it's static).
      -+	echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
      -+echo "configure:2094: checking for tgoto in -lmytinfo" >&5
      -+ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
      -+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  ac_save_LIBS="$LIBS"
      -+LIBS="-lmytinfo  $LIBS"
      -+cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=yes"
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=no"
      -+fi
      -+rm -f conftest*
      -+LIBS="$ac_save_LIBS"
      -+
      -+fi
      -+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -+  echo "$ac_t""yes" 1>&6
      -+  cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
      -+else
      -+  echo "$ac_t""no" 1>&6
      -+fi
      -+
      -+	;;
      -+esac
      -+
      -+LIBS="$cf_ncurses_LIBS $LIBS"
      -+
      -+if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
      -+then
      -+	LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
      -+else
      -+	
      -+	eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
      -+	cf_libdir=""
      -+	echo $ac_n "checking for initscr""... $ac_c" 1>&6
      -+echo "configure:2146: checking for initscr" >&5
      - if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:2174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      -   eval "ac_cv_func_initscr=yes"
      - else
      -@@ -1054,12 +2184,665 @@
      - 
      - if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then
      -   echo "$ac_t""yes" 1>&6
      --  :
      -+  eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
      - else
      -   echo "$ac_t""no" 1>&6
      - 
      --	 echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
      --echo "configure:1063: checking for Gpm_Open in -lgpm" >&5
      -+		cf_save_LIBS="$LIBS"
      -+		echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6
      -+echo "configure:2194: checking for initscr in -l$cf_nculib_root" >&5
      -+		LIBS="-l$cf_nculib_root $LIBS"
      -+		cat > conftest.$ac_ext <
      -+int main() {
      -+initscr()
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:2204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  echo "$ac_t""yes" 1>&6
      -+			 eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
      -+			
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  echo "$ac_t""no" 1>&6
      -+			cf_search=""
      -+
      -+test -d $HOME && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under $HOME"
      -+	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
      -+	test -d $HOME/lib/$cf_nculib_root &&       cf_search="$cf_search $HOME/lib/$cf_nculib_root"
      -+	test -d $HOME/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
      -+}
      -+
      -+# For other stuff under the home directory, it should be sufficient to put
      -+# a symbolic link for $HOME/$cf_nculib_root to the actual package location:
      -+test -d $HOME/$cf_nculib_root && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under $HOME/$cf_nculib_root"
      -+	test -d $HOME/$cf_nculib_root/lib &&       cf_search="$cf_search $HOME/$cf_nculib_root/lib"
      -+	test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
      -+}
      -+
      -+test "$prefix" != /usr/local && \
      -+test -d /usr/local && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under /usr/local"
      -+	test -d /usr/local/lib &&       cf_search="$cf_search /usr/local/lib"
      -+	test -d /usr/local/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
      -+	test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
      -+	test -d /usr/local/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
      -+	test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
      -+}
      -+
      -+test "$prefix" != NONE && \
      -+test -d $prefix && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under $prefix"
      -+	test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
      -+	test -d $prefix/lib/$cf_nculib_root &&       cf_search="$cf_search $prefix/lib/$cf_nculib_root"
      -+	test -d $prefix/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
      -+	test -d $prefix/$cf_nculib_root/lib &&       cf_search="$cf_search $prefix/$cf_nculib_root/lib"
      -+	test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
      -+}
      -+
      -+test "$prefix" != /opt && \
      -+test -d /opt && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under /opt"
      -+	test -d /opt/lib &&             cf_search="$cf_search /opt/lib"
      -+	test -d /opt/lib/$cf_nculib_root &&          cf_search="$cf_search /opt/lib/$cf_nculib_root"
      -+	test -d /opt/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
      -+	test -d /opt/$cf_nculib_root/lib &&          cf_search="$cf_search /opt/$cf_nculib_root/lib"
      -+	test -d /opt/$cf_nculib_root/lib/$cf_nculib_root &&       cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
      -+}
      -+
      -+test "$prefix" != /usr && \
      -+test -d /usr && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under /usr"
      -+	test -d /usr/lib &&             cf_search="$cf_search /usr/lib"
      -+	test -d /usr/lib/$cf_nculib_root &&          cf_search="$cf_search /usr/lib/$cf_nculib_root"
      -+	test -d /usr/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
      -+	test -d /usr/$cf_nculib_root/lib &&          cf_search="$cf_search /usr/$cf_nculib_root/lib"
      -+}
      -+
      -+			for cf_libdir in $cf_search
      -+			do
      -+				echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6
      -+echo "configure:2273: checking for -l$cf_nculib_root in $cf_libdir" >&5
      -+				LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
      -+				cat > conftest.$ac_ext <
      -+int main() {
      -+initscr()
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:2283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  echo "$ac_t""yes" 1>&6
      -+			 		 eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
      -+					 break
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  echo "$ac_t""no" 1>&6
      -+					 LIBS="$cf_save_LIBS"
      -+fi
      -+rm -f conftest*
      -+			done
      -+			
      -+fi
      -+rm -f conftest*
      -+		
      -+fi
      -+
      -+eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
      -+
      -+if test $cf_found_library = no ; then
      -+	{ echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; }
      -+fi
      -+
      -+
      -+fi
      -+
      -+if test -n "$cf_ncurses_LIBS" ; then
      -+	echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6
      -+echo "configure:2314: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
      -+	cf_ncurses_SAVE="$LIBS"
      -+	for p in $cf_ncurses_LIBS ; do
      -+		q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
      -+		if test "$q" != "$LIBS" ; then
      -+			LIBS="$q"
      -+		fi
      -+	done
      -+	cat > conftest.$ac_ext <
      -+int main() {
      -+initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:2330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  echo "$ac_t""yes" 1>&6
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  echo "$ac_t""no" 1>&6
      -+		 LIBS="$cf_ncurses_SAVE"
      -+fi
      -+rm -f conftest*
      -+fi
      -+
      -+
      -+cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
      -+
      -+cat >> confdefs.h <&6
      -+echo "configure:2357: checking for multibyte character support" >&5
      -+if eval "test \"`echo '$''{'cf_cv_utf8_lib'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+	cf_save_LIBS="$LIBS"
      -+	cat > conftest.$ac_ext <
      -+int main() {
      -+putwc(0,0);
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:2372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  cf_cv_utf8_lib=yes
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  LIBS="-lutf8 $LIBS"
      -+	 cat > conftest.$ac_ext <
      -+int main() {
      -+putwc(0,0);
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:2389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  cf_cv_utf8_lib=add-on
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  cf_cv_utf8_lib=no
      -+fi
      -+rm -f conftest*
      -+	LIBS="$cf_save_LIBS"
      -+
      -+fi
      -+rm -f conftest*
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_utf8_lib" 1>&6
      -+
      -+# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
      -+# ncurses/ncursesw:
      -+if test "$cf_cv_utf8_lib" = "add-on" ; then
      -+	cat >> confdefs.h <<\EOF
      -+#define HAVE_LIBUTF8_H 1
      -+EOF
      -+
      -+	LIBS="-lutf8 $LIBS"
      -+fi
      -+
      -+	
      -+
      -+cf_ncuhdr_root=ncursesw
      -+
      -+test -n "$cf_cv_curses_dir" && \
      -+test "$cf_cv_curses_dir" != "no" && \
      -+CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
      -+
      -+echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6
      -+echo "configure:2426: checking for $cf_ncuhdr_root header in include-path" >&5
      -+if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+	cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
      -+	( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
      -+	for cf_header in $cf_header_list
      -+	do
      -+		
      -+	cat > conftest.$ac_ext <
      -+int main() {
      -+
      -+#ifdef NCURSES_VERSION
      -+
      -+#ifndef WACS_BSSB
      -+	make an error
      -+#endif
      -+
      -+printf("%s\n", NCURSES_VERSION);
      -+#else
      -+#ifdef __NCURSES_H
      -+printf("old\n");
      -+#else
      -+	make an error
      -+#endif
      -+#endif
      -+	
      -+	
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:2466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  rm -rf conftest*
      -+  cf_cv_ncurses_h=$cf_header
      -+	
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  cf_cv_ncurses_h=no
      -+fi
      -+rm -f conftest*
      -+
      -+		test "$cf_cv_ncurses_h" != no && break
      -+	done
      -+
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_ncurses_h" 1>&6
      -+
      -+if test "$cf_cv_ncurses_h" != no ; then
      -+	cf_cv_ncurses_header=$cf_cv_ncurses_h
      -+else
      -+echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6
      -+echo "configure:2489: checking for $cf_ncuhdr_root include-path" >&5
      -+if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+	test -n "$verbose" && echo
      -+	cf_search=""
      -+
      -+test -d $HOME && {
      -+	test -n "$verbose" && echo "	... testing include-directories under $HOME"
      -+	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
      -+	test -d $HOME/include/$cf_ncuhdr_root &&       cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
      -+	test -d $HOME/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
      -+}
      -+
      -+# For other stuff under the home directory, it should be sufficient to put
      -+# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location:
      -+test -d $HOME/$cf_ncuhdr_root && {
      -+	test -n "$verbose" && echo "	... testing include-directories under $HOME/$cf_ncuhdr_root"
      -+	test -d $HOME/$cf_ncuhdr_root/include &&       cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
      -+	test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$prefix" != /usr/local && \
      -+test -d /usr/local && {
      -+	test -n "$verbose" && echo "	... testing include-directories under /usr/local"
      -+	test -d /usr/local/include &&       cf_search="$cf_search /usr/local/include"
      -+	test -d /usr/local/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
      -+	test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
      -+	test -d /usr/local/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
      -+	test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$prefix" != NONE && \
      -+test -d $prefix && {
      -+	test -n "$verbose" && echo "	... testing include-directories under $prefix"
      -+	test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
      -+	test -d $prefix/include/$cf_ncuhdr_root &&       cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
      -+	test -d $prefix/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
      -+	test -d $prefix/$cf_ncuhdr_root/include &&       cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
      -+	test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$prefix" != /opt && \
      -+test -d /opt && {
      -+	test -n "$verbose" && echo "	... testing include-directories under /opt"
      -+	test -d /opt/include &&             cf_search="$cf_search /opt/include"
      -+	test -d /opt/include/$cf_ncuhdr_root &&          cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
      -+	test -d /opt/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
      -+	test -d /opt/$cf_ncuhdr_root/include &&          cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
      -+	test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&       cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$prefix" != /usr && \
      -+test -d /usr && {
      -+	test -n "$verbose" && echo "	... testing include-directories under /usr"
      -+	test -d /usr/include &&             cf_search="$cf_search /usr/include"
      -+	test -d /usr/include/$cf_ncuhdr_root &&          cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
      -+	test -d /usr/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
      -+	test -d /usr/$cf_ncuhdr_root/include &&          cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
      -+}
      -+
      -+test "$includedir" != NONE && \
      -+test "$includedir" != "/usr/include" && \
      -+test -d "$includedir" && {
      -+	test -d $includedir &&    cf_search="$cf_search $includedir"
      -+	test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
      -+}
      -+
      -+test "$oldincludedir" != NONE && \
      -+test "$oldincludedir" != "/usr/include" && \
      -+test -d "$oldincludedir" && {
      -+	test -d $oldincludedir    && cf_search="$cf_search $oldincludedir"
      -+	test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
      -+}
      -+
      -+
      -+	test -n "$verbose" && echo search path $cf_search
      -+	cf_save2_CPPFLAGS="$CPPFLAGS"
      -+	for cf_incdir in $cf_search
      -+	do
      -+		
      -+for cf_add_incdir in $cf_incdir
      -+do
      -+	while true
      -+	do
      -+		case $cf_add_incdir in
      -+		/usr/include) # (vi
      -+			;;
      -+		/usr/local/include) # (vi
      -+			if test "$GCC" = yes
      -+			then
      -+				cf_save_CPPFLAGS="$CPPFLAGS"
      -+				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+				cat > conftest.$ac_ext <
      -+int main() {
      -+printf("Hello")
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:2591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  :
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  CPPFLAGS="$cf_save_CPPFLAGS"
      -+fi
      -+rm -f conftest*
      -+			fi
      -+			;;
      -+		*) # (vi
      -+			CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+			;;
      -+		esac
      -+		cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
      -+		test "$cf_top_incdir" = "$cf_add_incdir" && break
      -+		cf_add_incdir="$cf_top_incdir"
      -+	done
      -+done
      -+
      -+		for cf_header in \
      -+			ncurses.h \
      -+			curses.h
      -+		do
      -+			
      -+	cat > conftest.$ac_ext <
      -+int main() {
      -+
      -+#ifdef NCURSES_VERSION
      -+
      -+#ifndef WACS_BSSB
      -+	make an error
      -+#endif
      -+
      -+printf("%s\n", NCURSES_VERSION);
      -+#else
      -+#ifdef __NCURSES_H
      -+printf("old\n");
      -+#else
      -+	make an error
      -+#endif
      -+#endif
      -+	
      -+	
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:2647: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  rm -rf conftest*
      -+  cf_cv_ncurses_h2=$cf_header
      -+	
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  cf_cv_ncurses_h2=no
      -+fi
      -+rm -f conftest*
      -+
      -+			if test "$cf_cv_ncurses_h2" != no ; then
      -+				cf_cv_ncurses_h2=$cf_incdir/$cf_header
      -+				test -n "$verbose" && echo $ac_n "	... found $ac_c" 1>&6
      -+				break
      -+			fi
      -+			test -n "$verbose" && echo "	... tested $cf_incdir/$cf_header" 1>&6
      -+		done
      -+		CPPFLAGS="$cf_save2_CPPFLAGS"
      -+		test "$cf_cv_ncurses_h2" != no && break
      -+	done
      -+	test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; }
      -+	
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_ncurses_h2" 1>&6
      -+
      -+	cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
      -+	cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
      -+	if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
      -+		cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
      -+	fi
      -+	
      -+for cf_add_incdir in $cf_1st_incdir
      -+do
      -+	while true
      -+	do
      -+		case $cf_add_incdir in
      -+		/usr/include) # (vi
      -+			;;
      -+		/usr/local/include) # (vi
      -+			if test "$GCC" = yes
      -+			then
      -+				cf_save_CPPFLAGS="$CPPFLAGS"
      -+				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+				cat > conftest.$ac_ext <
      -+int main() {
      -+printf("Hello")
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:2701: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  :
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  CPPFLAGS="$cf_save_CPPFLAGS"
      -+fi
      -+rm -f conftest*
      -+			fi
      -+			;;
      -+		*) # (vi
      -+			CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
      -+			;;
      -+		esac
      -+		cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
      -+		test "$cf_top_incdir" = "$cf_add_incdir" && break
      -+		cf_add_incdir="$cf_top_incdir"
      -+	done
      -+done
      -+
      -+
      -+fi
      -+
      -+cat >> confdefs.h <<\EOF
      -+#define NCURSES 1
      -+EOF
      -+
      -+
      -+case $cf_cv_ncurses_header in # (vi
      -+*ncurses.h)
      -+	cat >> confdefs.h <<\EOF
      -+#define HAVE_NCURSES_H 1
      -+EOF
      -+
      -+	;;
      -+esac
      -+
      -+case $cf_cv_ncurses_header in # (vi
      -+ncurses/curses.h|ncurses/ncurses.h)
      -+	cat >> confdefs.h <<\EOF
      -+#define HAVE_NCURSES_NCURSES_H 1
      -+EOF
      -+
      -+	;;
      -+ncursesw/curses.h|ncursesw/ncurses.h)
      -+	cat >> confdefs.h <<\EOF
      -+#define HAVE_NCURSESW_NCURSES_H 1
      -+EOF
      -+
      -+	;;
      -+esac
      -+
      -+
      -+echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
      -+echo "configure:2756: checking for ncurses version" >&5
      -+if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+	cf_cv_ncurses_version=no
      -+	cf_tempfile=out$$
      -+	rm -f $cf_tempfile
      -+	if test "$cross_compiling" = yes; then
      -+  
      -+
      -+	# This will not work if the preprocessor splits the line after the
      -+	# Autoconf token.  The 'unproto' program does that.
      -+	cat > conftest.$ac_ext <
      -+#undef Autoconf
      -+#ifdef NCURSES_VERSION
      -+Autoconf NCURSES_VERSION
      -+#else
      -+#ifdef __NCURSES_H
      -+Autoconf "old"
      -+#endif
      -+;
      -+#endif
      -+EOF
      -+	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
      -+	{ (eval echo configure:2782: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
      -+	if test -f conftest.out ; then
      -+		cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
      -+		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
      -+		rm -f conftest.out
      -+	fi
      -+
      -+else
      -+  cat > conftest.$ac_ext <
      -+#include 
      -+int main()
      -+{
      -+	FILE *fp = fopen("$cf_tempfile", "w");
      -+#ifdef NCURSES_VERSION
      -+# ifdef NCURSES_VERSION_PATCH
      -+	fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
      -+# else
      -+	fprintf(fp, "%s\n", NCURSES_VERSION);
      -+# endif
      -+#else
      -+# ifdef __NCURSES_H
      -+	fprintf(fp, "old\n");
      -+# else
      -+	make an error
      -+# endif
      -+#endif
      -+	exit(0);
      -+}
      -+EOF
      -+if { (eval echo configure:2815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
      -+then
      -+  
      -+	cf_cv_ncurses_version=`cat $cf_tempfile`
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+fi
      -+rm -fr conftest*
      -+fi
      -+
      -+	rm -f $cf_tempfile
      -+
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_ncurses_version" 1>&6
      -+test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF
      -+#define NCURSES 1
      -+EOF
      -+
      -+
      -+
      -+	
      -+
      -+cf_nculib_root=ncursesw
      -+	# This works, except for the special case where we find gpm, but
      -+	# ncurses is in a nonstandard location via $LIBS, and we really want
      -+	# to link gpm.
      -+cf_ncurses_LIBS=""
      -+cf_ncurses_SAVE="$LIBS"
      -+echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
      -+echo "configure:2846: checking for Gpm_Open in -lgpm" >&5
      - ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
      - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      -@@ -1067,7 +2850,7 @@
      -   ac_save_LIBS="$LIBS"
      - LIBS="-lgpm  $LIBS"
      - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:2865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      -   eval "ac_cv_lib_$ac_lib_var=yes"
      - else
      -@@ -1093,52 +2876,115 @@
      - fi
      - if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -   echo "$ac_t""yes" 1>&6
      --    ac_tr_lib=HAVE_LIB`echo gpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \
      --    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
      --  cat >> confdefs.h <&6
      -+echo "configure:2881: checking for initscr in -lgpm" >&5
      -+ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
      -+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  ac_save_LIBS="$LIBS"
      -+LIBS="-lgpm  $LIBS"
      -+cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=yes"
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=no"
      -+fi
      -+rm -f conftest*
      -+LIBS="$ac_save_LIBS"
      - 
      -+fi
      -+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -+  echo "$ac_t""yes" 1>&6
      -+  LIBS="$cf_ncurses_SAVE"
      - else
      -   echo "$ac_t""no" 1>&6
      -+cf_ncurses_LIBS="-lgpm"
      - fi
      - 
      --	 LIB_NAME=ncurses
      --	 for p in $HOME /usr/local /usr
      --	 do
      --	 	if test -f $p/include/ncurses/curses.h
      --		then
      --			CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
      --			test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
      --			test $p != /usr && LIBS="-L$p/lib $LIBS"
      --			break
      --		elif test $p != /usr
      --		then
      --			if test -f $p/include/curses.h
      --			then
      --				CPPFLAGS="$CPPFLAGS -I$p/include"
      --				LIBS="-L$p/lib $LIBS"
      --				break
      --			fi
      --		fi
      --	 done
      --	
      -+else
      -+  echo "$ac_t""no" 1>&6
      - fi
      - 
      -+
      -+case $host_os in #(vi
      -+freebsd*)
      -+	# This is only necessary if you are linking against an obsolete
      -+	# version of ncurses (but it should do no harm, since it's static).
      -+	echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
      -+echo "configure:2931: checking for tgoto in -lmytinfo" >&5
      -+ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
      -+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  ac_save_LIBS="$LIBS"
      -+LIBS="-lmytinfo  $LIBS"
      -+cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=yes"
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  eval "ac_cv_lib_$ac_lib_var=no"
      - fi
      -+rm -f conftest*
      -+LIBS="$ac_save_LIBS"
      - 
      -+fi
      -+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -+  echo "$ac_t""yes" 1>&6
      -+  cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
      -+else
      -+  echo "$ac_t""no" 1>&6
      -+fi
      - 
      -+	;;
      -+esac
      - 
      -+LIBS="$cf_ncurses_LIBS $LIBS"
      - 
      --echo $ac_n "checking for initscr""... $ac_c" 1>&6
      --echo "configure:1137: checking for initscr" >&5
      -+if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
      -+then
      -+	LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
      -+else
      -+	
      -+	eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
      -+	cf_libdir=""
      -+	echo $ac_n "checking for initscr""... $ac_c" 1>&6
      -+echo "configure:2983: checking for initscr" >&5
      - if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:3011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      -   eval "ac_cv_func_initscr=yes"
      - else
      -@@ -1175,69 +3021,185 @@
      - 
      - if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then
      -   echo "$ac_t""yes" 1>&6
      --  :
      -+  eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
      - else
      -   echo "$ac_t""no" 1>&6
      - 
      --echo $ac_n "checking for initscr in -l$LIB_NAME""... $ac_c" 1>&6
      --echo "configure:1184: checking for initscr in -l$LIB_NAME" >&5
      --ac_lib_var=`echo $LIB_NAME'_'initscr | sed 'y%./+-%__p_%'`
      --if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      --  echo $ac_n "(cached) $ac_c" 1>&6
      --else
      --  ac_save_LIBS="$LIBS"
      --LIBS="-l$LIB_NAME  $LIBS"
      --cat > conftest.$ac_ext <&6
      -+echo "configure:3031: checking for initscr in -l$cf_nculib_root" >&5
      -+		LIBS="-l$cf_nculib_root $LIBS"
      -+		cat > conftest.$ac_ext <
      -+int main() {
      -+initscr()
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:3041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  echo "$ac_t""yes" 1>&6
      -+			 eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
      -+			
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  echo "$ac_t""no" 1>&6
      -+			cf_search=""
      -+
      -+test -d $HOME && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under $HOME"
      -+	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
      -+	test -d $HOME/lib/$cf_nculib_root &&       cf_search="$cf_search $HOME/lib/$cf_nculib_root"
      -+	test -d $HOME/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
      -+}
      -+
      -+# For other stuff under the home directory, it should be sufficient to put
      -+# a symbolic link for $HOME/$cf_nculib_root to the actual package location:
      -+test -d $HOME/$cf_nculib_root && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under $HOME/$cf_nculib_root"
      -+	test -d $HOME/$cf_nculib_root/lib &&       cf_search="$cf_search $HOME/$cf_nculib_root/lib"
      -+	test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
      -+}
      -+
      -+test "$prefix" != /usr/local && \
      -+test -d /usr/local && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under /usr/local"
      -+	test -d /usr/local/lib &&       cf_search="$cf_search /usr/local/lib"
      -+	test -d /usr/local/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
      -+	test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
      -+	test -d /usr/local/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
      -+	test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
      -+}
      -+
      -+test "$prefix" != NONE && \
      -+test -d $prefix && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under $prefix"
      -+	test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
      -+	test -d $prefix/lib/$cf_nculib_root &&       cf_search="$cf_search $prefix/lib/$cf_nculib_root"
      -+	test -d $prefix/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
      -+	test -d $prefix/$cf_nculib_root/lib &&       cf_search="$cf_search $prefix/$cf_nculib_root/lib"
      -+	test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
      -+}
      -+
      -+test "$prefix" != /opt && \
      -+test -d /opt && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under /opt"
      -+	test -d /opt/lib &&             cf_search="$cf_search /opt/lib"
      -+	test -d /opt/lib/$cf_nculib_root &&          cf_search="$cf_search /opt/lib/$cf_nculib_root"
      -+	test -d /opt/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
      -+	test -d /opt/$cf_nculib_root/lib &&          cf_search="$cf_search /opt/$cf_nculib_root/lib"
      -+	test -d /opt/$cf_nculib_root/lib/$cf_nculib_root &&       cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
      -+}
      -+
      -+test "$prefix" != /usr && \
      -+test -d /usr && {
      -+	test -n "$verbose" && echo "	... testing lib-directories under /usr"
      -+	test -d /usr/lib &&             cf_search="$cf_search /usr/lib"
      -+	test -d /usr/lib/$cf_nculib_root &&          cf_search="$cf_search /usr/lib/$cf_nculib_root"
      -+	test -d /usr/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
      -+	test -d /usr/$cf_nculib_root/lib &&          cf_search="$cf_search /usr/$cf_nculib_root/lib"
      -+}
      - 
      -+			for cf_libdir in $cf_search
      -+			do
      -+				echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6
      -+echo "configure:3110: checking for -l$cf_nculib_root in $cf_libdir" >&5
      -+				LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
      -+				cat > conftest.$ac_ext <
      - int main() {
      - initscr()
      - ; return 0; }
      - EOF
      --if { (eval echo configure:1203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:3120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      --  eval "ac_cv_lib_$ac_lib_var=yes"
      -+  echo "$ac_t""yes" 1>&6
      -+			 		 eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
      -+					 break
      - else
      -   echo "configure: failed program was:" >&5
      -   cat conftest.$ac_ext >&5
      -   rm -rf conftest*
      --  eval "ac_cv_lib_$ac_lib_var=no"
      -+  echo "$ac_t""no" 1>&6
      -+					 LIBS="$cf_save_LIBS"
      - fi
      - rm -f conftest*
      --LIBS="$ac_save_LIBS"
      -+			done
      -+			
      -+fi
      -+rm -f conftest*
      -+		
      -+fi
      -+
      -+eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
      - 
      -+if test $cf_found_library = no ; then
      -+	{ echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; }
      - fi
      --if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      --  echo "$ac_t""yes" 1>&6
      --    ac_tr_lib=HAVE_LIB`echo $LIB_NAME | sed -e 's/[^a-zA-Z0-9_]/_/g' \
      --    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
      --  cat >> confdefs.h <&6
      -+echo "configure:3151: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
      -+	cf_ncurses_SAVE="$LIBS"
      -+	for p in $cf_ncurses_LIBS ; do
      -+		q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
      -+		if test "$q" != "$LIBS" ; then
      -+			LIBS="$q"
      -+		fi
      -+	done
      -+	cat > conftest.$ac_ext <
      -+int main() {
      -+initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:3167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  echo "$ac_t""yes" 1>&6
      - else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -   echo "$ac_t""no" 1>&6
      -+		 LIBS="$cf_ncurses_SAVE"
      - fi
      --
      -+rm -f conftest*
      - fi
      - 
      --echo $ac_n "checking for form_driver in -lform""... $ac_c" 1>&6
      --echo "configure:1233: checking for form_driver in -lform" >&5
      --ac_lib_var=`echo form'_'form_driver | sed 'y%./+-%__p_%'`
      -+
      -+cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
      -+
      -+cat >> confdefs.h <&6
      -+echo "configure:3195: checking for form_driver in -lform$cf_cv_libtype" >&5
      -+ac_lib_var=`echo form$cf_cv_libtype'_'form_driver | sed 'y%./+-%__p_%'`
      - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   ac_save_LIBS="$LIBS"
      --LIBS="-lform  $LIBS"
      -+LIBS="-lform$cf_cv_libtype  $LIBS"
      - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:3214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      -   eval "ac_cv_lib_$ac_lib_var=yes"
      - else
      -@@ -1263,28 +3225,28 @@
      - fi
      - if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -   echo "$ac_t""yes" 1>&6
      --    ac_tr_lib=HAVE_LIB`echo form | sed -e 's/[^a-zA-Z0-9_]/_/g' \
      -+    ac_tr_lib=HAVE_LIB`echo form$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \
      -     -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
      -   cat >> confdefs.h <&6
      - fi
      - 
      --echo $ac_n "checking for menu_driver in -lmenu""... $ac_c" 1>&6
      --echo "configure:1280: checking for menu_driver in -lmenu" >&5
      --ac_lib_var=`echo menu'_'menu_driver | sed 'y%./+-%__p_%'`
      -+echo $ac_n "checking for menu_driver in -lmenu$cf_cv_libtype""... $ac_c" 1>&6
      -+echo "configure:3242: checking for menu_driver in -lmenu$cf_cv_libtype" >&5
      -+ac_lib_var=`echo menu$cf_cv_libtype'_'menu_driver | sed 'y%./+-%__p_%'`
      - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   ac_save_LIBS="$LIBS"
      --LIBS="-lmenu  $LIBS"
      -+LIBS="-lmenu$cf_cv_libtype  $LIBS"
      - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:3261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      -   eval "ac_cv_lib_$ac_lib_var=yes"
      - else
      -@@ -1310,28 +3272,28 @@
      - fi
      - if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -   echo "$ac_t""yes" 1>&6
      --    ac_tr_lib=HAVE_LIB`echo menu | sed -e 's/[^a-zA-Z0-9_]/_/g' \
      -+    ac_tr_lib=HAVE_LIB`echo menu$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \
      -     -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
      -   cat >> confdefs.h <&6
      - fi
      - 
      --echo $ac_n "checking for new_panel in -lpanel""... $ac_c" 1>&6
      --echo "configure:1327: checking for new_panel in -lpanel" >&5
      --ac_lib_var=`echo panel'_'new_panel | sed 'y%./+-%__p_%'`
      -+echo $ac_n "checking for new_panel in -lpanel$cf_cv_libtype""... $ac_c" 1>&6
      -+echo "configure:3289: checking for new_panel in -lpanel$cf_cv_libtype" >&5
      -+ac_lib_var=`echo panel$cf_cv_libtype'_'new_panel | sed 'y%./+-%__p_%'`
      - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   ac_save_LIBS="$LIBS"
      --LIBS="-lpanel  $LIBS"
      -+LIBS="-lpanel$cf_cv_libtype  $LIBS"
      - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:3308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      -   eval "ac_cv_lib_$ac_lib_var=yes"
      - else
      -@@ -1357,13 +3319,13 @@
      - fi
      - if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      -   echo "$ac_t""yes" 1>&6
      --    ac_tr_lib=HAVE_LIB`echo panel | sed -e 's/[^a-zA-Z0-9_]/_/g' \
      -+    ac_tr_lib=HAVE_LIB`echo panel$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \
      -     -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
      -   cat >> confdefs.h <&6
      -@@ -1371,12 +3333,12 @@
      - 
      - 
      - echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
      --echo "configure:1375: checking return type of signal handlers" >&5
      -+echo "configure:3337: checking return type of signal handlers" >&5
      - if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   cat > conftest.$ac_ext <
      - #include 
      -@@ -1393,7 +3355,7 @@
      - int i;
      - ; return 0; }
      - EOF
      --if { (eval echo configure:1397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+if { (eval echo configure:3359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -   rm -rf conftest*
      -   ac_cv_type_signal=void
      - else
      -@@ -1412,93 +3374,13 @@
      - 
      - 
      - 
      --echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
      --echo "configure:1417: checking how to run the C preprocessor" >&5
      --# On Suns, sometimes $CPP names a directory.
      --if test -n "$CPP" && test -d "$CPP"; then
      --  CPP=
      --fi
      --if test -z "$CPP"; then
      --if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
      --  echo $ac_n "(cached) $ac_c" 1>&6
      --else
      --    # This must be in double quotes, not single quotes, because CPP may get
      --  # substituted into the Makefile and "${CC-cc}" will confuse make.
      --  CPP="${CC-cc} -E"
      --  # On the NeXT, cc -E runs the code through the compiler's parser,
      --  # not just through cpp.
      --  cat > conftest.$ac_ext <
      --Syntax Error
      --EOF
      --ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
      --{ (eval echo configure:1438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      --ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
      --if test -z "$ac_err"; then
      --  :
      --else
      --  echo "$ac_err" >&5
      --  echo "configure: failed program was:" >&5
      --  cat conftest.$ac_ext >&5
      --  rm -rf conftest*
      --  CPP="${CC-cc} -E -traditional-cpp"
      --  cat > conftest.$ac_ext <
      --Syntax Error
      --EOF
      --ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
      --{ (eval echo configure:1455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      --ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
      --if test -z "$ac_err"; then
      --  :
      --else
      --  echo "$ac_err" >&5
      --  echo "configure: failed program was:" >&5
      --  cat conftest.$ac_ext >&5
      --  rm -rf conftest*
      --  CPP="${CC-cc} -nologo -E"
      --  cat > conftest.$ac_ext <
      --Syntax Error
      --EOF
      --ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
      --{ (eval echo configure:1472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      --ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
      --if test -z "$ac_err"; then
      --  :
      --else
      --  echo "$ac_err" >&5
      --  echo "configure: failed program was:" >&5
      --  cat conftest.$ac_ext >&5
      --  rm -rf conftest*
      --  CPP=/lib/cpp
      --fi
      --rm -f conftest*
      --fi
      --rm -f conftest*
      --fi
      --rm -f conftest*
      --  ac_cv_prog_CPP="$CPP"
      --fi
      --  CPP="$ac_cv_prog_CPP"
      --else
      --  ac_cv_prog_CPP="$CPP"
      --fi
      --echo "$ac_t""$CPP" 1>&6
      --
      - echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
      --echo "configure:1497: checking for ANSI C header files" >&5
      -+echo "configure:3379: checking for ANSI C header files" >&5
      - if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   cat > conftest.$ac_ext <
      - #include 
      -@@ -1506,7 +3388,7 @@
      - #include 
      - EOF
      - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
      --{ (eval echo configure:1510: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      -+{ (eval echo configure:3392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
      - if test -z "$ac_err"; then
      -   rm -rf conftest*
      -@@ -1523,7 +3405,7 @@
      - if test $ac_cv_header_stdc = yes; then
      -   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
      - cat > conftest.$ac_ext <
      - EOF
      -@@ -1541,7 +3423,7 @@
      - if test $ac_cv_header_stdc = yes; then
      -   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
      - cat > conftest.$ac_ext <
      - EOF
      -@@ -1562,7 +3444,7 @@
      -   :
      - else
      -   cat > conftest.$ac_ext <
      - #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
      -@@ -1573,7 +3455,7 @@
      - exit (0); }
      - 
      - EOF
      --if { (eval echo configure:1577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
      -+if { (eval echo configure:3459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
      - then
      -   :
      - else
      -@@ -1597,12 +3479,12 @@
      - fi
      - 
      - echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
      --echo "configure:1601: checking whether time.h and sys/time.h may both be included" >&5
      -+echo "configure:3483: checking whether time.h and sys/time.h may both be included" >&5
      - if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   cat > conftest.$ac_ext <
      - #include 
      -@@ -1611,7 +3493,7 @@
      - struct tm *tp;
      - ; return 0; }
      - EOF
      --if { (eval echo configure:1615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+if { (eval echo configure:3497: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -   rm -rf conftest*
      -   ac_cv_header_time=yes
      - else
      -@@ -1648,17 +3530,17 @@
      - do
      - ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
      - echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
      --echo "configure:1652: checking for $ac_hdr" >&5
      -+echo "configure:3534: checking for $ac_hdr" >&5
      - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   cat > conftest.$ac_ext <
      - EOF
      - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
      --{ (eval echo configure:1662: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      -+{ (eval echo configure:3544: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
      - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
      - if test -z "$ac_err"; then
      -   rm -rf conftest*
      -@@ -1691,19 +3573,21 @@
      - napms \
      - resize_term \
      - resizeterm \
      -+slk_color \
      - strdup \
      - use_default_colors \
      - vsscanf \
      -+wchgat \
      - wresize \
      - 
      - do
      - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
      --echo "configure:1702: checking for $ac_func" >&5
      -+echo "configure:3586: checking for $ac_func" >&5
      - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:3614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      -   eval "ac_cv_func_$ac_func=yes"
      - else
      -@@ -1751,8 +3635,85 @@
      - done
      - 
      - 
      -+cat > conftest.$ac_ext <
      -+int main() {
      -+
      -+	(void) assume_default_colors (0, 0);
      -+	(void) curses_version ();
      -+	(void) define_key (0, 0);
      -+	(void) is_term_resized (0, 0);
      -+	(void) key_defined (0);
      -+	(void) keybound (0, 0);
      -+	(void) keyok (0, 0);
      -+	(void) resize_term (0, 0);
      -+	(void) resizeterm (0, 0);
      -+	(void) use_default_colors ();
      -+	(void) use_extended_names (0);
      -+	(void) wresize (0, 0, 0);
      -+	
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:3661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+  rm -rf conftest*
      -+  cat >> confdefs.h <<\EOF
      -+#define NCURSES_EXT_FUNCS 1
      -+EOF
      -+
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+fi
      -+rm -f conftest*
      -+
      -+
      -+echo $ac_n "checking if sys/time.h works with sys/select.h""... $ac_c" 1>&6
      -+echo "configure:3675: checking if sys/time.h works with sys/select.h" >&5
      -+if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
      -+  echo $ac_n "(cached) $ac_c" 1>&6
      -+else
      -+  
      -+cat > conftest.$ac_ext <
      -+#ifdef HAVE_SYS_TIME_H
      -+#include 
      -+#endif
      -+#ifdef HAVE_SYS_SELECT_H
      -+#include 
      -+#endif
      -+
      -+int main() {
      -+
      -+; return 0; }
      -+EOF
      -+if { (eval echo configure:3696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+  rm -rf conftest*
      -+  cf_cv_sys_time_select=yes
      -+else
      -+  echo "configure: failed program was:" >&5
      -+  cat conftest.$ac_ext >&5
      -+  rm -rf conftest*
      -+  cf_cv_sys_time_select=no
      -+fi
      -+rm -f conftest*
      -+     
      -+fi
      -+
      -+echo "$ac_t""$cf_cv_sys_time_select" 1>&6
      -+test "$cf_cv_sys_time_select" = yes && cat >> confdefs.h <<\EOF
      -+#define HAVE_SYS_TIME_SELECT 1
      -+EOF
      -+
      -+
      -+
      - echo $ac_n "checking for function curses_version""... $ac_c" 1>&6
      --echo "configure:1756: checking for function curses_version" >&5
      -+echo "configure:3717: checking for function curses_version" >&5
      - if eval "test \"`echo '$''{'cf_cv_func_curses_version'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -@@ -1761,10 +3722,10 @@
      -   cf_cv_func_curses_version=unknown
      - else
      -   cat > conftest.$ac_ext <
      -+#include <${cf_cv_ncurses_header-curses.h}>
      - int main()
      - {
      - 	char temp[1024];
      -@@ -1773,7 +3734,7 @@
      - }
      - 
      - EOF
      --if { (eval echo configure:1777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
      -+if { (eval echo configure:3738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
      - then
      -   cf_cv_func_curses_version=yes
      - 
      -@@ -1796,8 +3757,9 @@
      - EOF
      - 
      - 
      -+
      - echo $ac_n "checking for alternate character set array""... $ac_c" 1>&6
      --echo "configure:1801: checking for alternate character set array" >&5
      -+echo "configure:3763: checking for alternate character set array" >&5
      - if eval "test \"`echo '$''{'cf_cv_curses_acs_map'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -@@ -1806,10 +3768,10 @@
      - for name in acs_map _acs_map __acs_map _nc_acs_map
      - do
      - cat > conftest.$ac_ext <
      -+#include <${cf_cv_ncurses_header-curses.h}>
      - 
      - int main() {
      - 
      -@@ -1817,7 +3779,7 @@
      - 
      - ; return 0; }
      - EOF
      --if { (eval echo configure:1821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:3783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      -   cf_cv_curses_acs_map=$name; break
      - else
      -@@ -1836,69 +3798,60 @@
      - EOF
      - 
      - 
      -+
      - echo $ac_n "checking for wide alternate character set array""... $ac_c" 1>&6
      --echo "configure:1841: checking for wide alternate character set array" >&5
      -+echo "configure:3804: checking for wide alternate character set array" >&5
      - if eval "test \"`echo '$''{'cf_cv_curses_wacs_map'+set}'`\" = set"; then
      -   echo $ac_n "(cached) $ac_c" 1>&6
      - else
      -   
      --cf_cv_curses_wacs_map=unknown
      --for name in wacs_map _wacs_map __wacs_map _nc_wacs
      --do
      --cat > conftest.$ac_ext < conftest.$ac_ext <
      --
      -+#include <${cf_cv_ncurses_header-curses.h}>
      - int main() {
      --
      --$name['k'] = *WACS_PLUS	
      --
      -+$name['k'] = *WACS_PLUS
      - ; return 0; }
      - EOF
      --if { (eval echo configure:1864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -+if { (eval echo configure:3824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      -   rm -rf conftest*
      --  cf_cv_curses_wacs_map=$name; break
      -+  cf_cv_curses_wacs_map=$name
      -+	 break
      - else
      -   echo "configure: failed program was:" >&5
      -   cat conftest.$ac_ext >&5
      - fi
      - rm -f conftest*
      --done
      --
      -+	done
      - fi
      - 
      - echo "$ac_t""$cf_cv_curses_wacs_map" 1>&6
      - 
      --test "$cf_cv_curses_wacs_map" != unknown && cat >> confdefs.h <&6
      --echo "configure:1887: checking for type attr_t in curses.h" >&5
      -+echo $ac_n "checking for type attr_t in ${cf_cv_ncurses_header-curses.h}""... $ac_c" 1>&6
      -+echo "configure:3840: checking for type attr_t in ${cf_cv_ncurses_header-curses.h}" >&5
      - cat > conftest.$ac_ext <
      -+#include <${cf_cv_ncurses_header-curses.h}>
      - int main() {
      - 
      - attr_t foo
      - 
      - ; return 0; }
      - EOF
      --if { (eval echo configure:1902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+if { (eval echo configure:3855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -   rm -rf conftest*
      -   cf_result=yes
      - else
      -@@ -1910,7 +3863,7 @@
      - rm -f conftest*
      - echo "$ac_t""$cf_result" 1>&6
      - if test $cf_result = yes ; then
      --	 
      -+	
      - cf_result=`echo "have_type_attr_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
      - 
      - 	cat >> confdefs.h <&6
      --echo "configure:1930: checking for type mbstate_t in curses.h" >&5
      -+echo $ac_n "checking for type mbstate_t in ${cf_cv_ncurses_header-curses.h}""... $ac_c" 1>&6
      -+echo "configure:3883: checking for type mbstate_t in ${cf_cv_ncurses_header-curses.h}" >&5
      - cat > conftest.$ac_ext <
      -+#include <${cf_cv_ncurses_header-curses.h}>
      - int main() {
      - 
      - mbstate_t foo
      - 
      - ; return 0; }
      - EOF
      --if { (eval echo configure:1945: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -+if { (eval echo configure:3898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      -   rm -rf conftest*
      -   cf_result=yes
      - else
      -@@ -1953,7 +3906,7 @@
      - rm -f conftest*
      - echo "$ac_t""$cf_result" 1>&6
      - if test $cf_result = yes ; then
      --	 
      -+	
      - cf_result=`echo "have_type_mbstate_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
      - 
      - 	cat >> confdefs.h <&6
      --echo "configure:1974: checking if sys/time.h works with sys/select.h" >&5
      --if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
      --  echo $ac_n "(cached) $ac_c" 1>&6
      --else
      --  
      --cat > conftest.$ac_ext <
      --#ifdef HAVE_SYS_TIME_H
      --#include 
      --#endif
      --#ifdef HAVE_SYS_SELECT_H
      --#include 
      --#endif
      --
      --int main() {
      --
      --; return 0; }
      --EOF
      --if { (eval echo configure:1995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      --  rm -rf conftest*
      --  cf_cv_sys_time_select=yes
      --else
      --  echo "configure: failed program was:" >&5
      --  cat conftest.$ac_ext >&5
      --  rm -rf conftest*
      --  cf_cv_sys_time_select=no
      --fi
      --rm -f conftest*
      --     
      --fi
      --
      --echo "$ac_t""$cf_cv_sys_time_select" 1>&6
      --test "$cf_cv_sys_time_select" = yes && cat >> confdefs.h <<\EOF
      --#define HAVE_SYS_TIME_SELECT 1
      --EOF
      --
      --
      --
      - trap '' 1 2 15
      - cat > confcache <<\EOF
      - # This file is a shell script that caches the results of configure
      -@@ -2101,7 +4012,7 @@
      -     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
      -     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
      -   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
      --    echo "$CONFIG_STATUS generated by autoconf version 2.13.20000819"
      -+    echo "$CONFIG_STATUS generated by autoconf version 2.13.20020210"
      -     exit 0 ;;
      -   -help | --help | --hel | --he | --h)
      -     echo "\$ac_cs_usage"; exit 0 ;;
      -@@ -2143,7 +4054,13 @@
      - s%@oldincludedir@%$oldincludedir%g
      - s%@infodir@%$infodir%g
      - s%@mandir@%$mandir%g
      -+s%@host@%$host%g
      -+s%@host_alias@%$host_alias%g
      -+s%@host_cpu@%$host_cpu%g
      -+s%@host_vendor@%$host_vendor%g
      -+s%@host_os@%$host_os%g
      - s%@CC@%$CC%g
      -+s%@CPP@%$CPP%g
      - s%@CC_G_OPT@%$CC_G_OPT%g
      - s%@CC_SHARED_OPTS@%$CC_SHARED_OPTS%g
      - s%@DFT_DEP_SUFFIX@%$DFT_DEP_SUFFIX%g
      -@@ -2168,7 +4085,6 @@
      - s%@TEST_DEPS@%$TEST_DEPS%g
      - s%@cf_cv_abi_version@%$cf_cv_abi_version%g
      - s%@cf_cv_rel_version@%$cf_cv_rel_version%g
      --s%@CPP@%$CPP%g
      - 
      - CEOF
      - EOF
      -@@ -2379,11 +4295,9 @@
      - # work consistently for different make-programs (the '\$(MODEL)/' confuses
      - # some, and the '\$x' confuses others).
      - TEST_EOF
      --LIST=`make echo_tests`
      --LAST=`make echo_suffix`
      --for n in $LIST
      -+LIST=`sed -e 's/[ 	].*//' -e '/^[#@]/d' $srcdir/modules`
      -+for N in $LIST
      - do
      --	N=`echo $n | sed -e s/${LAST}\$//`
      - 	cat >>Makefile <],[putwc(0,0);],
      --	[cf_cv_libutf8=yes],
      --	[cf_cv_libutf8=no])
      --	LIBS="$cf_save_LIBS"
      --])
      --
      --if test "$cf_cv_libutf8" = yes ; then
      --	AC_DEFINE(HAVE_LIBUTF8_H)
      --	LIBS="-lutf8 $LIBS"
      --fi
      --])dnl
      --
      --dnl ---------------------------------------------------------------------------
      - dnl NcursesW, installed in conventional location
      - AC_ARG_WITH(ncursesw,
      - 	[  --with-ncursesw         use wide ncurses-libraries (installed)],
      --	[
      --	 AC_DEFINE(_GNU_SOURCE)
      --	 AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
      --	 AC_CHECK_FUNC(initscr,,[
      --	 AC_CHECK_LIB(gpm,Gpm_Open)
      --	 LIB_NAME=ncursesw
      --	 AC_CHECK_FUNC(putwc,,[CF_LIBUTF8])
      --	 for p in $HOME /usr/local /usr
      --	 do
      --	 	if test -f $p/include/ncursesw/curses.h
      --		then
      --			CPPFLAGS="$CPPFLAGS -I$p/include/ncursesw"
      --			test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
      --			test $p != /usr && LIBS="-L$p/lib $LIBS"
      --			break
      --		elif test $p != /usr
      --		then
      --			if test -f $p/include/curses.h
      --			then
      --				CPPFLAGS="$CPPFLAGS -I$p/include"
      --				LIBS="-L$p/lib $LIBS"
      --				break
      --			fi
      --		fi
      --	 done
      --	],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])])
      -+	[cf_cv_screen=ncursesw])
      - 
      - dnl Ncurses, installed in conventional location
      - AC_ARG_WITH(ncurses,
      - 	[  --with-ncurses          use ncurses-libraries (installed)],
      --	[AC_CHECK_FUNC(initscr,,[
      --	 AC_CHECK_LIB(gpm,Gpm_Open)
      --	 LIB_NAME=ncurses
      --	 for p in $HOME /usr/local /usr
      --	 do
      --	 	if test -f $p/include/ncurses/curses.h
      --		then
      --			CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
      --			test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
      --			test $p != /usr && LIBS="-L$p/lib $LIBS"
      --			break
      --		elif test $p != /usr
      --		then
      --			if test -f $p/include/curses.h
      --			then
      --				CPPFLAGS="$CPPFLAGS -I$p/include"
      --				LIBS="-L$p/lib $LIBS"
      --				break
      --			fi
      --		fi
      --	 done
      --	],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])])
      -+	[cf_cv_screen=ncurses])
      -+
      -+case $cf_cv_screen in
      -+curses)
      -+	CF_CURSES_CPPFLAGS
      -+	CF_NCURSES_VERSION
      -+	CF_CURSES_LIBS
      -+	;;
      -+ncurses)
      -+	CF_NCURSES_CPPFLAGS
      -+	CF_NCURSES_LIBS
      -+	LIB_NAME=ncurses
      -+	;;
      -+ncursesw)
      -+	cf_cv_libtype=w
      -+	CF_UTF8_LIB
      -+	CF_NCURSES_CPPFLAGS(ncursesw)
      -+	CF_NCURSES_LIBS(ncursesw)
      -+	LIB_NAME=ncursesw
      -+	;;
      -+esac
      - 
      - dnl If we've not specified a library, assume we're using sysvr4 libraries
      - dnl installed conventionally (e.g., SunOS 5.x - solaris).
      - 
      - dnl Autoconf builds up the $LIBS in reverse order
      - 
      --AC_CHECK_FUNC(initscr,,[
      --AC_CHECK_LIB($LIB_NAME,initscr)])
      --AC_CHECK_LIB(form,form_driver)
      --AC_CHECK_LIB(menu,menu_driver)
      --AC_CHECK_LIB(panel,new_panel)
      -+AC_CHECK_LIB(form$cf_cv_libtype,form_driver)
      -+AC_CHECK_LIB(menu$cf_cv_libtype,menu_driver)
      -+AC_CHECK_LIB(panel$cf_cv_libtype,new_panel)
      - 
      - AC_TYPE_SIGNAL
      - 
      -@@ -190,117 +152,37 @@
      - napms \
      - resize_term \
      - resizeterm \
      -+slk_color \
      - strdup \
      - use_default_colors \
      - vsscanf \
      -+wchgat \
      - wresize \
      - )
      - 
      --dnl ---------------------------------------------------------------------------
      --dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
      --dnl It's a character string "SVR4", not documented.
      --AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
      --AC_TRY_RUN([
      --#include 
      --int main()
      --{
      --	char temp[1024];
      --	sprintf(temp, "%s\n", curses_version());
      --	exit(0);
      --}]
      --,[cf_cv_func_curses_version=yes]
      --,[cf_cv_func_curses_version=no]
      --,[cf_cv_func_curses_version=unknown])
      --rm -f core])
      --test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
      --
      --dnl ---------------------------------------------------------------------------
      --dnl Check for likely values of acs_map[]:
      --AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[
      --cf_cv_curses_acs_map=unknown
      --for name in acs_map _acs_map __acs_map _nc_acs_map
      --do
      - AC_TRY_LINK([
      --#include 
      --],[
      --$name['k'] = ACS_PLUS
      --],[cf_cv_curses_acs_map=$name; break])
      --done
      --])
      --
      --test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
      --
      --dnl ---------------------------------------------------------------------------
      --dnl Check for likely values of wacs_map[]:
      --AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
      --cf_cv_curses_wacs_map=unknown
      --for name in wacs_map _wacs_map __wacs_map _nc_wacs
      --do
      --AC_TRY_LINK([
      --#ifndef _XOPEN_SOURCE_EXTENDED
      --#define _XOPEN_SOURCE_EXTENDED
      --#endif
      --#include 
      --],[
      --$name['k'] = *WACS_PLUS	
      --],[cf_cv_curses_wacs_map=$name; break])
      --done
      --])
      --
      --test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map)
      --
      --dnl --------------------------------------------------------------------------- 
      --dnl Make an uppercase version of a variable 
      --dnl $1=uppercase($2) 
      --AC_DEFUN([CF_UPPER], 
      --[ 
      --$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
      --])dnl 
      --
      --dnl ---------------------------------------------------------------------------
      --dnl Check if curses.h defines the given type
      --AC_DEFUN([CF_CURSES_TYPE],
      -+#include <${cf_cv_ncurses_header-curses.h}>],
      - [
      --AC_MSG_CHECKING(for type $1 in curses.h)
      --AC_TRY_COMPILE([
      --#ifndef _XOPEN_SOURCE_EXTENDED
      --#define _XOPEN_SOURCE_EXTENDED
      --#endif
      --#include ],[
      --$1 foo
      --],cf_result=yes,cf_result=no)
      --AC_MSG_RESULT($cf_result)
      --if test $cf_result = yes ; then
      --	CF_UPPER(cf_result,have_type_$1)
      --	AC_DEFINE_UNQUOTED($cf_result)
      --else
      --	AC_DEFINE_UNQUOTED($1,$2)
      --fi
      --])dnl
      --
      --CF_CURSES_TYPE(attr_t,long)
      --CF_CURSES_TYPE(mbstate_t,long)
      --
      --dnl ---------------------------------------------------------------------------
      --dnl Check if we can include  with ; this breaks on
      --dnl older SCO configurations.
      --dnl [CF_SYS_TIME_SELECT]
      -+	(void) assume_default_colors (0, 0);
      -+	(void) curses_version ();
      -+	(void) define_key (0, 0);
      -+	(void) is_term_resized (0, 0);
      -+	(void) key_defined (0);
      -+	(void) keybound (0, 0);
      -+	(void) keyok (0, 0);
      -+	(void) resize_term (0, 0);
      -+	(void) resizeterm (0, 0);
      -+	(void) use_default_colors ();
      -+	(void) use_extended_names (0);
      -+	(void) wresize (0, 0, 0);
      -+	],[AC_DEFINE(NCURSES_EXT_FUNCS)])
      - 
      --AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
      --AC_CACHE_VAL(cf_cv_sys_time_select,[
      --AC_TRY_COMPILE([
      --#include 
      --#ifdef HAVE_SYS_TIME_H
      --#include 
      --#endif
      --#ifdef HAVE_SYS_SELECT_H
      --#include 
      --#endif
      --],[],[cf_cv_sys_time_select=yes],
      --     [cf_cv_sys_time_select=no])
      --     ])
      --AC_MSG_RESULT($cf_cv_sys_time_select)
      --test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
      -+CF_SYS_TIME_SELECT
      -+CF_FUNC_CURSES_VERSION
      -+CF_CURSES_ACS_MAP
      -+CF_CURSES_WACS_MAP
      -+CF_CURSES_CHECK_TYPE(attr_t,long)
      -+CF_CURSES_CHECK_TYPE(mbstate_t,long)
      - 
      - dnl ---------------------------------------------------------------------------
      - 
      -@@ -311,11 +193,9 @@
      - # work consistently for different make-programs (the '\$(MODEL)/' confuses
      - # some, and the '\$x' confuses others).
      - TEST_EOF
      --LIST=`make echo_tests`
      --LAST=`make echo_suffix`
      --for n in $LIST
      -+LIST=`sed -e 's/[[ 	]].*//' -e '/^[[#@]]/d' $srcdir/modules`
      -+for N in $LIST
      - do
      --	N=`echo $n | sed -e s/${LAST}\$//`
      - 	cat >>Makefile <
      -+
      -+#if defined(NCURSES_VERSION) && NCURSES_EXT_FUNCS
      -+
      -+#include 
      -+
      -+#define MY_LOGFILE "demo_defkey.log"
      -+
      -+/*
      -+ * Log the most recently-written line to our logfile
      -+ */
      -+static void
      -+log_last_line(WINDOW *win)
      -+{
      -+    FILE *fp;
      -+    int y, x, n;
      -+    char temp[256];
      -+
      -+    if ((fp = fopen(MY_LOGFILE, "a")) != 0) {
      -+	getyx(win, y, x);
      -+	wmove(win, y - 1, 0);
      -+	n = winnstr(win, temp, sizeof(temp));
      -+	while (n-- > 0) {
      -+	    if (isspace(temp[n]))
      -+		temp[n] = '\0';
      -+	    else
      -+		break;
      -+	}
      -+	wmove(win, y, x);
      -+	fprintf(fp, "%s\n", temp);
      -+	fclose(fp);
      -+    }
      -+}
      -+
      -+/*
      -+ * Convert a character to visible form.
      -+ */
      -+static char *
      -+visichar(int ch)
      -+{
      -+    static char temp[10];
      -+
      -+    ch = UChar(ch);
      -+    if (ch == '\\') {
      -+	strcpy(temp, "\\\\");
      -+    } else if (ch == '\033') {
      -+	strcpy(temp, "\\E");
      -+    } else if (ch < ' ') {
      -+	sprintf(temp, "\\%03o", ch);
      -+    } else if (ch >= 127) {
      -+	sprintf(temp, "\\%03o", ch);
      -+    } else {
      -+	sprintf(temp, "%c", ch);
      -+    }
      -+    return temp;
      -+}
      -+
      -+/*
      -+ * Convert a string to visible form.
      -+ */
      -+static char *
      -+visible(const char *string)
      -+{
      -+    char *result = 0;
      -+    unsigned need = 1;
      -+    int pass;
      -+    int n;
      -+
      -+    if (string != 0 && *string != '\0') {
      -+	for (pass = 0; pass < 2; ++pass) {
      -+	    for (n = 0; string[n] != '\0'; ++n) {
      -+		char temp[80];
      -+		strcpy(temp, visichar(string[n]));
      -+		if (pass)
      -+		    strcat(result, temp);
      -+		else
      -+		    need += strlen(temp);
      -+	    }
      -+	    if (!pass)
      -+		result = calloc(need, 1);
      -+	}
      -+    } else {
      -+	result = calloc(1, 1);
      -+    }
      -+    return result;
      -+}
      -+
      -+static void
      -+really_define_key(WINDOW *win, const char *new_string, int code)
      -+{
      -+    int rc;
      -+    const char *code_name = keyname(code);
      -+    char *old_string;
      -+    char *vis_string = 0;
      -+    char temp[80];
      -+
      -+    if (code_name == 0) {
      -+	sprintf(temp, "Keycode %d", code);
      -+	code_name = temp;
      -+    }
      -+
      -+    if ((old_string = keybound(code, 0)) != 0) {
      -+	wprintw(win, "%s is %s\n",
      -+		code_name,
      -+		vis_string = visible(old_string));
      -+    } else {
      -+	wprintw(win, "%s is not bound\n",
      -+		code_name);
      -+    }
      -+    log_last_line(win);
      -+    if (vis_string != 0) {
      -+	free(vis_string);
      -+	vis_string = 0;
      -+    }
      -+
      -+    vis_string = visible(new_string);
      -+    if ((rc = key_defined(new_string)) > 0) {
      -+	wprintw(win, "%s was bound to %s\n", vis_string, keyname(rc));
      -+	log_last_line(win);
      -+    } else if (new_string != 0 && rc < 0) {
      -+	wprintw(win, "%s conflicts with longer strings\n", vis_string);
      -+	log_last_line(win);
      -+    }
      -+    rc = define_key(new_string, code);
      -+    if (rc == ERR) {
      -+	wprintw(win, "%s unchanged\n", code_name);
      -+	log_last_line(win);
      -+    } else if (new_string != 0) {
      -+	wprintw(win, "%s is now bound to %s\n",
      -+		vis_string,
      -+		code_name);
      -+	log_last_line(win);
      -+    } else if (old_string != 0) {
      -+	wprintw(win, "%s deleted\n", code_name);
      -+	log_last_line(win);
      -+    }
      -+    if (vis_string != 0 && *vis_string != 0)
      -+	free(vis_string);
      -+    if (old_string != 0)
      -+	free(old_string);
      -+}
      -+
      -+static void
      -+duplicate(WINDOW *win, NCURSES_CONST char *name, int code)
      -+{
      -+    char *value = tigetstr(name);
      -+
      -+    if (value != 0) {
      -+	const char *prefix = 0;
      -+	char temp[BUFSIZ];
      -+
      -+	if (!strncmp(value, "\033[", 2)) {
      -+	    prefix = "\033O";
      -+	} else if (!strncmp(value, "\033O", 2)) {
      -+	    prefix = "\033[";
      -+	}
      -+	if (prefix != 0) {
      -+	    sprintf(temp, "%s%s", prefix, value + 2);
      -+	    really_define_key(win, temp, code);
      -+	}
      -+    }
      -+}
      -+
      -+static void
      -+redefine(WINDOW *win, char *string, int code)
      -+{
      -+    really_define_key(win, string, code);
      -+}
      -+
      -+static void
      -+remove_definition(WINDOW *win, int code)
      -+{
      -+    really_define_key(win, 0, code);
      -+}
      -+
      -+int
      -+main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
      -+{
      -+    char *fkeys[12];
      -+    int n;
      -+    int ch;
      -+    WINDOW *win;
      -+
      -+    unlink(MY_LOGFILE);
      -+
      -+    initscr();
      -+    (void) cbreak();		/* take input chars one at a time, no wait for \n */
      -+    (void) noecho();		/* don't echo input */
      -+
      -+    printw("This demo is best on xterm: it reverses the definitions for f1-f12,\n");
      -+    printw("adds duplicate definitions for cursor application and normal modes,\n");
      -+    printw("and removes any definitions for the mini keypad.  Type any of those:\n");
      -+    refresh();
      -+
      -+    win = newwin(LINES - 3, COLS, 3, 0);
      -+    scrollok(win, TRUE);
      -+    keypad(win, TRUE);
      -+    wmove(win, 0, 0);
      -+
      -+    /* we do the define_key() calls after keypad(), since the first call to
      -+     * keypad() initializes the corresponding data.
      -+     */
      -+    for (n = 0; n < 12; ++n) {
      -+	char name[10];
      -+	sprintf(name, "kf%d", n + 1);
      -+	fkeys[n] = tigetstr(name);
      -+    }
      -+    for (n = 0; n < 12; ++n) {
      -+	redefine(win, fkeys[11 - n], KEY_F(n + 1));
      -+    }
      -+
      -+    duplicate(win, "kcub1", KEY_LEFT);
      -+    duplicate(win, "kcuu1", KEY_UP);
      -+    duplicate(win, "kcud1", KEY_DOWN);
      -+    duplicate(win, "kcuf1", KEY_RIGHT);
      -+
      -+    remove_definition(win, KEY_A1);
      -+    remove_definition(win, KEY_A3);
      -+    remove_definition(win, KEY_B2);
      -+    remove_definition(win, KEY_C1);
      -+    remove_definition(win, KEY_C3);
      -+
      -+    really_define_key(win, "\033O", 1023);
      -+
      -+    while ((ch = wgetch(win)) != ERR) {
      -+	const char *name = keyname(ch);
      -+	wprintw(win, "Keycode %d, name %s\n",
      -+		ch,
      -+		name != 0 ? name : "");
      -+	log_last_line(win);
      -+	wclrtoeol(win);
      -+    }
      -+    endwin();
      -+    return EXIT_SUCCESS;
      -+}
      -+#else
      -+int
      -+main(void)
      -+{
      -+    printf("This program requires the ncurses library\n");
      -+    ExitProgram(EXIT_FAILURE);
      -+}
      -+#endif
      -diff -urNd -urNd ncurses-5.3/test/demo_forms.c ncurses-5.3.20030906.orig/test/demo_forms.c
      ---- ncurses-5.3/test/demo_forms.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/demo_forms.c	Tue May 13 20:08:23 2003
      -@@ -0,0 +1,295 @@
      -+/*
      -+ * $Id: demo_forms.c,v 1.3 2003/05/03 22:08:20 tom Exp $
      -+ *
      -+ * Demonstrate a variety of functions from the form library.
      -+ * Thomas Dickey - 2003/4/26
      -+ */
      -+/*
      -+TYPE_ALNUM			-
      -+TYPE_ENUM			-
      -+TYPE_INTEGER			-
      -+TYPE_IPV4			-
      -+TYPE_NUMERIC			-
      -+TYPE_REGEXP			-
      -+data_ahead			-
      -+data_behind			-
      -+dup_field			-
      -+dynamic_field_info		-
      -+field_arg			-
      -+field_back			-
      -+field_count			-
      -+field_fore			-
      -+field_init			-
      -+field_just			-
      -+field_opts_on			-
      -+field_pad			-
      -+field_status			-
      -+field_term			-
      -+field_type			-
      -+form_init			-
      -+form_opts			-
      -+form_opts_off			-
      -+form_opts_on			-
      -+form_page			-
      -+form_request_by_name		-
      -+form_term			-
      -+form_userptr			-
      -+free_fieldtype			-
      -+link_field			-
      -+link_fieldtype			-
      -+move_field			-
      -+new_page			-
      -+pos_form_cursor			-
      -+set_current_field		-
      -+set_field_fore			-
      -+set_field_init			-
      -+set_field_pad			-
      -+set_field_status		-
      -+set_field_term			-
      -+set_fieldtype_arg		-
      -+set_fieldtype_choice		-
      -+set_form_fields			-
      -+set_form_init			-
      -+set_form_opts			-
      -+set_form_page			-
      -+set_form_term			-
      -+set_form_userptr		-
      -+set_max_field			-
      -+*/
      -+
      -+#include 
      -+
      -+#if USE_LIBFORM
      -+
      -+#include 
      -+
      -+static FIELD *
      -+make_label(int frow, int fcol, NCURSES_CONST char *label)
      -+{
      -+    FIELD *f = new_field(1, strlen(label), frow, fcol, 0, 0);
      -+
      -+    if (f) {
      -+	set_field_buffer(f, 0, label);
      -+	set_field_opts(f, field_opts(f) & ~O_ACTIVE);
      -+    }
      -+    return (f);
      -+}
      -+
      -+/*
      -+ * Define each field with an extra one, for reflecting "actual" text.
      -+ */
      -+static FIELD *
      -+make_field(int frow, int fcol, int rows, int cols)
      -+{
      -+    FIELD *f = new_field(rows, cols, frow, fcol, 0, 1);
      -+
      -+    if (f) {
      -+	set_field_back(f, A_UNDERLINE);
      -+	set_field_userptr(f, (void *) 0);
      -+    }
      -+    return (f);
      -+}
      -+
      -+static void
      -+display_form(FORM * f)
      -+{
      -+    WINDOW *w;
      -+    int rows, cols;
      -+
      -+    scale_form(f, &rows, &cols);
      -+
      -+    /*
      -+     * Put the form at the upper-left corner of the display, with just a box
      -+     * around it.
      -+     */
      -+    if ((w = newwin(rows + 2, cols + 4, 0, 0)) != (WINDOW *) 0) {
      -+	set_form_win(f, w);
      -+	set_form_sub(f, derwin(w, rows, cols, 1, 2));
      -+	box(w, 0, 0);
      -+	keypad(w, TRUE);
      -+    }
      -+
      -+    if (post_form(f) != E_OK)
      -+	wrefresh(w);
      -+}
      -+
      -+static void
      -+erase_form(FORM * f)
      -+{
      -+    WINDOW *w = form_win(f);
      -+    WINDOW *s = form_sub(f);
      -+
      -+    unpost_form(f);
      -+    werase(w);
      -+    wrefresh(w);
      -+    delwin(s);
      -+    delwin(w);
      -+}
      -+
      -+static int
      -+my_form_driver(FORM * form, int c)
      -+{
      -+    switch (c) {
      -+    case EDIT_FIELD('q'):
      -+	if (form_driver(form, REQ_VALIDATION) == E_OK)
      -+	    return (TRUE);
      -+	break;
      -+    case EDIT_FIELD('h'):
      -+	help_edit_field();
      -+	break;
      -+    default:
      -+	beep();
      -+	break;
      -+    }
      -+    return (FALSE);
      -+}
      -+
      -+static void
      -+show_current_field(WINDOW *win, FORM * form)
      -+{
      -+    FIELD *field;
      -+    FIELDTYPE *type;
      -+    char *buffer;
      -+    int nbuf;
      -+
      -+    if (has_colors()) {
      -+	wbkgd(win, COLOR_PAIR(1));
      -+    }
      -+    werase(win);
      -+    wprintw(win, "Cursor: %d,%d\n", form->currow, form->curcol);
      -+    if ((field = current_field(form)) != 0) {
      -+	wprintw(win, "Field %d:", field_index(field));
      -+	if ((type = field_type(field)) != 0) {
      -+	    if (type == TYPE_ALNUM)
      -+		waddstr(win, "ALNUM");
      -+	    else if (type == TYPE_ALPHA)
      -+		waddstr(win, "ALPHA");
      -+	    else if (type == TYPE_ENUM)
      -+		waddstr(win, "ENUM");
      -+	    else if (type == TYPE_INTEGER)
      -+		waddstr(win, "INTEGER");
      -+	    else if (type == TYPE_NUMERIC)
      -+		waddstr(win, "NUMERIC");
      -+	    else if (type == TYPE_REGEXP)
      -+		waddstr(win, "REGEXP");
      -+	    else
      -+		waddstr(win, "other");
      -+	}
      -+	waddstr(win, "\n");
      -+	for (nbuf = 0; nbuf <= 2; ++nbuf) {
      -+	    if ((buffer = field_buffer(field, nbuf)) != 0) {
      -+		wprintw(win, "buffer %d:", nbuf);
      -+		wattrset(win, A_REVERSE);
      -+		waddstr(win, buffer);
      -+		wattroff(win, A_REVERSE);
      -+		waddstr(win, "\n");
      -+	    }
      -+	}
      -+    }
      -+    wrefresh(win);
      -+}
      -+
      -+static void
      -+demo_forms(void)
      -+{
      -+    WINDOW *w;
      -+    FORM *form;
      -+    FIELD *f[100];
      -+    int finished = 0, c;
      -+    unsigned n = 0;
      -+    int pg;
      -+    WINDOW *also;
      -+
      -+    help_edit_field();
      -+
      -+    mvaddstr(4, 57, "Forms Entry Test");
      -+
      -+    refresh();
      -+
      -+    /* describe the form */
      -+    for (pg = 0; pg < 3; ++pg) {
      -+	char label[80];
      -+	sprintf(label, "Sample Form Page %d", pg + 1);
      -+	f[n++] = make_label(0, 15, label);
      -+	set_new_page(f[n - 1], TRUE);
      -+
      -+	f[n++] = make_label(2, 0, "Last Name");
      -+	f[n++] = make_field(3, 0, 1, 18);
      -+	set_field_type(f[n - 1], TYPE_ALPHA, 1);
      -+
      -+	f[n++] = make_label(2, 20, "First Name");
      -+	f[n++] = make_field(3, 20, 1, 12);
      -+	set_field_type(f[n - 1], TYPE_ALPHA, 1);
      -+
      -+	f[n++] = make_label(2, 34, "Middle Name");
      -+	f[n++] = make_field(3, 34, 1, 12);
      -+	set_field_type(f[n - 1], TYPE_ALPHA, 1);
      -+
      -+	f[n++] = make_label(5, 0, "Comments");
      -+	f[n++] = make_field(6, 0, 4, 46);
      -+    }
      -+
      -+    f[n++] = (FIELD *) 0;
      -+
      -+    form = new_form(f);
      -+
      -+    display_form(form);
      -+
      -+    w = form_win(form);
      -+    also = newwin(getmaxy(stdscr) - getmaxy(w), COLS, getmaxy(w), 0);
      -+    show_current_field(also, form);
      -+
      -+    while (!finished) {
      -+	switch (edit_field(form, &c)) {
      -+	case E_OK:
      -+	    break;
      -+	case E_UNKNOWN_COMMAND:
      -+	    finished = my_form_driver(form, c);
      -+	    break;
      -+	default:
      -+	    beep();
      -+	    break;
      -+	}
      -+	show_current_field(also, form);
      -+    }
      -+
      -+    erase_form(form);
      -+
      -+    free_form(form);
      -+    for (c = 0; f[c] != 0; c++)
      -+	free_field(f[c]);
      -+    noraw();
      -+    nl();
      -+}
      -+
      -+int
      -+main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
      -+{
      -+    initscr();
      -+    cbreak();
      -+    noecho();
      -+    raw();
      -+    nonl();			/* lets us read ^M's */
      -+    intrflush(stdscr, FALSE);
      -+    keypad(stdscr, TRUE);
      -+
      -+    if (has_colors()) {
      -+	start_color();
      -+	init_pair(1, COLOR_WHITE, COLOR_BLUE);
      -+	bkgd(COLOR_PAIR(1));
      -+	refresh();
      -+    }
      -+
      -+    demo_forms();
      -+
      -+    endwin();
      -+    return EXIT_SUCCESS;
      -+}
      -+#else
      -+int
      -+main(void)
      -+{
      -+    printf("This program requires the curses form library\n");
      -+    ExitProgram(EXIT_FAILURE);
      -+}
      -+#endif
      -diff -urNd -urNd ncurses-5.3/test/demo_keyok.c ncurses-5.3.20030906.orig/test/demo_keyok.c
      ---- ncurses-5.3/test/demo_keyok.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/demo_keyok.c	Sun Jul 20 14:02:08 2003
      -@@ -0,0 +1,55 @@
      -+/*
      -+ * $Id: demo_keyok.c,v 1.3 2003/05/17 23:18:34 tom Exp $
      -+ *
      -+ * Demonstrate the keyok() function.
      -+ * Thomas Dickey - 2002/11/23
      -+ */
      -+
      -+#include 
      -+
      -+#if defined(NCURSES_VERSION) && NCURSES_EXT_FUNCS
      -+int
      -+main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
      -+{
      -+    int lastch = ERR;
      -+    int ch;
      -+    WINDOW *win;
      -+
      -+    initscr();
      -+    (void) cbreak();		/* take input chars one at a time, no wait for \n */
      -+    (void) noecho();		/* don't echo input */
      -+
      -+    printw("Typing any function key will disable it, but typing it twice in\n");
      -+    printw("a row will turn it back on (just for a demo).");
      -+    refresh();
      -+
      -+    win = newwin(LINES - 2, COLS, 2, 0);
      -+    scrollok(win, TRUE);
      -+    keypad(win, TRUE);
      -+    wmove(win, 0, 0);
      -+
      -+    while ((ch = wgetch(win)) != ERR) {
      -+	const char *name = keyname(ch);
      -+	wprintw(win, "Keycode %d, name %s\n",
      -+		ch,
      -+		name != 0 ? name : "");
      -+	wclrtoeol(win);
      -+	wrefresh(win);
      -+	if (ch >= KEY_MIN) {
      -+	    keyok(ch, FALSE);
      -+	    lastch = ch;
      -+	} else if (lastch >= KEY_MIN) {
      -+	    keyok(lastch, TRUE);
      -+	}
      -+    }
      -+    endwin();
      -+    return EXIT_SUCCESS;
      -+}
      -+#else
      -+int
      -+main(void)
      -+{
      -+    printf("This program requires the ncurses library\n");
      -+    ExitProgram(EXIT_FAILURE);
      -+}
      -+#endif
      -diff -urNd -urNd ncurses-5.3/test/demo_menus.c ncurses-5.3.20030906.orig/test/demo_menus.c
      ---- ncurses-5.3/test/demo_menus.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/demo_menus.c	Tue May 13 20:08:23 2003
      -@@ -0,0 +1,73 @@
      -+/*
      -+ * $Id: demo_menus.c,v 1.1 2003/04/26 22:10:43 tom Exp $
      -+ *
      -+ * Demonstrate a variety of functions from the menu library.
      -+ * Thomas Dickey - 2003/4/26
      -+ */
      -+/*
      -+item_count			-
      -+item_description		-
      -+item_init			-
      -+item_opts			-
      -+item_opts_off			-
      -+item_opts_on			-
      -+item_term			-
      -+item_userptr			-
      -+item_visible			-
      -+menu_back			-
      -+menu_fore			-
      -+menu_format			-
      -+menu_grey			-
      -+menu_init			-
      -+menu_mark			-
      -+menu_opts			-
      -+menu_opts_on			-
      -+menu_pad			-
      -+menu_pattern			-
      -+menu_request_by_name		-
      -+menu_request_name		-
      -+menu_spacing			-
      -+menu_sub			-
      -+menu_term			-
      -+menu_userptr			-
      -+set_current_item		-
      -+set_item_init			-
      -+set_item_opts			-
      -+set_item_term			-
      -+set_item_userptr		-
      -+set_menu_back			-
      -+set_menu_fore			-
      -+set_menu_grey			-
      -+set_menu_init			-
      -+set_menu_items			-
      -+set_menu_mark			-
      -+set_menu_opts			-
      -+set_menu_pad			-
      -+set_menu_pattern		-
      -+set_menu_spacing		-
      -+set_menu_term			-
      -+set_menu_userptr		-
      -+set_top_row			-
      -+top_row				-
      -+*/
      -+
      -+#include 
      -+
      -+#if USE_LIBMENU
      -+
      -+#include 
      -+
      -+int
      -+main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
      -+{
      -+    printf("Not implemented - demo for menu library\n");
      -+    return EXIT_SUCCESS;
      -+}
      -+#else
      -+int
      -+main(void)
      -+{
      -+    printf("This program requires the curses menu library\n");
      -+    ExitProgram(EXIT_FAILURE);
      -+}
      -+#endif
      -diff -urNd -urNd ncurses-5.3/test/demo_panels.c ncurses-5.3.20030906.orig/test/demo_panels.c
      ---- ncurses-5.3/test/demo_panels.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/demo_panels.c	Tue May 13 20:08:23 2003
      -@@ -0,0 +1,33 @@
      -+/*
      -+ * $Id: demo_panels.c,v 1.1 2003/04/26 22:11:23 tom Exp $
      -+ *
      -+ * Demonstrate a variety of functions from the panel library.
      -+ * Thomas Dickey - 2003/4/26
      -+ */
      -+/*
      -+panel_above			-
      -+panel_below			-
      -+panel_hidden			-
      -+replace_panel			-
      -+*/
      -+
      -+#include 
      -+
      -+#if USE_LIBPANEL
      -+
      -+#include 
      -+
      -+int
      -+main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
      -+{
      -+    printf("Not implemented - demo for panel library\n");
      -+    return EXIT_SUCCESS;
      -+}
      -+#else
      -+int
      -+main(void)
      -+{
      -+    printf("This program requires the curses panel library\n");
      -+    ExitProgram(EXIT_FAILURE);
      -+}
      -+#endif
      -diff -urNd -urNd ncurses-5.3/test/edit_field.c ncurses-5.3.20030906.orig/test/edit_field.c
      ---- ncurses-5.3/test/edit_field.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/edit_field.c	Sun Jul 20 14:02:08 2003
      -@@ -0,0 +1,402 @@
      -+/*
      -+ * $Id: edit_field.c,v 1.7 2003/05/17 23:16:13 tom Exp $
      -+ *
      -+ * A wrapper for form_driver() which keeps track of the user's editing changes
      -+ * for each field, and makes the result available as a null-terminated string
      -+ * in field_buffer(field,1).
      -+ *
      -+ * Thomas Dickey - 2003/4/26.
      -+ */
      -+
      -+#include 
      -+
      -+#if USE_LIBFORM
      -+
      -+#include 
      -+
      -+#define MY_QUIT		EDIT_FIELD('q')
      -+#define MY_INS_MODE	EDIT_FIELD('t')
      -+
      -+static struct {
      -+    int code;
      -+    int result;
      -+    const char *help;
      -+} commands[] = {
      -+
      -+    {
      -+	CTRL('A'), REQ_NEXT_CHOICE, ""
      -+    },
      -+    {
      -+	CTRL('B'), REQ_PREV_WORD, "go to previous word"
      -+    },
      -+    {
      -+	CTRL('C'), REQ_CLR_EOL, "clear to end of line"
      -+    },
      -+    {
      -+	CTRL('D'), REQ_DOWN_FIELD, "move downward to field"
      -+    },
      -+    {
      -+	CTRL('E'), REQ_END_FIELD, "go to end of field"
      -+    },
      -+    {
      -+	CTRL('F'), REQ_NEXT_PAGE, "go to next page"
      -+    },
      -+    {
      -+	CTRL('G'), REQ_DEL_WORD, "delete current word"
      -+    },
      -+    {
      -+	CTRL('H'), REQ_DEL_PREV, "delete previous character"
      -+    },
      -+    {
      -+	CTRL('I'), REQ_INS_CHAR, "insert character"
      -+    },
      -+    {
      -+	CTRL('K'), REQ_CLR_EOF, "clear to end of field"
      -+    },
      -+    {
      -+	CTRL('L'), REQ_LEFT_FIELD, "go to field to left"
      -+    },
      -+    {
      -+	CTRL('M'), REQ_NEW_LINE, "insert/overlay new line"
      -+    },
      -+    {
      -+	CTRL('N'), REQ_NEXT_FIELD, "go to next field"
      -+    },
      -+    {
      -+	CTRL('O'), REQ_INS_LINE, "insert blank line at cursor"
      -+    },
      -+    {
      -+	CTRL('P'), REQ_PREV_FIELD, "go to previous field"
      -+    },
      -+    {
      -+	CTRL('Q'), MY_QUIT, "exit form"
      -+    },
      -+    {
      -+	CTRL('R'), REQ_RIGHT_FIELD, "go to field to right"
      -+    },
      -+    {
      -+	CTRL('S'), REQ_BEG_FIELD, "go to beginning of field"
      -+    },
      -+    {
      -+	CTRL('U'), REQ_UP_FIELD, "move upward to field"
      -+    },
      -+    {
      -+	CTRL('V'), REQ_DEL_CHAR, "delete character"
      -+    },
      -+    {
      -+	CTRL('W'), REQ_NEXT_WORD, "go to next word"
      -+    },
      -+    {
      -+	CTRL('X'), REQ_CLR_FIELD, "clear field"
      -+    },
      -+    {
      -+	CTRL('Y'), REQ_DEL_LINE, "delete line"
      -+    },
      -+    {
      -+	CTRL('Z'), REQ_PREV_CHOICE, ""
      -+    },
      -+    {
      -+	CTRL('['), MY_QUIT, "exit form"
      -+    },
      -+    {
      -+	CTRL(']'), MY_INS_MODE, "toggle REQ_INS_MODE/REQ_OVL_MODE",
      -+    },
      -+    {
      -+	KEY_F(1), EDIT_FIELD('h'), "show this screen",
      -+    },
      -+    {
      -+	KEY_BACKSPACE, REQ_DEL_PREV, "delete previous character"
      -+    },
      -+    {
      -+	KEY_DOWN, REQ_DOWN_CHAR, "move down 1 character"
      -+    },
      -+    {
      -+	KEY_END, REQ_LAST_FIELD, "go to last field"
      -+    },
      -+    {
      -+	KEY_HOME, REQ_FIRST_FIELD, "go to first field"
      -+    },
      -+    {
      -+	KEY_LEFT, REQ_LEFT_CHAR, "move left 1 character"
      -+    },
      -+    {
      -+	KEY_LL, REQ_LAST_FIELD, "go to last field"
      -+    },
      -+    {
      -+	KEY_NEXT, REQ_NEXT_FIELD, "go to next field"
      -+    },
      -+    {
      -+	KEY_NPAGE, REQ_NEXT_PAGE, "go to next page"
      -+    },
      -+    {
      -+	KEY_PPAGE, REQ_PREV_PAGE, "go to previous page"
      -+    },
      -+    {
      -+	KEY_PREVIOUS, REQ_PREV_FIELD, "go to previous field"
      -+    },
      -+    {
      -+	KEY_RIGHT, REQ_RIGHT_CHAR, "move right 1 character"
      -+    },
      -+    {
      -+	KEY_UP, REQ_UP_CHAR, "move up 1 character"
      -+    }
      -+};
      -+
      -+static WINDOW *old_window;
      -+
      -+static void
      -+begin_popup(void)
      -+{
      -+    doupdate();
      -+    old_window = dupwin(curscr);
      -+}
      -+
      -+static void
      -+end_popup(void)
      -+{
      -+    touchwin(old_window);
      -+    wnoutrefresh(old_window);
      -+    doupdate();
      -+    delwin(old_window);
      -+}
      -+
      -+/*
      -+ * Display a temporary window listing the keystroke-commands we recognize.
      -+ */
      -+void
      -+help_edit_field(void)
      -+{
      -+    int x0 = 4;
      -+    int y0 = 2;
      -+    int y1 = 0;
      -+    int y2 = 0;
      -+    int wide = COLS - ((x0 + 1) * 2);
      -+    int high = LINES - ((y0 + 1) * 2);
      -+    WINDOW *help = newwin(high, wide, y0, x0);
      -+    WINDOW *data = newpad(2 + SIZEOF(commands), wide - 4);
      -+    unsigned n;
      -+    int ch = ERR;
      -+
      -+    begin_popup();
      -+
      -+    keypad(help, TRUE);
      -+    keypad(data, TRUE);
      -+    waddstr(data, "Defined form-traversal keys:\n");
      -+    for (n = 0; n < SIZEOF(commands); ++n) {
      -+	const char *name;
      -+#ifdef NCURSES_VERSION
      -+	if ((name = form_request_name(commands[n].result)) == 0)
      -+#endif
      -+	    name = commands[n].help;
      -+	wprintw(data, "%s -- %s\n",
      -+		keyname(commands[n].code),
      -+		name != 0 ? name : commands[n].help);
      -+    }
      -+    waddstr(data, "Arrow keys move within a field as you would expect.");
      -+    y2 = getcury(data);
      -+
      -+    do {
      -+	switch (ch) {
      -+	case CTRL('P'):
      -+	case KEY_UP:
      -+	    if (y1 > 0)
      -+		--y1;
      -+	    else
      -+		beep();
      -+	    break;
      -+	case CTRL('N'):
      -+	case KEY_DOWN:
      -+	    if (y1 < y2)
      -+		++y1;
      -+	    else
      -+		beep();
      -+	    break;
      -+	default:
      -+	    beep();
      -+	    break;
      -+	case ERR:
      -+	    break;
      -+	}
      -+	werase(help);
      -+	box(help, 0, 0);
      -+	wnoutrefresh(help);
      -+	pnoutrefresh(data, y1, 0, y0 + 1, x0 + 1, high, wide);
      -+	doupdate();
      -+    } while ((ch = wgetch(data)) != ERR && ch != QUIT && ch != ESCAPE);
      -+    werase(help);
      -+    wrefresh(help);
      -+    delwin(help);
      -+    delwin(data);
      -+
      -+    end_popup();
      -+}
      -+
      -+static int
      -+offset_in_field(FORM * form)
      -+{
      -+    FIELD *field = current_field(form);
      -+    return form->curcol + form->currow * field->dcols;
      -+}
      -+
      -+int
      -+edit_field(FORM * form, int *result)
      -+{
      -+    int ch = wgetch(form_win(form));
      -+    int status;
      -+    FIELD *before;
      -+    FIELD *after;
      -+    unsigned n;
      -+    char lengths[80];
      -+    int length;
      -+    char *buffer;
      -+    int before_row = form->currow;
      -+    int before_col = form->curcol;
      -+    int before_off = offset_in_field(form);
      -+
      -+    before = current_field(form);
      -+    set_field_back(before, A_NORMAL);
      -+    if (ch <= KEY_MAX) {
      -+	set_field_back(before, A_REVERSE);
      -+    } else if (ch <= MAX_FORM_COMMAND) {
      -+	set_field_back(before, A_UNDERLINE);
      -+    }
      -+
      -+    *result = ch;
      -+    for (n = 0; n < SIZEOF(commands); ++n) {
      -+	if (commands[n].code == ch) {
      -+	    *result = commands[n].result;
      -+	    break;
      -+	}
      -+    }
      -+
      -+    status = form_driver(form, *result);
      -+
      -+    if (status == E_OK) {
      -+	bool modified = TRUE;
      -+
      -+	length = 0;
      -+	if ((buffer = field_buffer(before, 1)) != 0)
      -+	    length = atoi(buffer);
      -+	if (length < before_off)
      -+	    length = before_off;
      -+	switch (*result) {
      -+	case REQ_CLR_EOF:
      -+	    length = before_off;
      -+	    break;
      -+	case REQ_CLR_EOL:
      -+	    if (before_row + 1 == before->rows)
      -+		length = before_off;
      -+	    break;
      -+	case REQ_CLR_FIELD:
      -+	    length = 0;
      -+	    break;
      -+	case REQ_DEL_CHAR:
      -+	    if (length > before_off)
      -+		--length;
      -+	    break;
      -+	case REQ_DEL_PREV:
      -+	    if (length > 0) {
      -+		if (before_col > 0) {
      -+		    --length;
      -+		} else if (before_row > 0) {
      -+		    length -= before->cols + before_col;
      -+		}
      -+	    }
      -+	    break;
      -+	case REQ_NEW_LINE:
      -+	    length += before->cols;
      -+	    break;
      -+#if 0
      -+	    /* FIXME: finish these */
      -+	case REQ_DEL_LINE:	/* delete line */
      -+	case REQ_DEL_WORD:	/* delete word at cursor */
      -+	case REQ_INS_CHAR:	/* insert blank char at cursor */
      -+	case REQ_INS_LINE:	/* insert blank line at cursor */
      -+	case REQ_INS_MODE:	/* begin insert mode */
      -+	case REQ_OVL_MODE:	/* begin overlay mode */
      -+#endif
      -+	    /* ignore all of the motion commands */
      -+	case REQ_SCR_BCHAR:	/* FALLTHRU */
      -+	case REQ_SCR_BHPAGE:	/* FALLTHRU */
      -+	case REQ_SCR_BLINE:	/* FALLTHRU */
      -+	case REQ_SCR_BPAGE:	/* FALLTHRU */
      -+	case REQ_SCR_FCHAR:	/* FALLTHRU */
      -+	case REQ_SCR_FHPAGE:	/* FALLTHRU */
      -+	case REQ_SCR_FLINE:	/* FALLTHRU */
      -+	case REQ_SCR_FPAGE:	/* FALLTHRU */
      -+	case REQ_SCR_HBHALF:	/* FALLTHRU */
      -+	case REQ_SCR_HBLINE:	/* FALLTHRU */
      -+	case REQ_SCR_HFHALF:	/* FALLTHRU */
      -+	case REQ_SCR_HFLINE:	/* FALLTHRU */
      -+	case REQ_BEG_FIELD:	/* FALLTHRU */
      -+	case REQ_BEG_LINE:	/* FALLTHRU */
      -+	case REQ_DOWN_CHAR:	/* FALLTHRU */
      -+	case REQ_DOWN_FIELD:	/* FALLTHRU */
      -+	case REQ_END_FIELD:	/* FALLTHRU */
      -+	case REQ_END_LINE:	/* FALLTHRU */
      -+	case REQ_FIRST_FIELD:	/* FALLTHRU */
      -+	case REQ_FIRST_PAGE:	/* FALLTHRU */
      -+	case REQ_LAST_FIELD:	/* FALLTHRU */
      -+	case REQ_LAST_PAGE:	/* FALLTHRU */
      -+	case REQ_LEFT_CHAR:	/* FALLTHRU */
      -+	case REQ_LEFT_FIELD:	/* FALLTHRU */
      -+	case REQ_NEXT_CHAR:	/* FALLTHRU */
      -+	case REQ_NEXT_CHOICE:	/* FALLTHRU */
      -+	case REQ_NEXT_FIELD:	/* FALLTHRU */
      -+	case REQ_NEXT_LINE:	/* FALLTHRU */
      -+	case REQ_NEXT_PAGE:	/* FALLTHRU */
      -+	case REQ_NEXT_WORD:	/* FALLTHRU */
      -+	case REQ_PREV_CHAR:	/* FALLTHRU */
      -+	case REQ_PREV_CHOICE:	/* FALLTHRU */
      -+	case REQ_PREV_FIELD:	/* FALLTHRU */
      -+	case REQ_PREV_LINE:	/* FALLTHRU */
      -+	case REQ_PREV_PAGE:	/* FALLTHRU */
      -+	case REQ_PREV_WORD:	/* FALLTHRU */
      -+	case REQ_RIGHT_CHAR:	/* FALLTHRU */
      -+	case REQ_RIGHT_FIELD:	/* FALLTHRU */
      -+	case REQ_SFIRST_FIELD:	/* FALLTHRU */
      -+	case REQ_SLAST_FIELD:	/* FALLTHRU */
      -+	case REQ_SNEXT_FIELD:	/* FALLTHRU */
      -+	case REQ_SPREV_FIELD:	/* FALLTHRU */
      -+	case REQ_UP_CHAR:	/* FALLTHRU */
      -+	case REQ_UP_FIELD:	/* FALLTHRU */
      -+	case REQ_VALIDATION:	/* FALLTHRU */
      -+	    modified = FALSE;
      -+	    break;
      -+
      -+	default:
      -+	    modified = FALSE;
      -+	    if (ch >= MIN_FORM_COMMAND) {
      -+		beep();
      -+	    } else if (isprint(ch)) {
      -+		modified = TRUE;
      -+	    }
      -+	    break;
      -+	}
      -+
      -+	/*
      -+	 * If we do not force a re-validation, then field_buffer 0 will
      -+	 * be lagging by one character.
      -+	 */
      -+	if (modified && form_driver(form, REQ_VALIDATION) == E_OK && *result
      -+	    < MIN_FORM_COMMAND)
      -+	    ++length;
      -+
      -+	sprintf(lengths, "%d", length);
      -+	set_field_buffer(before, 1, lengths);
      -+    }
      -+
      -+    if ((after = current_field(form)) != before)
      -+	set_field_back(before, A_UNDERLINE);
      -+    return status;
      -+}
      -+#else
      -+
      -+extern void no_edit_field(void);
      -+
      -+void
      -+no_edit_field(void)
      -+{
      -+}
      -+
      -+#endif
      -diff -urNd -urNd ncurses-5.3/test/edit_field.h ncurses-5.3.20030906.orig/test/edit_field.h
      ---- ncurses-5.3/test/edit_field.h	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/edit_field.h	Tue May 13 20:08:23 2003
      -@@ -0,0 +1,17 @@
      -+/*
      -+ * $Id: edit_field.h,v 1.1 2003/04/26 22:54:50 tom Exp $
      -+ *
      -+ * Interface of edit_field.c
      -+ */
      -+
      -+#ifndef EDIT_FORM_H_incl
      -+#define EDIT_FORM_H_incl 1
      -+
      -+#include 
      -+
      -+#define EDIT_FIELD(c) (MAX_FORM_COMMAND + c)
      -+
      -+extern void help_edit_field(void);
      -+extern int edit_field(FORM * form, int *result);
      -+
      -+#endif /* EDIT_FORM_H_incl */
      -diff -urNd -urNd ncurses-5.3/test/gdc.6 ncurses-5.3.20030906.orig/test/gdc.6
      ---- ncurses-5.3/test/gdc.6	Wed Dec  7 00:29:08 1994
      -+++ ncurses-5.3.20030906.orig/test/gdc.6	Tue May 13 20:08:23 2003
      -@@ -1,3 +1,4 @@
      -+.\" $Id: gdc.6,v 1.2 2003/03/15 20:50:03 tom Exp $
      - .TH GDC 6
      - .SH NAME
      - gdc \- grand digital clock (curses)
      -@@ -16,7 +17,7 @@
      - seconds (default never).
      - The optional
      - .B -s
      --flag makes digits scroll as they change. In this curses mode implementation,
      -+flag makes digits scroll as they change. In some curses mode implementations,
      - the scrolling option has trouble keeping up.
      - .SH AUTHOR
      - Amos Shapir, modified for curses by John Lupien.
      -diff -urNd -urNd ncurses-5.3/test/hashtest.c ncurses-5.3.20030906.orig/test/hashtest.c
      ---- ncurses-5.3/test/hashtest.c	Sat Jun 29 18:32:18 2002
      -+++ ncurses-5.3.20030906.orig/test/hashtest.c	Tue May 13 20:08:23 2003
      -@@ -3,7 +3,7 @@
      -  *
      -  * Generate timing statistics for vertical-motion optimization.
      -  *
      -- * $Id: hashtest.c,v 1.22 2002/06/29 23:32:18 tom Exp $
      -+ * $Id: hashtest.c,v 1.23 2002/10/19 22:11:24 tom Exp $
      -  */
      - 
      - #ifdef TRACE
      -@@ -14,8 +14,6 @@
      - #define USE_TRACE 0
      - #endif
      - 
      --#include 
      --
      - #include 
      - 
      - #define LO_CHAR ' '
      -diff -urNd -urNd ncurses-5.3/test/ins_wide.c ncurses-5.3.20030906.orig/test/ins_wide.c
      ---- ncurses-5.3/test/ins_wide.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/ins_wide.c	Fri Sep 12 16:41:56 2003
      -@@ -0,0 +1,218 @@
      -+/*
      -+ * $Id: ins_wide.c,v 1.3 2003/08/09 22:07:23 tom Exp $
      -+ *
      -+ * Demonstrate the wins_wstr() and wins_wch functions.
      -+ * Thomas Dickey - 2002/11/23
      -+ *
      -+ * Note: to provide inputs for *ins_wch(), we use setcchar().  A quirk of the
      -+ * X/Open definition for that function is that the string contains no
      -+ * characters with negative width.  Any control character (such as tab) falls
      -+ * into that category.  So it follows that *ins_wch() cannot render a tab
      -+ * character because there is no legal way to construct a cchar_t containing
      -+ * one.  X/Open does not document this, and it would be logical to assume that
      -+ * *ins_wstr() has the same limitation, but it uses a wchar_t string directly,
      -+ * and does not document how tabs are handled.
      -+ */
      -+
      -+#include 
      -+
      -+#define TABSIZE 8
      -+
      -+#if USE_WIDEC_SUPPORT
      -+static int margin = (2 * TABSIZE) - 1;
      -+
      -+static void
      -+legend(WINDOW *win, wchar_t * buffer, int length)
      -+{
      -+    wmove(win, 0, 0);
      -+    wprintw(win,
      -+	    "The Strings/Chars displays should match.  Enter any characters.\n");
      -+    wprintw(win,
      -+	    "Use down-arrow or ^N to repeat on the next line, 'q' to exit.\n");
      -+    wclrtoeol(win);
      -+    wprintw(win, "Inserted %d characters <", length);
      -+    waddwstr(win, buffer);
      -+    waddstr(win, ">");
      -+}
      -+
      -+static int
      -+ColOf(wchar_t * buffer, int length)
      -+{
      -+    int n;
      -+    int result;
      -+
      -+    for (n = 0, result = margin + 1; n < length; ++n) {
      -+	int ch = buffer[n];
      -+	switch (ch) {
      -+	case '\n':
      -+	    /* actually newline should clear the remainder of the line
      -+	     * and move to the next line - but that seems a little awkward
      -+	     * in this example.
      -+	     */
      -+	case '\r':
      -+	    result = 0;
      -+	    break;
      -+	case '\b':
      -+	    if (result > 0)
      -+		--result;
      -+	    break;
      -+	case '\t':
      -+	    result += (TABSIZE - (result % TABSIZE));
      -+	    break;
      -+	case '\177':
      -+	    result += 2;
      -+	    break;
      -+	default:
      -+	    ++result;
      -+	    if (ch < 32)
      -+		++result;
      -+	    break;
      -+	}
      -+    }
      -+    return result;
      -+}
      -+
      -+int
      -+main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
      -+{
      -+    cchar_t tmp_cchar;
      -+    wchar_t tmp_wchar[2];
      -+    wint_t ch;
      -+    int code;
      -+    int limit;
      -+    int row = 1;
      -+    int col;
      -+    int length;
      -+    wchar_t buffer[BUFSIZ];
      -+    WINDOW *work;
      -+    WINDOW *show;
      -+
      -+    putenv("TABSIZE=8");
      -+    initscr();
      -+    (void) cbreak();		/* take input chars one at a time, no wait for \n */
      -+    (void) noecho();		/* don't echo input */
      -+    keypad(stdscr, TRUE);
      -+
      -+    limit = LINES - 5;
      -+    work = newwin(limit, COLS, 0, 0);
      -+    show = newwin(4, COLS, limit + 1, 0);
      -+    keypad(work, TRUE);
      -+
      -+    for (col = margin + 1; col < COLS; col += TABSIZE)
      -+	mvwvline(work, row, col, '.', limit - 2);
      -+
      -+    box(work, 0, 0);
      -+    mvwvline(work, row, margin, ACS_VLINE, limit - 2);
      -+    mvwvline(work, row, margin + 1, ACS_VLINE, limit - 2);
      -+    limit /= 2;
      -+
      -+    mvwaddstr(work, 1, 2, "String");
      -+    mvwaddstr(work, limit + 1, 2, "Chars");
      -+    wnoutrefresh(work);
      -+
      -+    buffer[length = 0] = '\0';
      -+    legend(show, buffer, length);
      -+    wnoutrefresh(show);
      -+
      -+    doupdate();
      -+
      -+    /*
      -+     * Show the characters inserted in color, to distinguish from those that
      -+     * are shifted.
      -+     */
      -+    if (has_colors()) {
      -+	start_color();
      -+	init_pair(1, COLOR_WHITE, COLOR_BLUE);
      -+	wbkgdset(work, COLOR_PAIR(1) | ' ');
      -+    }
      -+
      -+    while ((code = wget_wch(work, &ch)) != ERR) {
      -+
      -+	switch (code) {
      -+	case KEY_CODE_YES:
      -+	    switch (ch) {
      -+	    case KEY_DOWN:
      -+		ch = CTRL('N');
      -+		break;
      -+	    case KEY_BACKSPACE:
      -+		ch = '\b';
      -+		break;
      -+	    default:
      -+		beep();
      -+		continue;
      -+	    }
      -+	    break;
      -+	}
      -+	if (ch == 'q')
      -+	    break;
      -+
      -+	wmove(work, row, margin + 1);
      -+	if (ch == CTRL('N')) {
      -+	    if (row < limit) {
      -+		++row;
      -+		/* put the whole string in, all at once */
      -+		mvwins_wstr(work, row, margin + 1, buffer);
      -+
      -+		/* do the corresponding single-character insertion */
      -+		for (col = 0; col < length; ++col) {
      -+		    memset(&tmp_cchar, 0, sizeof(tmp_cchar));
      -+		    if (setcchar(&tmp_cchar,
      -+				 &(buffer[col]),
      -+				 A_NORMAL,
      -+				 0,
      -+				 (void *) 0) != ERR) {
      -+			mvwins_wch(work, limit + row, ColOf(buffer, col), &tmp_cchar);
      -+		    } else {
      -+			beep();	/* even for tabs! */
      -+			mvwinsch(work,
      -+				 limit + row,
      -+				 ColOf(buffer, col), buffer[col]);
      -+		    }
      -+		}
      -+	    } else {
      -+		beep();
      -+	    }
      -+	} else {
      -+	    buffer[length++] = ch;
      -+	    buffer[length] = '\0';
      -+	    /* put the string in, one character at a time */
      -+	    mvwins_wstr(work,
      -+			row,
      -+			ColOf(buffer, length - 1), buffer + length - 1);
      -+
      -+	    /* do the corresponding single-character insertion */
      -+	    tmp_wchar[0] = ch;
      -+	    tmp_wchar[1] = 0;
      -+	    if (setcchar(&tmp_cchar,
      -+			 tmp_wchar,
      -+			 A_NORMAL,
      -+			 0,
      -+			 (void *) 0) != ERR) {
      -+		mvwins_wch(work,
      -+			   limit + row,
      -+			   ColOf(buffer, length - 1), &tmp_cchar);
      -+	    } else {
      -+		beep();		/* even for tabs! */
      -+		mvwinsch(work,
      -+			 limit + row,
      -+			 ColOf(buffer, length - 1), ch);
      -+	    }
      -+	    wnoutrefresh(work);
      -+
      -+	    legend(show, buffer, length);
      -+	    wnoutrefresh(show);
      -+
      -+	    doupdate();
      -+	}
      -+    }
      -+    endwin();
      -+    ExitProgram(EXIT_SUCCESS);
      -+}
      -+#else
      -+int
      -+main(void)
      -+{
      -+    printf("This program requires the wide-ncurses library\n");
      -+    ExitProgram(EXIT_FAILURE);
      -+}
      -+#endif
      -diff -urNd -urNd ncurses-5.3/test/inserts.c ncurses-5.3.20030906.orig/test/inserts.c
      ---- ncurses-5.3/test/inserts.c	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/inserts.c	Fri Sep 12 16:41:56 2003
      -@@ -0,0 +1,162 @@
      -+/*
      -+ * $Id: inserts.c,v 1.5 2003/08/09 22:07:06 tom Exp $
      -+ *
      -+ * Demonstrate the winsstr() and winsch functions.
      -+ * Thomas Dickey - 2002/10/19
      -+ */
      -+
      -+#include 
      -+
      -+#define TABSIZE 8
      -+
      -+static int margin = (2 * TABSIZE) - 1;
      -+
      -+static void
      -+legend(WINDOW *win, char *buffer, int length)
      -+{
      -+    wmove(win, 0, 0);
      -+    wprintw(win,
      -+	    "The Strings/Chars displays should match.  Enter any characters.\n");
      -+    wprintw(win,
      -+	    "Use down-arrow or ^N to repeat on the next line, 'q' to exit.\n");
      -+    wclrtoeol(win);
      -+    wprintw(win, "Inserted %d characters <%s>", length, buffer);
      -+}
      -+
      -+static int
      -+ColOf(char *buffer, int length)
      -+{
      -+    int n;
      -+    int result;
      -+
      -+    for (n = 0, result = margin + 1; n < length; ++n) {
      -+	int ch = UChar(buffer[n]);
      -+	switch (ch) {
      -+	case '\n':
      -+	    /* actually newline should clear the remainder of the line
      -+	     * and move to the next line - but that seems a little awkward
      -+	     * in this example.
      -+	     */
      -+	case '\r':
      -+	    result = 0;
      -+	    break;
      -+	case '\b':
      -+	    if (result > 0)
      -+		--result;
      -+	    break;
      -+	case '\t':
      -+	    result += (TABSIZE - (result % TABSIZE));
      -+	    break;
      -+	case '\177':
      -+	    result += 2;
      -+	    break;
      -+	default:
      -+	    ++result;
      -+	    if (ch < 32)
      -+		++result;
      -+	    break;
      -+	}
      -+    }
      -+    return result;
      -+}
      -+
      -+int
      -+main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
      -+{
      -+    int ch;
      -+    int limit;
      -+    int row = 1;
      -+    int col;
      -+    int length;
      -+    char buffer[BUFSIZ];
      -+    WINDOW *work;
      -+    WINDOW *show;
      -+
      -+    putenv("TABSIZE=8");
      -+    initscr();
      -+    (void) cbreak();		/* take input chars one at a time, no wait for \n */
      -+    (void) noecho();		/* don't echo input */
      -+    keypad(stdscr, TRUE);
      -+
      -+    limit = LINES - 5;
      -+    work = newwin(limit, COLS, 0, 0);
      -+    show = newwin(4, COLS, limit + 1, 0);
      -+    keypad(work, TRUE);
      -+
      -+    for (col = margin + 1; col < COLS; col += TABSIZE)
      -+	mvwvline(work, row, col, '.', limit - 2);
      -+
      -+    box(work, 0, 0);
      -+    mvwvline(work, row, margin, ACS_VLINE, limit - 2);
      -+    mvwvline(work, row, margin + 1, ACS_VLINE, limit - 2);
      -+    limit /= 2;
      -+
      -+    mvwaddstr(work, 1, 2, "String");
      -+    mvwaddstr(work, limit + 1, 2, "Chars");
      -+    wnoutrefresh(work);
      -+
      -+    buffer[length = 0] = '\0';
      -+    legend(show, buffer, length);
      -+    wnoutrefresh(show);
      -+
      -+    doupdate();
      -+
      -+    /*
      -+     * Show the characters inserted in color, to distinguish from those that
      -+     * are shifted.
      -+     */
      -+    if (has_colors()) {
      -+	start_color();
      -+	init_pair(1, COLOR_WHITE, COLOR_BLUE);
      -+	wbkgdset(work, COLOR_PAIR(1) | ' ');
      -+    }
      -+
      -+    while ((ch = wgetch(work)) != 'q') {
      -+	wmove(work, row, margin + 1);
      -+	switch (ch) {
      -+	case CTRL('N'):
      -+	case KEY_DOWN:
      -+	    if (row < limit) {
      -+		++row;
      -+		/* put the whole string in, all at once */
      -+		mvwinsstr(work, row, margin + 1, buffer);
      -+
      -+		/* do the corresponding single-character insertion */
      -+		for (col = 0; col < length; ++col) {
      -+		    mvwinsch(work, limit + row, ColOf(buffer, col), buffer[col]);
      -+		}
      -+	    } else {
      -+		beep();
      -+	    }
      -+	    break;
      -+	case KEY_BACKSPACE:
      -+	    ch = '\b';
      -+	    /* FALLTHRU */
      -+	default:
      -+	    if (ch <= 0 || ch > 255) {
      -+		beep();
      -+		break;
      -+	    }
      -+	    buffer[length++] = ch;
      -+	    buffer[length] = '\0';
      -+	    /* put the string in, one character at a time */
      -+	    mvwinsstr(work,
      -+		      row,
      -+		      ColOf(buffer, length - 1), buffer + length - 1);
      -+
      -+	    /* do the corresponding single-character insertion */
      -+	    mvwinsch(work,
      -+		     limit + row,
      -+		     ColOf(buffer, length - 1), ch);
      -+	    wnoutrefresh(work);
      -+
      -+	    legend(show, buffer, length);
      -+	    wnoutrefresh(show);
      -+
      -+	    doupdate();
      -+	    break;
      -+	}
      -+    }
      -+    endwin();
      -+    ExitProgram(EXIT_SUCCESS);
      -+}
      -diff -urNd -urNd ncurses-5.3/test/keynames.c ncurses-5.3.20030906.orig/test/keynames.c
      ---- ncurses-5.3/test/keynames.c	Sun Sep  1 14:42:42 2002
      -+++ ncurses-5.3.20030906.orig/test/keynames.c	Sun Jul 20 14:02:08 2003
      -@@ -1,5 +1,5 @@
      - /*
      -- * $Id: keynames.c,v 1.4 2002/09/01 19:42:42 tom Exp $
      -+ * $Id: keynames.c,v 1.5 2003/05/17 23:18:49 tom Exp $
      -  */
      - 
      - #include 
      -@@ -9,7 +9,7 @@
      - {
      -     int n;
      -     for (n = -1; n < 512; n++) {
      --	char *result = keyname(n);
      -+	const char *result = keyname(n);
      - 	if (result != 0)
      - 	    printf("%d(%5o):%s\n", n, n, result);
      -     }
      -diff -urNd -urNd ncurses-5.3/test/knight.c ncurses-5.3.20030906.orig/test/knight.c
      ---- ncurses-5.3/test/knight.c	Sat Jun 29 18:32:18 2002
      -+++ ncurses-5.3.20030906.orig/test/knight.c	Tue May 13 20:08:23 2003
      -@@ -6,11 +6,9 @@
      -  * Eric S. Raymond  July 22 1995.  Mouse support
      -  * added September 20th 1995.
      -  *
      -- * $Id: knight.c,v 1.25 2002/06/29 23:32:18 tom Exp $
      -+ * $Id: knight.c,v 1.26 2002/10/19 22:11:24 tom Exp $
      -  */
      - 
      --#include 
      --
      - #include 
      - 
      - /* board size */
      -diff -urNd -urNd ncurses-5.3/test/listused.sh ncurses-5.3.20030906.orig/test/listused.sh
      ---- ncurses-5.3/test/listused.sh	Wed Dec 31 18:00:00 1969
      -+++ ncurses-5.3.20030906.orig/test/listused.sh	Sun Jul 20 14:02:09 2003
      -@@ -0,0 +1,155 @@
      -+#!/bin/sh
      -+# $Id: listused.sh,v 1.5 2003/07/05 19:02:41 tom Exp $
      -+# A very simple script to list entrypoints that are used by either a test
      -+# program, or within the libraries.  This relies on the output format of 'nm',
      -+# and assumes that the libraries are configured with TRACE defined, and using
      -+# these options:
      -+#	--disable-macros
      -+#	--enable-widec
      -+# Static libraries are used, to provide some filtering based on internal usage
      -+# of the different symbols.
      -+
      -+# keep the sorting independent of locale:
      -+if test "${LANGUAGE+set}"    = set; then LANGUAGE=C;    export LANGUAGE;    fi
      -+if test "${LANG+set}"        = set; then LANG=C;        export LANG;        fi
      -+if test "${LC_ALL+set}"      = set; then LC_ALL=C;      export LC_ALL;      fi
      -+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
      -+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
      -+if test "${LC_COLLATE+set}"  = set; then LC_COLLATE=C;  export LC_COLLATE;  fi
      -+
      -+NM_OPTS=
      -+
      -+if test ! -d ../objects ; then
      -+	echo "? need objects to run this script"
      -+	exit 1
      -+elif test ! -d ../lib ; then
      -+	echo "? need libraries to run this script"
      -+	exit 1
      -+fi
      -+
      -+PROGS=
      -+for name in `(echo "test:";sort modules; echo "progs:";sort ../progs/modules) |sed -e 's/[ 	].*//' -e '/^[#@]/d'`
      -+do
      -+	case $name in
      -+	*:)
      -+		PROGS="$PROGS $name"
      -+		;;
      -+	*)
      -+		NAME=../objects/${name}.o
      -+		if test -f $NAME
      -+		then
      -+			PROGS="$PROGS $NAME"
      -+		fi
      -+		;;
      -+	esac
      -+done
      -+
      -+# For each library -
      -+for lib in ../lib/*.a
      -+do
      -+	LIB=`basename $lib .a`
      -+	case $LIB in
      -+	*_*|*+*)
      -+		continue
      -+		;;
      -+	esac
      -+
      -+	tmp=`echo $LIB|sed -e 's/w$//'`
      -+	echo
      -+	echo "${tmp}:"
      -+	echo $tmp |sed -e 's/./-/g'
      -+	# Construct a list of public externals provided by the library.
      -+	WANT=`nm $NM_OPTS $lib |\
      -+		sed	-e 's/^[^ ]*//' \
      -+			-e 's/^ *//' \
      -+			-e '/^[ a-z] /d' \
      -+			-e '/:$/d' \
      -+			-e '/^$/d' \
      -+			-e '/^U /d' \
      -+			-e 's/^[A-Z] //' \
      -+			-e '/^_/d' |\
      -+		sort -u`
      -+	# List programs which use that external.
      -+	for name in $WANT
      -+	do
      -+		HAVE=
      -+		tags=
      -+		last=
      -+		for prog in $PROGS
      -+		do
      -+			case $prog in
      -+			*:)
      -+				tags=$prog
      -+				;;
      -+			*)
      -+				TEST=`nm $NM_OPTS $prog |\
      -+					sed	-e 's/^[^ ]*//' \
      -+						-e 's/^ *//' \
      -+						-e '/^[ a-z] /d' \
      -+						-e '/:$/d' \
      -+						-e '/^$/d' \
      -+						-e 's/^[A-Z] //' \
      -+						-e '/^_/d' \
      -+						-e 's/^'${name}'$/_/' \
      -+						-e '/^[^_]/d'`
      -+				if test -n "$TEST"
      -+				then
      -+					have=`basename $prog .o`
      -+					if test -n "$HAVE"
      -+					then
      -+						if test "$last" = "$tags"
      -+						then
      -+							HAVE="$HAVE $have"
      -+						else
      -+							HAVE="$HAVE $tags $have"
      -+						fi
      -+					else
      -+						HAVE="$tags $have"
      -+					fi
      -+					last="$tags"
      -+				fi
      -+				;;
      -+			esac
      -+		done
      -+		# if we did not find a program using it directly, see if it
      -+		# is used within a library.
      -+		if test -z "$HAVE"
      -+		then
      -+			for tmp in ../lib/*.a
      -+			do 
      -+				case $tmp in
      -+				*_*|*+*)
      -+					continue
      -+					;;
      -+				esac
      -+				TEST=`nm $NM_OPTS $tmp |\
      -+					sed	-e 's/^[^ ]*//' \
      -+						-e 's/^ *//' \
      -+						-e '/^[ a-z] /d' \
      -+						-e '/:$/d' \
      -+						-e '/^$/d' \
      -+						-e '/^[A-TV-Z] /d' \
      -+						-e 's/^[A-Z] //' \
      -+						-e '/^_/d' \
      -+						-e 's/^'${name}'$/_/' \
      -+						-e '/^[^_]/d'`
      -+				if test -n "$TEST"
      -+				then
      -+					tmp=`basename $tmp .a |sed -e 's/w$//'`
      -+					HAVE=`echo $tmp | sed -e 's/lib/lib: /'`
      -+					break
      -+				fi
      -+			done
      -+		fi
      -+		test -z "$HAVE" && HAVE="-"
      -+		lenn=`expr 39 - length $name`
      -+		lenn=`expr $lenn / 8`
      -+		tabs=
      -+		while test $lenn != 0
      -+		do
      -+			tabs="${tabs}	"
      -+			lenn=`expr $lenn - 1`
      -+		done
      -+		echo "${name}${tabs}${HAVE}"
      -+	done
      -+done
      -diff -urNd -urNd ncurses-5.3/test/modules ncurses-5.3.20030906.orig/test/modules
      ---- ncurses-5.3/test/modules	Sat Feb 12 19:05:13 2000
      -+++ ncurses-5.3.20030906.orig/test/modules	Tue May 13 20:08:23 2003
      -@@ -1,7 +1,7 @@
      - # Test-Program modules
      --# $Id: modules,v 1.13 2000/02/13 01:05:13 tom Exp $
      -+# $Id: modules,v 1.19 2003/04/26 16:31:10 tom Exp $
      - ##############################################################################
      --# Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.                #
      -+# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
      - #                                                                            #
      - # Permission is hereby granted, free of charge, to any person obtaining a    #
      - # copy of this software and associated documentation files (the "Software"), #
      -@@ -28,28 +28,36 @@
      - # authorization.                                                             #
      - ##############################################################################
      - #
      --# Author: Thomas E. Dickey  1997
      -+# Author: Thomas E. Dickey 1997-2003
      - #
      - 
      - @ base
      - blue		progs		$(srcdir)	../include/term.h
      - bs		progs		$(srcdir)
      --cardfile	progs		$(srcdir)	../include/panel.h ../include/menu.h ../include/form.h
      -+cardfile	progs		$(srcdir)	../include/panel.h ../include/form.h
      -+demo_defkey	progs		$(srcdir)
      -+demo_keyok	progs		$(srcdir)
      -+demo_forms	progs		$(srcdir)	../include/form.h
      -+demo_menus	progs		$(srcdir)	../include/menu.h
      -+demo_panels	progs		$(srcdir)	../include/panel.h
      - ditto		progs		$(srcdir)
      - dots		progs		$(srcdir)	../include/term.h
      --filter		progs		$(srcdir)
      -+edit_field	progs		$(srcdir)
      -+filter		progs		$(srcdir)	../include/form.h
      - firework	progs		$(srcdir)	../include/term.h
      - firstlast	progs		$(srcdir)
      - gdc		progs		$(srcdir)
      - hanoi		progs		$(srcdir)
      - hashtest	progs		$(srcdir)
      -+ins_wide	progs		$(srcdir)
      -+inserts		progs		$(srcdir)
      - keynames	progs		$(srcdir)
      - knight		progs		$(srcdir)
      - lrtest		progs		$(srcdir)
      - ncurses		progs		$(srcdir)	../include/panel.h ../include/menu.h ../include/form.h
      - newdemo		progs		$(srcdir)
      --rain		progs		$(srcdir)	../include/term.h
      - railroad	progs		$(srcdir)	../include/termcap.h
      -+rain		progs		$(srcdir)	../include/term.h
      - tclock		progs		$(srcdir)
      - testaddch	progs		$(srcdir)
      - testcurs	progs		$(srcdir)
      -diff -urNd -urNd ncurses-5.3/test/ncurses.c ncurses-5.3.20030906.orig/test/ncurses.c
      ---- ncurses-5.3/test/ncurses.c	Sat Sep 14 19:39:33 2002
      -+++ ncurses-5.3.20030906.orig/test/ncurses.c	Sun Jul 20 14:02:09 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -40,14 +40,10 @@
      -    Author: Eric S. Raymond  1993
      -            Thomas E. Dickey (beginning revision 1.27 in 1996).
      - 
      --$Id: ncurses.c,v 1.180 2002/09/15 00:39:33 tom Exp $
      -+$Id: ncurses.c,v 1.197 2003/07/06 00:06:06 tom Exp $
      - 
      - ***************************************************************************/
      - 
      --#include 
      --#include 
      --#include 
      --
      - #include 
      - 
      - #if HAVE_GETTIMEOFDAY
      -@@ -59,25 +55,16 @@
      - #endif
      - #endif
      - 
      --#if HAVE_PANEL_H && HAVE_LIBPANEL
      --#define USE_LIBPANEL 1
      -+#if USE_LIBPANEL
      - #include 
      --#else
      --#define USE_LIBPANEL 0
      - #endif
      - 
      --#if HAVE_MENU_H && HAVE_LIBMENU
      --#define USE_LIBMENU 1
      -+#if USE_LIBMENU
      - #include 
      --#else
      --#define USE_LIBMENU 0
      - #endif
      - 
      --#if HAVE_FORM_H && HAVE_LIBFORM
      --#define USE_LIBFORM 1
      -+#if USE_LIBFORM
      - #include 
      --#else
      --#define USE_LIBFORM 0
      - #endif
      - 
      - #ifdef NCURSES_VERSION
      -@@ -122,13 +109,7 @@
      - #endif
      - 
      - #define P(string)	printw("%s\n", string)
      --#ifdef CTRL
      --#undef CTRL
      --#endif
      --#define CTRL(x)		((x) & 0x1f)
      - 
      --#define QUIT		CTRL('Q')
      --#define ESCAPE		CTRL('[')
      - #define BLANK		' '	/* this is the background character */
      - 
      - #undef max_colors
      -@@ -181,6 +162,74 @@
      - }
      - #define Getchar() wGetchar(stdscr)
      - 
      -+/* replaces wgetnstr(), since we want to be able to edit values */
      -+static void
      -+wGetstring(WINDOW *win, char *buffer, int limit)
      -+{
      -+    int y0, x0, x, ch;
      -+    bool done = FALSE;
      -+
      -+    echo();
      -+    getyx(win, y0, x0);
      -+    wattrset(win, A_REVERSE);
      -+
      -+    x = strlen(buffer);
      -+    while (!done) {
      -+	if (x > (int) strlen(buffer))
      -+	    x = (int) strlen(buffer);
      -+	wmove(win, y0, x0);
      -+	wprintw(win, "%-*s", limit, buffer);
      -+	wmove(win, y0, x0 + x);
      -+	switch (ch = wGetchar(win)) {
      -+	case '\n':
      -+	case KEY_ENTER:
      -+	    done = TRUE;
      -+	    break;
      -+	case CTRL('U'):
      -+	    *buffer = '\0';
      -+	    break;
      -+	case '\b':
      -+	case KEY_BACKSPACE:
      -+	case KEY_DC:
      -+	    if (x > 0) {
      -+		int j;
      -+		for (j = --x; (buffer[j] = buffer[j + 1]) != '\0'; ++j) {
      -+		    ;
      -+		}
      -+	    } else {
      -+		beep();
      -+	    }
      -+	    break;
      -+	case KEY_LEFT:
      -+	    if (x > 0) {
      -+		--x;
      -+	    } else {
      -+		flash();
      -+	    }
      -+	    break;
      -+	case KEY_RIGHT:
      -+	    ++x;
      -+	    break;
      -+	default:
      -+	    if (!isprint(ch) || ch >= KEY_MIN) {
      -+		beep();
      -+	    } else if ((int) strlen(buffer) < limit) {
      -+		int j;
      -+		for (j = strlen(buffer) + 1; j > x; --j) {
      -+		    buffer[j] = buffer[j - 1];
      -+		}
      -+		buffer[x++] = ch;
      -+	    } else {
      -+		flash();
      -+	    }
      -+	}
      -+    }
      -+
      -+    wattroff(win, A_REVERSE);
      -+    wmove(win, y0, x0);
      -+    noecho();
      -+}
      -+
      - #if USE_WIDEC_SUPPORT
      - static int
      - wGet_wchar(WINDOW *win, wint_t * result)
      -@@ -206,6 +255,98 @@
      - }
      - #define Get_wchar(result) wGet_wchar(stdscr, result)
      - 
      -+/* replaces wgetn_wstr(), since we want to be able to edit values */
      -+static void
      -+wGet_wstring(WINDOW *win, wchar_t * buffer, int limit)
      -+{
      -+    int y0, x0, x;
      -+    wint_t ch;
      -+    bool done = FALSE;
      -+
      -+    echo();
      -+    getyx(win, y0, x0);
      -+    wattrset(win, A_REVERSE);
      -+
      -+    x = wcslen(buffer);
      -+    while (!done) {
      -+	if (x > (int) wcslen(buffer))
      -+	    x = (int) wcslen(buffer);
      -+	wmove(win, y0, x0);
      -+	waddnwstr(win, buffer, limit);
      -+	if (x < limit)
      -+	    wprintw(win, "%*s", limit - x, " ");
      -+	wmove(win, y0, x0 + x);
      -+	switch (wGet_wchar(win, &ch)) {
      -+	case KEY_CODE_YES:
      -+	    switch (ch) {
      -+	    case KEY_ENTER:
      -+		ch = '\n';
      -+		break;
      -+	    case KEY_BACKSPACE:
      -+	    case KEY_DC:
      -+		ch = '\b';
      -+		break;
      -+	    case KEY_LEFT:
      -+	    case KEY_RIGHT:
      -+		break;
      -+	    default:
      -+		ch = -1;
      -+		break;
      -+	    }
      -+	case OK:
      -+	    break;
      -+	default:
      -+	    ch = -1;
      -+	    break;
      -+	}
      -+
      -+	switch (ch) {
      -+	case '\n':
      -+	    done = TRUE;
      -+	    break;
      -+	case CTRL('U'):
      -+	    *buffer = '\0';
      -+	    break;
      -+	case '\b':
      -+	    if (x > 0) {
      -+		int j;
      -+		for (j = --x; (buffer[j] = buffer[j + 1]) != '\0'; ++j) {
      -+		    ;
      -+		}
      -+	    } else {
      -+		beep();
      -+	    }
      -+	    break;
      -+	case KEY_LEFT:
      -+	    if (x > 0) {
      -+		--x;
      -+	    } else {
      -+		flash();
      -+	    }
      -+	    break;
      -+	case KEY_RIGHT:
      -+	    ++x;
      -+	    break;
      -+	default:
      -+	    if (!isprint(ch) || ch >= KEY_MIN) {
      -+		beep();
      -+	    } else if ((int) wcslen(buffer) < limit) {
      -+		int j;
      -+		for (j = wcslen(buffer) + 1; j > x; --j) {
      -+		    buffer[j] = buffer[j - 1];
      -+		}
      -+		buffer[x++] = ch;
      -+	    } else {
      -+		flash();
      -+	    }
      -+	}
      -+    }
      -+
      -+    wattroff(win, A_REVERSE);
      -+    wmove(win, y0, x0);
      -+    noecho();
      -+}
      -+
      - #endif
      - 
      - static void
      -@@ -606,6 +747,7 @@
      -  * For wgetch_test(), we create pairs of windows - one for a box, one for text.
      -  * Resize both and paint the box in the parent.
      -  */
      -+#ifdef KEY_RESIZE
      - static void
      - resize_wide_boxes(int level, WINDOW *win)
      - {
      -@@ -640,17 +782,39 @@
      -     }
      -     doupdate();
      - }
      -+#endif /* KEY_RESIZE */
      -+
      -+static char *
      -+wcstos(const wchar_t * src)
      -+{
      -+    int need;
      -+    mbstate_t state;
      -+    char *result = 0;
      -+    const wchar_t *tmp = src;
      -+
      -+    memset(&state, 0, sizeof(state));
      -+    if ((need = wcsrtombs(0, &tmp, 0, &state)) > 0) {
      -+	result = calloc(need + 1, 1);
      -+	tmp = src;
      -+	if (wcsrtombs(result, &tmp, need, &state) != (size_t) need) {
      -+	    free(result);
      -+	    result = 0;
      -+	}
      -+    }
      -+    return result;
      -+}
      - 
      - static void
      - wget_wch_test(int level, WINDOW *win, int delay)
      - {
      --    char buf[BUFSIZ];
      -+    wchar_t buf[BUFSIZ];
      -     int first_y, first_x;
      -     wint_t c;
      -     int incount = 0;
      -     bool flags[256];
      -     bool blocking = (delay < 0);
      -     int y, x, code;
      -+    char *temp;
      - 
      -     memset(flags, FALSE, sizeof(flags));
      -     flags['k'] = (win == stdscr);
      -@@ -686,9 +850,14 @@
      - 	} else if (c == 'g') {
      - 	    waddstr(win, "getstr test: ");
      - 	    echo();
      --	    wgetnstr(win, buf, sizeof(buf) - 1);
      -+	    wgetn_wstr(win, (wint_t *) buf, sizeof(buf) - 1);
      - 	    noecho();
      --	    wprintw(win, "I saw %d characters:\n\t`%s'.", strlen(buf), buf);
      -+	    if ((temp = wcstos(buf)) != 0) {
      -+		wprintw(win, "I saw %d characters:\n\t`%s'.", wcslen(buf), temp);
      -+		free(temp);
      -+	    } else {
      -+		wprintw(win, "I saw %d characters (cannot convert).", wcslen(buf));
      -+	    }
      - 	    wclrtoeol(win);
      - 	    wgetch_wrap(win, first_y);
      - 	} else if (c == 'k') {
      -@@ -782,11 +951,40 @@
      -  *
      -  ****************************************************************************/
      - 
      -+#define MAX_ATTRSTRING 31
      -+#define LEN_ATTRSTRING 26
      -+
      -+static char attr_test_string[] = "abcde fghij klmno pqrst uvwxy z";
      -+
      -+static void
      -+adjust_attr_string(int adjust)
      -+{
      -+    int first = ((int) UChar(attr_test_string[0])) + adjust;
      -+    int last = first + LEN_ATTRSTRING;
      -+
      -+    if (first >= ' ' && last <= '~') {	/* 32..126 */
      -+	int j, k;
      -+	for (j = 0, k = first; k <= last; ++j, ++k) {
      -+	    attr_test_string[j] = k;
      -+	    if (((k + 1 - first) % 5) == 0) {
      -+		++j;
      -+		if (j < MAX_ATTRSTRING)
      -+		    attr_test_string[j] = ' ';
      -+	    }
      -+	}
      -+	while (j < MAX_ATTRSTRING)
      -+	    attr_test_string[j++] = ' ';
      -+	attr_test_string[j] = '\0';
      -+    } else {
      -+	beep();
      -+    }
      -+}
      -+
      - static int
      - show_attr(int row, int skip, chtype attr, const char *name)
      - {
      --    static const char *string = "abcde fghij klmno pqrst uvwxy z";
      -     int ncv = tigetnum("ncv");
      -+    chtype test = attr & ~A_ALTCHARSET;
      - 
      -     mvprintw(row, 8, "%s mode:", name);
      -     mvprintw(row, 24, "|");
      -@@ -804,29 +1002,24 @@
      -      * is possible to turn off the A_ALTCHARSET flag for the characters which
      -      * are added, and it would be an unexpected result to have the mapped
      -      * characters visible on the screen.
      --     *
      --     * This example works because the indices into acs_map[] are mostly from
      --     * the lowercase characters.
      -      */
      -     if (attr & A_ALTCHARSET) {
      --	const char *s = string;
      --	while (*s) {
      --	    int ch = *s++;
      --#ifdef CURSES_ACS_ARRAY
      --	    if ((ch = CURSES_ACS_ARRAY[ch]) == 0)
      --		ch = ' ';
      --#endif
      -+	const char *s;
      -+	int ch;
      -+
      -+	for (s = attr_test_string; *s != '\0'; ++s) {
      -+	    ch = UChar(*s);
      - 	    addch(ch);
      - 	}
      -     } else {
      --	addstr(string);
      -+	addstr(attr_test_string);
      -     }
      -     attroff(attr);
      -     if (skip)
      - 	printw("%*s", skip, " ");
      -     printw("|");
      --    if (attr != A_NORMAL) {
      --	if (!(termattrs() & attr)) {
      -+    if (test != A_NORMAL) {
      -+	if (!(termattrs() & test)) {
      - 	    printw(" (N/A)");
      - 	} else if (ncv > 0 && (getbkgd(stdscr) & A_COLOR)) {
      - 	    static const chtype table[] =
      -@@ -867,7 +1060,8 @@
      -     } else if (ch == CTRL('L')) {
      - 	touchwin(stdscr);
      - 	touchwin(curscr);
      --    } else if (has_colors()) {
      -+	wrefresh(curscr);
      -+    } else {
      - 	switch (ch) {
      - 	case 'a':
      - 	    *ac = 0;
      -@@ -875,39 +1069,40 @@
      - 	case 'A':
      - 	    *ac = A_ALTCHARSET;
      - 	    break;
      --	case 'f':
      --	    *fg = (*fg + 1);
      --	    break;
      --	case 'F':
      --	    *fg = (*fg - 1);
      --	    break;
      --	case 'b':
      --	    *bg = (*bg + 1);
      -+	case '<':
      -+	    adjust_attr_string(-1);
      - 	    break;
      --	case 'B':
      --	    *bg = (*bg - 1);
      -+	case '>':
      -+	    adjust_attr_string(1);
      - 	    break;
      - 	default:
      --	    return FALSE;
      --	}
      --	if (*fg >= max_colors)
      --	    *fg = 0;
      --	if (*fg < 0)
      --	    *fg = max_colors - 1;
      --	if (*bg >= max_colors)
      --	    *bg = 0;
      --	if (*bg < 0)
      --	    *bg = max_colors - 1;
      --    } else {
      --	switch (ch) {
      --	case 'a':
      --	    *ac = 0;
      --	    break;
      --	case 'A':
      --	    *ac = A_ALTCHARSET;
      -+	    if (has_colors()) {
      -+		switch (ch) {
      -+		case 'f':
      -+		    *fg = (*fg + 1);
      -+		    break;
      -+		case 'F':
      -+		    *fg = (*fg - 1);
      -+		    break;
      -+		case 'b':
      -+		    *bg = (*bg + 1);
      -+		    break;
      -+		case 'B':
      -+		    *bg = (*bg - 1);
      -+		    break;
      -+		default:
      -+		    return FALSE;
      -+		}
      -+		if (*fg >= max_colors)
      -+		    *fg = 0;
      -+		if (*fg < 0)
      -+		    *fg = max_colors - 1;
      -+		if (*bg >= max_colors)
      -+		    *bg = 0;
      -+		if (*bg < 0)
      -+		    *bg = max_colors - 1;
      -+	    }
      - 	    break;
      --	default:
      --	    return FALSE;
      - 	}
      -     }
      -     return TRUE;
      -@@ -965,12 +1160,12 @@
      - 	mvprintw(row + 1, 8,
      - 		 "Enter a digit to set gaps on each side of displayed attributes");
      - 	mvprintw(row + 2, 8,
      --		 "^L = repaint");
      -+		 "^L repaints,  shifts, ");
      - 	if (has_colors())
      --	    printw(".  f/F/b/F toggle colors (now %d/%d), a/A altcharset (%d)",
      -+	    printw("f/F/b/F toggle color (now %d/%d), a/A ACS (%d)",
      - 		   fg, bg, ac != 0);
      - 	else
      --	    printw(".  a/A altcharset (%d)", ac != 0);
      -+	    printw("a/A ACS (%d)", ac != 0);
      - 
      - 	refresh();
      -     } while (attr_getc(&n, &fg, &bg, &ac));
      -@@ -1241,15 +1436,73 @@
      -  *
      -  ****************************************************************************/
      - 
      -+#define SLK_HELP 17
      -+#define SLK_WORK (SLK_HELP + 3)
      -+
      -+static void
      -+slk_help(void)
      -+{
      -+    static const char *table[] =
      -+    {
      -+	"Available commands are:"
      -+	,""
      -+	,"^L         -- repaint this message and activate soft keys"
      -+	,"a/d        -- activate/disable soft keys"
      -+	,"c          -- set centered format for labels"
      -+	,"l          -- set left-justified format for labels"
      -+	,"r          -- set right-justified format for labels"
      -+	,"[12345678] -- set label; labels are numbered 1 through 8"
      -+	,"e          -- erase stdscr (should not erase labels)"
      -+	,"s          -- test scrolling of shortened screen"
      -+#if HAVE_SLK_COLOR
      -+	,"F/B        -- cycle through foreground/background colors"
      -+#endif
      -+	,"x, q       -- return to main menu"
      -+	,""
      -+	,"Note: if activating the soft keys causes your terminal to scroll up"
      -+	,"one line, your terminal auto-scrolls when anything is written to the"
      -+	,"last screen position.  The ncurses code does not yet handle this"
      -+	,"gracefully."
      -+    };
      -+    unsigned j;
      -+
      -+    move(2, 0);
      -+    for (j = 0; j < SIZEOF(table); ++j) {
      -+	P(table[j]);
      -+    }
      -+    refresh();
      -+}
      -+
      - static void
      - slk_test(void)
      - /* exercise the soft keys */
      - {
      -     int c, fmt = 1;
      -     char buf[9];
      -+    char *s;
      -+#if HAVE_SLK_COLOR
      -+    short fg = COLOR_BLACK;
      -+    short bg = COLOR_WHITE;
      -+    bool new_color = FALSE;
      -+#endif
      - 
      -     c = CTRL('l');
      -+#if HAVE_SLK_COLOR
      -+    if (has_colors()) {
      -+	new_color = TRUE;
      -+    }
      -+#endif
      -+
      -     do {
      -+#if HAVE_SLK_COLOR
      -+	if (new_color) {
      -+	    init_pair(1, bg, fg);
      -+	    slk_color(1);
      -+	    new_color = FALSE;
      -+	    mvprintw(SLK_WORK, 0, "Colors %d/%d\n", fg, bg);
      -+	    refresh();
      -+	}
      -+#endif
      - 	move(0, 0);
      - 	switch (c) {
      - 	case CTRL('l'):
      -@@ -1258,25 +1511,7 @@
      - 	    mvaddstr(0, 20, "Soft Key Exerciser");
      - 	    attroff(A_BOLD);
      - 
      --	    move(2, 0);
      --	    P("Available commands are:");
      --	    P("");
      --	    P("^L         -- refresh screen");
      --	    P("a          -- activate or restore soft keys");
      --	    P("d          -- disable soft keys");
      --	    P("c          -- set centered format for labels");
      --	    P("l          -- set left-justified format for labels");
      --	    P("r          -- set right-justified format for labels");
      --	    P("[12345678] -- set label; labels are numbered 1 through 8");
      --	    P("e          -- erase stdscr (should not erase labels)");
      --	    P("s          -- test scrolling of shortened screen");
      --	    P("x, q       -- return to main menu");
      --	    P("");
      --	    P("Note: if activating the soft keys causes your terminal to");
      --	    P("scroll up one line, your terminal auto-scrolls when anything");
      --	    P("is written to the last screen position.  The ncurses code");
      --	    P("does not yet handle this gracefully.");
      --	    refresh();
      -+	    slk_help();
      - 	    /* fall through */
      - 
      - 	case 'a':
      -@@ -1288,7 +1523,7 @@
      - 	    break;
      - 
      - 	case 's':
      --	    mvprintw(20, 0, "Press Q to stop the scrolling-test: ");
      -+	    mvprintw(SLK_WORK, 0, "Press Q to stop the scrolling-test: ");
      - 	    while ((c = Getchar()) != 'Q' && (c != ERR))
      - 		addch((chtype) c);
      - 	    break;
      -@@ -1317,20 +1552,155 @@
      - 	case '6':
      - 	case '7':
      - 	case '8':
      --	    (void) mvaddstr(20, 0, "Please enter the label value: ");
      --	    echo();
      --	    wgetnstr(stdscr, buf, 8);
      --	    noecho();
      -+	    (void) mvaddstr(SLK_WORK, 0, "Please enter the label value: ");
      -+	    strcpy(buf, "");
      -+	    if ((s = slk_label(c - '0')) != 0) {
      -+		strncpy(buf, s, 8);
      -+	    }
      -+	    wGetstring(stdscr, buf, 8);
      - 	    slk_set((c - '0'), buf, fmt);
      - 	    slk_refresh();
      --	    move(20, 0);
      --	    clrtoeol();
      -+	    move(SLK_WORK, 0);
      -+	    clrtobot();
      -+	    break;
      -+
      -+	case 'x':
      -+	case 'q':
      -+	    goto done;
      -+
      -+#if HAVE_SLK_COLOR
      -+	case 'F':
      -+	    if (has_colors()) {
      -+		fg = (fg + 1) % max_colors;
      -+		new_color = TRUE;
      -+	    }
      -+	    break;
      -+	case 'B':
      -+	    if (has_colors()) {
      -+		bg = (bg + 1) % max_colors;
      -+		new_color = TRUE;
      -+	    }
      -+	    break;
      -+#endif
      -+
      -+	default:
      -+	    beep();
      -+	}
      -+    } while
      -+	((c = Getchar()) != EOF);
      -+
      -+  done:
      -+    erase();
      -+    endwin();
      -+}
      -+
      -+#if USE_WIDEC_SUPPORT
      -+static void
      -+wide_slk_test(void)
      -+/* exercise the soft keys */
      -+{
      -+    int c, fmt = 1;
      -+    wchar_t buf[9];
      -+    char *s;
      -+    short fg = COLOR_BLACK;
      -+    short bg = COLOR_WHITE;
      -+    bool new_color = FALSE;
      -+
      -+    c = CTRL('l');
      -+    if (has_colors()) {
      -+	new_color = TRUE;
      -+    }
      -+    do {
      -+	if (new_color) {
      -+	    init_pair(1, bg, fg);
      -+	    slk_color(1);
      -+	    new_color = FALSE;
      -+	    mvprintw(SLK_WORK, 0, "Colors %d/%d\n", fg, bg);
      -+	    refresh();
      -+	}
      -+	move(0, 0);
      -+	switch (c) {
      -+	case CTRL('l'):
      -+	    erase();
      -+	    attr_on(WA_BOLD, NULL);
      -+	    mvaddstr(0, 20, "Soft Key Exerciser");
      -+	    attr_off(WA_BOLD, NULL);
      -+
      -+	    slk_help();
      -+	    /* fall through */
      -+
      -+	case 'a':
      -+	    slk_restore();
      -+	    break;
      -+
      -+	case 'e':
      -+	    wclear(stdscr);
      -+	    break;
      -+
      -+	case 's':
      -+	    mvprintw(SLK_WORK, 0, "Press Q to stop the scrolling-test: ");
      -+	    while ((c = Getchar()) != 'Q' && (c != ERR))
      -+		addch((chtype) c);
      -+	    break;
      -+
      -+	case 'd':
      -+	    slk_clear();
      -+	    break;
      -+
      -+	case 'l':
      -+	    fmt = 0;
      -+	    break;
      -+
      -+	case 'c':
      -+	    fmt = 1;
      -+	    break;
      -+
      -+	case 'r':
      -+	    fmt = 2;
      -+	    break;
      -+
      -+	case '1':
      -+	case '2':
      -+	case '3':
      -+	case '4':
      -+	case '5':
      -+	case '6':
      -+	case '7':
      -+	case '8':
      -+	    (void) mvaddstr(SLK_WORK, 0, "Please enter the label value: ");
      -+	    *buf = 0;
      -+	    if ((s = slk_label(c - '0')) != 0) {
      -+		int j;
      -+		for (j = 0; j < 8; ++j) {
      -+		    if ((buf[j] = UChar(s[j])) == 0)
      -+			break;
      -+		}
      -+		buf[j] = 0;
      -+	    }
      -+	    wGet_wstring(stdscr, buf, 8);
      -+	    slk_wset((c - '0'), buf, fmt);
      -+	    slk_refresh();
      -+	    move(SLK_WORK, 0);
      -+	    clrtobot();
      - 	    break;
      - 
      - 	case 'x':
      - 	case 'q':
      - 	    goto done;
      - 
      -+	case 'F':
      -+	    if (has_colors()) {
      -+		fg = (fg + 1) % max_colors;
      -+		new_color = TRUE;
      -+	    }
      -+	    break;
      -+	case 'B':
      -+	    if (has_colors()) {
      -+		bg = (bg + 1) % max_colors;
      -+		new_color = TRUE;
      -+	    }
      -+	    break;
      -+
      - 	default:
      - 	    beep();
      - 	}
      -@@ -1341,6 +1711,7 @@
      -     erase();
      -     endwin();
      - }
      -+#endif
      - 
      - /****************************************************************************
      -  *
      -@@ -1624,13 +1995,15 @@
      - }
      - 
      - static int
      --show_2_wacs(int n, const char *name, char *code)
      -+show_2_wacs(int n, const char *name, const char *code)
      - {
      -     const int height = 16;
      -     int row = 4 + (n % height);
      -     int col = (n / height) * COLS / 2;
      -+    char temp[80];
      -+
      -     mvprintw(row, col, "%*s : ", COLS / 4, name);
      --    addstr(code);
      -+    addstr(strcpy(temp, code));
      -     return n + 1;
      - }
      - 
      -@@ -1683,7 +2056,8 @@
      -     n = show_2_wacs(n, "WACS_S3",	"\342\216\273");
      -     n = show_2_wacs(n, "WACS_S7",	"\342\216\274");
      -     n = show_2_wacs(n, "WACS_S9",	"\342\216\275");
      --    /* *INDENT-OFF* */
      -+    /* *INDENT-ON* */
      -+
      - }
      - 
      - static void
      -@@ -3747,12 +4121,80 @@
      -     }
      - }
      - 
      -+/*
      -+ * Allow a middle initial, optionally with a '.' to end it.
      -+ */
      -+static bool
      -+mi_field_check(FIELD * fld, const void *data GCC_UNUSED)
      -+{
      -+    char *s = field_buffer(fld, 0);
      -+    int state = 0;
      -+    int n;
      -+
      -+    for (n = 0; s[n] != '\0'; ++n) {
      -+	switch (state) {
      -+	case 0:
      -+	    if (s[n] == '.') {
      -+		if (n != 1)
      -+		    return FALSE;
      -+		state = 2;
      -+	    } else if (isspace(UChar(s[n]))) {
      -+		state = 2;
      -+	    }
      -+	    break;
      -+	case 2:
      -+	    if (!isspace(UChar(s[n])))
      -+		return FALSE;
      -+	    break;
      -+	}
      -+    }
      -+
      -+    /* force the form to display a leading capital */
      -+    if (islower(UChar(s[0]))) {
      -+	s[0] = toupper(UChar(s[0]));
      -+	set_field_buffer(fld, 0, s);
      -+    }
      -+    return TRUE;
      -+}
      -+
      -+static bool
      -+mi_char_check(int ch, const void *data GCC_UNUSED)
      -+{
      -+    return ((isalpha(ch) || ch == '.') ? TRUE : FALSE);
      -+}
      -+
      -+/*
      -+ * Passwords should be at least 6 characters.
      -+ */
      -+static bool
      -+pw_field_check(FIELD * fld, const void *data GCC_UNUSED)
      -+{
      -+    char *s = field_buffer(fld, 0);
      -+    int n;
      -+
      -+    for (n = 0; s[n] != '\0'; ++n) {
      -+	if (isspace(UChar(s[n]))) {
      -+	    if (n < 6)
      -+		return FALSE;
      -+	}
      -+    }
      -+    return TRUE;
      -+}
      -+
      -+static bool
      -+pw_char_check(int ch, const void *data GCC_UNUSED)
      -+{
      -+    return (isgraph(ch) ? TRUE : FALSE);
      -+}
      -+
      - static void
      - demo_forms(void)
      - {
      -     WINDOW *w;
      -     FORM *form;
      -     FIELD *f[12], *secure;
      -+    FIELDTYPE *fty_middle = new_fieldtype(mi_field_check, mi_char_check);
      -+    FIELDTYPE *fty_passwd = new_fieldtype(pw_field_check, pw_char_check);
      -     int finished = 0, c;
      -     unsigned n = 0;
      - 
      -@@ -3775,17 +4217,26 @@
      - 
      -     /* describe the form */
      -     f[n++] = make_label(0, 15, "Sample Form");
      -+
      -     f[n++] = make_label(2, 0, "Last Name");
      -     f[n++] = make_field(3, 0, 1, 18, FALSE);
      -+    set_field_type(f[n - 1], TYPE_ALPHA, 1);
      -+
      -     f[n++] = make_label(2, 20, "First Name");
      -     f[n++] = make_field(3, 20, 1, 12, FALSE);
      -+    set_field_type(f[n - 1], TYPE_ALPHA, 1);
      -+
      -     f[n++] = make_label(2, 34, "Middle Name");
      -     f[n++] = make_field(3, 34, 1, 12, FALSE);
      -+    set_field_type(f[n - 1], fty_middle);
      -+
      -     f[n++] = make_label(5, 0, "Comments");
      -     f[n++] = make_field(6, 0, 4, 46, FALSE);
      -+
      -     f[n++] = make_label(5, 20, "Password:");
      -     secure =
      - 	f[n++] = make_field(5, 30, 1, 9, TRUE);
      -+    set_field_type(f[n - 1], fty_passwd);
      -     f[n++] = (FIELD *) 0;
      - 
      -     form = new_form(f);
      -@@ -3982,6 +4433,11 @@
      - 	slk_test();
      - 	break;
      - 
      -+#if USE_WIDEC_SUPPORT
      -+    case 'E':
      -+	wide_slk_test();
      -+	break;
      -+#endif
      -     case 'f':
      - 	acs_display();
      - 	break;
      -@@ -4252,6 +4708,9 @@
      - 	(void) puts("c = color test pattern");
      - 	(void) puts("d = edit RGB color values");
      - 	(void) puts("e = exercise soft keys");
      -+#if USE_WIDEC_SUPPORT
      -+	(void) puts("E = exercise soft keys using wide-characters");
      -+#endif
      - 	(void) puts("f = display ACS characters");
      - #if USE_WIDEC_SUPPORT
      - 	(void) puts("F = display Wide-ACS characters");
      -diff -urNd -urNd ncurses-5.3/test/railroad.c ncurses-5.3.20030906.orig/test/railroad.c
      ---- ncurses-5.3/test/railroad.c	Sat Apr  6 14:45:22 2002
      -+++ ncurses-5.3.20030906.orig/test/railroad.c	Tue May 13 20:08:23 2003
      -@@ -29,14 +29,12 @@
      - /*
      -  * Author: Thomas E. Dickey  2000
      -  *
      -- * $Id: railroad.c,v 1.10 2002/04/06 20:45:22 tom Exp $
      -+ * $Id: railroad.c,v 1.11 2002/10/19 22:11:24 tom Exp $
      -  *
      -  * A simple demo of the termcap interface.
      -  */
      - #include 
      - 
      --#include 
      --
      - static char *wipeit;
      - static char *moveit;
      - static int length;
      -diff -urNd -urNd ncurses-5.3/test/tclock.c ncurses-5.3.20030906.orig/test/tclock.c
      ---- ncurses-5.3/test/tclock.c	Sat Jun 29 18:34:13 2002
      -+++ ncurses-5.3.20030906.orig/test/tclock.c	Tue May 13 20:08:23 2003
      -@@ -1,6 +1,6 @@
      --/* $Id: tclock.c,v 1.22 2002/06/29 23:34:13 tom Exp $ */
      -+/* $Id: tclock.c,v 1.24 2002/12/29 01:40:30 tom Exp $ */
      - 
      --#include "test.priv.h"
      -+#include 
      - 
      - #include 
      - 
      -@@ -125,9 +125,11 @@
      -     int sdx, sdy;
      -     int ch;
      -     int lastbeep = -1;
      -+    bool odd = FALSE;
      -     time_t tim;
      -     struct tm *t;
      -     char szChar[10];
      -+    char *text;
      -     int my_bg = COLOR_BLACK;
      - #if HAVE_GETTIMEOFDAY
      -     struct timeval current;
      -@@ -151,6 +153,7 @@
      - 	init_pair(1, COLOR_RED, my_bg);
      - 	init_pair(2, COLOR_MAGENTA, my_bg);
      - 	init_pair(3, COLOR_GREEN, my_bg);
      -+	init_pair(4, COLOR_WHITE, COLOR_BLUE);
      -     }
      - #ifdef KEY_RESIZE
      -     keypad(stdscr, TRUE);
      -@@ -218,11 +221,16 @@
      - 	if (has_colors())
      - 	    attrset(COLOR_PAIR(0));
      - 
      --	mvaddstr(LINES - 2, 0, ctime(&tim));
      -+	text = ctime(&tim);
      -+	mvprintw(2, 0, "%.*s", (int) (strlen(text) - 1), text);
      - 	refresh();
      - 	if ((t->tm_sec % 5) == 0
      - 	    && t->tm_sec != lastbeep) {
      - 	    lastbeep = t->tm_sec;
      -+	    if (has_colors()) {
      -+		odd = !odd;
      -+		bkgd(odd ? COLOR_PAIR(4) : COLOR_PAIR(0));
      -+	    }
      - 	    beep();
      - 	}
      - 
      -diff -urNd -urNd ncurses-5.3/test/test.priv.h ncurses-5.3.20030906.orig/test/test.priv.h
      ---- ncurses-5.3/test/test.priv.h	Sat Jun 29 18:36:12 2002
      -+++ ncurses-5.3.20030906.orig/test/test.priv.h	Tue May 13 20:08:23 2003
      -@@ -1,5 +1,5 @@
      - /****************************************************************************
      -- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
      -+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
      -  *                                                                          *
      -  * Permission is hereby granted, free of charge, to any person obtaining a  *
      -  * copy of this software and associated documentation files (the            *
      -@@ -29,17 +29,32 @@
      - /****************************************************************************
      -  *  Author: Thomas E. Dickey  1996                        *
      -  ****************************************************************************/
      --/* $Id: test.priv.h,v 1.35 2002/06/29 23:36:12 tom Exp $ */
      -+/* $Id: test.priv.h,v 1.45 2003/04/26 18:23:36 tom Exp $ */
      -+
      -+#ifndef __TEST_PRIV_H
      -+#define __TEST_PRIV_H 1
      - 
      --#if HAVE_CONFIG_H
      - #include 
      --#else
      --#define HAVE_CURSES_VERSION 0
      --#define HAVE_RESIZETERM 0
      --#define HAVE_USE_DEFAULT_COLORS 0
      --#define HAVE_WRESIZE 0
      -+
      -+/*
      -+ * Fix ifdef's that look for the form/menu/panel libraries, if we are building
      -+ * with wide-character ncurses.
      -+ */
      -+#ifdef  HAVE_LIBFORMW
      -+#define HAVE_LIBFORM 1
      -+#endif
      -+
      -+#ifdef  HAVE_LIBMENUW
      -+#define HAVE_LIBMENU 1
      -+#endif
      -+
      -+#ifdef  HAVE_LIBPANELW
      -+#define HAVE_LIBPANEL 1
      - #endif
      - 
      -+/*
      -+ * Fallback definitions to accommodate broken compilers
      -+ */
      - #ifndef HAVE_CURSES_VERSION
      - #define HAVE_CURSES_VERSION 0
      - #endif
      -@@ -80,10 +95,18 @@
      - #define HAVE_PANEL_H 0
      - #endif
      - 
      -+#ifndef HAVE_SLK_COLOR
      -+#define HAVE_SLK_COLOR 0
      -+#endif
      -+
      - #ifndef HAVE_WRESIZE
      - #define HAVE_WRESIZE 0
      - #endif
      - 
      -+#ifndef NCURSES_EXT_FUNCS
      -+#define NCURSES_EXT_FUNCS 0
      -+#endif
      -+
      - #ifndef NCURSES_NOMACROS
      - #define NCURSES_NOMACROS 0
      - #endif
      -@@ -125,6 +148,9 @@
      - #define setlocale(name,string) /* nothing */
      - #endif
      - 
      -+#include 
      -+#include 
      -+
      - #ifndef GCC_NORETURN
      - #define GCC_NORETURN /* nothing */
      - #endif
      -@@ -144,24 +170,48 @@
      - #endif
      - #endif
      - 
      -+#if HAVE_PANEL_H && HAVE_LIBPANEL
      -+#define USE_LIBPANEL 1
      -+#else
      -+#define USE_LIBPANEL 0
      -+#endif
      -+
      -+#if HAVE_MENU_H && HAVE_LIBMENU
      -+#define USE_LIBMENU 1
      -+#else
      -+#define USE_LIBMENU 0
      -+#endif
      -+
      -+#if HAVE_FORM_H && HAVE_LIBFORM
      -+#define USE_LIBFORM 1
      -+#else
      -+#define USE_LIBFORM 0
      -+#endif
      -+
      - #ifndef HAVE_TYPE_ATTR_T
      - #if !USE_WIDEC_SUPPORT
      - #define attr_t long
      - #endif
      - #endif
      - 
      --#ifndef NCURSES_CH_T
      -+#undef NCURSES_CH_T
      - #if !USE_WIDEC_SUPPORT
      - #define NCURSES_CH_T chtype
      - #else
      - #define NCURSES_CH_T cchar_t
      - #endif
      --#endif
      - 
      - #ifndef CCHARW_MAX
      - #define CCHARW_MAX 5
      - #endif
      - 
      -+#ifndef CTRL
      -+#define CTRL(x)		((x) & 0x1f)
      -+#endif
      -+
      -+#define QUIT		CTRL('Q')
      -+#define ESCAPE		CTRL('[')
      -+
      - #ifndef KEY_MIN
      - #define KEY_MIN 256	/* not defined in Solaris 8 */
      - #endif
      -@@ -216,3 +266,21 @@
      - #ifndef NCURSES_CONST
      - #define NCURSES_CONST /* nothing */
      - #endif
      -+
      -+/* out-of-band values for representing absent capabilities */
      -+#define ABSENT_BOOLEAN		(-1)		/* 255 */
      -+#define ABSENT_NUMERIC		(-1)
      -+#define ABSENT_STRING		(char *)0
      -+
      -+/* out-of-band values for representing cancels */
      -+#define CANCELLED_BOOLEAN	(char)(-2)	/* 254 */
      -+#define CANCELLED_NUMERIC	(-2)
      -+#define CANCELLED_STRING	(char *)(-1)
      -+
      -+#define VALID_BOOLEAN(s) ((unsigned char)(s) <= 1) /* reject "-1" */
      -+#define VALID_NUMERIC(s) ((s) >= 0)
      -+#define VALID_STRING(s)  ((s) != CANCELLED_STRING && (s) != ABSENT_STRING)
      -+
      -+#define VT_ACSC "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~"
      -+
      -+#endif /* __TEST_PRIV_H */
      -diff -urNd -urNd ncurses-5.3/test/testcurs.c ncurses-5.3.20030906.orig/test/testcurs.c
      ---- ncurses-5.3/test/testcurs.c	Sat Sep 14 17:45:15 2002
      -+++ ncurses-5.3.20030906.orig/test/testcurs.c	Tue May 13 20:08:23 2003
      -@@ -7,11 +7,10 @@
      -  *  wrs(5/28/93) -- modified to be consistent (perform identically) with either
      -  *                  PDCurses or under Unix System V, R4
      -  *
      -- * $Id: testcurs.c,v 1.31 2002/09/14 22:45:15 tom Exp $
      -+ * $Id: testcurs.c,v 1.32 2002/10/19 22:11:24 tom Exp $
      -  */
      - 
      - #include 
      --#include 
      - 
      - #if defined(XCURSES)
      - char *XCursesProgramName = "testcurs";
      -diff -urNd -urNd ncurses-5.3/test/testscanw.c ncurses-5.3.20030906.orig/test/testscanw.c
      ---- ncurses-5.3/test/testscanw.c	Sat Jun 29 18:32:18 2002
      -+++ ncurses-5.3.20030906.orig/test/testscanw.c	Tue May 13 20:08:23 2003
      -@@ -2,10 +2,9 @@
      -  * Date:  1997/03/17
      -  * From:  bayern@morpheus.cis.yale.edu
      -  *
      -- * $Id: testscanw.c,v 1.9 2002/06/29 23:32:18 tom Exp $
      -+ * $Id: testscanw.c,v 1.10 2002/10/19 22:11:24 tom Exp $
      -  */
      - #include 
      --#include 
      - 
      - int
      - main(int argc, char *argv[])
      -diff -urNd -urNd ncurses-5.3/test/view.c ncurses-5.3.20030906.orig/test/view.c
      ---- ncurses-5.3/test/view.c	Sat Jun 29 18:28:27 2002
      -+++ ncurses-5.3.20030906.orig/test/view.c	Sun Jul 20 14:02:08 2003
      -@@ -23,10 +23,9 @@
      -  * scroll operation worked, and the refresh() code only had to do a
      -  * partial repaint.
      -  *
      -- * $Id: view.c,v 1.53 2002/06/29 23:28:27 tom Exp $
      -+ * $Id: view.c,v 1.57 2003/05/17 21:58:43 tom Exp $
      -  */
      - 
      --#include 
      - #include 
      - 
      - #include 
      -@@ -54,7 +53,7 @@
      - static RETSIGTYPE finish(int sig) GCC_NORETURN;
      - static void show_all(const char *tag);
      - 
      --#if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZETERM
      -+#if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZE_TERM
      - #define CAN_RESIZE 1
      - #else
      - #define CAN_RESIZE 0
      -@@ -496,14 +495,17 @@
      - 	clrtoeol();
      - 	if ((s = lptr[i - 1]) != 0) {
      - 	    int len = ch_len(s);
      --	    if (len > shift)
      -+	    if (len > shift) {
      - #if USE_WIDEC_SUPPORT
      - 		add_wchstr(s + shift);
      - #else
      - 		addchstr(s + shift);
      - #endif
      -+	    }
      -+#if defined(NCURSES_VERSION) || defined(HAVE_WCHGAT)
      - 	    if (try_color)
      - 		wchgat(stdscr, -1, A_NORMAL, my_pair, NULL);
      -+#endif
      - 	}
      -     }
      -     setscrreg(1, LINES - 1);
      diff --git a/meta/packages/ncurses/ncurses/configure.patch b/meta/packages/ncurses/ncurses/configure.patch
      deleted file mode 100644
      index 992e81008f..0000000000
      --- a/meta/packages/ncurses/ncurses/configure.patch
      +++ /dev/null
      @@ -1,193 +0,0 @@
      -
      -#
      -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
      -#
      -
      ---- ncurses-5.3/./configure.in~configure
      -+++ ncurses-5.3/./configure.in
      -@@ -34,9 +34,10 @@
      - dnl See http://invisible-island.net/autoconf/ for additional information.
      - dnl
      - dnl ---------------------------------------------------------------------------
      --AC_PREREQ(2.13.20020210)
      -+AC_PREREQ(2.57)
      - AC_REVISION($Revision: 1.297 $)
      --AC_INIT(ncurses/base/lib_initscr.c)
      -+AC_INIT
      -+AC_CONFIG_SRCDIR([ncurses/base/lib_initscr.c])
      - AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
      - 
      - CF_SUBST_NCURSES_VERSION
      -@@ -45,7 +46,7 @@
      - [AC_MSG_WARN(overriding ABI version to $withval)
      -  cf_cv_abi_version=$withval])
      - 
      --CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
      -+CF_CHECK_CACHE([AC_CANONICAL_TARGET([])])
      - AC_ARG_WITH(system-type,
      - [  --with-system-type=XXX  test: override derived host system-type],
      - [AC_MSG_WARN(overriding system type to $withval)
      -@@ -110,7 +111,7 @@
      - CF_GXX_VERSION
      - case $GXX_VERSION in
      - 1*|2.[[0-6]]*)
      --	GXX=""; CXX=""; ac_cv_prog_gxx=no
      -+	GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
      - 	cf_cxx_library=no
      - 	AC_MSG_WARN(templates do not work)
      - 	;;
      -@@ -370,7 +371,7 @@
      - if test "$CC_SHARED_OPTS" = "unknown"; then
      - 	for model in $cf_list_models; do
      - 		if test "$model" = "shared"; then
      --			AC_ERROR(Shared libraries are not supported in this version)
      -+			AC_MSG_ERROR([Shared libraries are not supported in this version])
      - 		fi
      - 	done
      - fi
      -@@ -457,7 +458,7 @@
      - AC_ARG_ENABLE(big-core,
      - 	[  --disable-big-core      assume machine has little memory],
      - 	[with_big_core=$enableval],
      --	[AC_TRY_RUN([
      -+	[AC_RUN_IFELSE([AC_LANG_SOURCE([[
      - #include 
      - #include 
      - int main() {
      -@@ -466,10 +467,7 @@
      - 	if (s != 0)
      - 		s[0] = s[n-1] = 0;
      - 	exit(s == 0);
      --}],
      --	[with_big_core=yes],
      --	[with_big_core=no],
      --	[with_big_core=no])])
      -+}]])],[with_big_core=yes],[with_big_core=no],[with_big_core=no])])
      - AC_MSG_RESULT($with_big_core)
      - test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
      - 
      -@@ -484,7 +482,7 @@
      - if test "$with_termcap" != "yes" ; then
      - 	if test "$use_database" = no ; then
      - 		if test -z "$with_fallback" ; then
      --			AC_ERROR(You have disabled the database w/o specifying fallbacks)
      -+			AC_MSG_ERROR([You have disabled the database w/o specifying fallbacks])
      - 		fi
      - 	fi
      - 	AC_DEFINE(PURE_TERMINFO)
      -@@ -903,7 +901,7 @@
      - AC_SUBST(MATH_LIB)
      - 
      - ###	Checks for header files.
      --AC_STDC_HEADERS
      -+AC_HEADER_STDC([])
      - AC_HEADER_DIRENT
      - AC_HEADER_TIME
      - CF_REGEX
      -@@ -937,7 +935,7 @@
      - CF_SYS_TIME_SELECT
      - 
      - ###	checks for compiler characteristics
      --AC_LANG_C
      -+AC_LANG([C])
      - AC_C_CONST
      - AC_C_INLINE
      - test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
      -@@ -1012,7 +1010,7 @@
      - 
      - # Check for C++ compiler characteristics (and ensure that it's there!)
      - if test -n "$CXX" ; then
      --	AC_LANG_CPLUSPLUS
      -+	AC_LANG([C++])
      - 	CF_STDCPP_LIBRARY
      - 
      - 	case $GXX_VERSION in
      -@@ -1286,15 +1284,16 @@
      - 
      - ################################################################################
      - test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
      --AC_OUTPUT( \
      -+AC_CONFIG_FILES([\
      - 	include/MKterm.h.awk \
      - 	include/curses.head:include/curses.h.in \
      - 	include/termcap.h \
      - 	include/unctrl.h \
      - 	$SUB_MAKEFILES \
      --	Makefile,[
      -+	Makefile])
      -+AC_CONFIG_COMMANDS([default],[[
      - CF_LIB_RULES
      --],[
      -+]],[[
      - ### Special initialization commands, used to pass information from the
      - ### configuration-run into config.status
      - 
      -@@ -1324,5 +1323,6 @@
      - cf_with_cxx_binding="$cf_with_cxx_binding"
      - host="$host"
      - 
      --],cat)dnl
      -+]])
      -+AC_OUTPUTdnl
      - ${MAKE-make} preinstall
      ---- ncurses-5.3/./test/configure.in~configure
      -+++ ncurses-5.3/./test/configure.in
      -@@ -38,8 +38,9 @@
      - dnl
      - dnl See http://invisible-island.net/autoconf/ for additional information.
      - dnl ---------------------------------------------------------------------------
      --AC_PREREQ(2.13.20020210)
      --AC_INIT(ncurses.c)
      -+AC_PREREQ(2.57)
      -+AC_INIT
      -+AC_CONFIG_SRCDIR([ncurses.c])
      - AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
      - 
      - CF_INHERIT_SCRIPT(config.guess)
      -@@ -129,7 +130,7 @@
      - 
      - AC_TYPE_SIGNAL
      - 
      --AC_STDC_HEADERS
      -+AC_HEADER_STDC([])
      - AC_HEADER_TIME
      - AC_CHECK_HEADERS( \
      - form.h \
      -@@ -160,9 +161,8 @@
      - wresize \
      - )
      - 
      --AC_TRY_LINK([
      --#include <${cf_cv_ncurses_header-curses.h}>],
      --[
      -+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
      -+#include <${cf_cv_ncurses_header-curses.h}>]], [[
      - 	(void) assume_default_colors (0, 0);
      - 	(void) curses_version ();
      - 	(void) define_key (0, 0);
      -@@ -175,7 +175,7 @@
      - 	(void) use_default_colors ();
      - 	(void) use_extended_names (0);
      - 	(void) wresize (0, 0, 0);
      --	],[AC_DEFINE(NCURSES_EXT_FUNCS)])
      -+	]])],[AC_DEFINE(NCURSES_EXT_FUNCS)],[])
      - 
      - CF_SYS_TIME_SELECT
      - CF_FUNC_CURSES_VERSION
      -@@ -186,7 +186,8 @@
      - 
      - dnl ---------------------------------------------------------------------------
      - 
      --AC_OUTPUT(Makefile,[
      -+AC_CONFIG_FILES([Makefile])
      -+AC_CONFIG_COMMANDS([default],[[
      - 	cat >>Makefile <