]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/ncurses/ncurses/20030906.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / ncurses / ncurses / 20030906.patch
1 diff -urNd -urNd ncurses-5.3/ANNOUNCE ncurses-5.3.20030906.orig/ANNOUNCE
2 --- ncurses-5.3/ANNOUNCE        Sat Oct 12 18:36:19 2002
3 +++ ncurses-5.3.20030906.orig/ANNOUNCE  Tue May 13 20:08:22 2003
4 @@ -23,8 +23,8 @@
5     manual pages are provided for the library and tools.
6  
7     The  ncurses  distribution  is  available via anonymous FTP at the GNU
8 -   distribution site [1]ftp://ftp.gnu.org/pub/gnu/ncurses.
9 -   It is also available at [2]ftp://invisible-island.net/ncurses.
10 +   distribution site [1]ftp://ftp.gnu.org/gnu/ncurses/ .
11 +   It is also available at [2]ftp://invisible-island.net/ncurses/ .
12  
13                                   Release Notes
14  
15 @@ -268,60 +268,60 @@
16  
17     cdk
18            Curses Development Kit
19 -          [3]http://invisible-island.net/cdk.
20 -          [4]http://www.vexus.ca/CDK.html
21 +          [3]http://invisible-island.net/cdk/
22 +          [4]http://www.vexus.ca/products/CDK/
23  
24     ded
25            directory-editor
26 -          [5]http://invisible-island.net/ded.
27 +          [5]http://invisible-island.net/ded/
28  
29     dialog
30            the  underlying  application used in Slackware's setup, and the
31            basis for similar applications on GNU/Linux.
32 -          [6]http://invisible-island.net/dialog.
33 +          [6]http://invisible-island.net/dialog/
34  
35     lynx
36            the character-screen WWW browser
37 -          [7]http://lynx.isc.org/release.
38 +          [7]http://lynx.isc.org/release/
39  
40     Midnight Commander
41            file manager
42 -          [8]www.gnome.org/mc/.
43 +          [8]http://www.ibiblio.org/mc/
44  
45     mutt
46            mail utility
47 -          [9]http://www.mutt.org.
48 +          [9]http://www.mutt.org/
49  
50     ncftp
51            file-transfer utility
52 -          [10]http://www.ncftp.com.
53 +          [10]http://www.ncftp.com/
54  
55     nvi
56            New vi versions 1.50 are able to use ncurses versions 1.9.7 and
57            later.
58 -          [11]http://www.bostic.com/vi/.
59 +          [11]http://www.bostic.com/vi/
60  
61     tin
62            newsreader, supporting color, MIME
63 -          [12]http://www.tin.org.
64 +          [12]http://www.tin.org/
65  
66     taper
67            tape archive utility
68 -          [13]http://members.iinet.net.au/~yusuf/taper/.
69 +          [13]http://taper.e-survey.net.au/
70  
71     vh-1.6
72            Volks-Hypertext browser for the Jargon File
73 -          [14]http://www.bg.debian.org/Packages/unstable/text/vh.html.
74 +          [14]http://www.debian.org/Packages/unstable/text/vh.html
75  
76     as well as some that use ncurses for the terminfo support alone:
77  
78     minicom
79            terminal emulator
80 -          [15]http://www.pp.clinet.fi/~walker/minicom.html.
81 +          [15]http://www.netsonic.fi/~walker/minicom.html
82  
83     vile
84            vi-like-emacs
85 -          [16]http://invisible-island.net/vile.
86 +          [16]http://invisible-island.net/vile/
87  
88     The  ncurses  distribution  includes  a  selection  of  test  programs
89     (including a few games).
90 @@ -342,7 +342,7 @@
91     and testing of this package.
92  
93     Beta  versions  of ncurses and patches to the current release are made
94 -   available at [23]ftp://invisible-island.net/ncurses.
95 +   available at [23]ftp://invisible-island.net/ncurses/ .
96  
97  Future Plans
98  
99 @@ -357,35 +357,35 @@
100  
101     The  distribution  includes  and uses a version of the terminfo-format
102     terminal    description    file    maintained    by    Eric   Raymond.
103 -   [24]http://earthspace.net/~esr/terminfo.
104 +   [24]http://www.tuxedo.org/~esr/terminfo/ .
105  
106     You  can  find  lots  of  information  on  terminal-related topics not
107 -   covered in the terminfo file at [25]Richard Shuford's archive.
108 +   covered in the terminfo file at [25]Richard Shuford's archive .
109  
110  References
111  
112 -   1. ftp://ftp.gnu.org/pub/gnu/ncurses
113 -   2. ftp://invisible-island.net/ncurses
114 -   3. http://invisible-island.net/cdk/cdk.html
115 -   4. http://www.vexus.ca/CDK.html
116 -   5. http://invisible-island.net/ded/ded.html
117 -   6. http://invisible-island.net/dialog/dialog.html
118 +   1. ftp://ftp.gnu.org/gnu/ncurses/
119 +   2. ftp://invisible-island.net/ncurses/
120 +   3. http://invisible-island.net/cdk/
121 +   4. http://www.vexus.ca/products/CDK/
122 +   5. http://invisible-island.net/ded/
123 +   6. http://invisible-island.net/dialog/
124     7. http://lynx.isc.org/release/
125 -   8. file://localhost/usr/build/ncurses/ncurses-5.2-20021012/doc/html/www.gnome.org/mc/
126 +   8. http://www.ibiblio.org/mc/
127     9. http://www.mutt.org/
128    10. http://www.ncftp.com/
129    11. http://www.bostic.com/vi/
130    12. http://www.tin.org/
131 -  13. http://members.iinet.net.au/~yusuf/taper/
132 -  14. http://www.bg.debian.org/Packages/unstable/text/vh.html
133 -  15. http://www.pp.clinet.fi/~walker/minicom.html
134 -  16. http://invisible-island.net/vile/vile.html
135 +  13. http://taper.e-survey.net.au/
136 +  14. http://www.debian.org/Packages/unstable/text/vh.html
137 +  15. http://www.netsonic.fi/~walker/minicom.html
138 +  16. http://invisible-island.net/vile/
139    17. mailto:zmbenhal@netcom.com
140 -  18. http://www.ccil.org/~esr/home.html
141 +  18. http://www.tuxedo.org/~esr/
142    19. mailto:dickey@herndon4.his.com
143    20. http://www.familiepfeifer.de/Contact.aspx?Lang=en
144    21. mailto:dickey@herndon4.his.com
145    22. mailto:bug-ncurses@gnu.org
146 -  23. ftp://invisible-island.net/ncurses
147 -  24. http://earthspace.net/~esr/terminfo
148 +  23. ftp://invisible-island.net/ncurses/
149 +  24. http://www.tuxedo.org/~esr/terminfo/
150    25. http://www.cs.utk.edu/~shuford/terminal_index.html
151 diff -urNd -urNd ncurses-5.3/Ada95/gen/Makefile.in ncurses-5.3.20030906.orig/Ada95/gen/Makefile.in
152 --- ncurses-5.3/Ada95/gen/Makefile.in   Sat Jul 13 07:02:28 2002
153 +++ ncurses-5.3.20030906.orig/Ada95/gen/Makefile.in     Tue May 13 20:08:22 2003
154 @@ -1,5 +1,5 @@
155  ##############################################################################
156 -# Copyright (c) 1998 Free Software Foundation, Inc.                          #
157 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
158  #                                                                            #
159  # Permission is hereby granted, free of charge, to any person obtaining a    #
160  # copy of this software and associated documentation files (the "Software"), #
161 @@ -30,7 +30,7 @@
162  #  Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en
163  #
164  #  Version Control
165 -#  $Revision: 1.41 $
166 +#  $Revision: 1.43 $
167  #
168  .SUFFIXES:
169  
170 @@ -53,6 +53,7 @@
171  AWK            = @AWK@
172  LN_S           = @LN_S@
173  
174 +CC             = @CC@
175  HOST_CC                = @BUILD_CC@
176  CFLAGS         = @CFLAGS@
177  
178 @@ -171,9 +172,9 @@
179  install \
180  install.libs :: $(ADA_OBJECTS)
181         @echo installing package $(ALIB) in $(ADA_OBJECTS)
182 -       @chmod a-wx $(ADA_SRCDIR)/*.ali
183 +       @-chmod a-wx $(ADA_SRCDIR)/*.ali
184         @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ali' $(ADA_SRCDIR) $(ADA_OBJECTS)
185 -       @chmod u+x $(ADA_SRCDIR)/*.ali
186 +       @-chmod u+x $(ADA_SRCDIR)/*.ali
187  
188  uninstall \
189  uninstall.libs ::
190 diff -urNd -urNd ncurses-5.3/Ada95/src/Makefile.in ncurses-5.3.20030906.orig/Ada95/src/Makefile.in
191 --- ncurses-5.3/Ada95/src/Makefile.in   Sat Jul 13 07:02:23 2002
192 +++ ncurses-5.3.20030906.orig/Ada95/src/Makefile.in     Tue May 13 20:08:22 2003
193 @@ -30,7 +30,7 @@
194  #  Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en
195  #
196  #  Version Control
197 -#  $Revision: 1.26 $
198 +#  $Revision: 1.27 $
199  #
200  .SUFFIXES:
201  
202 @@ -214,19 +214,19 @@
203  
204  
205  $(ABASE)-terminfo.o: \
206 -               $(ABASE)-terminfo.ads \
207 +               $(srcdir)/$(ABASE)-terminfo.ads \
208                 $(srcdir)/$(ABASE)-terminfo.adb $(BASEDEPS)
209         $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-terminfo.adb
210  
211  
212  $(ABASE)-termcap.o: \
213 -               $(ABASE)-termcap.ads \
214 +               $(srcdir)/$(ABASE)-termcap.ads \
215                 $(srcdir)/$(ABASE)-termcap.adb $(BASEDEPS)
216         $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-termcap.adb
217  
218  
219  $(ABASE)-putwin.o: \
220 -               $(ABASE)-putwin.ads \
221 +               $(srcdir)/$(ABASE)-putwin.ads \
222                 $(srcdir)/$(ABASE)-putwin.adb $(BASEDEPS)
223         $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-putwin.adb
224  
225 diff -urNd -urNd ncurses-5.3/INSTALL ncurses-5.3.20030906.orig/INSTALL
226 --- ncurses-5.3/INSTALL Sun Sep  1 17:42:11 2002
227 +++ ncurses-5.3.20030906.orig/INSTALL   Fri Sep 12 16:42:40 2003
228 @@ -1,4 +1,4 @@
229 --- $Id: INSTALL,v 1.56 2002/09/01 22:42:11 tom Exp $
230 +-- $Id: INSTALL,v 1.65 2003/08/30 22:44:10 tom Exp $
231  ---------------------------------------------------------------------
232               How to install Ncurses/Terminfo on your system
233  ---------------------------------------------------------------------
234 @@ -168,6 +168,11 @@
235      databases are SVr4-compatible, but most seem to be.  Exceptions include
236      DEC's Digital Unix (formerly known as OSF/1).
237  
238 +    If you run the test programs WITHOUT installing terminfo, ncurses may
239 +    read the termcap file and cache that in $HOME/.terminfo, which will
240 +    thereafter be used instead of the terminfo database.  See the comments
241 +    on "--enable-getcap-cache", to see why this is a Bad Thing.
242 +
243      It is possible to configure ncurses to use other terminfo database formats.
244      A few are provided as examples in the include-directory (see --with-caps).
245  
246 @@ -312,10 +317,6 @@
247         Compile without scroll-hints code.  This option is ignored when
248         hashmap scrolling is configured, which is the default.
249  
250 -    --enable-add-ons=DIR...
251 -       This is used to check if this package is a glibc add-on.  This is used
252 -       only by the glibc makefiles.
253 -
254      --enable-assertions
255         For testing, compile-in assertion code.  This is used only for a few
256         places where ncurses cannot easily recover by returning an error code.
257 @@ -454,6 +455,11 @@
258      --enable-xmc-glitch
259         Compile-in support experimental xmc (magic cookie) code.
260  
261 +    --with-abi-version=NUM
262 +       Override the ABI version, which is used in shared library filenames.
263 +       Normally this is the same as the release version; some ports have
264 +       special requirements for compatibility.
265 +
266      --with-ada-compiler=CMD
267         Specify the Ada95 compiler command (default "gnatmake")
268  
269 @@ -472,7 +478,7 @@
270  
271      --with-build-cc=XXX
272         If cross-compiling, specify a host C compiler, which is needed to
273 -       compile a few utilties which generate source modules for ncurses.
274 +       compile a few utilities which generate source modules for ncurses.
275         If you do not give this option, the configure script checks if the
276         $BUILD_CC variable is set, and otherwise defaults to gcc or cc.
277  
278 @@ -482,7 +488,7 @@
279         host compiler.
280  
281      --with-build-cppflags=XXX
282 -       If cross-compiling, specify the host C preprocesor-flags.  You might
283 +       If cross-compiling, specify the host C preprocessor-flags.  You might
284         need to do this if the target compiler has unusual flags which confuse
285         the host compiler.
286  
287 @@ -544,9 +550,17 @@
288         NOTE:  a few systems build shared libraries with fixed pathnames; this
289         option probably will not work for those configurations.
290  
291 -     --with-libtool
292 -       Generate libraries with libtool.  If this option is selected, then
293 -       it overrides all other library model specifications.
294 +     --with-libtool[=XXX]
295 +       Generate libraries with libtool.  If this option is selected, then it
296 +       overrides all other library model specifications.  Note that libtool
297 +       must already be installed, uses makefile rules dependent on GNU make,
298 +       and does not promise to follow the version numbering convention of
299 +       other shared libraries on your system.  However, if the --with-shared
300 +       option does not succeed, you may get better results with this option.
301 +
302 +       If a parameter value is given, it must be the full pathname of the
303 +       particular version of libtool, e.g.,
304 +               /usr/bin/libtool-1.2.3
305  
306      --with-manpage-format=XXX
307         Tell the configure script how you would like to install man-pages.  The
308 @@ -609,6 +623,9 @@
309         This is normally chosen automatically based on the type of system
310         which you are building on.  We use it for testing the configure script.
311  
312 +    --with-sysmouse
313 +       use FreeBSD sysmouse interface provide mouse support on the console.
314 +
315      --with-system-type=XXX
316         For testing, override the derived host system-type which is used to
317         decide things such as the linker commands used to build shared
318 @@ -673,7 +690,7 @@
319      you may encounter when building a system with different versions of
320      ncurses:
321  
322 -    5.3 (pre-release)
323 +    5.3 (October 12, 2002)
324         Interface changes:
325  
326         + change type for bool used in headers to NCURSES_BOOL, which usually
327 @@ -895,31 +912,34 @@
328  IF YOU ARE A SYSTEM INTEGRATOR:
329  ------------------------------
330  
331 -    Beginning with 1.9.9, the ncurses distribution includes both a tset
332 -    utility and /usr/share/tabset directory.  If you are installing ncurses,
333 -    it is no longer either necessary or desirable to install tset-jv.
334 -
335      Configuration and Installation:
336  
337 -       Configure with --prefix=/usr to make the install productions put
338 -       libraries and headers in the correct locations (overwriting any
339 -       previous curses libraries and headers).  This will put the terminfo
340 -       hierarchy under /usr/share/terminfo; you may want to override this with
341 -       --datadir=/usr/share/misc; terminfo and tabset are installed under the
342 -       data directory.
343 +       On platforms where ncurses is assumed to be installed in /usr/lib,
344 +       the configure script uses "/usr" as a default:
345  
346 -       Please configure the ncurses library in a pure-terminfo mode; that
347 -       is, with the --disable-termcap option.   This will make the ncurses
348 -       library smaller and faster. The ncurses library includes a termcap
349 -       emulation that queries the terminfo database, so even applications
350 -       that use raw termcap to query terminal characteristics will win
351 -       (providing you recompile and relink them!).
352 +               Linux, FreeBSD, NetBSD, OpenBSD, Cygwin
353  
354 -       If you must configure with termcap fallback enabled, you may also
355 -       wish to use the --enable-getcap option.  This option speeds up
356 -       termcap-based startups, at the expense of not allowing personal
357 -       termcap entries to reference the terminfo tree.  See the code in
358 -       ncurses/tinfo/read_termcap.c for details.
359 +       For other platforms, the default is "/usr/local".  See the discussion
360 +       of the "--disable-overwrite" option.
361 +
362 +       The location of the terminfo is set indirectly by the "--datadir"
363 +       configure option, e.g., /usr/share/terminfo, given a datadir of
364 +       /usr/share.  You may want to override this if you are installing
365 +       ncurses libraries in nonstandard locations, but wish to share the
366 +       terminfo database.
367 +
368 +       Normally the ncurses library is configured in a pure-terminfo mode;
369 +       that is, with the --disable-termcap option.  This makes the ncurses
370 +       library smaller and faster.  The ncurses library includes a termcap
371 +       emulation that queries the terminfo database, so even applications that
372 +       use raw termcap to query terminal characteristics will win (providing
373 +       you recompile and relink them!).
374 +
375 +       If you must configure with termcap fallback enabled, you may also wish
376 +       to use the --enable-getcap option.  This speeds up termcap-based
377 +       startups, at the expense of not allowing personal termcap entries to
378 +       reference the terminfo tree.  See comments in
379 +       ncurses/tinfo/read_termcap.c for further details.
380  
381         Note that if you have $TERMCAP set, ncurses will use that value
382         to locate termcap data.  In particular, running from xterm will
383 @@ -939,11 +959,11 @@
384  
385      Naming the Console Terminal
386  
387 -       In various Linuxes (and possibly elsewhere) there has been a practice
388 -       of designating the system console driver type as `console'.  Please
389 -       do not do this any more!  It complicates peoples' lives, because it
390 -       can mean that several different terminfo entries from different
391 -       operating systems all logically want to be called `console'.
392 +       In various systems there has been a practice of designating the system
393 +       console driver type as `console'.  Please do not do this!  It
394 +       complicates peoples' lives, because it can mean that several different
395 +       terminfo entries from different operating systems all logically want to
396 +       be called `console'.
397  
398         Please pick a name unique to your console driver and set that up
399         in the /etc/inittab table or local equivalent.  Send the entry to the
400 diff -urNd -urNd ncurses-5.3/MANIFEST ncurses-5.3.20030906.orig/MANIFEST
401 --- ncurses-5.3/MANIFEST        Sun Sep  1 17:08:22 2002
402 +++ ncurses-5.3.20030906.orig/MANIFEST  Sun Jul 20 14:02:09 2003
403 @@ -166,13 +166,11 @@
404  ./Ada95/src/terminal_interface.ads
405  ./INSTALL
406  ./MANIFEST
407 -./Makefile.glibc
408  ./Makefile.in
409  ./Makefile.os2
410  ./NEWS
411  ./README
412  ./README.emx
413 -./README.glibc
414  ./TO-DO
415  ./aclocal.m4
416  ./announce.html.in
417 @@ -394,6 +392,7 @@
418  ./doc/html/man/form_win.3x.html
419  ./doc/html/man/infocmp.1m.html
420  ./doc/html/man/infotocap.1m.html
421 +./doc/html/man/key_defined.3x.html
422  ./doc/html/man/keybound.3x.html
423  ./doc/html/man/keyok.3x.html
424  ./doc/html/man/menu.3x.html
425 @@ -593,6 +592,7 @@
426  ./man/form_win.3x
427  ./man/infocmp.1m
428  ./man/infotocap.1m
429 +./man/key_defined.3x
430  ./man/keybound.3x
431  ./man/keyok.3x
432  ./man/make_sed.sh
433 @@ -673,6 +673,7 @@
434  ./misc/chkdef.cmd
435  ./misc/cleantic.cmd
436  ./misc/cmpdef.cmd
437 +./misc/csort
438  ./misc/emx.src
439  ./misc/form.def
440  ./misc/form.ref
441 @@ -706,6 +707,7 @@
442  ./ncurses/base/MKunctrl.awk
443  ./ncurses/base/README
444  ./ncurses/base/define_key.c
445 +./ncurses/base/key_defined.c
446  ./ncurses/base/keybound.c
447  ./ncurses/base/keyok.c
448  ./ncurses/base/lib_addch.c
449 @@ -736,7 +738,6 @@
450  ./ncurses/base/lib_initscr.c
451  ./ncurses/base/lib_insch.c
452  ./ncurses/base/lib_insdel.c
453 -./ncurses/base/lib_insstr.c
454  ./ncurses/base/lib_instr.c
455  ./ncurses/base/lib_isendwin.c
456  ./ncurses/base/lib_leaveok.c
457 @@ -861,6 +862,7 @@
458  ./ncurses/tty/tty_display.h
459  ./ncurses/tty/tty_input.h
460  ./ncurses/tty/tty_update.c
461 +./ncurses/widechar/charable.c
462  ./ncurses/widechar/lib_box_set.c
463  ./ncurses/widechar/lib_cchar.c
464  ./ncurses/widechar/lib_erasewchar.c
465 @@ -869,9 +871,9 @@
466  ./ncurses/widechar/lib_hline_set.c
467  ./ncurses/widechar/lib_in_wch.c
468  ./ncurses/widechar/lib_in_wchnstr.c
469 -./ncurses/widechar/lib_ins_nwstr.c
470  ./ncurses/widechar/lib_ins_wch.c
471  ./ncurses/widechar/lib_inwstr.c
472 +./ncurses/widechar/lib_slk_wset.c
473  ./ncurses/widechar/lib_unget_wch.c
474  ./ncurses/widechar/lib_vid_attr.c
475  ./ncurses/widechar/lib_vline_set.c
476 @@ -913,12 +915,6 @@
477  ./progs/toe.c
478  ./progs/tput.c
479  ./progs/tset.c
480 -./sysdeps/unix/sysv/linux/Makefile
481 -./sysdeps/unix/sysv/linux/alpha/configure
482 -./sysdeps/unix/sysv/linux/configure
483 -./sysdeps/unix/sysv/linux/edit_man.sed
484 -./sysdeps/unix/sysv/linux/edit_man.sh
485 -./sysdeps/unix/sysv/linux/run_tic.sh
486  ./tack/COPYING
487  ./tack/HISTORY
488  ./tack/Makefile.in
489 @@ -945,6 +941,7 @@
490  ./tar-copy.sh
491  ./test/Makefile.in
492  ./test/README
493 +./test/aclocal.m4
494  ./test/blue.c
495  ./test/bs.6
496  ./test/bs.c
497 @@ -952,8 +949,15 @@
498  ./test/cardfile.dat
499  ./test/configure
500  ./test/configure.in
501 +./test/demo_defkey.c
502 +./test/demo_forms.c
503 +./test/demo_keyok.c
504 +./test/demo_menus.c
505 +./test/demo_panels.c
506  ./test/ditto.c
507  ./test/dots.c
508 +./test/edit_field.c
509 +./test/edit_field.h
510  ./test/filter.c
511  ./test/firework.c
512  ./test/firstlast.c
513 @@ -961,8 +965,11 @@
514  ./test/gdc.c
515  ./test/hanoi.c
516  ./test/hashtest.c
517 +./test/ins_wide.c
518 +./test/inserts.c
519  ./test/keynames.c
520  ./test/knight.c
521 +./test/listused.sh
522  ./test/lrtest.c
523  ./test/modules
524  ./test/ncurses.c
525 diff -urNd -urNd ncurses-5.3/NEWS ncurses-5.3.20030906.orig/NEWS
526 --- ncurses-5.3/NEWS    Sat Oct 12 17:35:42 2002
527 +++ ncurses-5.3.20030906.orig/NEWS      Fri Sep 12 16:42:59 2003
528 @@ -1,4 +1,4 @@
529 --- $Id: NEWS,v 1.714 2002/10/12 22:35:42 tom Exp $
530 +-- $Id: NEWS,v 1.766 2003/09/06 22:40:56 tom Exp $
531  
532  This is a log of changes that ncurses has gone through since Zeyd started
533  working with Pavel Curtis' original work, pcurses, in 1992.
534 @@ -6,6 +6,531 @@
535  Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim.
536  Changes since 1.9.9e are recorded by Thomas Dickey.
537  
538 +20030906
539 +       + modify configure script to avoid using "head -1", which does not
540 +         work if POSIXLY_CORRECT (sic) is set.
541 +       + modify run_tic.in to avoid using wrong shared libraries when
542 +         cross-compiling (Dan Kegel).
543 +
544 +20030830
545 +       + alter configure script help message to make it clearer that
546 +         --with-build-cc does not specify a cross-compiler (suggested by Dan
547 +         Kegel <dank@kegel.com>).
548 +       + modify configure script to accommodate libtool 1.5, as well as add an
549 +         parameter to the "--with-libtool" option which can specify the
550 +         pathname of libtool (report by Chris Zubrzycki).  We note that
551 +         libtool 1.5 has more than one bug in its C++ support, so it is not
552 +         able to install libncurses++, for instance, if $DESTDIR or the option
553 +         --with-install-prefix is used.
554 +
555 +20030823
556 +       > Philippe Blain:
557 +       + move assignments to SP->_cursrow, SP->_curscol into online_mvcur().
558 +       + make baudrate computation in delay_output() consistent with the
559 +         assumption in _nc_mvcur_init(), i.e., a byte is 9 bits.
560 +
561 +20030816
562 +       + modify logic in waddch_literal() to take into account zh_TW.Big5
563 +         whose multibyte sequences may contain "printable" characters, e.g.,
564 +         a "g" in the sequence "\247g" (Debian #204889, cf: 20030621).
565 +       + improve storage used by _nc_safe_strcpy() by ensuring that the size
566 +         is reset based on the initialization call, in case it were called
567 +         after other strcpy/strcat calls (report by Philippe Blain).
568 +       > Philippe Blain:
569 +       + remove an unused ifdef for REAL_ATTR & WANT_CHAR
570 +       + correct a place where _cup_cost was used rather than _cuu_cost
571 +
572 +20030809
573 +       + fix a small memory leak in _nc_free_termtype().
574 +       + close trace-file if trace() is called with a zero parameter.
575 +       + free memory allocated for soft-key strings, in delscreen().
576 +       + fix an allocation size in safe_sprintf.c for the "*" format code.
577 +       + correct safe_sprintf.c to not return a null pointer if the format
578 +         happens to be an empty string.  This applies to the "configure
579 +         --enable-safe-sprintf" option (Redhat #101486).
580 +
581 +20030802
582 +       + modify casts used for ABSENT_BOOLEAN and CANCELLED_BOOLEAN (report by
583 +         Daniel Jacobowitz).
584 +       > Philippe Blain:
585 +       + change padding for change_scroll_region to not be proportional to
586 +         the size of the scroll-region.
587 +       + correct error-return in _nc_safe_strcat().
588 +
589 +20030726
590 +       + correct limit-checks in _nc_scroll_window() (report and test-case by
591 +         Thomas Graf <graf@dms.at> cf: 20011020).
592 +       + re-order configure checks for _XOPEN_SOURCE to avoid conflict with
593 +         _GNU_SOURCE check.
594 +
595 +20030719
596 +       + use clr_eol in preference to blanks for bce terminals, so select and
597 +         paste will have fewer trailing blanks, e.g., when using xterm
598 +         (request by Vincent Lefevre).
599 +       + correct prototype for wunctrl() in manpage.
600 +       + add configure --with-abi-version option (discussion with Charles
601 +         Wilson).
602 +       > cygwin changes from Charles Wilson:
603 +         + aclocal.m4: on cygwin, use autodetected prefix for import
604 +           and static lib, but use "cyg" for DLL.
605 +         + include/ncurses_dll.h: correct the comments to reflect current
606 +           status of cygwin/mingw port.  Fix compiler warning.
607 +         + misc/run_tic.in: ensure that tic.exe can find the uninstalled
608 +           DLL, by adding the lib-directory to the PATH variable.
609 +         + misc/terminfo.src (nxterm|xterm-color): make xterm-color
610 +           primary instead of nxterm, to match XFree86's xterm.terminfo
611 +           usage and to prevent circular links.
612 +           (rxvt): add additional codes from rxvt.org.
613 +           (rxvt-color): new alias
614 +           (rxvt-xpm): new alias
615 +           (rxvt-cygwin): like rxvt, but with special acsc codes.
616 +           (rxvt-cygwin-native): ditto.  rxvt may be run under XWindows, or
617 +           with a "native" MSWin GUI.  Each takes different acsc codes,
618 +           which are both different from the "normal" rxvt's acsc.
619 +           (cygwin): cygwin-in-cmd.exe window.  Lots of fixes.
620 +           (cygwinDBG): ditto.
621 +         + mk-1st.awk: use "cyg" for the DLL prefix, but "lib" for import
622 +           and static libs.
623 +
624 +20030712
625 +       + update config.guess, config.sub
626 +       + add triples for configuring shared libraries with the Debian
627 +         GNU/FreeBSD packages (patch by Robert Millan <zeratul2@wanadoo.es>).
628 +
629 +20030705
630 +       + modify CF_GCC_WARNINGS so it only applies to gcc, not g++.  Some
631 +         platforms have installed g++ along with the native C compiler, which
632 +         would not accept gcc warning options.
633 +       + add -D_XOPEN_SOURCE=500 when configuring with --enable-widec, to
634 +         get mbstate_t declaration on HPUX 11.11 (report by David Ellement).
635 +       + add _nc_pathlast() to get rid of casts in _nc_basename() calls.
636 +       + correct a sign-extension in wadd_wch() and wecho_wchar() from
637 +         20030628 (report by Tomohiro KUBOTA).
638 +       + work around omission of btowc() and wctob() from wide-character
639 +         support (sic) in NetBSD 1.6 using mbtowc() and wctomb() (report by
640 +         Gabor Z Papp).
641 +       + add portability note to curs_get_wstr.3x (Debian #199957).
642 +
643 +20030628
644 +       + rewrite wadd_wch() and wecho_wchar() to call waddch() and wechochar()
645 +         respectively, to avoid calling waddch_noecho() with wide-character
646 +         data, since that function assumes its input is 8-bit data. 
647 +         Similarly, modify waddnwstr() to call wadd_wch().
648 +       + remove logic from waddnstr() which transformed multibyte character
649 +         strings into wide-characters.  Rewrite of waddch_literal() from
650 +         20030621 assumes its input is raw multibyte data rather than wide
651 +         characters (report by Tomohiro KUBOTA).
652 +
653 +20030621
654 +       + write getyx() and related 2-return macros in terms of getcury(),
655 +         getcurx(), etc.
656 +       + modify waddch_literal() in case an application passes bytes of a
657 +         multibyte character directly to waddch().  In this case, waddch()
658 +         must reassemble the bytes into a wide-character (report by Tomohiro
659 +         KUBOTA <kubota@debian.org>).
660 +
661 +20030614
662 +       + modify waddch_literal() in case a multibyte value occupies more than
663 +         two cells.
664 +       + modify PutAttrChar() to compute the number of character cells that
665 +         are used in multibyte values.  This fixes a problem displaying
666 +         double-width characters (report/test by Mitsuru Chinen
667 +         <mchinen@yamato.ibm.com>).
668 +       + add a null-pointer check for result of keyname() in _tracechar()
669 +       + modify _tracechar() to work around glibc sprintf bug.
670 +
671 +20030607
672 +       + add a call to setlocale() in cursesmain.cc, making demo display
673 +         properly in a UTF-8 locale.
674 +       + add a fallback definition in curses.priv.h for MB_LEN_MAX (prompted
675 +         by discussion with Gabor Z Papp).
676 +       + use macros NCURSES_ACS() and NCURSES_WACS() to hide cast needed to
677 +         appease -Wchar-subscript with g++ 3.3 (Debian #195732).
678 +       + fix a redefinition of $RANLIB in the configure script when libtool
679 +         is used, which broke configure on Mac OS X (report by Chris Zubrzycki
680 +         <beren@mac.com>).
681 +       + simplify ifdef for bool declaration in curses.h.in (suggested by
682 +         Albert Chin-A-Young).
683 +       + remove configure script check to allow -Wconversion for older
684 +         versions of gcc (suggested by Albert Chin-A-Young).
685 +
686 +20030531
687 +       + regenerated html manpages.
688 +       + modify ifdef's in curses.h.in that disabled use of __attribute__()
689 +         for g++, since recent versions implement the cases which ncurses uses
690 +         (Debian #195230).
691 +       + modify _nc_get_token() to handle a case where an entry has no
692 +         description, and capabilities begin on the same line as the entry
693 +         name.
694 +       + fix a typo in ncurses_dll.h reported by gcc 3.3.
695 +       + add an entry for key_defined.3x to man_db.renames.
696 +
697 +20030524
698 +       + modify setcchar() to allow converting control characters to complex
699 +         characters (report/test by Mitsuru Chinen <mchinen@yamato.ibm.com>).
700 +       + add tkterm entry -TD
701 +       + modify parse_entry.c to allow a terminfo entry with a leading
702 +         2-character name (report by Don Libes).
703 +       + corrected acsc in screen.teraterm, which requires a PC-style mapping.
704 +       + fix trace statements in read_entry.c to use lseek() rather than
705 +         tell().
706 +       + fix signed/unsigned warnings from Sun's compiler (gcc should give
707 +         these warnings, but it is unpredictable).
708 +       + modify configure script to omit -Winline for gcc 3.3, since that
709 +         feature is broken.
710 +       + modify manlinks.sed to add a few functions that were overlooked since
711 +         they return function pointers:  field_init, field_term, form_init,
712 +         form_term, item_init, item_term, menu_init and menu_term.
713 +
714 +20030517
715 +       + prevent recursion in wgetch() via wgetnstr() if the connection cannot
716 +         be switched between cooked/raw modes because it is not a TTY (report
717 +         by Wolfgang Gutjahr <gutw@knapp.com>).
718 +       + change parameter of define_key() and key_defined() to const (prompted
719 +         by Debian #192860).
720 +       + add a check in test/configure for ncurses extensions, since there
721 +         are some older versions, etc., which would not compile with the
722 +         current test programs.
723 +       + corrected demo in test/ncurses.c of wgetn_wstr(), which did not
724 +         convert wchar_t string to multibyte form before printing it.
725 +       + corrections to lib_get_wstr.c:
726 +         + null-terminate buffer passed to setcchar(), which occasionally
727 +           failed.
728 +         + map special characters such as erase- and kill-characters into
729 +           key-codes so those will work as expected even if they are not
730 +           mentioned in the terminfo.
731 +       + modify PUTC() and Charable() macros to make wide-character line
732 +         drawing work for POSIX locale on Linux console (cf: 20021221).
733 +
734 +20030510
735 +       + make typography for program options in manpages consistent (report
736 +         by Miloslav Trmac <mitr@volny.cz>).
737 +       + correct dependencies in Ada95/src/Makefile.in, so the builds with
738 +         "--srcdir" work (report by Warren L Dodge).
739 +       + correct missing definition of $(CC) in Ada95/gen/Makefile.in
740 +         (reported by Warren L Dodge <warrend@mdhost.cse.tek.com>).
741 +       + fix typos and whitespace in manpages (patch by jmc
742 +         <jmc@prioris.mini.pw.edu.pl>).
743 +
744 +20030503
745 +       + fix form_driver() cases for REQ_CLR_EOF, REQ_CLR_EOL, REQ_DEL_CHAR,
746 +         REQ_DEL_PREV and REQ_NEW_LINE, which did not ensure the cursor was at
747 +         the editing position before making modifications. 
748 +       + add test/demo_forms and associated test/edit_field.c demos.
749 +       + modify test/configure.in to use test/modules for the list of objects
750 +         to compile rather than using the list of programs.
751 +
752 +20030419
753 +       + modify logic of acsc to use the original character if no mapping is
754 +         defined, noting that Solaris does this.
755 +       + modify ncurses 'b' test to avoid using the acs_map[] array since
756 +         20021231 changes it to no longer contain information from the acsc
757 +         string.
758 +       + modify makefile rules in c++, progs, tack and test to ensure that
759 +         the compiler flags (e.g., $CFLAGS or $CCFLAGS) are used in the link
760 +         command (report by Jose Luis Rico Botella <informatica@serpis.com>).
761 +       + modify soft-key initialization to use A_REVERSE if A_STANDOUT would
762 +         not be shown when colors are used, i.e., if ncv#1 is set in the
763 +         terminfo as is done in "screen".
764 +
765 +20030412
766 +       + add a test for slk_color(), in ncurses.c
767 +       + fix some issues reported by valgrind in the slk_set() and slk_wset()
768 +         code, from recent rewrite.
769 +       + modify ncurses 'E' test to use show previous label via slk_label(),
770 +         as in 'e' test.
771 +       + modify wide-character versions of NewChar(), NewChar2() macros to
772 +         ensure that the whole struct is initialized.
773 +
774 +20030405
775 +       + modify setupterm() to check if the terminfo and terminal-modes have
776 +         already been read.  This ensures that it does not reinvoke
777 +         def_prog_mode() when an application calls more than one function,
778 +         such as tgetent() and initscr() (report by Olaf Buddenhagen).
779 +
780 +20030329
781 +       + add 'E' test to ncurses.c, to exercise slk_wset().
782 +       + correct handling of carriage-return in wgetn_wstr(), used in demo of
783 +         slk_wset().
784 +       + first draft of slk_wset() function.
785 +
786 +20030322
787 +       + improved warnings in tic when suppressing items to fit in termcap's
788 +         1023-byte limit.
789 +       + built a list in test/README showing which externals are being used
790 +         by either programs in the test-directory or via internal library
791 +         calls.
792 +       + adjust include-options in CF_ETIP_DEFINES to avoid missing
793 +         ncurses_dll.h, fixing special definitions that may be needed for
794 +         etip.h (reported by Greg Schafer <gschafer@zip.com.au>).
795 +
796 +20030315
797 +       + minor fixes for cardfile.c, to make it write the updated fields to
798 +         a file when ^W is given.
799 +       + add/use _nc_trace_bufcat() to eliminate some fixed buffer limits in
800 +         trace code.
801 +
802 +20030308
803 +       + correct a case in _nc_remove_string(), used by define_key(), to avoid
804 +         infinite loop if the given string happens to be a substring of other
805 +         strings which are assigned to keys (report by John McCutchan).
806 +       + add key_defined() function, to tell which keycode a string is bound
807 +         to (discussion with John McCutchan <ttb@tentacle.dhs.org>).
808 +       + correct keybound(), which reported definitions in the wrong table,
809 +         i.e., the list of definitions which are disabled by keyok().
810 +       + modify demo_keydef.c to show the details it changes, and to check
811 +         for errors.
812 +
813 +20030301
814 +       + restructured test/configure script, make it work for libncursesw.
815 +       + add description of link_fieldtype() to manpage (report by
816 +         L Dee Holtsclaw <dee@sunbeltsoft.com>).
817 +
818 +20030222
819 +       + corrected ifdef's relating to configure check for wchar_t, etc.
820 +       + if the output is a socket or other non-tty device, use 1 millisecond
821 +         for the cost in mvcur; previously it was 9 milliseconds because the
822 +         baudrate was not known.
823 +       + in _nc_get_tty_mode(), initialize the TTY buffer on error, since
824 +         glibc copies uninitialized data in that case, as noted by valgrind.
825 +       + modify tput to use the same parameter analysis as tparm() does, to
826 +         provide for user-defined strings, e.g., for xterm title, a
827 +         corresponding capability might be
828 +               title=\E]2;%p1%s^G,
829 +       + modify MKlib_gen.sh to avoid passing "#" tokens through the C
830 +         preprocessor.  This works around Mac OS X's preprocessor, which
831 +         insists on adding a blank on each side of the token (report/analysis
832 +         by Kevin Murphy <murphy@genome.chop.edu>).
833 +
834 +20030215
835 +       + add configure check for wchar_t and wint_t types, rather than rely
836 +         on preprocessor definitions.  Also work around for gcc fixinclude
837 +         bug which creates a shadow copy of curses.h if it sees these symbols
838 +         apparently typedef'd.
839 +       + if database is disabled, do not generate run_tic.sh
840 +       + minor fixes for memory-leak checking when termcap is read.
841 +
842 +20030208
843 +       + add checking in tic for incomplete line-drawing character mapping.
844 +       + update configure script to reflect fix for AC_PROG_GCC_TRADITIONAL,
845 +         which is broken in autoconf 2.5x for Mac OS X 10.2.3 (report by
846 +         Gerben Wierda <Sherlock@rna.nl>).
847 +       + make return value from _nc_printf_string() consistent.  Before,
848 +         depending on whether --enable-safe-sprintf was used, it might not be
849 +         cached for reallocating.
850 +
851 +20030201
852 +       + minor fixes for memory-leak checking in lib_tparm.c, hardscroll.c
853 +       + correct a potentially-uninitialized value if _read_termtype() does
854 +         not read as much data as expected (report by Wolfgang Rohdewald
855 +         <wr6@uni.de>).
856 +       + correct several places where the aclocal.m4 macros relied on cache
857 +         variable names which were incompatible (as usual) between autoconf
858 +         2.13 and 2.5x, causing the test for broken-linker to give incorrect
859 +         results (reports by Gerben Wierda <Sherlock@rna.nl> and Thomas Esser
860 +         <te@dbs.uni-hannover.de>).
861 +       + do not try to open gpm mouse driver if standard output is not a tty;
862 +         the gpm library does not make this check (from bug report for dialog
863 +         by David Oliveira <davidoliveira@develop.prozone.ws>).
864 +
865 +20030125
866 +       + modified emx.src to correspond more closely to terminfo.src, added
867 +         emx-base to the latter -TD
868 +       + add configure option for FreeBSD sysmouse, --with-sysmouse, and
869 +         implement support for that in lib_mouse.c, lib_getch.c
870 +
871 +20030118
872 +       + revert 20030105 change to can_clear_with(), does not work for the
873 +         case where the update is made on cells which are blanks with
874 +         attributes, e.g., reverse.
875 +       + improve ifdef's to guard against redefinition of wchar_t and wint_t
876 +         in curses.h (report by Urs Jansen).
877 +
878 +20030111
879 +       + improve mvcur() by checking if it is safe to move when video
880 +         attributes are set (msgr), and if not, reset/restore attributes
881 +         within that function rather than doing it separately in the GoTo()
882 +         function in tty_update.c (suggested by Philippe Blain).
883 +       + add a message in run_tic.in to explain more clearly what does not
884 +         work when attempting to create a symbolic link for /usr/lib/terminfo
885 +         on OS/2 and other platforms with no symbolic links (report by John
886 +         Polterak).
887 +       + change several sed scripts to avoid using "\+" since it is not a BRE
888 +         (basic regular expression).  One instance caused terminfo.5 to be
889 +         misformatted on FreeBSD (from a FreeBSD bug report by Kazuo Horikawa
890 +         <horikawa@FreeBSD.org>).
891 +       + correct misspelled 'wint_t' in curs_get_wch.3x (Michael Elkins).
892 +
893 +20030105
894 +       + improve description of terminfo operators, especially static/dynamic
895 +         variables (comments by Mark I Manning IV <mark4th@earthlink.net>).
896 +       + demonstrate use of FIELDTYPE by modifying test/ncurses 'r' test to
897 +         use the predefined TYPE_ALPHA field-type, and by defining a
898 +         specialized type for the middle initial/name.
899 +       + fix MKterminfo.sh, another workaround for POSIXLY_CORRECT misfeature
900 +         of sed 4.0
901 +       > Philippe Blain:
902 +       + optimize can_clear_with() a little by testing first if the parameter
903 +         is indeed a "blank".
904 +       + simplify ClrBottom() a little by allowing it to use clr_eos to clear
905 +         sections as small as one line.
906 +       + improve ClrToEOL() by checking if clr_eos is available before trying
907 +         to use it.
908 +       + use tputs() rather than putp() in a few cases in tty_update.c since
909 +         the corresponding delays are proportional to the number of lines
910 +         affected: repeat_char, clr_eos, change_scroll_region.
911 +
912 +20021231
913 +       + rewrite of lib_acs.c conflicts with copying of SCREEN acs_map to/from
914 +         global acs_map[] array; removed the lines that did the copying.
915 +
916 +20021228
917 +       + change some overlooked tputs() calls in scrolling code to use putp()
918 +         (report by Philippe Blain).
919 +       + modify lib_getch.c to avoid recursion via wgetnstr() when the input
920 +         is not a tty and consequently mode-changes do not work (report by
921 +         <R.Chamberlin@querix.com>).
922 +       + rewrote lib_acs.c to allow PutAttrChar() to decide how to render
923 +         alternate-characters, i.e., to work with Linux console and UTF-8
924 +         locale.
925 +       + correct line/column reference in adjust_window(), needed to make
926 +         special windows such as curscr track properly when resizing (report
927 +         by Lucas Gonze <lgonze@panix.com>).
928 +       > Philippe Blain:
929 +       + correct the value used for blank in ClrBottom() (broken in 20000708).
930 +       + correct an off-by-one in GoTo() parameter in _nc_scrolln().
931 +
932 +20021221
933 +       + change several tputs() calls in scrolling code to use putp(), to
934 +         enable padding which may be needed for some terminals (patch by
935 +         by Philippe Blain).
936 +       + use '%' as sed substitute delimiter in run_tic script to avoid
937 +         problems with pathname delimiters such as ':' and '@' (report by John
938 +         Polterak).
939 +       + implement a workaround so that line-drawing works with screen's
940 +         crippled UTF-8 support (tested with 3.9.13).  This only works with
941 +         the wide-character support (--enable-widec); the normal library will
942 +         simply suppress line-drawing when running in a UTF-8 locale in screen.
943 +
944 +20021214
945 +       + allow BUILD_CC and related configure script variables to be
946 +         overridden from the environment.
947 +       + make build-tools variables in ncurses/Makefile.in consistent with
948 +         the configure script variables (report by Maciej W Rozycki).
949 +       + modify ncurses/modules to allow
950 +               configure --disable-leaks --disable-ext-funcs
951 +         to build (report by Gary Samuelson).
952 +       + fix a few places in configure.in which lacked quotes (report by
953 +         Gary Samuelson <gary.samuelson@verizon.com>).
954 +       + correct handling of multibyte characters in waddch_literal() which
955 +         force wrapping because they are started too late on the line (report
956 +         by Sam Varshavchik).
957 +       + small fix for CF_GNAT_VERSION to ignore the help-message which
958 +         gnatmake adds to its version-message.
959 +       > Maciej W Rozycki <macro@ds2.pg.gda.pl>:
960 +       + use AC_CHECK_TOOL to get proper values for AR and LD for cross
961 +         compiling.
962 +       + use $cross_compiling variable in configure script rather than
963 +         comparing $host_alias and $target alias, since "host" is
964 +         traditionally misused in autoconf to refer to the target platform.
965 +       + change configure --help message to use "build" rather than "host"
966 +         when referring to the --with-build-XXX options.
967 +
968 +20021206
969 +       + modify CF_GNAT_VERSION to print gnatmake's version, and to allow for
970 +         possible gnat versions such as 3.2 (report by Chris Lingard
971 +         <chris@stockwith.co.uk>).
972 +       + modify #define's for CKILL and other default control characters in
973 +         tset to use the system's default values if they are defined.
974 +       + correct interchanged defaults for kill and interrupt characters
975 +         in tset, which caused it to report unnecessarily (Debian #171583).
976 +       + repair check for missing C++ compiler, which is broken in autoconf
977 +         2.5x by hardcoding it to g++ (report by Martin Mokrejs).
978 +       + update config.guess, config.sub (2002-11-30)
979 +       + modify configure script to skip --with-shared, etc., when the
980 +         --with-libtool option is given, since they would be ignored anyway.
981 +       + fix to allow "configure --with-libtool --with-termlib" to build.
982 +       + modify configure script to show version number of libtool, to help
983 +         with bug reports.  libtool still gets confused if the installed
984 +         ncurses libraries are old, since it ignores the -L options at some
985 +         point (tested with libtool 1.3.3 and 1.4.3).
986 +       + reorder configure script's updating of $CPPFLAGS and $CFLAGS to
987 +         prevent -I options in the user's environment from introducing
988 +         conflicts with the build -I options (may be related to reports by 
989 +         Patrick Ash and George Goffe).
990 +       + rename test/define_key.c to test/demo_defkey.c, test/keyok.c to
991 +         test/demo_keyok.c to allow building these with libtool.
992 +
993 +20021123
994 +       + add example program test/define_key.c for define_key().
995 +       + add example program test/keyok.c for keyok().
996 +       + add example program test/ins_wide.c for wins_wch() and wins_wstr().
997 +       + modify wins_wch() and wins_wstr() to interpret tabs by using the
998 +         winsch() internal function.
999 +       + modify setcchar() to allow for wchar_t input strings that have
1000 +         more than one spacing character.
1001 +
1002 +20021116
1003 +       + fix a boundary check in lib_insch.c (patch by Philippe Blain).
1004 +       + change type for *printw functions from NCURSES_CONST to const
1005 +         (prompted by comment by Pedro Palhoto Matos <plpm@mega.ist.utl.pt>,
1006 +         but really from a note on X/Open's website stating that either is
1007 +         acceptable, and the latter will be used in a future revision).
1008 +       + add xterm-1002, xterm-1003 terminfo entries to demonstrate changes in
1009 +         lib_mouse.c (20021026) -TD
1010 +       + add screen-bce, screen-s entries from screen 3.9.13 (report by
1011 +         Adam Lazur <zal@debian.org>) -TD
1012 +       + add mterm terminfo entries -TD
1013 +
1014 +20021109
1015 +       + split-out useful fragments in terminfo for vt100 and vt220 numeric
1016 +         keypad, i.e., vt100+keypad, vt100+pfkeys, vt100+fnkeys and
1017 +         vt220+keypad.  The last as embedded in various entries had ka3 and
1018 +         kb2 interchanged (report/discussion with Leonard den Ottolander
1019 +         <leonardjo@hetnet.nl>).
1020 +       + add check in tic for keypads consistent with vt100 layout.
1021 +       + improve checks in tic for color capabilities
1022 +
1023 +20021102
1024 +       + check for missing/empty/illegal terminfo name in _nc_read_entry()
1025 +         (report by Martin Mokrejs, where $TERM was set to an empty string).
1026 +       + rewrote lib_insch.c, combining it with lib_insstr.c so both handle
1027 +         tab and other control characters consistently (report by Philippe
1028 +         Blain).
1029 +       + remove an #undef for KEY_EVENT from curses.tail used in the
1030 +         experimental NCURSES_WGETCH_EVENTS feature.  The #undef confuses
1031 +         dpkg's build script (Debian #165897).
1032 +       + fix MKlib_gen.sh, working around the ironically named POSIXLY_CORRECT
1033 +         feature of GNU sed 4.0 (reported by Ervin Nemeth <airwin@inf.bme.hu>).
1034 +
1035 +20021026
1036 +       + implement logic in lib_mouse.c to handle position reports which are
1037 +         generated when XFree86 xterm is initialized with private modes 1002
1038 +         or 1003.  These are returned to the application as the
1039 +         REPORT_MOUSE_POSITION mask, which was not implemented.  Tested both
1040 +         with ncurses 'a' menu (prompted by discussion with Larry Riedel
1041 +         <Larry@Riedel.org>).
1042 +       + modify lib_mouse.c to look for "XM" terminfo string, which allows
1043 +         one to override the escape sequence used to enable/disable mouse
1044 +         mode.  In particular this works for XFree86 xterm private modes
1045 +         1002 and 1003.  If "XM" is missing (note that this is an extended
1046 +         name), lib_mouse uses the conventional private mode 1000.
1047 +       + correct NOT_LOCAL() macro in lib_mvcur.c to refer to screen_columns
1048 +         where it used screen_lines (report by Philippe Blain).
1049 +       + correct makefile rules for the case when both --with-libtool and
1050 +         --with-gpm are given (report by Mr E_T <troll@logi.net.au>).
1051 +       + add note to terminfo manpage regarding the differences between
1052 +         setaf/setab and setf/setb capabilities (report by Pavel Roskin).
1053 +
1054 +20021019
1055 +       + remove redundant initialization of TABSIZE in newterm(), since it is
1056 +         already done in setupterm() (report by Philippe Blain).
1057 +       + add test/inserts.c, to test winnstr() and winsch().
1058 +       + replace 'sort' in dist.mk with script that sets locale to POSIX.
1059 +       + update URLs in announce.html.in (patch by Frederic L W Meunier).
1060 +       + remove glibc add-on files, which are no longer needed (report by
1061 +         Frederic L W Meunier).
1062 +
1063  20021012 5.3 release for upload to ftp.gnu.org
1064         + modify ifdef's in etip.h.in to allow the etip.h header to compile
1065           with gcc 3.2 (patch by Dimitar Zhekov <jimmy@is-vn.bg>).
1066 diff -urNd -urNd ncurses-5.3/README ncurses-5.3.20030906.orig/README
1067 --- ncurses-5.3/README  Sat Aug 12 18:31:21 2000
1068 +++ ncurses-5.3.20030906.orig/README    Tue May 13 20:08:22 2003
1069 @@ -1,4 +1,4 @@
1070 --- $Id: README,v 1.20 2000/08/12 23:31:21 tom Exp $
1071 +-- $Id: README,v 1.21 2003/02/08 19:36:39 tom Exp $
1072  -------------------------------------------------------------------------------
1073                 README file for the ncurses package
1074  
1075 @@ -43,6 +43,14 @@
1076         libform.so         (shared)
1077         libform_g.a        (debug enabled)
1078  
1079 +If you configure using the --enable-widec option, a "w" is appended to the
1080 +library names (e.g., libncursesw.a), and the resulting libraries support
1081 +wide-characters, e.g., via a UTF-8 locale.  The corresponding header files
1082 +are compatible with the non-wide-character configuration; wide-character
1083 +features are provided by ifdef's in the header files.  The wide-character
1084 +library interfaces are not binary-compatible with the non-wide-character
1085 +version.
1086 +
1087  The ncurses libraries implement the curses API.  The panel, menu and forms
1088  libraries implement clones of the SVr4 panel, menu and forms APIs.  The source
1089  code for these lives in the `ncurses', `panel', `menu', and `form' directories
1090 diff -urNd -urNd ncurses-5.3/aclocal.m4 ncurses-5.3.20030906.orig/aclocal.m4
1091 --- ncurses-5.3/aclocal.m4      Sat Sep 21 18:59:01 2002
1092 +++ ncurses-5.3.20030906.orig/aclocal.m4        Fri Sep 12 16:42:59 2003
1093 @@ -1,5 +1,5 @@
1094  dnl***************************************************************************
1095 -dnl Copyright (c) 1998-2000,2001,2002 Free Software Foundation, Inc.         *
1096 +dnl Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
1097  dnl                                                                          *
1098  dnl Permission is hereby granted, free of charge, to any person obtaining a  *
1099  dnl copy of this software and associated documentation files (the            *
1100 @@ -26,22 +26,24 @@
1101  dnl authorization.                                                           *
1102  dnl***************************************************************************
1103  dnl
1104 -dnl Author: Thomas E. Dickey 1996,1997,1998,1999,2000,2001
1105 +dnl Author: Thomas E. Dickey 1995-2003
1106  dnl
1107 -dnl $Id: aclocal.m4,v 1.285 2002/09/21 23:59:01 tom Exp $
1108 +dnl $Id: aclocal.m4,v 1.313 2003/09/06 23:46:28 tom Exp $
1109  dnl Macros used in NCURSES auto-configuration script.
1110  dnl
1111  dnl See http://invisible-island.net/autoconf/ for additional information.
1112  dnl
1113  dnl ---------------------------------------------------------------------------
1114  dnl ---------------------------------------------------------------------------
1115 +dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
1116 +dnl -------------------
1117  dnl Construct the list of include-options for the C programs in the Ada95
1118  dnl binding.
1119  AC_DEFUN([CF_ADA_INCLUDE_DIRS],
1120  [
1121 -ACPPFLAGS="$ACPPFLAGS -I. -I../../include"
1122 +ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
1123  if test "$srcdir" != "."; then
1124 -       ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include"
1125 +       ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS"
1126  fi
1127  if test "$GCC" != yes; then
1128         ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
1129 @@ -57,6 +59,8 @@
1130  AC_SUBST(ACPPFLAGS)
1131  ])dnl
1132  dnl ---------------------------------------------------------------------------
1133 +dnl CF_ADD_CFLAGS version: 5 updated: 2002/12/01 00:12:15
1134 +dnl -------------
1135  dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
1136  dnl The second parameter if given makes this macro verbose.
1137  AC_DEFUN([CF_ADD_CFLAGS],
1138 @@ -88,11 +92,13 @@
1139  
1140  if test -n "$cf_new_cppflags" ; then
1141         ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
1142 -       CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
1143 +       CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
1144  fi
1145  
1146  ])dnl
1147  dnl ---------------------------------------------------------------------------
1148 +dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
1149 +dnl ----------------
1150  dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
1151  dnl in the sharutils 4.2 distribution.
1152  AC_DEFUN([CF_ANSI_CC_CHECK],
1153 @@ -143,6 +149,8 @@
1154  fi
1155  ])dnl
1156  dnl ---------------------------------------------------------------------------
1157 +dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44
1158 +dnl ---------------
1159  dnl For programs that must use an ANSI compiler, obtain compiler options that
1160  dnl will make it recognize prototypes.  We'll do preprocessor checks in other
1161  dnl macros, since tools such as unproto can fake prototypes, but only part of
1162 @@ -159,6 +167,8 @@
1163  fi
1164  ])dnl
1165  dnl ---------------------------------------------------------------------------
1166 +dnl CF_BOOL_DECL version: 6 updated: 2001/12/02 01:39:28
1167 +dnl ------------
1168  dnl Test if 'bool' is a builtin type in the configured C++ compiler.  Some
1169  dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
1170  dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
1171 @@ -185,6 +195,8 @@
1172  fi
1173  ])dnl
1174  dnl ---------------------------------------------------------------------------
1175 +dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31
1176 +dnl ------------
1177  dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
1178  dnl Don't bother looking for bool.h, since it's been deprecated.
1179  dnl
1180 @@ -251,6 +263,8 @@
1181  fi
1182  ])dnl
1183  dnl ---------------------------------------------------------------------------
1184 +dnl CF_CFG_DEFAULTS version: 6 updated: 2003/07/12 15:15:19
1185 +dnl ---------------
1186  dnl Determine the default configuration into which we'll install ncurses.  This
1187  dnl can be overridden by the user's command-line options.  There's two items to
1188  dnl look for:
1189 @@ -267,7 +281,7 @@
1190  if test "x$prefix" = "xNONE" ; then
1191         case "$cf_cv_system_name" in
1192                 # non-vendor systems don't have a conflict
1193 -       openbsd*|netbsd*|freebsd*|linux*|cygwin*)
1194 +       openbsd*|netbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
1195                 prefix=/usr
1196                 ;;
1197         *)      prefix=$ac_default_prefix
1198 @@ -303,6 +317,8 @@
1199  fi
1200  ])dnl
1201  dnl ---------------------------------------------------------------------------
1202 +dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
1203 +dnl ----------
1204  dnl Check if the terminal-capability database functions are available.  If not,
1205  dnl ncurses has a much-reduced version.
1206  AC_DEFUN([CF_CGETENT],[
1207 @@ -324,6 +340,8 @@
1208  test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
1209  ])dnl
1210  dnl ---------------------------------------------------------------------------
1211 +dnl CF_CHECK_CACHE version: 7 updated: 2001/12/19 00:50:10
1212 +dnl --------------
1213  dnl Check if we're accidentally using a cache from a different machine.
1214  dnl Derive the system name, as a check for reusing the autoconf cache.
1215  dnl
1216 @@ -354,6 +372,8 @@
1217  fi
1218  ])dnl
1219  dnl ---------------------------------------------------------------------------
1220 +dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23
1221 +dnl --------------
1222  dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
1223  dnl the 'errno' variable.  Define a DECL_xxx symbol if we must declare it
1224  dnl ourselves.
1225 @@ -383,6 +403,8 @@
1226  CF_CHECK_EXTERN_DATA($1,int)
1227  ])dnl
1228  dnl ---------------------------------------------------------------------------
1229 +dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
1230 +dnl --------------------
1231  dnl Check for existence of external data in the current set of libraries.  If
1232  dnl we can modify it, it's real enough.
1233  dnl $1 = the name to check
1234 @@ -406,6 +428,8 @@
1235  
1236  ])dnl
1237  dnl ---------------------------------------------------------------------------
1238 +dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
1239 +dnl -----------------
1240  dnl Check if the C++ compiler accepts duplicate parameter initialization.  This
1241  dnl is a late feature for the standard and is not in some recent compilers
1242  dnl (1999/9/11).
1243 @@ -439,6 +463,8 @@
1244  test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
1245  ])dnl
1246  dnl ---------------------------------------------------------------------------
1247 +dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28
1248 +dnl -----------------
1249  dnl Check if the g++ compiler supports vscan function (not a standard feature).
1250  AC_DEFUN([CF_CPP_VSCAN_FUNC],
1251  [
1252 @@ -515,9 +541,13 @@
1253  esac
1254  ])dnl
1255  dnl ---------------------------------------------------------------------------
1256 +dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
1257 +dnl ----------
1258  dnl "dirname" is not portable, so we fake it with a shell script.
1259 -AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's:/[[^/]]*$::'`])dnl
1260 +AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
1261  dnl ---------------------------------------------------------------------------
1262 +dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
1263 +dnl ---------------
1264  AC_DEFUN([CF_DIRS_TO_MAKE],
1265  [
1266  DIRS_TO_MAKE="lib"
1267 @@ -537,12 +567,16 @@
1268  AC_SUBST(DIRS_TO_MAKE)
1269  ])dnl
1270  dnl ---------------------------------------------------------------------------
1271 +dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
1272 +dnl --------
1273  dnl Check if 'errno' is declared in <errno.h>
1274  AC_DEFUN([CF_ERRNO],
1275  [
1276  CF_CHECK_ERRNO(errno)
1277  ])dnl
1278  dnl ---------------------------------------------------------------------------
1279 +dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
1280 +dnl ---------------
1281  dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
1282  dnl math.h and builtin.h, only for ncurses
1283  AC_DEFUN([CF_ETIP_DEFINES],
1284 @@ -554,7 +588,7 @@
1285  do
1286  for cf_excp in "" MATH_EXCEPTION
1287  do
1288 -       CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu"
1289 +       CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
1290         test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
1291         test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
1292  AC_TRY_COMPILE([
1293 @@ -571,6 +605,8 @@
1294  CXXFLAGS="$cf_save_CXXFLAGS"
1295  ])
1296  dnl ---------------------------------------------------------------------------
1297 +dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52
1298 +dnl ---------------
1299  dnl Check for memmove, or a bcopy that can handle overlapping copy.  If neither
1300  dnl is found, add our own version of memmove to the list of objects.
1301  AC_DEFUN([CF_FUNC_MEMMOVE],
1302 @@ -600,6 +636,8 @@
1303         fi
1304  ])])dnl
1305  dnl ---------------------------------------------------------------------------
1306 +dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04
1307 +dnl ------------
1308  dnl See if the poll function really works.  Some platforms have poll(), but
1309  dnl it does not work for terminals or files.
1310  AC_DEFUN([CF_FUNC_POLL],[
1311 @@ -627,6 +665,8 @@
1312  test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
1313  ])dnl
1314  dnl ---------------------------------------------------------------------------
1315 +dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
1316 +dnl ---------------
1317  dnl Some old/broken variations define tcgetattr() only as a macro in
1318  dnl termio(s).h
1319  AC_DEFUN([CF_FUNC_TERMIOS],[
1320 @@ -654,6 +694,8 @@
1321  test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
1322  ])dnl
1323  dnl ---------------------------------------------------------------------------
1324 +dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
1325 +dnl ---------------
1326  dnl Check for vsscanf() function, which is in c9x but generally not in earlier
1327  dnl versions of C.  It is in the GNU C library, and can often be simulated by
1328  dnl other functions.
1329 @@ -697,6 +739,8 @@
1330  
1331  ])dnl
1332  dnl ---------------------------------------------------------------------------
1333 +dnl CF_GCC_ATTRIBUTES version: 9 updated: 2002/12/21 19:25:52
1334 +dnl -----------------
1335  dnl Test for availability of useful gcc __attribute__ directives to quiet
1336  dnl compiler warnings.  Though useful, not all are supported -- and contrary
1337  dnl to documentation, unrecognized directives cause older compilers to barf.
1338 @@ -761,8 +805,6 @@
1339                 if AC_TRY_EVAL(ac_compile); then
1340                         test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1341                         cat conftest.h >>confdefs.h
1342 -#              else
1343 -#                      sed -e 's/__attr.*/\/*nothing*\//' conftest.h >>confdefs.h
1344                 fi
1345         done
1346  else
1347 @@ -772,17 +814,35 @@
1348  fi
1349  ])dnl
1350  dnl ---------------------------------------------------------------------------
1351 +dnl CF_GCC_VERSION version: 3 updated: 2003/09/06 19:16:57
1352 +dnl --------------
1353 +dnl Find version of gcc
1354 +AC_DEFUN([CF_GCC_VERSION],[
1355 +AC_REQUIRE([AC_PROG_CC])
1356 +GCC_VERSION=none
1357 +if test "$GCC" = yes ; then
1358 +       AC_MSG_CHECKING(version of $CC)
1359 +       GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1360 +       test -z "$GCC_VERSION" && GCC_VERSION=unknown
1361 +       AC_MSG_RESULT($GCC_VERSION)
1362 +fi
1363 +])dnl
1364 +dnl ---------------------------------------------------------------------------
1365 +dnl CF_GCC_WARNINGS version: 15 updated: 2003/07/05 18:42:30
1366 +dnl ---------------
1367  dnl Check if the compiler supports useful warning options.  There's a few that
1368  dnl we don't use, simply because they're too noisy:
1369  dnl
1370  dnl    -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1371  dnl    -Wredundant-decls (system headers make this too noisy)
1372  dnl    -Wtraditional (combines too many unrelated messages, only a few useful)
1373 -dnl    -Wwrite-strings (too noisy, but should review occasionally)
1374 +dnl    -Wwrite-strings (too noisy, but should review occasionally).  This
1375 +dnl            is enabled for ncurses using "--enable-const".
1376  dnl    -pedantic
1377  dnl
1378  AC_DEFUN([CF_GCC_WARNINGS],
1379  [
1380 +AC_REQUIRE([CF_GCC_VERSION])
1381  if test "$GCC" = yes
1382  then
1383         cat > conftest.$ac_ext <<EOF
1384 @@ -810,8 +870,19 @@
1385                 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1386                 if AC_TRY_EVAL(ac_compile); then
1387                         test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1388 +                       case $cf_opt in #(vi
1389 +                       Wcast-qual) #(vi
1390 +                               CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
1391 +                               ;;
1392 +                       Winline) #(vi
1393 +                               case $GCC_VERSION in
1394 +                               3.3*)
1395 +                                       CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1396 +                                       continue;;
1397 +                               esac
1398 +                               ;;
1399 +                       esac
1400                         EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1401 -                       test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
1402                 fi
1403         done
1404         rm -f conftest*
1405 @@ -820,6 +891,8 @@
1406  AC_SUBST(EXTRA_CFLAGS)
1407  ])dnl
1408  dnl ---------------------------------------------------------------------------
1409 +dnl CF_GNAT_TRY_RUN version: 2 updated: 1998/07/19 00:25:18
1410 +dnl ---------------
1411  dnl Verify that a test program compiles and runs with GNAT
1412  dnl $cf_ada_make is set to the program that compiles/links
1413  AC_DEFUN([CF_GNAT_TRY_RUN],
1414 @@ -843,21 +916,26 @@
1415  rm -f conftest*
1416  ])dnl
1417  dnl ---------------------------------------------------------------------------
1418 -dnl Verify Version of GNAT.
1419 +dnl CF_GNAT_VERSION version: 11 updated: 2003/09/06 19:42:09
1420 +dnl ---------------
1421 +dnl Verify version of GNAT.
1422  AC_DEFUN([CF_GNAT_VERSION],
1423  [
1424 -cf_cv_gnat_version=`$cf_ada_make -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
1425 -  sed -e 's/[[^0-9 \.]]//g' | $AWK '{print $[1];}'`
1426 -case $cf_cv_gnat_version in
1427 +AC_MSG_CHECKING(for gnat version)
1428 +cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
1429 +  sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
1430 +AC_MSG_RESULT($cf_gnat_version)
1431 +
1432 +case $cf_gnat_version in
1433    3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
1434      cf_cv_prog_gnat_correct=yes
1435      ;;
1436 -  *) echo Unsupported GNAT version $cf_cv_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
1437 +  *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
1438       cf_cv_prog_gnat_correct=no
1439       ;;
1440  esac
1441 -case $cf_cv_gnat_version in
1442 -  3.1*|[[4-9]].*)
1443 +case $cf_gnat_version in
1444 +  3.[[1-9]]*|[[4-9]].*)
1445        cf_compile_generics=generics
1446        cf_generic_objects="\$(GENOBJS)"
1447        ;;
1448 @@ -867,6 +945,8 @@
1449  esac
1450  ])
1451  dnl ---------------------------------------------------------------------------
1452 +dnl CF_GNU_SOURCE version: 3 updated: 2000/10/29 23:30:53
1453 +dnl -------------
1454  dnl Check if we must define _GNU_SOURCE to get a reasonable value for
1455  dnl _XOPEN_SOURCE, upon which many POSIX definitions depend.  This is a defect
1456  dnl (or misfeature) of glibc2, which breaks portability of many applications,
1457 @@ -895,6 +975,8 @@
1458  test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1459  ])dnl
1460  dnl ---------------------------------------------------------------------------
1461 +dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46
1462 +dnl --------------
1463  dnl If we're trying to use g++, test if libg++ is installed (a rather common
1464  dnl problem :-).  If we have the compiler but no library, we'll be able to
1465  dnl configure, but won't be able to build the c++ demo program.
1466 @@ -909,7 +991,7 @@
1467         cf_gpp_libname=g++
1468         ;;
1469  esac
1470 -if test "$ac_cv_prog_gxx" = yes; then
1471 +if test "$GXX" = yes; then
1472         AC_MSG_CHECKING([for lib$cf_gpp_libname])
1473         cf_save="$LIBS"
1474         LIBS="$LIBS -l$cf_gpp_libname"
1475 @@ -937,20 +1019,37 @@
1476  fi
1477  ])dnl
1478  dnl ---------------------------------------------------------------------------
1479 +dnl CF_GXX_VERSION version: 3 updated: 2003/09/06 19:16:21
1480 +dnl --------------
1481 +dnl Check for version of g++
1482 +AC_DEFUN([CF_GXX_VERSION],[
1483 +AC_REQUIRE([AC_PROG_CPP])
1484 +GXX_VERSION=none
1485 +if test "$GXX" = yes; then
1486 +       AC_MSG_CHECKING(version of g++)
1487 +       GXX_VERSION="`${CXX-g++} --version|sed -e '2,$d'`"
1488 +       AC_MSG_RESULT($GXX_VERSION)
1489 +fi
1490 +])dnl
1491 +dnl ---------------------------------------------------------------------------
1492 +dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
1493 +dnl ---------------
1494  dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
1495  AC_DEFUN([CF_HELP_MESSAGE],
1496  [AC_DIVERT_HELP([$1])dnl
1497  ])dnl
1498  dnl ---------------------------------------------------------------------------
1499 +dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
1500 +dnl ---------------
1501  dnl Construct the list of include-options according to whether we're building
1502  dnl in the source directory or using '--srcdir=DIR' option.  If we're building
1503  dnl with gcc, don't append the includedir if it happens to be /usr/include,
1504  dnl since that usually breaks gcc's shadow-includes.
1505  AC_DEFUN([CF_INCLUDE_DIRS],
1506  [
1507 -CPPFLAGS="$CPPFLAGS -I. -I../include"
1508 +CPPFLAGS="-I. -I../include $CPPFLAGS"
1509  if test "$srcdir" != "."; then
1510 -       CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include"
1511 +       CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
1512  fi
1513  if test "$GCC" != yes; then
1514         CPPFLAGS="$CPPFLAGS -I\$(includedir)"
1515 @@ -966,6 +1065,8 @@
1516  AC_SUBST(CPPFLAGS)
1517  ])dnl
1518  dnl ---------------------------------------------------------------------------
1519 +dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
1520 +dnl ----------
1521  dnl Check if we have either a function or macro for 'isascii()'.
1522  AC_DEFUN([CF_ISASCII],
1523  [
1524 @@ -979,6 +1080,8 @@
1525  test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
1526  ])dnl
1527  dnl ---------------------------------------------------------------------------
1528 +dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
1529 +dnl ----------
1530  dnl Check for libutf8
1531  AC_DEFUN([CF_LIBUTF8],
1532  [
1533 @@ -998,6 +1101,8 @@
1534  fi
1535  ])dnl
1536  dnl ---------------------------------------------------------------------------
1537 +dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48
1538 +dnl -------------
1539  dnl Compute the library-prefix for the given host system
1540  dnl $1 = variable to set
1541  AC_DEFUN([CF_LIB_PREFIX],
1542 @@ -1011,6 +1116,8 @@
1543         AC_SUBST(LIB_PREFIX)
1544  ])dnl
1545  dnl ---------------------------------------------------------------------------
1546 +dnl CF_LIB_RULES version: 29 updated: 2003/07/19 16:05:52
1547 +dnl ------------
1548  dnl Append definitions and rules for the given models to the subdirectory
1549  dnl Makefiles, and the recursion rule for the top-level Makefile.  If the
1550  dnl subdirectory is a library-source directory, modify the LIBRARIES list in
1551 @@ -1054,8 +1161,10 @@
1552                                 esac
1553                         fi
1554                         # cygwin needs import library, and has unique naming convention
1555 +                       # use autodetected ${cf_prefix} for import lib and static lib, but
1556 +                       # use 'cyg' prefix for shared lib.
1557                         if test $cf_cv_shlib_version = cygdll ; then
1558 -                               SHARED_LIB="../lib/${cf_prefix}${cf_dir}\$(ABI_VERSION).dll"
1559 +                               SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll"
1560                                 IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a"
1561                                 LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)"
1562                                 continue
1563 @@ -1070,7 +1179,7 @@
1564                         termlib+*) #(vi
1565                                 ;;
1566                         *) #(vi
1567 -                               cf_item=`echo $LIBS_TO_MAKE |sed -e s/$LIB_NAME/$TINFO_NAME/g`
1568 +                               cf_item=`echo $LIBS_TO_MAKE |sed -e s%$LIB_NAME%$TINFO_NAME%g`
1569                                 LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
1570                                 ;;
1571                         esac
1572 @@ -1128,7 +1237,7 @@
1573                                 ldconfig="$LDCONFIG" \
1574                                 overwrite=$WITH_OVERWRITE \
1575                                 depend="$cf_depend" \
1576 -                               target="$target" \
1577 +                               host="$host" \
1578                                 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
1579                         for cf_subdir2 in $cf_subdirs lib
1580                         do
1581 @@ -1364,6 +1473,8 @@
1582  
1583  ])dnl
1584  dnl ---------------------------------------------------------------------------
1585 +dnl CF_LIB_SUFFIX version: 12 updated: 2002/01/20 01:43:41
1586 +dnl -------------
1587  dnl Compute the library file-suffix from the given model name
1588  dnl $1 = model name
1589  dnl $2 = variable to set
1590 @@ -1387,6 +1498,8 @@
1591         test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
1592  ])dnl
1593  dnl ---------------------------------------------------------------------------
1594 +dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
1595 +dnl -----------
1596  dnl Compute the string to append to -library from the given model name
1597  dnl $1 = model name
1598  dnl $2 = variable to set
1599 @@ -1403,6 +1516,8 @@
1600         test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
1601  ])dnl
1602  dnl ---------------------------------------------------------------------------
1603 +dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46
1604 +dnl ----------------
1605  dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
1606  dnl only data (i.e., no functions), for example NeXT.  On those systems we'll
1607  dnl have to provide wrappers for global tables to ensure they're linked
1608 @@ -1418,7 +1533,7 @@
1609  EOF
1610         if AC_TRY_EVAL(ac_compile) ; then
1611                 mv conftest.o data.o && \
1612 -               ( $AR $AR_OPTS conftest.a data.o ) 2>&5 1>/dev/null
1613 +               ( $AR $AR_OPTS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
1614         fi
1615         rm -f conftest.$ac_ext data.o
1616         cat >conftest.$ac_ext <<EOF
1617 @@ -1437,10 +1552,10 @@
1618  EOF
1619         if AC_TRY_EVAL(ac_compile); then
1620                 mv conftest.o func.o && \
1621 -               ( $AR $AR_OPTS conftest.a func.o ) 2>&5 1>/dev/null
1622 +               ( $AR $AR_OPTS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
1623         fi
1624         rm -f conftest.$ac_ext func.o
1625 -       ( eval $ac_cv_prog_RANLIB conftest.a ) 2>&5 >/dev/null
1626 +       ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
1627         cf_saveLIBS="$LIBS"
1628         LIBS="conftest.a $LIBS"
1629         AC_TRY_RUN([
1630 @@ -1464,6 +1579,8 @@
1631  
1632  ])dnl
1633  dnl ---------------------------------------------------------------------------
1634 +dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46
1635 +dnl -------------
1636  dnl Most Unix systems have both link and symlink, a few don't have symlink.
1637  dnl A few non-Unix systems implement symlink, but not link.
1638  dnl A few non-systems implement neither (or have nonfunctional versions).
1639 @@ -1473,7 +1590,7 @@
1640         remove \
1641         unlink )
1642  
1643 -if test "$ac_cv_prog_cc_cross" = yes ; then
1644 +if test "$cross_compiling" = yes ; then
1645         AC_CHECK_FUNCS( \
1646                 link \
1647                 symlink )
1648 @@ -1519,6 +1636,8 @@
1649  fi
1650  ])dnl
1651  dnl ---------------------------------------------------------------------------
1652 +dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27
1653 +dnl ------------
1654  dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
1655  dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
1656  dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
1657 @@ -1556,6 +1675,8 @@
1658  AC_SUBST(cf_cv_makeflags)
1659  ])dnl
1660  dnl ---------------------------------------------------------------------------
1661 +dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40
1662 +dnl ------------
1663  dnl Generate tags/TAGS targets for makefiles.  Do not generate TAGS if we have
1664  dnl a monocase filesystem.
1665  AC_DEFUN([CF_MAKE_TAGS],[
1666 @@ -1583,6 +1704,8 @@
1667  AC_SUBST(MAKE_LOWER_TAGS)
1668  ])dnl
1669  dnl ---------------------------------------------------------------------------
1670 +dnl CF_MANPAGE_FORMAT version: 6 updated: 2002/01/19 22:51:32
1671 +dnl -----------------
1672  dnl Option to allow user to override automatic configuration of manpage format.
1673  dnl There are several special cases.
1674  AC_DEFUN([CF_MANPAGE_FORMAT],
1675 @@ -1635,6 +1758,8 @@
1676  AC_MSG_RESULT($MANPAGE_FORMAT)
1677  ])dnl
1678  dnl ---------------------------------------------------------------------------
1679 +dnl CF_MANPAGE_RENAMES version: 6 updated: 2002/01/19 22:51:32
1680 +dnl ------------------
1681  dnl The Debian people have their own naming convention for manpages.  This
1682  dnl option lets us override the name of the file containing renaming, or
1683  dnl disable it altogether.
1684 @@ -1680,6 +1805,8 @@
1685  AC_SUBST(MANPAGE_RENAMES)
1686  ])dnl
1687  dnl ---------------------------------------------------------------------------
1688 +dnl CF_MANPAGE_SYMLINKS version: 3 updated: 2002/01/19 22:51:32
1689 +dnl -------------------
1690  dnl Some people expect each tool to make all aliases for manpages in the
1691  dnl man-directory.  This accommodates the older, less-capable implementations
1692  dnl of 'man', and is optional.
1693 @@ -1695,6 +1822,8 @@
1694  AC_MSG_RESULT($MANPAGE_SYMLINKS)
1695  ])dnl
1696  dnl ---------------------------------------------------------------------------
1697 +dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
1698 +dnl --------------
1699  dnl This option causes manpages to be run through tbl(1) to generate tables
1700  dnl correctly.
1701  AC_DEFUN([CF_MANPAGE_TBL],
1702 @@ -1709,6 +1838,8 @@
1703  AC_MSG_RESULT($MANPAGE_TBL)
1704  ])dnl
1705  dnl ---------------------------------------------------------------------------
1706 +dnl CF_MAN_PAGES version: 23 updated: 2002/12/21 22:46:07
1707 +dnl ------------
1708  dnl Try to determine if the man-pages on the system are compressed, and if
1709  dnl so, what format is used.  Use this information to construct a script that
1710  dnl will install man-pages.
1711 @@ -1888,7 +2019,7 @@
1712    ;;
1713  esac
1714  cat >>man/edit_man.sh <<CF_EOF
1715 -       suffix=\`basename \$target | sed -e 's/^[[^.]]*//'\`
1716 +       suffix=\`basename \$target | sed -e 's%^[[^.]]*%%'\`
1717         if test \$verb = installing ; then
1718                 echo \$verb \$target
1719                 \$INSTALL_DATA \$TMP \$target
1720 @@ -1947,6 +2078,8 @@
1721  
1722  ])dnl
1723  dnl ---------------------------------------------------------------------------
1724 +dnl CF_MATH_LIB version: 5 updated: 2000/05/28 01:39:10
1725 +dnl -----------
1726  dnl Checks for libraries.  At least one UNIX system, Apple Macintosh
1727  dnl Rhapsody 5.5, does not have -lm.  We cannot use the simpler
1728  dnl AC_CHECK_LIB(m,sin), because that fails for C++.
1729 @@ -1969,37 +2102,8 @@
1730  fi
1731  ])
1732  dnl ---------------------------------------------------------------------------
1733 -dnl Check if mbstate_t is declared, and if so, which header file.
1734 -AC_DEFUN([CF_MBSTATE_T],
1735 -[
1736 -# This is needed on Tru64 5.0 to declare mbstate_t
1737 -AC_CACHE_CHECK(if we must include wchar.h to declare mbstate_t,cf_cv_mbstate_t,[
1738 -AC_TRY_COMPILE([
1739 -#include <stdlib.h>
1740 -#ifdef HAVE_LIBUTF8_H
1741 -#include <libutf8.h>
1742 -#endif],
1743 -       [mbstate_t state],
1744 -       [cf_cv_mbstate_t=no],
1745 -       [AC_TRY_COMPILE([
1746 -#include <stdlib.h>
1747 -#include <wchar.h>
1748 -#ifdef HAVE_LIBUTF8_H
1749 -#include <libutf8.h>
1750 -#endif],
1751 -       [mbstate_t value],
1752 -       [cf_cv_mbstate_t=yes],
1753 -       [cf_cv_mbstate_t=unknown])])])
1754 -
1755 -if test "$cf_cv_mbstate_t" = yes ; then
1756 -       AC_DEFINE(NEED_WCHAR_H)
1757 -fi
1758 -
1759 -if test "$cf_cv_mbstate_t" != unknown ; then
1760 -       AC_DEFINE(HAVE_MBSTATE_T)
1761 -fi
1762 -])dnl
1763 -dnl ---------------------------------------------------------------------------
1764 +dnl CF_MIXEDCASE_FILENAMES version: 2 updated: 2000/10/04 09:18:40
1765 +dnl ----------------------
1766  dnl Check if the file-system supports mixed-case filenames.  If we're able to
1767  dnl create a lowercase name and see it as uppercase, it doesn't support that.
1768  AC_DEFUN([CF_MIXEDCASE_FILENAMES],
1769 @@ -2017,6 +2121,8 @@
1770  test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
1771  ])dnl
1772  dnl ---------------------------------------------------------------------------
1773 +dnl CF_MKSTEMP version: 3 updated: 2001/11/08 20:59:59
1774 +dnl ----------
1775  dnl Check for a working mkstemp.  This creates two files, checks that they are
1776  dnl successfully created and distinct (AmigaOS apparently fails on the last).
1777  AC_DEFUN([CF_MKSTEMP],[
1778 @@ -2065,6 +2171,8 @@
1779  fi
1780  ])dnl
1781  dnl ---------------------------------------------------------------------------
1782 +dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
1783 +dnl -------------
1784  dnl Compute the object-directory name from the given model name
1785  AC_DEFUN([CF_OBJ_SUBDIR],
1786  [
1787 @@ -2083,6 +2191,8 @@
1788         esac
1789  ])dnl
1790  dnl ---------------------------------------------------------------------------
1791 +dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53
1792 +dnl ----------
1793  dnl Provide a value for the $PATH and similar separator
1794  AC_DEFUN([CF_PATHSEP],
1795  [
1796 @@ -2094,6 +2204,8 @@
1797         AC_SUBST(PATHSEP)
1798  ])dnl
1799  dnl ---------------------------------------------------------------------------
1800 +dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
1801 +dnl --------------
1802  dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
1803  dnl begins with one of the prefix/exec_prefix variables, and then again if the
1804  dnl result begins with 'NONE'.  This is necessary to work around autoconf's
1805 @@ -2123,6 +2235,41 @@
1806  esac
1807  ])dnl
1808  dnl ---------------------------------------------------------------------------
1809 +dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56
1810 +dnl ------------
1811 +dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
1812 +dnl
1813 +dnl $1 = symbol to test
1814 +dnl $2 = value (if any) to use for a predefinition
1815 +AC_DEFUN([CF_PREDEFINE],
1816 +[
1817 +AC_MSG_CHECKING(if we must define $1)
1818 +AC_TRY_COMPILE([#include <sys/types.h>
1819 +],[
1820 +#ifndef $1
1821 +make an error
1822 +#endif],[cf_result=no],[cf_result=yes])
1823 +AC_MSG_RESULT($cf_result)
1824 +
1825 +if test "$cf_result" = yes ; then
1826 +       CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])"
1827 +elif test "x$2" != "x" ; then
1828 +       AC_MSG_CHECKING(checking for compatible value versus $2)
1829 +       AC_TRY_COMPILE([#include <sys/types.h>
1830 +],[
1831 +#if $1-$2 < 0
1832 +make an error
1833 +#endif],[cf_result=yes],[cf_result=no])
1834 +       AC_MSG_RESULT($cf_result)
1835 +       if test "$cf_result" = no ; then
1836 +               # perhaps we can override it - try...
1837 +               CPPFLAGS="$CPPFLAGS -D$1=$2"
1838 +       fi
1839 +fi
1840 +])dnl
1841 +dnl ---------------------------------------------------------------------------
1842 +dnl CF_PROG_EXT version: 8 updated: 2002/12/21 19:25:52
1843 +dnl -----------
1844  dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
1845  AC_DEFUN([CF_PROG_EXT],
1846  [
1847 @@ -2134,7 +2281,7 @@
1848      CFLAGS="$CFLAGS -Zmt"
1849      CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
1850      CXXFLAGS="$CXXFLAGS -Zmt"
1851 -    LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed "s/-Zexe//g"`
1852 +    LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed -e "s%-Zexe%%g"`
1853      PROG_EXT=".exe"
1854      ;;
1855  cygwin*)
1856 @@ -2145,6 +2292,8 @@
1857  test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
1858  ])dnl
1859  dnl ---------------------------------------------------------------------------
1860 +dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
1861 +dnl ---------------
1862  dnl Force $INSTALL to be an absolute-path.  Otherwise, edit_man.sh and the
1863  dnl misc/tabset install won't work properly.  Usually this happens only when
1864  dnl using the fallback mkinstalldirs script
1865 @@ -2156,11 +2305,13 @@
1866  *)
1867    CF_DIRNAME(cf_dir,$INSTALL)
1868    test -z "$cf_dir" && cf_dir=.
1869 -  INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's:^.*/::'`
1870 +  INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
1871    ;;
1872  esac
1873  ])dnl
1874  dnl ---------------------------------------------------------------------------
1875 +dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01
1876 +dnl --------
1877  dnl Attempt to determine if we've got one of the flavors of regular-expression
1878  dnl code that we can support.
1879  AC_DEFUN([CF_REGEX],
1880 @@ -2193,6 +2344,8 @@
1881  esac
1882  ])dnl
1883  dnl ---------------------------------------------------------------------------
1884 +dnl CF_SHARED_OPTS version: 29 updated: 2003/07/12 15:15:19
1885 +dnl --------------
1886  dnl Attempt to determine the appropriate CC/LD options for creating a shared
1887  dnl library.
1888  dnl
1889 @@ -2303,7 +2456,7 @@
1890                 MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
1891                 cf_cv_rm_so_locs=yes
1892                 ;;
1893 -       linux*|gnu*)
1894 +       linux*|gnu*|k*bsd*-gnu)
1895                 if test "$DFT_LWR_MODEL" = "shared" ; then
1896                         LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
1897                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
1898 @@ -2364,7 +2517,7 @@
1899                 ;;
1900         sco3.2v5*)  # (also uw2* and UW7) hops 13-Apr-98
1901                 # tested with osr5.0.5
1902 -               if test "$ac_cv_prog_gcc" != yes; then
1903 +               if test "$GCC" != yes; then
1904                         CC_SHARED_OPTS='-belf -KPIC'
1905                 fi
1906                 MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@'
1907 @@ -2378,7 +2531,7 @@
1908                 ;;
1909         sunos4*)
1910                 # tested with SunOS 4.1.1 and gcc 2.7.0
1911 -               if test "$ac_cv_prog_gcc" != yes; then
1912 +               if test "$GCC" != yes; then
1913                         CC_SHARED_OPTS='-KPIC'
1914                 fi
1915                 MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
1916 @@ -2386,7 +2539,7 @@
1917                 ;;
1918         solaris2*)
1919                 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
1920 -               if test "$ac_cv_prog_gcc" != yes; then
1921 +               if test "$GCC" != yes; then
1922                         CC_SHARED_OPTS='-KPIC'
1923                 fi
1924                 MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
1925 @@ -2402,7 +2555,7 @@
1926                 ;;
1927         sysv5uw7*|unix_sv*)
1928                 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
1929 -               if test "$ac_cv_prog_gcc" != yes; then
1930 +               if test "$GCC" != yes; then
1931                         CC_SHARED_OPTS='-KPIC'
1932                 fi
1933                 MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
1934 @@ -2449,6 +2602,8 @@
1935         AC_SUBST(INSTALL_LIB)
1936  ])dnl
1937  dnl ---------------------------------------------------------------------------
1938 +dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
1939 +dnl -------------
1940  dnl Check for definitions & structures needed for window size-changing
1941  dnl FIXME: check that this works with "snake" (HP-UX 10.x)
1942  AC_DEFUN([CF_SIZECHANGE],
1943 @@ -2517,6 +2672,8 @@
1944  fi
1945  ])dnl
1946  dnl ---------------------------------------------------------------------------
1947 +dnl CF_SRC_MODULES version: 14 updated: 2002/01/19 22:51:32
1948 +dnl --------------
1949  dnl For each parameter, test if the source-directory exists, and if it contains
1950  dnl a 'modules' file.  If so, add to the list $cf_cv_src_modules which we'll
1951  dnl use in CF_LIB_RULES.
1952 @@ -2614,6 +2771,8 @@
1953  fi
1954  ])dnl
1955  dnl ---------------------------------------------------------------------------
1956 +dnl CF_STDCPP_LIBRARY version: 5 updated: 2000/08/12 23:18:52
1957 +dnl -----------------
1958  dnl Check for -lstdc++, which is GNU's standard C++ library.
1959  AC_DEFUN([CF_STDCPP_LIBRARY],
1960  [
1961 @@ -2642,10 +2801,14 @@
1962  fi
1963  ])dnl
1964  dnl ---------------------------------------------------------------------------
1965 +dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
1966 +dnl --------------
1967  dnl    Remove "-g" option from the compiler options
1968  AC_DEFUN([CF_STRIP_G_OPT],
1969 -[$1=`echo ${$1} | sed -e 's/-g //' -e 's/-g$//'`])dnl
1970 +[$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
1971  dnl ---------------------------------------------------------------------------
1972 +dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52
1973 +dnl -------------------
1974  dnl Check if we need _POSIX_SOURCE defined to use struct sigaction.  We'll only
1975  dnl do this if we've found the sigaction function.
1976  dnl
1977 @@ -2671,6 +2834,8 @@
1978  fi
1979  ])dnl
1980  dnl ---------------------------------------------------------------------------
1981 +dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46
1982 +dnl -----------------
1983  dnl Some machines require _POSIX_SOURCE to completely define struct termios.
1984  dnl If so, define SVR4_TERMIO
1985  AC_DEFUN([CF_STRUCT_TERMIOS],[
1986 @@ -2705,6 +2870,8 @@
1987  fi
1988  ])dnl
1989  dnl ---------------------------------------------------------------------------
1990 +dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28
1991 +dnl --------
1992  dnl    Shorthand macro for substituting things that the user may override
1993  dnl    with an environment variable.
1994  dnl
1995 @@ -2721,6 +2888,8 @@
1996  $2=${cf_cv_subst_$2}
1997  ])dnl
1998  dnl ---------------------------------------------------------------------------
1999 +dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51
2000 +dnl ------------------------
2001  dnl Get the version-number for use in shared-library naming, etc.
2002  AC_DEFUN([CF_SUBST_NCURSES_VERSION],
2003  [
2004 @@ -2739,12 +2908,13 @@
2005  dnl We need these values in the generated makefiles
2006  AC_SUBST(cf_cv_rel_version)
2007  AC_SUBST(cf_cv_abi_version)
2008 -AC_SUBST(cf_cv_cc_bool_type)
2009  AC_SUBST(cf_cv_builtin_bool)
2010  AC_SUBST(cf_cv_header_stdbool_h)
2011  AC_SUBST(cf_cv_type_of_bool)dnl
2012  ])dnl
2013  dnl ---------------------------------------------------------------------------
2014 +dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
2015 +dnl ------------------
2016  dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
2017  dnl older SCO configurations.
2018  AC_DEFUN([CF_SYS_TIME_SELECT],
2019 @@ -2766,6 +2936,8 @@
2020  test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
2021  ])dnl
2022  dnl ---------------------------------------------------------------------------
2023 +dnl CF_TYPEOF_CHTYPE version: 4 updated: 2000/10/04 09:18:40
2024 +dnl ----------------
2025  dnl Determine the type we should use for chtype (and attr_t, which is treated
2026  dnl as the same thing).  We want around 32 bits, so on most machines want a
2027  dnl long, but on newer 64-bit machines, probably want an int.  If we're using
2028 @@ -2835,6 +3007,8 @@
2029  
2030  ])dnl
2031  dnl ---------------------------------------------------------------------------
2032 +dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
2033 +dnl -----------------
2034  dnl
2035  AC_DEFUN([CF_TYPE_SIGACTION],
2036  [
2037 @@ -2849,6 +3023,8 @@
2038  test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
2039  ])dnl
2040  dnl ---------------------------------------------------------------------------
2041 +dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
2042 +dnl --------------------
2043  dnl Test if the compiler supports 'U' and 'L' suffixes.  Only old compilers
2044  dnl won't, but they're still there.
2045  AC_DEFUN([CF_UNSIGNED_LITERALS],
2046 @@ -2862,6 +3038,8 @@
2047  AC_MSG_RESULT($cf_cv_unsigned_literals)
2048  ])dnl
2049  dnl ---------------------------------------------------------------------------
2050 +dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
2051 +dnl --------
2052  dnl Make an uppercase version of a variable
2053  dnl $1=uppercase($2)
2054  AC_DEFUN([CF_UPPER],
2055 @@ -2869,11 +3047,184 @@
2056  $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
2057  ])dnl
2058  dnl ---------------------------------------------------------------------------
2059 +dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
2060 +dnl ----------
2061  dnl Use AC_VERBOSE w/o the warnings
2062  AC_DEFUN([CF_VERBOSE],
2063  [test -n "$verbose" && echo "  $1" 1>&AC_FD_MSG
2064  ])dnl
2065  dnl ---------------------------------------------------------------------------
2066 +dnl CF_WCHAR_TYPE version: 1 updated: 2003/03/22 19:13:43
2067 +dnl -------------
2068 +dnl Check if type wide-character type $1 is declared, and if so, which header
2069 +dnl file is needed.  The second parameter is used to set a shell variable when
2070 +dnl the type is not found.  The first parameter sets a shell variable for the
2071 +dnl opposite sense.
2072 +AC_DEFUN([CF_WCHAR_TYPE],
2073 +[
2074 +# This is needed on Tru64 5.0 to declare $1
2075 +AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
2076 +AC_TRY_COMPILE([
2077 +#include <stdlib.h>
2078 +#ifdef HAVE_LIBUTF8_H
2079 +#include <libutf8.h>
2080 +#endif],
2081 +       [$1 state],
2082 +       [cf_cv_$1=no],
2083 +       [AC_TRY_COMPILE([
2084 +#include <stdlib.h>
2085 +#include <wchar.h>
2086 +#ifdef HAVE_LIBUTF8_H
2087 +#include <libutf8.h>
2088 +#endif],
2089 +       [$1 value],
2090 +       [cf_cv_$1=yes],
2091 +       [cf_cv_$1=unknown])])])
2092 +
2093 +if test "$cf_cv_$1" = yes ; then
2094 +       AC_DEFINE(NEED_WCHAR_H)
2095 +       NEED_WCHAR_H=1
2096 +fi
2097 +
2098 +ifelse($2,,,[
2099 +# if we do not find $1 in either place, use substitution to provide a fallback.
2100 +if test "$cf_cv_$1" = unknown ; then
2101 +       $2=1
2102 +fi
2103 +])
2104 +ifelse($3,,,[
2105 +# if we find $1 in either place, use substitution to provide a fallback.
2106 +if test "$cf_cv_$1" != unknown ; then
2107 +       $3=1
2108 +fi
2109 +])
2110 +])dnl
2111 +dnl ---------------------------------------------------------------------------
2112 +dnl CF_WITH_DBMALLOC version: 2 updated: 2002/12/29 21:11:45
2113 +dnl ----------------
2114 +dnl Configure-option for dbmalloc
2115 +AC_DEFUN([CF_WITH_DBMALLOC],[
2116 +AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
2117 +AC_ARG_WITH(dbmalloc,
2118 +       [  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
2119 +       [with_dbmalloc=$withval],
2120 +       [with_dbmalloc=no])
2121 +AC_MSG_RESULT($with_dbmalloc)
2122 +if test $with_dbmalloc = yes ; then
2123 +       AC_CHECK_LIB(dbmalloc,debug_malloc)
2124 +fi
2125 +])dnl
2126 +dnl ---------------------------------------------------------------------------
2127 +dnl CF_WITH_DMALLOC version: 2 updated: 2002/12/29 21:11:45
2128 +dnl ---------------
2129 +dnl Configure-option for dmalloc
2130 +AC_DEFUN([CF_WITH_DMALLOC],[
2131 +AC_MSG_CHECKING(if you want to link with dmalloc for testing)
2132 +AC_ARG_WITH(dmalloc,
2133 +       [  --with-dmalloc          test: use Gray Watson's dmalloc library],
2134 +       [with_dmalloc=$withval],
2135 +       [with_dmalloc=no])
2136 +AC_MSG_RESULT($with_dmalloc)
2137 +if test $with_dmalloc = yes ; then
2138 +       AC_CHECK_LIB(dmalloc,dmalloc_debug)
2139 +fi
2140 +])dnl
2141 +dnl ---------------------------------------------------------------------------
2142 +dnl CF_WITH_LIBTOOL version: 8 updated: 2003/09/06 19:15:56
2143 +dnl ---------------
2144 +dnl Provide a configure option to incorporate libtool.  Define several useful
2145 +dnl symbols for the makefile rules.
2146 +AC_DEFUN([CF_WITH_LIBTOOL],
2147 +[
2148 +LIBTOOL=
2149 +
2150 +# common library maintenance symbols that are convenient for libtool scripts:
2151 +LIB_CREATE='$(AR) -cr'
2152 +LIB_OBJECT='$(OBJECTS)'
2153 +LIB_SUFFIX=.a
2154 +LIB_PREP="$RANLIB"
2155 +
2156 +# symbols used to prop libtool up to enable it to determine what it should be
2157 +# doing:
2158 +LIB_CLEAN=
2159 +LIB_COMPILE=
2160 +LIB_LINK=
2161 +LIB_INSTALL=
2162 +LIB_UNINSTALL=
2163 +
2164 +AC_MSG_CHECKING(if you want to build libraries with libtool)
2165 +AC_ARG_WITH(libtool,
2166 +       [  --with-libtool          generate libraries with libtool],
2167 +       [with_libtool=$withval],
2168 +       [with_libtool=no])
2169 +AC_MSG_RESULT($with_libtool)
2170 +if test "$with_libtool" != "no"; then
2171 +       if test "$with_libtool" != "yes" ; then
2172 +               CF_PATH_SYNTAX(with_libtool)
2173 +               LIBTOOL=$with_libtool
2174 +       else
2175 +               AC_PATH_PROG(LIBTOOL,libtool)
2176 +       fi
2177 +       if test -z "$LIBTOOL" ; then
2178 +               AC_MSG_ERROR(Cannot find libtool)
2179 +       fi
2180 +
2181 +       LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o'
2182 +       LIB_OBJECT='$(OBJECTS:.o=.lo)'
2183 +       LIB_SUFFIX=.la
2184 +       LIB_CLEAN='$(LIBTOOL) --mode=clean'
2185 +       LIB_COMPILE='$(LIBTOOL) --mode=compile'
2186 +       LIB_LINK='$(LIBTOOL) --mode=link'
2187 +       LIB_INSTALL='$(LIBTOOL) --mode=install'
2188 +       LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
2189 +       LIB_PREP=:
2190 +
2191 +       # Show the version of libtool
2192 +       AC_MSG_CHECKING(version of libtool)
2193 +
2194 +       # Save the version in a cache variable - this is not entirely a good
2195 +       # thing, but the version string from libtool is very ugly, and for
2196 +       # bug reports it might be useful to have the original string.
2197 +       cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
2198 +       AC_MSG_RESULT($cf_cv_libtool_version)
2199 +       if test -z "$cf_cv_libtool_version" ; then
2200 +               AC_MSG_ERROR(This is not libtool)
2201 +       fi
2202 +
2203 +       # special hack to add --tag option for C++ compiler
2204 +       case $cf_cv_libtool_version in
2205 +       1.[[5-9]]*|[[2-9]]*)
2206 +               LIBTOOL_CXX="$LIBTOOL --tag=CXX"
2207 +               ;;
2208 +       *)
2209 +               LIBTOOL_CXX="$LIBTOOL"
2210 +               ;;
2211 +       esac
2212 +else
2213 +       LIBTOOL=""
2214 +       LIBTOOL_CXX=""
2215 +fi
2216 +
2217 +test -z "$LIBTOOL" && ECHO_LT=
2218 +
2219 +AC_SUBST(LIBTOOL)
2220 +AC_SUBST(LIBTOOL_CXX)
2221 +
2222 +AC_SUBST(LIB_CREATE)
2223 +AC_SUBST(LIB_OBJECT)
2224 +AC_SUBST(LIB_SUFFIX)
2225 +AC_SUBST(LIB_PREP)
2226 +
2227 +AC_SUBST(LIB_CLEAN)
2228 +AC_SUBST(LIB_COMPILE)
2229 +AC_SUBST(LIB_LINK)
2230 +AC_SUBST(LIB_INSTALL)
2231 +AC_SUBST(LIB_UNINSTALL)
2232 +
2233 +])dnl
2234 +dnl ---------------------------------------------------------------------------
2235 +dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17
2236 +dnl ------------
2237  dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
2238  dnl defaulting to yes/no.
2239  dnl
2240 @@ -2891,6 +3242,8 @@
2241  AC_SUBST($3)dnl
2242  ])dnl
2243  dnl ---------------------------------------------------------------------------
2244 +dnl CF_WITH_PATHLIST version: 5 updated: 2001/12/10 01:28:30
2245 +dnl ----------------
2246  dnl Process an option specifying a list of colon-separated paths.
2247  dnl
2248  dnl $1 = option name
2249 @@ -2930,3 +3283,33 @@
2250  AC_SUBST($3)dnl
2251  
2252  ])dnl
2253 +dnl ---------------------------------------------------------------------------
2254 +dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
2255 +dnl ----------------
2256 +dnl If we can compile with sysmouse, make it available unless it is not wanted.
2257 +AC_DEFUN([CF_WITH_SYSMOUSE],[
2258 +# not everyone has "test -c"
2259 +if test -c /dev/sysmouse 2>/dev/null ; then
2260 +AC_MSG_CHECKING(if you want to use sysmouse)
2261 +AC_ARG_WITH(sysmouse,
2262 +       [  --with-sysmouse         use sysmouse (FreeBSD console)],
2263 +       [cf_with_sysmouse=$withval],
2264 +       [cf_with_sysmouse=maybe])
2265 +       if test "$cf_with_sysmouse" != no ; then
2266 +       AC_TRY_COMPILE([
2267 +#include <osreldate.h>
2268 +#if (__FreeBSD_version >= 400017)
2269 +#include <sys/consio.h>
2270 +#include <sys/fbio.h>
2271 +#else
2272 +#include <machine/console.h>
2273 +#endif
2274 +],[
2275 +       struct mouse_info the_mouse;
2276 +       ioctl(0, CONS_MOUSECTL, &the_mouse);
2277 +],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
2278 +       fi
2279 +AC_MSG_RESULT($cf_with_sysmouse)
2280 +test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
2281 +fi
2282 +])dnl
2283 diff -urNd -urNd ncurses-5.3/announce.html.in ncurses-5.3.20030906.orig/announce.html.in
2284 --- ncurses-5.3/announce.html.in        Sat Oct 12 18:35:32 2002
2285 +++ ncurses-5.3.20030906.orig/announce.html.in  Tue May 13 20:08:22 2003
2286 @@ -1,11 +1,12 @@
2287  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
2288  <!--
2289 -  $Id: announce.html.in,v 1.44 2002/10/12 23:35:32 tom Exp $
2290 +  $Id: announce.html.in,v 1.48 2002/10/19 21:46:46 tom Exp $
2291  -->
2292  <HTML>
2293  <HEAD>
2294 -<TITLE>Announcing ncurses @VERSION@ Pre-Release</TITLE>
2295 +<TITLE>Announcing ncurses @VERSION@</TITLE>
2296  <link rev=made href="mailto:bug-ncurses@gnu.org">
2297 +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
2298  </HEAD>
2299  <BODY>
2300  
2301 @@ -35,9 +36,9 @@
2302  
2303  The ncurses distribution is available via anonymous FTP at
2304  the GNU distribution site
2305 -<A HREF="ftp://ftp.gnu.org/pub/gnu/ncurses">ftp://ftp.gnu.org/pub/gnu/ncurses</A>.
2306 +<A HREF="ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</A>&nbsp;.
2307  <br>It is also available at
2308 -<A HREF="ftp://invisible-island.net/ncurses">ftp://invisible-island.net/ncurses</A>.
2309 +<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A>&nbsp;.
2310  
2311  <H1>Release Notes</H1>
2312  
2313 @@ -317,61 +318,61 @@
2314  <DT> cdk
2315  <DD> Curses Development Kit
2316  <br>
2317 -<A HREF="http://invisible-island.net/cdk/cdk.html">http://invisible-island.net/cdk</A>.
2318 +<A HREF="http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</A>
2319  <br>
2320 -<A HREF="http://www.vexus.ca/CDK.html">http://www.vexus.ca/CDK.html</a>
2321 +<A HREF="http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a>
2322  <DT> ded
2323  <DD> directory-editor
2324  <br>
2325 -<A HREF="http://invisible-island.net/ded/ded.html">http://invisible-island.net/ded</A>.
2326 +<A HREF="http://invisible-island.net/ded/">http://invisible-island.net/ded/</A>
2327  <DT> dialog
2328  <DD> the underlying application used in Slackware's setup, and the basis
2329  for similar applications on GNU/Linux.
2330  <br>
2331 -<A HREF="http://invisible-island.net/dialog/dialog.html">http://invisible-island.net/dialog</A>.
2332 +<A HREF="http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</A>
2333  <DT> lynx
2334  <DD> the character-screen WWW browser
2335  <br>
2336 -<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release</A>.
2337 +<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release/</A>
2338  <DT> Midnight Commander
2339  <DD> file manager
2340  <br>
2341 -<A HREF="www.gnome.org/mc/">www.gnome.org/mc/</A>.
2342 +<A HREF="http://www.ibiblio.org/mc/">http://www.ibiblio.org/mc/</A>
2343  <DT> mutt
2344  <DD> mail utility
2345  <br>
2346 -<A HREF="http://www.mutt.org">http://www.mutt.org</A>.
2347 +<A HREF="http://www.mutt.org/">http://www.mutt.org/</A>
2348  <DT> ncftp
2349  <DD> file-transfer utility
2350  <br>
2351 -<A HREF="http://www.ncftp.com">http://www.ncftp.com</A>.
2352 +<A HREF="http://www.ncftp.com/">http://www.ncftp.com/</A>
2353  <DT> nvi
2354  <DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
2355  <br>
2356 -<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>.
2357 +<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>
2358  <DT> tin
2359  <DD> newsreader, supporting color, MIME
2360  <br>
2361 -<A HREF="http://www.tin.org">http://www.tin.org</A>.
2362 +<A HREF="http://www.tin.org/">http://www.tin.org/</A>
2363  <DT> taper
2364  <DD> tape archive utility
2365  <br>
2366 -<A HREF="http://members.iinet.net.au/~yusuf/taper/">http://members.iinet.net.au/~yusuf/taper/</A>.
2367 +<A HREF="http://taper.e-survey.net.au/">http://taper.e-survey.net.au/</A>
2368  <DT> vh-1.6
2369  <DD> Volks-Hypertext browser for the Jargon File
2370  <br>
2371 -<A HREF="http://www.bg.debian.org/Packages/unstable/text/vh.html">http://www.bg.debian.org/Packages/unstable/text/vh.html</A>.
2372 +<A HREF="http://www.debian.org/Packages/unstable/text/vh.html">http://www.debian.org/Packages/unstable/text/vh.html</A>
2373  </DL>
2374  as well as some that use ncurses for the terminfo support alone:
2375  <DL>
2376  <DT> minicom
2377  <DD> terminal emulator
2378  <br>
2379 -<A HREF="http://www.pp.clinet.fi/~walker/minicom.html">http://www.pp.clinet.fi/~walker/minicom.html</A>.
2380 +<A HREF="http://www.netsonic.fi/~walker/minicom.html">http://www.netsonic.fi/~walker/minicom.html</A>
2381  <DT> vile
2382  <DD> vi-like-emacs
2383  <br>
2384 -<A HREF="http://invisible-island.net/vile/vile.html">http://invisible-island.net/vile</A>.
2385 +<A HREF="http://invisible-island.net/vile/">http://invisible-island.net/vile/</A>
2386  </DL>
2387  <P>
2388  
2389 @@ -382,7 +383,7 @@
2390  
2391  The original developers of ncurses are <A
2392  HREF="mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</A> and
2393 -<A HREF="http://www.ccil.org/~esr/home.html">Eric S. Raymond</A>.
2394 +<A HREF="http://www.tuxedo.org/~esr/">Eric S. Raymond</A>.
2395  Ongoing work is being done by
2396  <A HREF="mailto:dickey@herndon4.his.com">Thomas Dickey</A>
2397  and
2398 @@ -404,7 +405,7 @@
2399  testing of this package.<P>
2400  
2401  Beta versions of ncurses and patches to the current release are made available at
2402 -<A HREF="ftp://invisible-island.net/ncurses">ftp://invisible-island.net/ncurses</A>.
2403 +<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A>&nbsp;.
2404  
2405  <H2>Future Plans</H2>
2406  <UL>
2407 @@ -418,12 +419,12 @@
2408  
2409  The distribution includes and uses a version of the terminfo-format
2410  terminal description file maintained by Eric Raymond.
2411 -<A HREF="http://earthspace.net/~esr/terminfo">http://earthspace.net/~esr/terminfo</A>.<P>
2412 +<A HREF="http://www.tuxedo.org/~esr/terminfo/">http://www.tuxedo.org/~esr/terminfo/</A>&nbsp;.<P>
2413  
2414  You can find lots of information on terminal-related topics
2415  not covered in the terminfo file at
2416  <A HREF="http://www.cs.utk.edu/~shuford/terminal_index.html">Richard Shuford's
2417 -archive</A>.
2418 +archive</A>&nbsp;.
2419  </BODY>
2420  </HTML>
2421  <!--
2422 diff -urNd -urNd ncurses-5.3/c++/Makefile.in ncurses-5.3.20030906.orig/c++/Makefile.in
2423 --- ncurses-5.3/c++/Makefile.in Sat Jan 19 14:25:31 2002
2424 +++ ncurses-5.3.20030906.orig/c++/Makefile.in   Fri Sep 12 16:42:40 2003
2425 @@ -1,6 +1,6 @@
2426 -# $Id: Makefile.in,v 1.64 2002/01/19 20:25:31 NIIBE.Yutaka Exp $
2427 +# $Id: Makefile.in,v 1.69 2003/08/24 00:19:44 tom Exp $
2428  ##############################################################################
2429 -# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
2430 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
2431  #                                                                            #
2432  # Permission is hereby granted, free of charge, to any person obtaining a    #
2433  # copy of this software and associated documentation files (the "Software"), #
2434 @@ -48,7 +48,12 @@
2435  libdir         = @libdir@
2436  includedir     = @includedir@
2437  
2438 -LIBTOOL                = @LIBTOOL@
2439 +LIBTOOL                = @LIBTOOL_CXX@
2440 +LIBTOOL_CLEAN  = @LIB_CLEAN@
2441 +LIBTOOL_COMPILE        = @LIB_COMPILE@
2442 +LIBTOOL_LINK   = @LIB_LINK@
2443 +LIBTOOL_INSTALL        = @LIB_INSTALL@
2444 +LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
2445  
2446  INSTALL                = @INSTALL@
2447  INSTALL_DATA   = @INSTALL_DATA@
2448 @@ -58,7 +63,7 @@
2449  
2450  CXX_AR         = @CXX_AR@
2451  CXX_AR_OPTS    = @CXX_AR_OPTS@
2452 -RANLIB         = @RANLIB@
2453 +RANLIB         = @LIB_PREP@
2454  
2455  CXX            = @CXX@
2456  CPP            = @CPP@
2457 @@ -83,7 +88,9 @@
2458  REL_VERSION     = @cf_cv_rel_version@
2459  ABI_VERSION    = @cf_cv_abi_version@
2460  
2461 -LINK           = @LINK_PROGS@ $(LIBTOOL) $(CXX) @CXXLDFLAGS@
2462 +LINK           = @LINK_PROGS@ $(LIBTOOL_LINK) $(CXX) @CXXLDFLAGS@
2463 +SHLIB_DIRS     = -L../lib
2464 +SHLIB_LIST     = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
2465  
2466  LIBROOT                = ncurses++
2467  
2468 @@ -102,11 +109,11 @@
2469  LDFLAGS                = @TEST_ARGS@ @LDFLAGS@ \
2470         @LD_MODEL@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
2471  
2472 -LDFLAGS_LIBTOOL        = $(LDFLAGS)
2473 -LDFLAGS_NORMAL = $(LDFLAGS)
2474 -LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
2475 -LDFLAGS_PROFILE        = $(LDFLAGS) -pg
2476 -LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
2477 +LDFLAGS_LIBTOOL        = $(LDFLAGS) $(CFLAGS_LIBTOOL)
2478 +LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
2479 +LDFLAGS_DEBUG  = $(LDFLAGS) $(CFLAGS_DEBUG)
2480 +LDFLAGS_PROFILE        = $(LDFLAGS) $(CFLAGS_PROFILE)
2481 +LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
2482  
2483  LDFLAGS_DEFAULT        = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
2484  
2485 @@ -140,9 +147,9 @@
2486         $(RANLIB) $@
2487  
2488  ../lib/$(LIBNAME_LIBTOOL) : $(LIB_OBJS)
2489 -       cd ../lib && $(LIBTOOL) $(CXX) -o $(LIBNAME) $(LIB_OBJS:.o=.lo) \
2490 +       cd ../lib && $(LIBTOOL_LINK) $(CXX) -o $(LIBNAME) $(LIB_OBJS:.o=.lo) \
2491                 -rpath $(INSTALL_PREFIX)$(libdir) \
2492 -               -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR)
2493 +               -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST)
2494  
2495  OBJS_DEMO = $(MODEL)/demo.o
2496  
2497 @@ -163,18 +170,18 @@
2498  
2499  install \
2500  install.libs:: ../lib/$(LIBNAME) $(DESTDIR)$(libdir)
2501 -       $(LIBTOOL) $(INSTALL) ../lib/$(LIBNAME) $(DESTDIR)$(libdir)/$(LIBNAME)
2502 +       $(LIBTOOL_INSTALL) $(INSTALL) ../lib/$(LIBNAME) $(DESTDIR)$(libdir)/$(LIBNAME)
2503  
2504  uninstall \
2505  uninstall.libs::
2506 -       -$(LIBTOOL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
2507 +       -$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
2508  
2509  mostlyclean ::
2510         -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
2511  
2512  clean :: mostlyclean
2513         -rm -rf $(MODEL)/SunWS_cache
2514 -       -$(LIBTOOL) rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(LIB_OBJS:.o=.lo) $(OBJS_DEMO)
2515 +       -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(LIB_OBJS:.o=.lo) $(OBJS_DEMO)
2516         -rm -rf .libs
2517  
2518  distclean :: clean
2519 diff -urNd -urNd ncurses-5.3/c++/cursesmain.cc ncurses-5.3.20030906.orig/c++/cursesmain.cc
2520 --- ncurses-5.3/c++/cursesmain.cc       Sat Jul  6 10:47:52 2002
2521 +++ ncurses-5.3.20030906.orig/c++/cursesmain.cc Sun Jul 20 14:02:08 2003
2522 @@ -1,6 +1,6 @@
2523  // * this is for making emacs happy: -*-Mode: C++;-*-
2524  /****************************************************************************
2525 - * Copyright (c) 1998,2001 Free Software Foundation, Inc.                   *
2526 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
2527   *                                                                          *
2528   * Permission is hereby granted, free of charge, to any person obtaining a  *
2529   * copy of this software and associated documentation files (the            *
2530 @@ -35,14 +35,22 @@
2531  #include "internal.h"
2532  #include "cursesapp.h"
2533  
2534 -MODULE_ID("$Id: cursesmain.cc,v 1.9 2002/07/06 15:47:52 juergen Exp $")
2535 +MODULE_ID("$Id: cursesmain.cc,v 1.10 2003/06/07 23:39:54 tom Exp $")
2536 +
2537 +#if HAVE_LOCALE_H
2538 +#include <locale.h>
2539 +#else
2540 +#define setlocale(name,string) /* nothing */
2541 +#endif
2542  
2543  /* This is the default implementation of main() for a NCursesApplication.
2544   * You only have to instantiate a static NCursesApplication object in your
2545   * main application source file and link this module with your application.
2546 - */ 
2547 + */
2548  int main(int argc, char* argv[])
2549  {
2550 +  setlocale(LC_ALL, "");
2551 +
2552    NCursesApplication* A = NCursesApplication::getApplication();
2553    if (!A)
2554      return(1);
2555 diff -urNd -urNd ncurses-5.3/config.guess ncurses-5.3.20030906.orig/config.guess
2556 --- ncurses-5.3/config.guess    Sat Aug 31 14:53:33 2002
2557 +++ ncurses-5.3.20030906.orig/config.guess      Sun Jul 20 14:02:09 2003
2558 @@ -1,9 +1,9 @@
2559  #! /bin/sh
2560  # Attempt to guess a canonical system name.
2561  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2562 -#   2000, 2001, 2002 Free Software Foundation, Inc.
2563 +#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
2564  
2565 -timestamp='2002-08-23'
2566 +timestamp='2003-07-02'
2567  
2568  # This file is free software; you can redistribute it and/or modify it
2569  # under the terms of the GNU General Public License as published by
2570 @@ -98,30 +98,32 @@
2571  # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
2572  # use `HOST_CC' if defined, but it is deprecated.
2573  
2574 -# This shell variable is my proudest work .. or something. --bje
2575 +# Portable tmp directory creation inspired by the Autoconf team.
2576  
2577 -set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
2578 -(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
2579 -   || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
2580 -dummy=$tmpdir/dummy ;
2581 -files="$dummy.c $dummy.o $dummy.rel $dummy" ;
2582 -trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
2583 +set_cc_for_build='
2584 +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
2585 +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
2586 +: ${TMPDIR=/tmp} ;
2587 + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
2588 + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
2589 + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
2590 + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
2591 +dummy=$tmp/dummy ;
2592 +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
2593  case $CC_FOR_BUILD,$HOST_CC,$CC in
2594   ,,)    echo "int x;" > $dummy.c ;
2595         for c in cc gcc c89 c99 ; do
2596 -         if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then
2597 +         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
2598              CC_FOR_BUILD="$c"; break ;
2599           fi ;
2600         done ;
2601 -       rm -f $files ;
2602         if test x"$CC_FOR_BUILD" = x ; then
2603           CC_FOR_BUILD=no_compiler_found ;
2604         fi
2605         ;;
2606   ,,*)   CC_FOR_BUILD=$CC ;;
2607   ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
2608 -esac ;
2609 -unset files'
2610 +esac ;'
2611  
2612  # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
2613  # (ghazi@noc.rutgers.edu 1994-08-24)
2614 @@ -178,7 +180,18 @@
2615                 ;;
2616         esac
2617         # The OS release
2618 -       release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
2619 +       # Debian GNU/NetBSD machines have a different userland, and
2620 +       # thus, need a distinct triplet. However, they do not need
2621 +       # kernel version information, so it can be replaced with a
2622 +       # suitable tag, in the style of linux-gnu.
2623 +       case "${UNAME_VERSION}" in
2624 +           Debian*)
2625 +               release='-gnu'
2626 +               ;;
2627 +           *)
2628 +               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
2629 +               ;;
2630 +       esac
2631         # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
2632         # contains redundant information, the shorter form:
2633         # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2634 @@ -227,68 +240,52 @@
2635         if test $UNAME_RELEASE = "V4.0"; then
2636                 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2637         fi
2638 +       # According to Compaq, /usr/sbin/psrinfo has been available on
2639 +       # OSF/1 and Tru64 systems produced since 1995.  I hope that
2640 +       # covers most systems running today.  This code pipes the CPU
2641 +       # types through head -n 1, so we only detect the type of CPU 0.
2642 +       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
2643 +       case "$ALPHA_CPU_TYPE" in
2644 +           "EV4 (21064)")
2645 +               UNAME_MACHINE="alpha" ;;
2646 +           "EV4.5 (21064)")
2647 +               UNAME_MACHINE="alpha" ;;
2648 +           "LCA4 (21066/21068)")
2649 +               UNAME_MACHINE="alpha" ;;
2650 +           "EV5 (21164)")
2651 +               UNAME_MACHINE="alphaev5" ;;
2652 +           "EV5.6 (21164A)")
2653 +               UNAME_MACHINE="alphaev56" ;;
2654 +           "EV5.6 (21164PC)")
2655 +               UNAME_MACHINE="alphapca56" ;;
2656 +           "EV5.7 (21164PC)")
2657 +               UNAME_MACHINE="alphapca57" ;;
2658 +           "EV6 (21264)")
2659 +               UNAME_MACHINE="alphaev6" ;;
2660 +           "EV6.7 (21264A)")
2661 +               UNAME_MACHINE="alphaev67" ;;
2662 +           "EV6.8CB (21264C)")
2663 +               UNAME_MACHINE="alphaev68" ;;
2664 +           "EV6.8AL (21264B)")
2665 +               UNAME_MACHINE="alphaev68" ;;
2666 +           "EV6.8CX (21264D)")
2667 +               UNAME_MACHINE="alphaev68" ;;
2668 +           "EV6.9A (21264/EV69A)")
2669 +               UNAME_MACHINE="alphaev69" ;;
2670 +           "EV7 (21364)")
2671 +               UNAME_MACHINE="alphaev7" ;;
2672 +           "EV7.9 (21364A)")
2673 +               UNAME_MACHINE="alphaev79" ;;
2674 +       esac
2675         # A Vn.n version is a released version.
2676         # A Tn.n version is a released field test version.
2677         # A Xn.n version is an unreleased experimental baselevel.
2678         # 1.2 uses "1.2" for uname -r.
2679 -       eval $set_cc_for_build
2680 -       cat <<EOF >$dummy.s
2681 -       .data
2682 -\$Lformat:
2683 -       .byte 37,100,45,37,120,10,0     # "%d-%x\n"
2684 -
2685 -       .text
2686 -       .globl main
2687 -       .align 4
2688 -       .ent main
2689 -main:
2690 -       .frame \$30,16,\$26,0
2691 -       ldgp \$29,0(\$27)
2692 -       .prologue 1
2693 -       .long 0x47e03d80 # implver \$0
2694 -       lda \$2,-1
2695 -       .long 0x47e20c21 # amask \$2,\$1
2696 -       lda \$16,\$Lformat
2697 -       mov \$0,\$17
2698 -       not \$1,\$18
2699 -       jsr \$26,printf
2700 -       ldgp \$29,0(\$26)
2701 -       mov 0,\$16
2702 -       jsr \$26,exit
2703 -       .end main
2704 -EOF
2705 -       $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
2706 -       if test "$?" = 0 ; then
2707 -               case `$dummy` in
2708 -                       0-0)
2709 -                               UNAME_MACHINE="alpha"
2710 -                               ;;
2711 -                       1-0)
2712 -                               UNAME_MACHINE="alphaev5"
2713 -                               ;;
2714 -                       1-1)
2715 -                               UNAME_MACHINE="alphaev56"
2716 -                               ;;
2717 -                       1-101)
2718 -                               UNAME_MACHINE="alphapca56"
2719 -                               ;;
2720 -                       2-303)
2721 -                               UNAME_MACHINE="alphaev6"
2722 -                               ;;
2723 -                       2-307)
2724 -                               UNAME_MACHINE="alphaev67"
2725 -                               ;;
2726 -                       2-1307)
2727 -                               UNAME_MACHINE="alphaev68"
2728 -                               ;;
2729 -                       3-1307)
2730 -                               UNAME_MACHINE="alphaev7"
2731 -                               ;;
2732 -               esac
2733 -       fi
2734 -       rm -f $dummy.s $dummy && rmdir $tmpdir
2735         echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2736         exit 0 ;;
2737 +    Alpha*:OpenVMS:*:*)
2738 +       echo alpha-hp-vms
2739 +       exit 0 ;;
2740      Alpha\ *:Windows_NT*:*)
2741         # How do we know it's Interix rather than the generic POSIX subsystem?
2742         # Should we change UNAME_MACHINE based on the output of uname instead
2743 @@ -327,6 +324,9 @@
2744      NILE*:*:*:dcosx)
2745         echo pyramid-pyramid-svr4
2746         exit 0 ;;
2747 +    DRS?6000:unix:4.0:6*)
2748 +       echo sparc-icl-nx6
2749 +       exit 0 ;;
2750      DRS?6000:UNIX_SV:4.2*:7*)
2751         case `/usr/bin/uname -p` in
2752             sparc) echo sparc-icl-nx7 && exit 0 ;;
2753 @@ -437,10 +437,9 @@
2754           exit (-1);
2755         }
2756  EOF
2757 -       $CC_FOR_BUILD $dummy.c -o $dummy \
2758 +       $CC_FOR_BUILD -o $dummy $dummy.c \
2759           && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
2760 -         && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
2761 -       rm -f $dummy.c $dummy && rmdir $tmpdir
2762 +         && exit 0
2763         echo mips-mips-riscos${UNAME_RELEASE}
2764         exit 0 ;;
2765      Motorola:PowerMAX_OS:*:*)
2766 @@ -449,7 +448,7 @@
2767      Motorola:*:4.3:PL8-*)
2768         echo powerpc-harris-powermax
2769         exit 0 ;;
2770 -    Night_Hawk:*:*:PowerMAX_OS)
2771 +    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
2772         echo powerpc-harris-powermax
2773         exit 0 ;;
2774      Night_Hawk:Power_UNIX:*:*)
2775 @@ -524,8 +523,7 @@
2776                         exit(0);
2777                         }
2778  EOF
2779 -               $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
2780 -               rm -f $dummy.c $dummy && rmdir $tmpdir
2781 +               $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
2782                 echo rs6000-ibm-aix3.2.5
2783         elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
2784                 echo rs6000-ibm-aix3.2.4
2785 @@ -623,11 +621,21 @@
2786                    exit (0);
2787                }
2788  EOF
2789 -                   (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy`
2790 -                   if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
2791 -                   rm -f $dummy.c $dummy && rmdir $tmpdir
2792 +                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
2793 +                   test -z "$HP_ARCH" && HP_ARCH=hppa
2794                 fi ;;
2795         esac
2796 +       if [ ${HP_ARCH} = "hppa2.0w" ]
2797 +       then
2798 +           # avoid double evaluation of $set_cc_for_build
2799 +           test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
2800 +           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
2801 +           then
2802 +               HP_ARCH="hppa2.0w"
2803 +           else
2804 +               HP_ARCH="hppa64"
2805 +           fi
2806 +       fi
2807         echo ${HP_ARCH}-hp-hpux${HPUX_REV}
2808         exit 0 ;;
2809      ia64:HP-UX:*:*)
2810 @@ -661,8 +669,7 @@
2811           exit (0);
2812         }
2813  EOF
2814 -       $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
2815 -       rm -f $dummy.c $dummy && rmdir $tmpdir
2816 +       $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
2817         echo unknown-hitachi-hiuxwe2
2818         exit 0 ;;
2819      9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
2820 @@ -720,15 +727,15 @@
2821      CRAY*TS:*:*:*)
2822         echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2823         exit 0 ;;
2824 -    CRAY*T3D:*:*:*)
2825 -       echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2826 -       exit 0 ;;
2827      CRAY*T3E:*:*:*)
2828         echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2829         exit 0 ;;
2830      CRAY*SV1:*:*:*)
2831         echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2832         exit 0 ;;
2833 +    *:UNICOS/mp:*:*)
2834 +       echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
2835 +       exit 0 ;;
2836      F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
2837         FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2838          FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
2839 @@ -744,7 +751,7 @@
2840      *:BSD/OS:*:*)
2841         echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
2842         exit 0 ;;
2843 -    *:FreeBSD:*:*)
2844 +    *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
2845         # Determine whether the default compiler uses glibc.
2846         eval $set_cc_for_build
2847         sed 's/^        //' << EOF >$dummy.c
2848 @@ -756,8 +763,10 @@
2849         #endif
2850  EOF
2851         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
2852 -       rm -f $dummy.c && rmdir $tmpdir
2853 -       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
2854 +       # GNU/FreeBSD systems have a "k" prefix to indicate we are using
2855 +       # FreeBSD's kernel, but not the complete OS.
2856 +       case ${LIBC} in gnu) kernel_only='k' ;; esac
2857 +       echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
2858         exit 0 ;;
2859      i*:CYGWIN*:*)
2860         echo ${UNAME_MACHINE}-pc-cygwin
2861 @@ -768,14 +777,17 @@
2862      i*:PW*:*)
2863         echo ${UNAME_MACHINE}-pc-pw32
2864         exit 0 ;;
2865 -    x86:Interix*:3*)
2866 -       echo i386-pc-interix3
2867 +    x86:Interix*:[34]*)
2868 +       echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
2869 +       exit 0 ;;
2870 +    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
2871 +       echo i${UNAME_MACHINE}-pc-mks
2872         exit 0 ;;
2873      i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
2874         # How do we know it's Interix rather than the generic POSIX subsystem?
2875         # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
2876         # UNAME_MACHINE based on the output of uname instead of i386?
2877 -       echo i386-pc-interix
2878 +       echo i586-pc-interix
2879         exit 0 ;;
2880      i*:UWIN*:*)
2881         echo ${UNAME_MACHINE}-pc-uwin
2882 @@ -795,6 +807,9 @@
2883      arm*:Linux:*:*)
2884         echo ${UNAME_MACHINE}-unknown-linux-gnu
2885         exit 0 ;;
2886 +    cris:Linux:*:*)
2887 +       echo cris-axis-linux-gnu
2888 +       exit 0 ;;
2889      ia64:Linux:*:*)
2890         echo ${UNAME_MACHINE}-unknown-linux-gnu
2891         exit 0 ;;
2892 @@ -818,8 +833,26 @@
2893         #endif
2894  EOF
2895         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
2896 -       rm -f $dummy.c && rmdir $tmpdir
2897 -       test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
2898 +       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
2899 +       ;;
2900 +    mips64:Linux:*:*)
2901 +       eval $set_cc_for_build
2902 +       sed 's/^        //' << EOF >$dummy.c
2903 +       #undef CPU
2904 +       #undef mips64
2905 +       #undef mips64el
2906 +       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
2907 +       CPU=mips64el
2908 +       #else
2909 +       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
2910 +       CPU=mips64
2911 +       #else
2912 +       CPU=
2913 +       #endif
2914 +       #endif
2915 +EOF
2916 +       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
2917 +       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
2918         ;;
2919      ppc:Linux:*:*)
2920         echo powerpc-unknown-linux-gnu
2921 @@ -855,6 +888,9 @@
2922      s390:Linux:*:* | s390x:Linux:*:*)
2923         echo ${UNAME_MACHINE}-ibm-linux
2924         exit 0 ;;
2925 +    sh64*:Linux:*:*)
2926 +       echo ${UNAME_MACHINE}-unknown-linux-gnu
2927 +       exit 0 ;;
2928      sh*:Linux:*:*)
2929         echo ${UNAME_MACHINE}-unknown-linux-gnu
2930         exit 0 ;;
2931 @@ -914,7 +950,6 @@
2932         #endif
2933  EOF
2934         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
2935 -       rm -f $dummy.c && rmdir $tmpdir
2936         test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
2937         test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
2938         ;;
2939 @@ -932,6 +967,23 @@
2940          # Use sysv4.2uw... so that sysv4* matches it.
2941         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
2942         exit 0 ;;
2943 +    i*86:OS/2:*:*)
2944 +       # If we were able to find `uname', then EMX Unix compatibility
2945 +       # is probably installed.
2946 +       echo ${UNAME_MACHINE}-pc-os2-emx
2947 +       exit 0 ;;
2948 +    i*86:XTS-300:*:STOP)
2949 +       echo ${UNAME_MACHINE}-unknown-stop
2950 +       exit 0 ;;
2951 +    i*86:atheos:*:*)
2952 +       echo ${UNAME_MACHINE}-unknown-atheos
2953 +       exit 0 ;;
2954 +    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
2955 +       echo i386-unknown-lynxos${UNAME_RELEASE}
2956 +       exit 0 ;;
2957 +    i*86:*DOS:*:*)
2958 +       echo ${UNAME_MACHINE}-pc-msdosdjgpp
2959 +       exit 0 ;;
2960      i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
2961         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
2962         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
2963 @@ -966,9 +1018,6 @@
2964                 echo ${UNAME_MACHINE}-pc-sysv32
2965         fi
2966         exit 0 ;;
2967 -    i*86:*DOS:*:*)
2968 -       echo ${UNAME_MACHINE}-pc-msdosdjgpp
2969 -       exit 0 ;;
2970      pc:*:*:*)
2971         # Left here for compatibility:
2972          # uname -m prints for DJGPP always 'pc', but it prints nothing about
2973 @@ -995,9 +1044,12 @@
2974      mc68k:UNIX:SYSTEM5:3.51m)
2975         echo m68k-convergent-sysv
2976         exit 0 ;;
2977 +    M680?0:D-NIX:5.3:*)
2978 +       echo m68k-diab-dnix
2979 +       exit 0 ;;
2980      M68*:*:R3V[567]*:*)
2981         test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
2982 -    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
2983 +    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
2984         OS_REL=''
2985         test -r /etc/.relid \
2986         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
2987 @@ -1014,9 +1066,6 @@
2988      mc68030:UNIX_System_V:4.*:*)
2989         echo m68k-atari-sysv4
2990         exit 0 ;;
2991 -    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
2992 -       echo i386-unknown-lynxos${UNAME_RELEASE}
2993 -       exit 0 ;;
2994      TSUNAMI:LynxOS:2.*:*)
2995         echo sparc-unknown-lynxos${UNAME_RELEASE}
2996         exit 0 ;;
2997 @@ -1098,7 +1147,11 @@
2998         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
2999         exit 0 ;;
3000      *:Darwin:*:*)
3001 -       echo `uname -p`-apple-darwin${UNAME_RELEASE}
3002 +       case `uname -p` in
3003 +           *86) UNAME_PROCESSOR=i686 ;;
3004 +           powerpc) UNAME_PROCESSOR=powerpc ;;
3005 +       esac
3006 +       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
3007         exit 0 ;;
3008      *:procnto*:*:* | *:QNX:[0123456789]*:*)
3009         UNAME_PROCESSOR=`uname -p`
3010 @@ -1111,7 +1164,7 @@
3011      *:QNX:*:4*)
3012         echo i386-pc-qnx
3013         exit 0 ;;
3014 -    NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
3015 +    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
3016         echo nsr-tandem-nsk${UNAME_RELEASE}
3017         exit 0 ;;
3018      *:NonStop-UX:*:*)
3019 @@ -1134,11 +1187,6 @@
3020         fi
3021         echo ${UNAME_MACHINE}-unknown-plan9
3022         exit 0 ;;
3023 -    i*86:OS/2:*:*)
3024 -       # If we were able to find `uname', then EMX Unix compatibility
3025 -       # is probably installed.
3026 -       echo ${UNAME_MACHINE}-pc-os2-emx
3027 -       exit 0 ;;
3028      *:TOPS-10:*:*)
3029         echo pdp10-unknown-tops10
3030         exit 0 ;;
3031 @@ -1157,11 +1205,8 @@
3032      *:ITS:*:*)
3033         echo pdp10-unknown-its
3034         exit 0 ;;
3035 -    i*86:XTS-300:*:STOP)
3036 -       echo ${UNAME_MACHINE}-unknown-stop
3037 -       exit 0 ;;
3038 -    i*86:atheos:*:*)
3039 -       echo ${UNAME_MACHINE}-unknown-atheos
3040 +    SEI:*:*:SEIUX)
3041 +        echo mips-sei-seiux${UNAME_RELEASE}
3042         exit 0 ;;
3043  esac
3044  
3045 @@ -1283,8 +1328,7 @@
3046  }
3047  EOF
3048  
3049 -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
3050 -rm -f $dummy.c $dummy && rmdir $tmpdir
3051 +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
3052  
3053  # Apollos put the system type in the environment.
3054  
3055 diff -urNd -urNd ncurses-5.3/config.sub ncurses-5.3.20030906.orig/config.sub
3056 --- ncurses-5.3/config.sub      Sat Aug 31 14:53:19 2002
3057 +++ ncurses-5.3.20030906.orig/config.sub        Sun Jul 20 14:02:09 2003
3058 @@ -1,9 +1,9 @@
3059  #! /bin/sh
3060  # Configuration validation subroutine script.
3061  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3062 -#   2000, 2001, 2002 Free Software Foundation, Inc.
3063 +#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
3064  
3065 -timestamp='2002-08-22'
3066 +timestamp='2003-07-04'
3067  
3068  # This file is (in principle) common to ALL GNU software.
3069  # The presence of a machine in this file suggests that SOME GNU software
3070 @@ -118,7 +118,7 @@
3071  # Here we must recognize all the valid KERNEL-OS combinations.
3072  maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
3073  case $maybe_os in
3074 -  nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
3075 +  nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
3076      os=-$maybe_os
3077      basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
3078      ;;
3079 @@ -245,21 +245,23 @@
3080         | mips64vr4300 | mips64vr4300el \
3081         | mips64vr5000 | mips64vr5000el \
3082         | mipsisa32 | mipsisa32el \
3083 +       | mipsisa32r2 | mipsisa32r2el \
3084         | mipsisa64 | mipsisa64el \
3085         | mipsisa64sb1 | mipsisa64sb1el \
3086         | mipsisa64sr71k | mipsisa64sr71kel \
3087         | mipstx39 | mipstx39el \
3088         | mn10200 | mn10300 \
3089 +       | msp430 \
3090         | ns16k | ns32k \
3091         | openrisc | or32 \
3092         | pdp10 | pdp11 | pj | pjl \
3093         | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
3094         | pyramid \
3095 -       | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
3096 +       | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
3097         | sh64 | sh64le \
3098         | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
3099         | strongarm \
3100 -       | tahoe | thumb | tic80 | tron \
3101 +       | tahoe | thumb | tic4x | tic80 | tron \
3102         | v850 | v850e \
3103         | we32k \
3104         | x86 | xscale | xstormy16 | xtensa \
3105 @@ -294,7 +296,7 @@
3106         | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3107         | avr-* \
3108         | bs2000-* \
3109 -       | c[123]* | c30-* | [cjt]90-* | c54x-* \
3110 +       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
3111         | clipper-* | cydra-* \
3112         | d10v-* | d30v-* | dlx-* \
3113         | elxsi-* \
3114 @@ -315,21 +317,25 @@
3115         | mips64vr4300-* | mips64vr4300el-* \
3116         | mips64vr5000-* | mips64vr5000el-* \
3117         | mipsisa32-* | mipsisa32el-* \
3118 +       | mipsisa32r2-* | mipsisa32r2el-* \
3119         | mipsisa64-* | mipsisa64el-* \
3120         | mipsisa64sb1-* | mipsisa64sb1el-* \
3121         | mipsisa64sr71k-* | mipsisa64sr71kel-* \
3122 -       | mipstx39 | mipstx39el \
3123 -       | none-* | np1-* | ns16k-* | ns32k-* \
3124 +       | mipstx39-* | mipstx39el-* \
3125 +       | msp430-* \
3126 +       | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
3127         | orion-* \
3128         | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3129         | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3130         | pyramid-* \
3131         | romp-* | rs6000-* \
3132 -       | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
3133 +       | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
3134         | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3135         | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
3136         | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
3137 -       | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
3138 +       | tahoe-* | thumb-* \
3139 +       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3140 +       | tron-* \
3141         | v850-* | v850e-* | vax-* \
3142         | we32k-* \
3143         | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
3144 @@ -367,6 +373,9 @@
3145                 basic_machine=a29k-none
3146                 os=-bsd
3147                 ;;
3148 +       amd64)
3149 +               basic_machine=x86_64-pc
3150 +               ;;
3151         amdahl)
3152                 basic_machine=580-amdahl
3153                 os=-sysv
3154 @@ -716,6 +725,10 @@
3155         np1)
3156                 basic_machine=np1-gould
3157                 ;;
3158 +       nv1)
3159 +               basic_machine=nv1-cray
3160 +               os=-unicosmp
3161 +               ;;
3162         nsr-tandem)
3163                 basic_machine=nsr-tandem
3164                 ;;
3165 @@ -758,18 +771,24 @@
3166         pentiumpro | p6 | 6x86 | athlon | athlon_*)
3167                 basic_machine=i686-pc
3168                 ;;
3169 -       pentiumii | pentium2)
3170 +       pentiumii | pentium2 | pentiumiii | pentium3)
3171                 basic_machine=i686-pc
3172                 ;;
3173 +       pentium4)
3174 +               basic_machine=i786-pc
3175 +               ;;
3176         pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
3177                 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
3178                 ;;
3179         pentiumpro-* | p6-* | 6x86-* | athlon-*)
3180                 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
3181                 ;;
3182 -       pentiumii-* | pentium2-*)
3183 +       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
3184                 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
3185                 ;;
3186 +       pentium4-*)
3187 +               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
3188 +               ;;
3189         pn)
3190                 basic_machine=pn-gould
3191                 ;;
3192 @@ -828,6 +847,10 @@
3193         sb1el)
3194                 basic_machine=mipsisa64sb1el-unknown
3195                 ;;
3196 +       sei)
3197 +               basic_machine=mips-sei
3198 +               os=-seiux
3199 +               ;;
3200         sequent)
3201                 basic_machine=i386-sequent
3202                 ;;
3203 @@ -835,6 +858,9 @@
3204                 basic_machine=sh-hitachi
3205                 os=-hms
3206                 ;;
3207 +       sh64)
3208 +               basic_machine=sh64-unknown
3209 +               ;;
3210         sparclite-wrs | simso-wrs)
3211                 basic_machine=sparclite-wrs
3212                 os=-vxworks
3213 @@ -901,10 +927,6 @@
3214                 basic_machine=i386-sequent
3215                 os=-dynix
3216                 ;;
3217 -       t3d)
3218 -               basic_machine=alpha-cray
3219 -               os=-unicos
3220 -               ;;
3221         t3e)
3222                 basic_machine=alphaev5-cray
3223                 os=-unicos
3224 @@ -917,6 +939,14 @@
3225                 basic_machine=tic54x-unknown
3226                 os=-coff
3227                 ;;
3228 +       tic55x | c55x*)
3229 +               basic_machine=tic55x-unknown
3230 +               os=-coff
3231 +               ;;
3232 +       tic6x | c6x*)
3233 +               basic_machine=tic6x-unknown
3234 +               os=-coff
3235 +               ;;
3236         tx39)
3237                 basic_machine=mipstx39-unknown
3238                 ;;
3239 @@ -973,10 +1003,6 @@
3240                 basic_machine=hppa1.1-winbond
3241                 os=-proelf
3242                 ;;
3243 -       windows32)
3244 -               basic_machine=i386-pc
3245 -               os=-windows32-msvcrt
3246 -               ;;
3247         xps | xps100)
3248                 basic_machine=xps100-honeywell
3249                 ;;
3250 @@ -1023,7 +1049,7 @@
3251         we32k)
3252                 basic_machine=we32k-att
3253                 ;;
3254 -       sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
3255 +       sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
3256                 basic_machine=sh-unknown
3257                 ;;
3258         sh64)
3259 @@ -1047,10 +1073,6 @@
3260         pmac | pmac-mpw)
3261                 basic_machine=powerpc-apple
3262                 ;;
3263 -       c4x*)
3264 -               basic_machine=c4x-none
3265 -               os=-coff
3266 -               ;;
3267         *-unknown)
3268                 # Make sure to match an already-canonicalized machine name.
3269                 ;;
3270 @@ -1106,18 +1128,19 @@
3271               | -aos* \
3272               | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
3273               | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
3274 -             | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
3275 +             | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
3276               | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
3277               | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
3278               | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
3279               | -chorusos* | -chorusrdb* \
3280               | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
3281               | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
3282 -             | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
3283 +             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
3284               | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
3285               | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
3286               | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
3287 -             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*)
3288 +             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
3289 +             | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
3290         # Remember, each alternative MUST END IN *, to match a version number.
3291                 ;;
3292         -qnx*)
3293 @@ -1129,8 +1152,10 @@
3294                         ;;
3295                 esac
3296                 ;;
3297 +       -nto-qnx*)
3298 +               ;;
3299         -nto*)
3300 -               os=-nto-qnx
3301 +               os=`echo $os | sed -e 's|nto|nto-qnx|'`
3302                 ;;
3303         -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
3304               | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
3305 @@ -1224,6 +1249,12 @@
3306         -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
3307                 os=-mint
3308                 ;;
3309 +       -aros*)
3310 +               os=-aros
3311 +               ;;
3312 +       -kaos*)
3313 +               os=-kaos
3314 +               ;;
3315         -none)
3316                 ;;
3317         *)
3318 @@ -1255,6 +1286,9 @@
3319         arm*-semi)
3320                 os=-aout
3321                 ;;
3322 +    c4x-* | tic4x-*)
3323 +        os=-coff
3324 +        ;;
3325         # This must come before the *-dec entry.
3326         pdp10-*)
3327                 os=-tops20
3328 diff -urNd -urNd ncurses-5.3/configure ncurses-5.3.20030906.orig/configure
3329 --- ncurses-5.3/configure       Sat Sep 21 19:49:14 2002
3330 +++ ncurses-5.3.20030906.orig/configure Fri Sep 12 16:42:59 2003
3331 @@ -1,7 +1,7 @@
3332  #! /bin/sh
3333 -# From configure.in Revision: 1.274 .
3334 +# From configure.in Revision: 1.297 .
3335  # Guess values for system-dependent variables and create Makefiles.
3336 -# Generated by Autoconf 2.52.20011227.
3337 +# Generated by Autoconf 2.52.20030208.
3338  #
3339  # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
3340  # Free Software Foundation, Inc.
3341 @@ -655,19 +655,20 @@
3342    --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
3343    --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
3344  
3345 +  --with-abi-version=XXX  override derived ABI version
3346    --with-system-type=XXX  test: override derived host system-type
3347 -  --enable-add-ons=DIR... used to check if we are a glibc add-on.
3348 -  --with-build-cc=XXX     if cross-compiling, the host C compiler (\$BUILD_CC)
3349 -  --with-build-cflags=XXX if cross-compiling, the host C compiler-flags
3350 -  --with-build-cppflags=XXX if cross-compiling, the host C preprocessor-flags
3351 -  --with-build-ldflags=XXX if cross-compiling, the host linker-flags
3352 -  --with-build-libs=XXX   if cross-compiling, the host libraries
3353    --without-cxx           do not adjust ncurses bool to match C++
3354    --without-cxx-binding   do not build C++ binding and demo
3355    --without-ada           suppress check for Ada95, don't build demo
3356    --without-progs         suppress build with programs (e.g., tic)
3357    --without-curses-h      install curses.h as ncurses.h only
3358    --with-install-prefix   prefixes actual install-location (\$DESTDIR)
3359 +Build-Tools Needed to Compile Temporary Applications for Cross-compiling:
3360 +  --with-build-cc=XXX     the build C compiler (\$BUILD_CC)
3361 +  --with-build-cflags=XXX the build C compiler-flags
3362 +  --with-build-cppflags=XXX the build C preprocessor-flags
3363 +  --with-build-ldflags=XXX the build linker-flags
3364 +  --with-build-libs=XXX   the build libraries
3365  Options to Specify the Libraries Built/Used:
3366    --with-libtool          generate libraries with libtool
3367    --with-shared           generate shared-libraries
3368 @@ -678,6 +679,7 @@
3369    --with-dbmalloc         test: use Conor Cahill's dbmalloc library
3370    --with-dmalloc          test: use Gray Watson's dmalloc library
3371    --with-gpm              use Alessandro Rubini's GPM library
3372 +  --with-sysmouse         use sysmouse (FreeBSD console)
3373    --enable-rpath          use rpath option when generating shared libraries
3374    --with-shlib-version=X  Specify rel or abi version for shared libs
3375  Fine-Tuning Your Configuration:
3376 @@ -806,7 +808,7 @@
3377  running configure, to aid debugging if configure makes a mistake.
3378  
3379  It was created by $as_me, which was
3380 -generated by GNU Autoconf 2.52.20011227.  Invocation command line was
3381 +generated by GNU Autoconf 2.52.20030208.  Invocation command line was
3382  
3383    $ $0 $@
3384  
3385 @@ -930,7 +932,7 @@
3386  fi
3387  for ac_site_file in $CONFIG_SITE; do
3388    if test -r "$ac_site_file"; then
3389 -    { echo "$as_me:933: loading site script $ac_site_file" >&5
3390 +    { echo "$as_me:935: loading site script $ac_site_file" >&5
3391  echo "$as_me: loading site script $ac_site_file" >&6;}
3392      cat "$ac_site_file" >&5
3393      . "$ac_site_file"
3394 @@ -941,7 +943,7 @@
3395    # Some versions of bash will fail to source /dev/null (special
3396    # files actually), so we avoid doing that.
3397    if test -f "$cache_file"; then
3398 -    { echo "$as_me:944: loading cache $cache_file" >&5
3399 +    { echo "$as_me:946: loading cache $cache_file" >&5
3400  echo "$as_me: loading cache $cache_file" >&6;}
3401      case $cache_file in
3402        [\\/]* | ?:[\\/]* ) . $cache_file;;
3403 @@ -949,7 +951,7 @@
3404      esac
3405    fi
3406  else
3407 -  { echo "$as_me:952: creating cache $cache_file" >&5
3408 +  { echo "$as_me:954: creating cache $cache_file" >&5
3409  echo "$as_me: creating cache $cache_file" >&6;}
3410    >$cache_file
3411  fi
3412 @@ -965,21 +967,21 @@
3413    eval ac_new_val="\$ac_env_${ac_var}_value"
3414    case $ac_old_set,$ac_new_set in
3415      set,)
3416 -      { echo "$as_me:968: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
3417 +      { echo "$as_me:970: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
3418  echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
3419        ac_cache_corrupted=: ;;
3420      ,set)
3421 -      { echo "$as_me:972: error: \`$ac_var' was not set in the previous run" >&5
3422 +      { echo "$as_me:974: error: \`$ac_var' was not set in the previous run" >&5
3423  echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
3424        ac_cache_corrupted=: ;;
3425      ,);;
3426      *)
3427        if test "x$ac_old_val" != "x$ac_new_val"; then
3428 -        { echo "$as_me:978: error: \`$ac_var' has changed since the previous run:" >&5
3429 +        { echo "$as_me:980: error: \`$ac_var' has changed since the previous run:" >&5
3430  echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
3431 -        { echo "$as_me:980:   former value:  $ac_old_val" >&5
3432 +        { echo "$as_me:982:   former value:  $ac_old_val" >&5
3433  echo "$as_me:   former value:  $ac_old_val" >&2;}
3434 -        { echo "$as_me:982:   current value: $ac_new_val" >&5
3435 +        { echo "$as_me:984:   current value: $ac_new_val" >&5
3436  echo "$as_me:   current value: $ac_new_val" >&2;}
3437          ac_cache_corrupted=:
3438        fi;;
3439 @@ -998,9 +1000,9 @@
3440    fi
3441  done
3442  if $ac_cache_corrupted; then
3443 -  { echo "$as_me:1001: error: changes in the environment can compromise the build" >&5
3444 +  { echo "$as_me:1003: error: changes in the environment can compromise the build" >&5
3445  echo "$as_me: error: changes in the environment can compromise the build" >&2;}
3446 -  { { echo "$as_me:1003: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
3447 +  { { echo "$as_me:1005: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
3448  echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
3449     { (exit 1); exit 1; }; }
3450  fi
3451 @@ -1020,10 +1022,10 @@
3452  echo "#! $SHELL" >conftest.sh
3453  echo  "exit 0"   >>conftest.sh
3454  chmod +x conftest.sh
3455 -if { (echo "$as_me:1023: PATH=\".;.\"; conftest.sh") >&5
3456 +if { (echo "$as_me:1025: PATH=\".;.\"; conftest.sh") >&5
3457    (PATH=".;."; conftest.sh) 2>&5
3458    ac_status=$?
3459 -  echo "$as_me:1026: \$? = $ac_status" >&5
3460 +  echo "$as_me:1028: \$? = $ac_status" >&5
3461    (exit $ac_status); }; then
3462    ac_path_separator=';'
3463  else
3464 @@ -1040,9 +1042,17 @@
3465  cf_cv_abi_version=${NCURSES_MAJOR}
3466  cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
3467  cf_cv_timestamp=`date`
3468 -echo "$as_me:1043: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
3469 +echo "$as_me:1045: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
3470  echo "${ECHO_T}Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&6
3471  
3472 +# Check whether --with-abi-version or --without-abi-version was given.
3473 +if test "${with_abi_version+set}" = set; then
3474 +  withval="$with_abi_version"
3475 +  { echo "$as_me:1051: WARNING: overriding ABI version to $withval" >&5
3476 +echo "$as_me: WARNING: overriding ABI version to $withval" >&2;}
3477 + cf_cv_abi_version=$withval
3478 +fi;
3479 +
3480  ac_aux_dir=
3481  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
3482    if test -f $ac_dir/install-sh; then
3483 @@ -1060,7 +1070,7 @@
3484    fi
3485  done
3486  if test -z "$ac_aux_dir"; then
3487 -  { { echo "$as_me:1063: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
3488 +  { { echo "$as_me:1073: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
3489  echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
3490     { (exit 1); exit 1; }; }
3491  fi
3492 @@ -1070,11 +1080,11 @@
3493  
3494  # Make sure we can run config.sub.
3495  $ac_config_sub sun4 >/dev/null 2>&1 ||
3496 -  { { echo "$as_me:1073: error: cannot run $ac_config_sub" >&5
3497 +  { { echo "$as_me:1083: error: cannot run $ac_config_sub" >&5
3498  echo "$as_me: error: cannot run $ac_config_sub" >&2;}
3499     { (exit 1); exit 1; }; }
3500  
3501 -echo "$as_me:1077: checking build system type" >&5
3502 +echo "$as_me:1087: checking build system type" >&5
3503  echo $ECHO_N "checking build system type... $ECHO_C" >&6
3504  if test "${ac_cv_build+set}" = set; then
3505    echo $ECHO_N "(cached) $ECHO_C" >&6
3506 @@ -1083,23 +1093,23 @@
3507  test -z "$ac_cv_build_alias" &&
3508    ac_cv_build_alias=`$ac_config_guess`
3509  test -z "$ac_cv_build_alias" &&
3510 -  { { echo "$as_me:1086: error: cannot guess build type; you must specify one" >&5
3511 +  { { echo "$as_me:1096: error: cannot guess build type; you must specify one" >&5
3512  echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
3513     { (exit 1); exit 1; }; }
3514  ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
3515 -  { { echo "$as_me:1090: error: $ac_config_sub $ac_cv_build_alias failed." >&5
3516 +  { { echo "$as_me:1100: error: $ac_config_sub $ac_cv_build_alias failed." >&5
3517  echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;}
3518     { (exit 1); exit 1; }; }
3519  
3520  fi
3521 -echo "$as_me:1095: result: $ac_cv_build" >&5
3522 +echo "$as_me:1105: result: $ac_cv_build" >&5
3523  echo "${ECHO_T}$ac_cv_build" >&6
3524  build=$ac_cv_build
3525  build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
3526  build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
3527  build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
3528  
3529 -echo "$as_me:1102: checking host system type" >&5
3530 +echo "$as_me:1112: checking host system type" >&5
3531  echo $ECHO_N "checking host system type... $ECHO_C" >&6
3532  if test "${ac_cv_host+set}" = set; then
3533    echo $ECHO_N "(cached) $ECHO_C" >&6
3534 @@ -1108,12 +1118,12 @@
3535  test -z "$ac_cv_host_alias" &&
3536    ac_cv_host_alias=$ac_cv_build_alias
3537  ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
3538 -  { { echo "$as_me:1111: error: $ac_config_sub $ac_cv_host_alias failed" >&5
3539 +  { { echo "$as_me:1121: error: $ac_config_sub $ac_cv_host_alias failed" >&5
3540  echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
3541     { (exit 1); exit 1; }; }
3542  
3543  fi
3544 -echo "$as_me:1116: result: $ac_cv_host" >&5
3545 +echo "$as_me:1126: result: $ac_cv_host" >&5
3546  echo "${ECHO_T}$ac_cv_host" >&6
3547  host=$ac_cv_host
3548  host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
3549 @@ -1121,7 +1131,7 @@
3550  host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
3551  
3552  if test -f $srcdir/config.guess ; then
3553 -       echo "$as_me:1124: checking target system type" >&5
3554 +       echo "$as_me:1134: checking target system type" >&5
3555  echo $ECHO_N "checking target system type... $ECHO_C" >&6
3556  if test "${ac_cv_target+set}" = set; then
3557    echo $ECHO_N "(cached) $ECHO_C" >&6
3558 @@ -1130,12 +1140,12 @@
3559  test "x$ac_cv_target_alias" = "x" &&
3560    ac_cv_target_alias=$ac_cv_host_alias
3561  ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
3562 -  { { echo "$as_me:1133: error: $ac_config_sub $ac_cv_target_alias failed" >&5
3563 +  { { echo "$as_me:1143: error: $ac_config_sub $ac_cv_target_alias failed" >&5
3564  echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
3565     { (exit 1); exit 1; }; }
3566  
3567  fi
3568 -echo "$as_me:1138: result: $ac_cv_target" >&5
3569 +echo "$as_me:1148: result: $ac_cv_target" >&5
3570  echo "${ECHO_T}$ac_cv_target" >&6
3571  target=$ac_cv_target
3572  target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
3573 @@ -1166,13 +1176,13 @@
3574  fi
3575  
3576  test -z "$system_name" && system_name="$cf_cv_system_name"
3577 -test -n "$cf_cv_system_name" && echo "$as_me:1169: result: Configuring for $cf_cv_system_name" >&5
3578 +test -n "$cf_cv_system_name" && echo "$as_me:1179: result: Configuring for $cf_cv_system_name" >&5
3579  echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
3580  
3581  if test ".$system_name" != ".$cf_cv_system_name" ; then
3582 -       echo "$as_me:1173: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
3583 +       echo "$as_me:1183: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
3584  echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
3585 -       { { echo "$as_me:1175: error: \"Please remove config.cache and try again.\"" >&5
3586 +       { { echo "$as_me:1185: error: \"Please remove config.cache and try again.\"" >&5
3587  echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
3588     { (exit 1); exit 1; }; }
3589  fi
3590 @@ -1180,62 +1190,33 @@
3591  # Check whether --with-system-type or --without-system-type was given.
3592  if test "${with_system_type+set}" = set; then
3593    withval="$with_system_type"
3594 -  { echo "$as_me:1183: WARNING: overriding system type to $withval" >&5
3595 +  { echo "$as_me:1193: WARNING: overriding system type to $withval" >&5
3596  echo "$as_me: WARNING: overriding system type to $withval" >&2;}
3597   cf_cv_system_name=$withval
3598  fi;
3599  
3600 -# We need a configure script only when compiling as part of GNU C library.
3601 -# Here we have to generate one of the files we need while compiling.
3602 -#
3603 -# The only problem is that users of the package might think they have to
3604 -# run configure themself and find it irritating when nothing happens.
3605 -#
3606 -# So we try here to find out whether we are called from the glibc configure
3607 -# or by a user.
3608 -#
3609 -
3610 -# Check whether --enable-add-ons or --disable-add-ons was given.
3611 -if test "${enable_add_ons+set}" = set; then
3612 -  enableval="$enable_add_ons"
3613 -  glibc_add_on=yes
3614 -else
3615 -  glibc_add_on=
3616 -fi;
3617 -
3618 -if test x"$glibc_add_on" = "xyes" ; then
3619 -  rm -f $srcdir/Banner
3620 -  # We are in glibc.
3621 -  rm -f $srcdir/Makefile
3622 -  cp $srcdir/Makefile.glibc $srcdir/Makefile
3623 -  echo "ncurses `grep \"^[     ]*ncurses-version[      ]*=.*$\" \
3624 -               $srcdir/Makefile | sed -e \
3625 -               's/^[   ]*ncurses-version[      ]*=[    ]*\([^  ^ ]*\)[         ]*$/\1/'`" > $srcdir/Banner
3626 -  exit 0
3627 -fi
3628 -
3629  ###    Save the given $CFLAGS to allow user-override.
3630  cf_user_CFLAGS="$CFLAGS"
3631  
3632  ###    Default install-location
3633  
3634 -echo "$as_me:1222: checking for prefix" >&5
3635 +echo "$as_me:1203: checking for prefix" >&5
3636  echo $ECHO_N "checking for prefix... $ECHO_C" >&6
3637  if test "x$prefix" = "xNONE" ; then
3638         case "$cf_cv_system_name" in
3639                 # non-vendor systems don't have a conflict
3640 -       openbsd*|netbsd*|freebsd*|linux*|cygwin*)
3641 +       openbsd*|netbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
3642                 prefix=/usr
3643                 ;;
3644         *)      prefix=$ac_default_prefix
3645                 ;;
3646         esac
3647  fi
3648 -echo "$as_me:1234: result: $prefix" >&5
3649 +echo "$as_me:1215: result: $prefix" >&5
3650  echo "${ECHO_T}$prefix" >&6
3651  
3652  if test "x$prefix" = "xNONE" ; then
3653 -echo "$as_me:1238: checking for default include-directory" >&5
3654 +echo "$as_me:1219: checking for default include-directory" >&5
3655  echo $ECHO_N "checking for default include-directory... $ECHO_C" >&6
3656  test -n "$verbose" && echo 1>&6
3657  for cf_symbol in \
3658 @@ -1258,7 +1239,7 @@
3659         fi
3660         test -n "$verbose"  && echo "   tested $cf_dir" 1>&6
3661  done
3662 -echo "$as_me:1261: result: $includedir" >&5
3663 +echo "$as_me:1242: result: $includedir" >&5
3664  echo "${ECHO_T}$includedir" >&6
3665  fi
3666  
3667 @@ -1271,7 +1252,7 @@
3668  if test -n "$ac_tool_prefix"; then
3669    # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
3670  set dummy ${ac_tool_prefix}gcc; ac_word=$2
3671 -echo "$as_me:1274: checking for $ac_word" >&5
3672 +echo "$as_me:1255: checking for $ac_word" >&5
3673  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3674  if test "${ac_cv_prog_CC+set}" = set; then
3675    echo $ECHO_N "(cached) $ECHO_C" >&6
3676 @@ -1286,7 +1267,7 @@
3677    test -z "$ac_dir" && ac_dir=.
3678    $as_executable_p "$ac_dir/$ac_word" || continue
3679  ac_cv_prog_CC="${ac_tool_prefix}gcc"
3680 -echo "$as_me:1289: found $ac_dir/$ac_word" >&5
3681 +echo "$as_me:1270: found $ac_dir/$ac_word" >&5
3682  break
3683  done
3684  
3685 @@ -1294,10 +1275,10 @@
3686  fi
3687  CC=$ac_cv_prog_CC
3688  if test -n "$CC"; then
3689 -  echo "$as_me:1297: result: $CC" >&5
3690 +  echo "$as_me:1278: result: $CC" >&5
3691  echo "${ECHO_T}$CC" >&6
3692  else
3693 -  echo "$as_me:1300: result: no" >&5
3694 +  echo "$as_me:1281: result: no" >&5
3695  echo "${ECHO_T}no" >&6
3696  fi
3697  
3698 @@ -1306,7 +1287,7 @@
3699    ac_ct_CC=$CC
3700    # Extract the first word of "gcc", so it can be a program name with args.
3701  set dummy gcc; ac_word=$2
3702 -echo "$as_me:1309: checking for $ac_word" >&5
3703 +echo "$as_me:1290: checking for $ac_word" >&5
3704  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3705  if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
3706    echo $ECHO_N "(cached) $ECHO_C" >&6
3707 @@ -1321,7 +1302,7 @@
3708    test -z "$ac_dir" && ac_dir=.
3709    $as_executable_p "$ac_dir/$ac_word" || continue
3710  ac_cv_prog_ac_ct_CC="gcc"
3711 -echo "$as_me:1324: found $ac_dir/$ac_word" >&5
3712 +echo "$as_me:1305: found $ac_dir/$ac_word" >&5
3713  break
3714  done
3715  
3716 @@ -1329,10 +1310,10 @@
3717  fi
3718  ac_ct_CC=$ac_cv_prog_ac_ct_CC
3719  if test -n "$ac_ct_CC"; then
3720 -  echo "$as_me:1332: result: $ac_ct_CC" >&5
3721 +  echo "$as_me:1313: result: $ac_ct_CC" >&5
3722  echo "${ECHO_T}$ac_ct_CC" >&6
3723  else
3724 -  echo "$as_me:1335: result: no" >&5
3725 +  echo "$as_me:1316: result: no" >&5
3726  echo "${ECHO_T}no" >&6
3727  fi
3728  
3729 @@ -1345,7 +1326,7 @@
3730    if test -n "$ac_tool_prefix"; then
3731    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
3732  set dummy ${ac_tool_prefix}cc; ac_word=$2
3733 -echo "$as_me:1348: checking for $ac_word" >&5
3734 +echo "$as_me:1329: checking for $ac_word" >&5
3735  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3736  if test "${ac_cv_prog_CC+set}" = set; then
3737    echo $ECHO_N "(cached) $ECHO_C" >&6
3738 @@ -1360,7 +1341,7 @@
3739    test -z "$ac_dir" && ac_dir=.
3740    $as_executable_p "$ac_dir/$ac_word" || continue
3741  ac_cv_prog_CC="${ac_tool_prefix}cc"
3742 -echo "$as_me:1363: found $ac_dir/$ac_word" >&5
3743 +echo "$as_me:1344: found $ac_dir/$ac_word" >&5
3744  break
3745  done
3746  
3747 @@ -1368,10 +1349,10 @@
3748  fi
3749  CC=$ac_cv_prog_CC
3750  if test -n "$CC"; then
3751 -  echo "$as_me:1371: result: $CC" >&5
3752 +  echo "$as_me:1352: result: $CC" >&5
3753  echo "${ECHO_T}$CC" >&6
3754  else
3755 -  echo "$as_me:1374: result: no" >&5
3756 +  echo "$as_me:1355: result: no" >&5
3757  echo "${ECHO_T}no" >&6
3758  fi
3759  
3760 @@ -1380,7 +1361,7 @@
3761    ac_ct_CC=$CC
3762    # Extract the first word of "cc", so it can be a program name with args.
3763  set dummy cc; ac_word=$2
3764 -echo "$as_me:1383: checking for $ac_word" >&5
3765 +echo "$as_me:1364: checking for $ac_word" >&5
3766  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3767  if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
3768    echo $ECHO_N "(cached) $ECHO_C" >&6
3769 @@ -1395,7 +1376,7 @@
3770    test -z "$ac_dir" && ac_dir=.
3771    $as_executable_p "$ac_dir/$ac_word" || continue
3772  ac_cv_prog_ac_ct_CC="cc"
3773 -echo "$as_me:1398: found $ac_dir/$ac_word" >&5
3774 +echo "$as_me:1379: found $ac_dir/$ac_word" >&5
3775  break
3776  done
3777  
3778 @@ -1403,10 +1384,10 @@
3779  fi
3780  ac_ct_CC=$ac_cv_prog_ac_ct_CC
3781  if test -n "$ac_ct_CC"; then
3782 -  echo "$as_me:1406: result: $ac_ct_CC" >&5
3783 +  echo "$as_me:1387: result: $ac_ct_CC" >&5
3784  echo "${ECHO_T}$ac_ct_CC" >&6
3785  else
3786 -  echo "$as_me:1409: result: no" >&5
3787 +  echo "$as_me:1390: result: no" >&5
3788  echo "${ECHO_T}no" >&6
3789  fi
3790  
3791 @@ -1419,7 +1400,7 @@
3792  if test -z "$CC"; then
3793    # Extract the first word of "cc", so it can be a program name with args.
3794  set dummy cc; ac_word=$2
3795 -echo "$as_me:1422: checking for $ac_word" >&5
3796 +echo "$as_me:1403: checking for $ac_word" >&5
3797  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3798  if test "${ac_cv_prog_CC+set}" = set; then
3799    echo $ECHO_N "(cached) $ECHO_C" >&6
3800 @@ -1439,7 +1420,7 @@
3801    continue
3802  fi
3803  ac_cv_prog_CC="cc"
3804 -echo "$as_me:1442: found $ac_dir/$ac_word" >&5
3805 +echo "$as_me:1423: found $ac_dir/$ac_word" >&5
3806  break
3807  done
3808  
3809 @@ -1461,10 +1442,10 @@
3810  fi
3811  CC=$ac_cv_prog_CC
3812  if test -n "$CC"; then
3813 -  echo "$as_me:1464: result: $CC" >&5
3814 +  echo "$as_me:1445: result: $CC" >&5
3815  echo "${ECHO_T}$CC" >&6
3816  else
3817 -  echo "$as_me:1467: result: no" >&5
3818 +  echo "$as_me:1448: result: no" >&5
3819  echo "${ECHO_T}no" >&6
3820  fi
3821  
3822 @@ -1475,7 +1456,7 @@
3823    do
3824      # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
3825  set dummy $ac_tool_prefix$ac_prog; ac_word=$2
3826 -echo "$as_me:1478: checking for $ac_word" >&5
3827 +echo "$as_me:1459: checking for $ac_word" >&5
3828  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3829  if test "${ac_cv_prog_CC+set}" = set; then
3830    echo $ECHO_N "(cached) $ECHO_C" >&6
3831 @@ -1490,7 +1471,7 @@
3832    test -z "$ac_dir" && ac_dir=.
3833    $as_executable_p "$ac_dir/$ac_word" || continue
3834  ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
3835 -echo "$as_me:1493: found $ac_dir/$ac_word" >&5
3836 +echo "$as_me:1474: found $ac_dir/$ac_word" >&5
3837  break
3838  done
3839  
3840 @@ -1498,10 +1479,10 @@
3841  fi
3842  CC=$ac_cv_prog_CC
3843  if test -n "$CC"; then
3844 -  echo "$as_me:1501: result: $CC" >&5
3845 +  echo "$as_me:1482: result: $CC" >&5
3846  echo "${ECHO_T}$CC" >&6
3847  else
3848 -  echo "$as_me:1504: result: no" >&5
3849 +  echo "$as_me:1485: result: no" >&5
3850  echo "${ECHO_T}no" >&6
3851  fi
3852  
3853 @@ -1514,7 +1495,7 @@
3854  do
3855    # Extract the first word of "$ac_prog", so it can be a program name with args.
3856  set dummy $ac_prog; ac_word=$2
3857 -echo "$as_me:1517: checking for $ac_word" >&5
3858 +echo "$as_me:1498: checking for $ac_word" >&5
3859  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3860  if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
3861    echo $ECHO_N "(cached) $ECHO_C" >&6
3862 @@ -1529,7 +1510,7 @@
3863    test -z "$ac_dir" && ac_dir=.
3864    $as_executable_p "$ac_dir/$ac_word" || continue
3865  ac_cv_prog_ac_ct_CC="$ac_prog"
3866 -echo "$as_me:1532: found $ac_dir/$ac_word" >&5
3867 +echo "$as_me:1513: found $ac_dir/$ac_word" >&5
3868  break
3869  done
3870  
3871 @@ -1537,10 +1518,10 @@
3872  fi
3873  ac_ct_CC=$ac_cv_prog_ac_ct_CC
3874  if test -n "$ac_ct_CC"; then
3875 -  echo "$as_me:1540: result: $ac_ct_CC" >&5
3876 +  echo "$as_me:1521: result: $ac_ct_CC" >&5
3877  echo "${ECHO_T}$ac_ct_CC" >&6
3878  else
3879 -  echo "$as_me:1543: result: no" >&5
3880 +  echo "$as_me:1524: result: no" >&5
3881  echo "${ECHO_T}no" >&6
3882  fi
3883  
3884 @@ -1552,32 +1533,32 @@
3885  
3886  fi
3887  
3888 -test -z "$CC" && { { echo "$as_me:1555: error: no acceptable cc found in \$PATH" >&5
3889 +test -z "$CC" && { { echo "$as_me:1536: error: no acceptable cc found in \$PATH" >&5
3890  echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
3891     { (exit 1); exit 1; }; }
3892  
3893  # Provide some information about the compiler.
3894 -echo "$as_me:1560:" \
3895 +echo "$as_me:1541:" \
3896       "checking for C compiler version" >&5
3897  ac_compiler=`set X $ac_compile; echo $2`
3898 -{ (eval echo "$as_me:1563: \"$ac_compiler --version </dev/null >&5\"") >&5
3899 +{ (eval echo "$as_me:1544: \"$ac_compiler --version </dev/null >&5\"") >&5
3900    (eval $ac_compiler --version </dev/null >&5) 2>&5
3901    ac_status=$?
3902 -  echo "$as_me:1566: \$? = $ac_status" >&5
3903 +  echo "$as_me:1547: \$? = $ac_status" >&5
3904    (exit $ac_status); }
3905 -{ (eval echo "$as_me:1568: \"$ac_compiler -v </dev/null >&5\"") >&5
3906 +{ (eval echo "$as_me:1549: \"$ac_compiler -v </dev/null >&5\"") >&5
3907    (eval $ac_compiler -v </dev/null >&5) 2>&5
3908    ac_status=$?
3909 -  echo "$as_me:1571: \$? = $ac_status" >&5
3910 +  echo "$as_me:1552: \$? = $ac_status" >&5
3911    (exit $ac_status); }
3912 -{ (eval echo "$as_me:1573: \"$ac_compiler -V </dev/null >&5\"") >&5
3913 +{ (eval echo "$as_me:1554: \"$ac_compiler -V </dev/null >&5\"") >&5
3914    (eval $ac_compiler -V </dev/null >&5) 2>&5
3915    ac_status=$?
3916 -  echo "$as_me:1576: \$? = $ac_status" >&5
3917 +  echo "$as_me:1557: \$? = $ac_status" >&5
3918    (exit $ac_status); }
3919  
3920  cat >conftest.$ac_ext <<_ACEOF
3921 -#line 1580 "configure"
3922 +#line 1561 "configure"
3923  #include "confdefs.h"
3924  
3925  int
3926 @@ -1593,13 +1574,13 @@
3927  # Try to create an executable without -o first, disregard a.out.
3928  # It will help us diagnose broken compilers, and finding out an intuition
3929  # of exeext.
3930 -echo "$as_me:1596: checking for C compiler default output" >&5
3931 +echo "$as_me:1577: checking for C compiler default output" >&5
3932  echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
3933  ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
3934 -if { (eval echo "$as_me:1599: \"$ac_link_default\"") >&5
3935 +if { (eval echo "$as_me:1580: \"$ac_link_default\"") >&5
3936    (eval $ac_link_default) 2>&5
3937    ac_status=$?
3938 -  echo "$as_me:1602: \$? = $ac_status" >&5
3939 +  echo "$as_me:1583: \$? = $ac_status" >&5
3940    (exit $ac_status); }; then
3941    # Find the output, starting from the most likely.  This scheme is
3942  # not robust to junk in `.', hence go to wildcards (a.*) only as a last
3943 @@ -1622,34 +1603,34 @@
3944  else
3945    echo "$as_me: failed program was:" >&5
3946  cat conftest.$ac_ext >&5
3947 -{ { echo "$as_me:1625: error: C compiler cannot create executables" >&5
3948 +{ { echo "$as_me:1606: error: C compiler cannot create executables" >&5
3949  echo "$as_me: error: C compiler cannot create executables" >&2;}
3950     { (exit 77); exit 77; }; }
3951  fi
3952  
3953  ac_exeext=$ac_cv_exeext
3954 -echo "$as_me:1631: result: $ac_file" >&5
3955 +echo "$as_me:1612: result: $ac_file" >&5
3956  echo "${ECHO_T}$ac_file" >&6
3957  
3958  # Check the compiler produces executables we can run.  If not, either
3959  # the compiler is broken, or we cross compile.
3960 -echo "$as_me:1636: checking whether the C compiler works" >&5
3961 +echo "$as_me:1617: checking whether the C compiler works" >&5
3962  echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
3963  # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
3964  # If not cross compiling, check that we can run a simple program.
3965  if test "$cross_compiling" != yes; then
3966    if { ac_try='./$ac_file'
3967 -  { (eval echo "$as_me:1642: \"$ac_try\"") >&5
3968 +  { (eval echo "$as_me:1623: \"$ac_try\"") >&5
3969    (eval $ac_try) 2>&5
3970    ac_status=$?
3971 -  echo "$as_me:1645: \$? = $ac_status" >&5
3972 +  echo "$as_me:1626: \$? = $ac_status" >&5
3973    (exit $ac_status); }; }; then
3974      cross_compiling=no
3975    else
3976      if test "$cross_compiling" = maybe; then
3977         cross_compiling=yes
3978      else
3979 -       { { echo "$as_me:1652: error: cannot run C compiled programs.
3980 +       { { echo "$as_me:1633: error: cannot run C compiled programs.
3981  If you meant to cross compile, use \`--host'." >&5
3982  echo "$as_me: error: cannot run C compiled programs.
3983  If you meant to cross compile, use \`--host'." >&2;}
3984 @@ -1657,24 +1638,24 @@
3985      fi
3986    fi
3987  fi
3988 -echo "$as_me:1660: result: yes" >&5
3989 +echo "$as_me:1641: result: yes" >&5
3990  echo "${ECHO_T}yes" >&6
3991  
3992  rm -f a.out a.exe conftest$ac_cv_exeext
3993  ac_clean_files=$ac_clean_files_save
3994  # Check the compiler produces executables we can run.  If not, either
3995  # the compiler is broken, or we cross compile.
3996 -echo "$as_me:1667: checking whether we are cross compiling" >&5
3997 +echo "$as_me:1648: checking whether we are cross compiling" >&5
3998  echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
3999 -echo "$as_me:1669: result: $cross_compiling" >&5
4000 +echo "$as_me:1650: result: $cross_compiling" >&5
4001  echo "${ECHO_T}$cross_compiling" >&6
4002  
4003 -echo "$as_me:1672: checking for executable suffix" >&5
4004 +echo "$as_me:1653: checking for executable suffix" >&5
4005  echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
4006 -if { (eval echo "$as_me:1674: \"$ac_link\"") >&5
4007 +if { (eval echo "$as_me:1655: \"$ac_link\"") >&5
4008    (eval $ac_link) 2>&5
4009    ac_status=$?
4010 -  echo "$as_me:1677: \$? = $ac_status" >&5
4011 +  echo "$as_me:1658: \$? = $ac_status" >&5
4012    (exit $ac_status); }; then
4013    # If both `conftest.exe' and `conftest' are `present' (well, observable)
4014  # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
4015 @@ -1690,25 +1671,25 @@
4016    esac
4017  done
4018  else
4019 -  { { echo "$as_me:1693: error: cannot compute EXEEXT: cannot compile and link" >&5
4020 +  { { echo "$as_me:1674: error: cannot compute EXEEXT: cannot compile and link" >&5
4021  echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
4022     { (exit 1); exit 1; }; }
4023  fi
4024  
4025  rm -f conftest$ac_cv_exeext
4026 -echo "$as_me:1699: result: $ac_cv_exeext" >&5
4027 +echo "$as_me:1680: result: $ac_cv_exeext" >&5
4028  echo "${ECHO_T}$ac_cv_exeext" >&6
4029  
4030  rm -f conftest.$ac_ext
4031  EXEEXT=$ac_cv_exeext
4032  ac_exeext=$EXEEXT
4033 -echo "$as_me:1705: checking for object suffix" >&5
4034 +echo "$as_me:1686: checking for object suffix" >&5
4035  echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
4036  if test "${ac_cv_objext+set}" = set; then
4037    echo $ECHO_N "(cached) $ECHO_C" >&6
4038  else
4039    cat >conftest.$ac_ext <<_ACEOF
4040 -#line 1711 "configure"
4041 +#line 1692 "configure"
4042  #include "confdefs.h"
4043  
4044  int
4045 @@ -1720,10 +1701,10 @@
4046  }
4047  _ACEOF
4048  rm -f conftest.o conftest.obj
4049 -if { (eval echo "$as_me:1723: \"$ac_compile\"") >&5
4050 +if { (eval echo "$as_me:1704: \"$ac_compile\"") >&5
4051    (eval $ac_compile) 2>&5
4052    ac_status=$?
4053 -  echo "$as_me:1726: \$? = $ac_status" >&5
4054 +  echo "$as_me:1707: \$? = $ac_status" >&5
4055    (exit $ac_status); }; then
4056    for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
4057    case $ac_file in
4058 @@ -1735,24 +1716,24 @@
4059  else
4060    echo "$as_me: failed program was:" >&5
4061  cat conftest.$ac_ext >&5
4062 -{ { echo "$as_me:1738: error: cannot compute OBJEXT: cannot compile" >&5
4063 +{ { echo "$as_me:1719: error: cannot compute OBJEXT: cannot compile" >&5
4064  echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
4065     { (exit 1); exit 1; }; }
4066  fi
4067  
4068  rm -f conftest.$ac_cv_objext conftest.$ac_ext
4069  fi
4070 -echo "$as_me:1745: result: $ac_cv_objext" >&5
4071 +echo "$as_me:1726: result: $ac_cv_objext" >&5
4072  echo "${ECHO_T}$ac_cv_objext" >&6
4073  OBJEXT=$ac_cv_objext
4074  ac_objext=$OBJEXT
4075 -echo "$as_me:1749: checking whether we are using the GNU C compiler" >&5
4076 +echo "$as_me:1730: checking whether we are using the GNU C compiler" >&5
4077  echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
4078  if test "${ac_cv_c_compiler_gnu+set}" = set; then
4079    echo $ECHO_N "(cached) $ECHO_C" >&6
4080  else
4081    cat >conftest.$ac_ext <<_ACEOF
4082 -#line 1755 "configure"
4083 +#line 1736 "configure"
4084  #include "confdefs.h"
4085  
4086  int
4087 @@ -1767,16 +1748,16 @@
4088  }
4089  _ACEOF
4090  rm -f conftest.$ac_objext
4091 -if { (eval echo "$as_me:1770: \"$ac_compile\"") >&5
4092 +if { (eval echo "$as_me:1751: \"$ac_compile\"") >&5
4093    (eval $ac_compile) 2>&5
4094    ac_status=$?
4095 -  echo "$as_me:1773: \$? = $ac_status" >&5
4096 +  echo "$as_me:1754: \$? = $ac_status" >&5
4097    (exit $ac_status); } &&
4098           { ac_try='test -s conftest.$ac_objext'
4099 -  { (eval echo "$as_me:1776: \"$ac_try\"") >&5
4100 +  { (eval echo "$as_me:1757: \"$ac_try\"") >&5
4101    (eval $ac_try) 2>&5
4102    ac_status=$?
4103 -  echo "$as_me:1779: \$? = $ac_status" >&5
4104 +  echo "$as_me:1760: \$? = $ac_status" >&5
4105    (exit $ac_status); }; }; then
4106    ac_compiler_gnu=yes
4107  else
4108 @@ -1788,19 +1769,19 @@
4109  ac_cv_c_compiler_gnu=$ac_compiler_gnu
4110  
4111  fi
4112 -echo "$as_me:1791: result: $ac_cv_c_compiler_gnu" >&5
4113 +echo "$as_me:1772: result: $ac_cv_c_compiler_gnu" >&5
4114  echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
4115  GCC=`test $ac_compiler_gnu = yes && echo yes`
4116  ac_test_CFLAGS=${CFLAGS+set}
4117  ac_save_CFLAGS=$CFLAGS
4118  CFLAGS="-g"
4119 -echo "$as_me:1797: checking whether $CC accepts -g" >&5
4120 +echo "$as_me:1778: checking whether $CC accepts -g" >&5
4121  echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
4122  if test "${ac_cv_prog_cc_g+set}" = set; then
4123    echo $ECHO_N "(cached) $ECHO_C" >&6
4124  else
4125    cat >conftest.$ac_ext <<_ACEOF
4126 -#line 1803 "configure"
4127 +#line 1784 "configure"
4128  #include "confdefs.h"
4129  
4130  int
4131 @@ -1812,16 +1793,16 @@
4132  }
4133  _ACEOF
4134  rm -f conftest.$ac_objext
4135 -if { (eval echo "$as_me:1815: \"$ac_compile\"") >&5
4136 +if { (eval echo "$as_me:1796: \"$ac_compile\"") >&5
4137    (eval $ac_compile) 2>&5
4138    ac_status=$?
4139 -  echo "$as_me:1818: \$? = $ac_status" >&5
4140 +  echo "$as_me:1799: \$? = $ac_status" >&5
4141    (exit $ac_status); } &&
4142           { ac_try='test -s conftest.$ac_objext'
4143 -  { (eval echo "$as_me:1821: \"$ac_try\"") >&5
4144 +  { (eval echo "$as_me:1802: \"$ac_try\"") >&5
4145    (eval $ac_try) 2>&5
4146    ac_status=$?
4147 -  echo "$as_me:1824: \$? = $ac_status" >&5
4148 +  echo "$as_me:1805: \$? = $ac_status" >&5
4149    (exit $ac_status); }; }; then
4150    ac_cv_prog_cc_g=yes
4151  else
4152 @@ -1831,7 +1812,7 @@
4153  fi
4154  rm -f conftest.$ac_objext conftest.$ac_ext
4155  fi
4156 -echo "$as_me:1834: result: $ac_cv_prog_cc_g" >&5
4157 +echo "$as_me:1815: result: $ac_cv_prog_cc_g" >&5
4158  echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
4159  if test "$ac_test_CFLAGS" = set; then
4160    CFLAGS=$ac_save_CFLAGS
4161 @@ -1858,16 +1839,16 @@
4162  #endif
4163  _ACEOF
4164  rm -f conftest.$ac_objext
4165 -if { (eval echo "$as_me:1861: \"$ac_compile\"") >&5
4166 +if { (eval echo "$as_me:1842: \"$ac_compile\"") >&5
4167    (eval $ac_compile) 2>&5
4168    ac_status=$?
4169 -  echo "$as_me:1864: \$? = $ac_status" >&5
4170 +  echo "$as_me:1845: \$? = $ac_status" >&5
4171    (exit $ac_status); } &&
4172           { ac_try='test -s conftest.$ac_objext'
4173 -  { (eval echo "$as_me:1867: \"$ac_try\"") >&5
4174 +  { (eval echo "$as_me:1848: \"$ac_try\"") >&5
4175    (eval $ac_try) 2>&5
4176    ac_status=$?
4177 -  echo "$as_me:1870: \$? = $ac_status" >&5
4178 +  echo "$as_me:1851: \$? = $ac_status" >&5
4179    (exit $ac_status); }; }; then
4180    for ac_declaration in \
4181     ''\
4182 @@ -1879,7 +1860,7 @@
4183     'void exit (int);'
4184  do
4185    cat >conftest.$ac_ext <<_ACEOF
4186 -#line 1882 "configure"
4187 +#line 1863 "configure"
4188  #include "confdefs.h"
4189  #include <stdlib.h>
4190  $ac_declaration
4191 @@ -1892,16 +1873,16 @@
4192  }
4193  _ACEOF
4194  rm -f conftest.$ac_objext
4195 -if { (eval echo "$as_me:1895: \"$ac_compile\"") >&5
4196 +if { (eval echo "$as_me:1876: \"$ac_compile\"") >&5
4197    (eval $ac_compile) 2>&5
4198    ac_status=$?
4199 -  echo "$as_me:1898: \$? = $ac_status" >&5
4200 +  echo "$as_me:1879: \$? = $ac_status" >&5
4201    (exit $ac_status); } &&
4202           { ac_try='test -s conftest.$ac_objext'
4203 -  { (eval echo "$as_me:1901: \"$ac_try\"") >&5
4204 +  { (eval echo "$as_me:1882: \"$ac_try\"") >&5
4205    (eval $ac_try) 2>&5
4206    ac_status=$?
4207 -  echo "$as_me:1904: \$? = $ac_status" >&5
4208 +  echo "$as_me:1885: \$? = $ac_status" >&5
4209    (exit $ac_status); }; }; then
4210    :
4211  else
4212 @@ -1911,7 +1892,7 @@
4213  fi
4214  rm -f conftest.$ac_objext conftest.$ac_ext
4215    cat >conftest.$ac_ext <<_ACEOF
4216 -#line 1914 "configure"
4217 +#line 1895 "configure"
4218  #include "confdefs.h"
4219  $ac_declaration
4220  int
4221 @@ -1923,16 +1904,16 @@
4222  }
4223  _ACEOF
4224  rm -f conftest.$ac_objext
4225 -if { (eval echo "$as_me:1926: \"$ac_compile\"") >&5
4226 +if { (eval echo "$as_me:1907: \"$ac_compile\"") >&5
4227    (eval $ac_compile) 2>&5
4228    ac_status=$?
4229 -  echo "$as_me:1929: \$? = $ac_status" >&5
4230 +  echo "$as_me:1910: \$? = $ac_status" >&5
4231    (exit $ac_status); } &&
4232           { ac_try='test -s conftest.$ac_objext'
4233 -  { (eval echo "$as_me:1932: \"$ac_try\"") >&5
4234 +  { (eval echo "$as_me:1913: \"$ac_try\"") >&5
4235    (eval $ac_try) 2>&5
4236    ac_status=$?
4237 -  echo "$as_me:1935: \$? = $ac_status" >&5
4238 +  echo "$as_me:1916: \$? = $ac_status" >&5
4239    (exit $ac_status); }; }; then
4240    break
4241  else
4242 @@ -1961,98 +1942,20 @@
4243  
4244  GCC_VERSION=none
4245  if test "$GCC" = yes ; then
4246 -       echo "$as_me:1964: checking version of gcc" >&5
4247 -echo $ECHO_N "checking version of gcc... $ECHO_C" >&6
4248 -       GCC_VERSION="`${CC} --version|head -1`"
4249 -       echo "$as_me:1967: result: $GCC_VERSION" >&5
4250 +       echo "$as_me:1945: checking version of $CC" >&5
4251 +echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
4252 +       GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
4253 +       test -z "$GCC_VERSION" && GCC_VERSION=unknown
4254 +       echo "$as_me:1949: result: $GCC_VERSION" >&5
4255  echo "${ECHO_T}$GCC_VERSION" >&6
4256  fi
4257  
4258 -# If we're cross-compiling, allow the user to override the tools and their
4259 -# options.  The configure script is oriented toward identifying the target
4260 -# compiler, etc., but we need a host compiler to generate parts of the source.
4261 -BUILD_CC='$(CC)'
4262 -BUILD_CFLAGS='$(CFLAGS)'
4263 -BUILD_CPPFLAGS='$(CPPFLAGS)'
4264 -BUILD_LDFLAGS='$(LDFLAGS)'
4265 -BUILD_LIBS='$(LIBS)'
4266 -if test "$host_alias" != "$target_alias" ; then
4267 -
4268 -# Check whether --with-build-cc or --without-build-cc was given.
4269 -if test "${with_build_cc+set}" = set; then
4270 -  withval="$with_build_cc"
4271 -  BUILD_CC="$withval"
4272 -else
4273 -  for ac_prog in $CC gcc cc
4274 -do
4275 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
4276 -set dummy $ac_prog; ac_word=$2
4277 -echo "$as_me:1990: checking for $ac_word" >&5
4278 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4279 -if test "${ac_cv_prog_BUILD_CC+set}" = set; then
4280 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4281 -else
4282 -  if test -n "$BUILD_CC"; then
4283 -  ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
4284 -else
4285 -  ac_save_IFS=$IFS; IFS=$ac_path_separator
4286 -ac_dummy="$PATH"
4287 -for ac_dir in $ac_dummy; do
4288 -  IFS=$ac_save_IFS
4289 -  test -z "$ac_dir" && ac_dir=.
4290 -  $as_executable_p "$ac_dir/$ac_word" || continue
4291 -ac_cv_prog_BUILD_CC="$ac_prog"
4292 -echo "$as_me:2005: found $ac_dir/$ac_word" >&5
4293 -break
4294 -done
4295 -
4296 -fi
4297 -fi
4298 -BUILD_CC=$ac_cv_prog_BUILD_CC
4299 -if test -n "$BUILD_CC"; then
4300 -  echo "$as_me:2013: result: $BUILD_CC" >&5
4301 -echo "${ECHO_T}$BUILD_CC" >&6
4302 -else
4303 -  echo "$as_me:2016: result: no" >&5
4304 -echo "${ECHO_T}no" >&6
4305 -fi
4306 -
4307 -  test -n "$BUILD_CC" && break
4308 -done
4309 -
4310 -fi;
4311 -
4312 -# Check whether --with-build-cflags or --without-build-cflags was given.
4313 -if test "${with_build_cflags+set}" = set; then
4314 -  withval="$with_build_cflags"
4315 -  BUILD_CFLAGS="$withval"
4316 -fi;
4317 -
4318 -# Check whether --with-build-cppflags or --without-build-cppflags was given.
4319 -if test "${with_build_cppflags+set}" = set; then
4320 -  withval="$with_build_cppflags"
4321 -  BUILD_CPPFLAGS="$withval"
4322 -fi;
4323 -
4324 -# Check whether --with-build-ldflags or --without-build-ldflags was given.
4325 -if test "${with_build_ldflags+set}" = set; then
4326 -  withval="$with_build_ldflags"
4327 -  BUILD_LDFLAGS="$withval"
4328 -fi;
4329 -
4330 -# Check whether --with-build-libs or --without-build-libs was given.
4331 -if test "${with_build_libs+set}" = set; then
4332 -  withval="$with_build_libs"
4333 -  BUILD_LIBS="$withval"
4334 -fi;
4335 -fi
4336 -
4337  ac_ext=c
4338  ac_cpp='$CPP $CPPFLAGS'
4339  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4340  ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4341  ac_compiler_gnu=$ac_cv_c_compiler_gnu
4342 -echo "$as_me:2055: checking how to run the C preprocessor" >&5
4343 +echo "$as_me:1958: checking how to run the C preprocessor" >&5
4344  echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
4345  # On Suns, sometimes $CPP names a directory.
4346  if test -n "$CPP" && test -d "$CPP"; then
4347 @@ -2073,18 +1976,18 @@
4348    # On the NeXT, cc -E runs the code through the compiler's parser,
4349    # not just through cpp. "Syntax error" is here to catch this case.
4350    cat >conftest.$ac_ext <<_ACEOF
4351 -#line 2076 "configure"
4352 +#line 1979 "configure"
4353  #include "confdefs.h"
4354  #include <assert.h>
4355                       Syntax error
4356  _ACEOF
4357 -if { (eval echo "$as_me:2081: \"$ac_cpp conftest.$ac_ext\"") >&5
4358 +if { (eval echo "$as_me:1984: \"$ac_cpp conftest.$ac_ext\"") >&5
4359    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4360    ac_status=$?
4361    egrep -v '^ *\+' conftest.er1 >conftest.err
4362    rm -f conftest.er1
4363    cat conftest.err >&5
4364 -  echo "$as_me:2087: \$? = $ac_status" >&5
4365 +  echo "$as_me:1990: \$? = $ac_status" >&5
4366    (exit $ac_status); } >/dev/null; then
4367    if test -s conftest.err; then
4368      ac_cpp_err=$ac_c_preproc_warn_flag
4369 @@ -2107,17 +2010,17 @@
4370    # OK, works on sane cases.  Now check whether non-existent headers
4371    # can be detected and how.
4372    cat >conftest.$ac_ext <<_ACEOF
4373 -#line 2110 "configure"
4374 +#line 2013 "configure"
4375  #include "confdefs.h"
4376  #include <ac_nonexistent.h>
4377  _ACEOF
4378 -if { (eval echo "$as_me:2114: \"$ac_cpp conftest.$ac_ext\"") >&5
4379 +if { (eval echo "$as_me:2017: \"$ac_cpp conftest.$ac_ext\"") >&5
4380    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4381    ac_status=$?
4382    egrep -v '^ *\+' conftest.er1 >conftest.err
4383    rm -f conftest.er1
4384    cat conftest.err >&5
4385 -  echo "$as_me:2120: \$? = $ac_status" >&5
4386 +  echo "$as_me:2023: \$? = $ac_status" >&5
4387    (exit $ac_status); } >/dev/null; then
4388    if test -s conftest.err; then
4389      ac_cpp_err=$ac_c_preproc_warn_flag
4390 @@ -2154,7 +2057,7 @@
4391  else
4392    ac_cv_prog_CPP=$CPP
4393  fi
4394 -echo "$as_me:2157: result: $CPP" >&5
4395 +echo "$as_me:2060: result: $CPP" >&5
4396  echo "${ECHO_T}$CPP" >&6
4397  ac_preproc_ok=false
4398  for ac_c_preproc_warn_flag in '' yes
4399 @@ -2164,18 +2067,18 @@
4400    # On the NeXT, cc -E runs the code through the compiler's parser,
4401    # not just through cpp. "Syntax error" is here to catch this case.
4402    cat >conftest.$ac_ext <<_ACEOF
4403 -#line 2167 "configure"
4404 +#line 2070 "configure"
4405  #include "confdefs.h"
4406  #include <assert.h>
4407                       Syntax error
4408  _ACEOF
4409 -if { (eval echo "$as_me:2172: \"$ac_cpp conftest.$ac_ext\"") >&5
4410 +if { (eval echo "$as_me:2075: \"$ac_cpp conftest.$ac_ext\"") >&5
4411    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4412    ac_status=$?
4413    egrep -v '^ *\+' conftest.er1 >conftest.err
4414    rm -f conftest.er1
4415    cat conftest.err >&5
4416 -  echo "$as_me:2178: \$? = $ac_status" >&5
4417 +  echo "$as_me:2081: \$? = $ac_status" >&5
4418    (exit $ac_status); } >/dev/null; then
4419    if test -s conftest.err; then
4420      ac_cpp_err=$ac_c_preproc_warn_flag
4421 @@ -2198,17 +2101,17 @@
4422    # OK, works on sane cases.  Now check whether non-existent headers
4423    # can be detected and how.
4424    cat >conftest.$ac_ext <<_ACEOF
4425 -#line 2201 "configure"
4426 +#line 2104 "configure"
4427  #include "confdefs.h"
4428  #include <ac_nonexistent.h>
4429  _ACEOF
4430 -if { (eval echo "$as_me:2205: \"$ac_cpp conftest.$ac_ext\"") >&5
4431 +if { (eval echo "$as_me:2108: \"$ac_cpp conftest.$ac_ext\"") >&5
4432    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4433    ac_status=$?
4434    egrep -v '^ *\+' conftest.er1 >conftest.err
4435    rm -f conftest.er1
4436    cat conftest.err >&5
4437 -  echo "$as_me:2211: \$? = $ac_status" >&5
4438 +  echo "$as_me:2114: \$? = $ac_status" >&5
4439    (exit $ac_status); } >/dev/null; then
4440    if test -s conftest.err; then
4441      ac_cpp_err=$ac_c_preproc_warn_flag
4442 @@ -2236,7 +2139,7 @@
4443  if $ac_preproc_ok; then
4444    :
4445  else
4446 -  { { echo "$as_me:2239: error: C preprocessor \"$CPP\" fails sanity check" >&5
4447 +  { { echo "$as_me:2142: error: C preprocessor \"$CPP\" fails sanity check" >&5
4448  echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
4449     { (exit 1); exit 1; }; }
4450  fi
4451 @@ -2248,17 +2151,17 @@
4452  ac_compiler_gnu=$ac_cv_c_compiler_gnu
4453  
4454  if test $ac_cv_c_compiler_gnu = yes; then
4455 -    echo "$as_me:2251: checking whether $CC needs -traditional" >&5
4456 +    echo "$as_me:2154: checking whether $CC needs -traditional" >&5
4457  echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
4458  if test "${ac_cv_prog_gcc_traditional+set}" = set; then
4459    echo $ECHO_N "(cached) $ECHO_C" >&6
4460  else
4461      ac_pattern="Autoconf.*'x'"
4462    cat >conftest.$ac_ext <<_ACEOF
4463 -#line 2258 "configure"
4464 +#line 2161 "configure"
4465  #include "confdefs.h"
4466  #include <sgtty.h>
4467 -Autoconf TIOCGETP
4468 +int Autoconf = TIOCGETP;
4469  _ACEOF
4470  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
4471    egrep "$ac_pattern" >/dev/null 2>&1; then
4472 @@ -2270,10 +2173,10 @@
4473  
4474    if test $ac_cv_prog_gcc_traditional = no; then
4475      cat >conftest.$ac_ext <<_ACEOF
4476 -#line 2273 "configure"
4477 +#line 2176 "configure"
4478  #include "confdefs.h"
4479  #include <termio.h>
4480 -Autoconf TCGETA
4481 +int Autoconf = TCGETA;
4482  _ACEOF
4483  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
4484    egrep "$ac_pattern" >/dev/null 2>&1; then
4485 @@ -2283,19 +2186,19 @@
4486  
4487    fi
4488  fi
4489 -echo "$as_me:2286: result: $ac_cv_prog_gcc_traditional" >&5
4490 +echo "$as_me:2189: result: $ac_cv_prog_gcc_traditional" >&5
4491  echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
4492    if test $ac_cv_prog_gcc_traditional = yes; then
4493      CC="$CC -traditional"
4494    fi
4495  fi
4496  
4497 -echo "$as_me:2293: checking for POSIXized ISC" >&5
4498 +echo "$as_me:2196: checking for POSIXized ISC" >&5
4499  echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6
4500  if test -d /etc/conf/kconfig.d &&
4501     grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
4502  then
4503 -  echo "$as_me:2298: result: yes" >&5
4504 +  echo "$as_me:2201: result: yes" >&5
4505  echo "${ECHO_T}yes" >&6
4506    ISC=yes # If later tests want to check for ISC.
4507  
4508 @@ -2309,12 +2212,12 @@
4509      CC="$CC -Xp"
4510    fi
4511  else
4512 -  echo "$as_me:2312: result: no" >&5
4513 +  echo "$as_me:2215: result: no" >&5
4514  echo "${ECHO_T}no" >&6
4515    ISC=
4516  fi
4517  
4518 -echo "$as_me:2317: checking for ${CC-cc} option to accept ANSI C" >&5
4519 +echo "$as_me:2220: checking for ${CC-cc} option to accept ANSI C" >&5
4520  echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6
4521  if test "${cf_cv_ansi_cc+set}" = set; then
4522    echo $ECHO_N "(cached) $ECHO_C" >&6
4523 @@ -2366,11 +2269,11 @@
4524  
4525  if test -n "$cf_new_cppflags" ; then
4526  
4527 -       CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
4528 +       CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
4529  fi
4530  
4531         cat >conftest.$ac_ext <<_ACEOF
4532 -#line 2373 "configure"
4533 +#line 2276 "configure"
4534  #include "confdefs.h"
4535  
4536  #ifndef CC_HAS_PROTOS
4537 @@ -2391,16 +2294,16 @@
4538  }
4539  _ACEOF
4540  rm -f conftest.$ac_objext
4541 -if { (eval echo "$as_me:2394: \"$ac_compile\"") >&5
4542 +if { (eval echo "$as_me:2297: \"$ac_compile\"") >&5
4543    (eval $ac_compile) 2>&5
4544    ac_status=$?
4545 -  echo "$as_me:2397: \$? = $ac_status" >&5
4546 +  echo "$as_me:2300: \$? = $ac_status" >&5
4547    (exit $ac_status); } &&
4548           { ac_try='test -s conftest.$ac_objext'
4549 -  { (eval echo "$as_me:2400: \"$ac_try\"") >&5
4550 +  { (eval echo "$as_me:2303: \"$ac_try\"") >&5
4551    (eval $ac_try) 2>&5
4552    ac_status=$?
4553 -  echo "$as_me:2403: \$? = $ac_status" >&5
4554 +  echo "$as_me:2306: \$? = $ac_status" >&5
4555    (exit $ac_status); }; }; then
4556    cf_cv_ansi_cc="$cf_arg"; break
4557  else
4558 @@ -2413,7 +2316,7 @@
4559  CPPFLAGS="$cf_save_CPPFLAGS"
4560  
4561  fi
4562 -echo "$as_me:2416: result: $cf_cv_ansi_cc" >&5
4563 +echo "$as_me:2319: result: $cf_cv_ansi_cc" >&5
4564  echo "${ECHO_T}$cf_cv_ansi_cc" >&6
4565  
4566  if test "$cf_cv_ansi_cc" != "no"; then
4567 @@ -2446,7 +2349,7 @@
4568  
4569  if test -n "$cf_new_cppflags" ; then
4570  
4571 -       CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
4572 +       CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
4573  fi
4574  
4575  else
4576 @@ -2458,7 +2361,7 @@
4577  fi
4578  
4579  if test "$cf_cv_ansi_cc" = "no"; then
4580 -       { { echo "$as_me:2461: error: Your compiler does not appear to recognize prototypes.
4581 +       { { echo "$as_me:2364: error: Your compiler does not appear to recognize prototypes.
4582  You have the following choices:
4583         a. adjust your compiler options
4584         b. get an up-to-date compiler
4585 @@ -2478,7 +2381,7 @@
4586      CFLAGS="$CFLAGS -Zmt"
4587      CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
4588      CXXFLAGS="$CXXFLAGS -Zmt"
4589 -    LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed "s/-Zexe//g"`
4590 +    LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed -e "s%-Zexe%%g"`
4591      PROG_EXT=".exe"
4592      ;;
4593  cygwin*)
4594 @@ -2497,7 +2400,7 @@
4595  *) LDPATH=$PATH:/sbin:/usr/sbin
4596    # Extract the first word of "ldconfig", so it can be a program name with args.
4597  set dummy ldconfig; ac_word=$2
4598 -echo "$as_me:2500: checking for $ac_word" >&5
4599 +echo "$as_me:2403: checking for $ac_word" >&5
4600  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4601  if test "${ac_cv_path_LDCONFIG+set}" = set; then
4602    echo $ECHO_N "(cached) $ECHO_C" >&6
4603 @@ -2514,7 +2417,7 @@
4604    test -z "$ac_dir" && ac_dir=.
4605    if $as_executable_p "$ac_dir/$ac_word"; then
4606     ac_cv_path_LDCONFIG="$ac_dir/$ac_word"
4607 -   echo "$as_me:2517: found $ac_dir/$ac_word" >&5
4608 +   echo "$as_me:2420: found $ac_dir/$ac_word" >&5
4609     break
4610  fi
4611  done
4612 @@ -2525,17 +2428,17 @@
4613  LDCONFIG=$ac_cv_path_LDCONFIG
4614  
4615  if test -n "$LDCONFIG"; then
4616 -  echo "$as_me:2528: result: $LDCONFIG" >&5
4617 +  echo "$as_me:2431: result: $LDCONFIG" >&5
4618  echo "${ECHO_T}$LDCONFIG" >&6
4619  else
4620 -  echo "$as_me:2531: result: no" >&5
4621 +  echo "$as_me:2434: result: no" >&5
4622  echo "${ECHO_T}no" >&6
4623  fi
4624  
4625    ;;
4626  esac
4627  
4628 -echo "$as_me:2538: checking if you want to ensure bool is consistent with C++" >&5
4629 +echo "$as_me:2441: checking if you want to ensure bool is consistent with C++" >&5
4630  echo $ECHO_N "checking if you want to ensure bool is consistent with C++... $ECHO_C" >&6
4631  
4632  # Check whether --with-cxx or --without-cxx was given.
4633 @@ -2545,12 +2448,13 @@
4634  else
4635    cf_with_cxx=yes
4636  fi;
4637 -echo "$as_me:2548: result: $cf_with_cxx" >&5
4638 +echo "$as_me:2451: result: $cf_with_cxx" >&5
4639  echo "${ECHO_T}$cf_with_cxx" >&6
4640  if test "X$cf_with_cxx" = Xno ; then
4641         CXX=""
4642         GXX=""
4643  else
4644 +       # with autoconf 2.13, we can change the error to a warning:
4645                 ac_ext=cc
4646  ac_cpp='$CXXCPP $CPPFLAGS'
4647  ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4648 @@ -2561,7 +2465,7 @@
4649    do
4650      # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
4651  set dummy $ac_tool_prefix$ac_prog; ac_word=$2
4652 -echo "$as_me:2564: checking for $ac_word" >&5
4653 +echo "$as_me:2468: checking for $ac_word" >&5
4654  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4655  if test "${ac_cv_prog_CXX+set}" = set; then
4656    echo $ECHO_N "(cached) $ECHO_C" >&6
4657 @@ -2576,7 +2480,7 @@
4658    test -z "$ac_dir" && ac_dir=.
4659    $as_executable_p "$ac_dir/$ac_word" || continue
4660  ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
4661 -echo "$as_me:2579: found $ac_dir/$ac_word" >&5
4662 +echo "$as_me:2483: found $ac_dir/$ac_word" >&5
4663  break
4664  done
4665  
4666 @@ -2584,10 +2488,10 @@
4667  fi
4668  CXX=$ac_cv_prog_CXX
4669  if test -n "$CXX"; then
4670 -  echo "$as_me:2587: result: $CXX" >&5
4671 +  echo "$as_me:2491: result: $CXX" >&5
4672  echo "${ECHO_T}$CXX" >&6
4673  else
4674 -  echo "$as_me:2590: result: no" >&5
4675 +  echo "$as_me:2494: result: no" >&5
4676  echo "${ECHO_T}no" >&6
4677  fi
4678  
4679 @@ -2600,7 +2504,7 @@
4680  do
4681    # Extract the first word of "$ac_prog", so it can be a program name with args.
4682  set dummy $ac_prog; ac_word=$2
4683 -echo "$as_me:2603: checking for $ac_word" >&5
4684 +echo "$as_me:2507: checking for $ac_word" >&5
4685  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4686  if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
4687    echo $ECHO_N "(cached) $ECHO_C" >&6
4688 @@ -2615,7 +2519,7 @@
4689    test -z "$ac_dir" && ac_dir=.
4690    $as_executable_p "$ac_dir/$ac_word" || continue
4691  ac_cv_prog_ac_ct_CXX="$ac_prog"
4692 -echo "$as_me:2618: found $ac_dir/$ac_word" >&5
4693 +echo "$as_me:2522: found $ac_dir/$ac_word" >&5
4694  break
4695  done
4696  
4697 @@ -2623,10 +2527,10 @@
4698  fi
4699  ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
4700  if test -n "$ac_ct_CXX"; then
4701 -  echo "$as_me:2626: result: $ac_ct_CXX" >&5
4702 +  echo "$as_me:2530: result: $ac_ct_CXX" >&5
4703  echo "${ECHO_T}$ac_ct_CXX" >&6
4704  else
4705 -  echo "$as_me:2629: result: no" >&5
4706 +  echo "$as_me:2533: result: no" >&5
4707  echo "${ECHO_T}no" >&6
4708  fi
4709  
4710 @@ -2638,32 +2542,32 @@
4711  fi
4712  
4713  # Provide some information about the compiler.
4714 -echo "$as_me:2641:" \
4715 +echo "$as_me:2545:" \
4716       "checking for C++ compiler version" >&5
4717  ac_compiler=`set X $ac_compile; echo $2`
4718 -{ (eval echo "$as_me:2644: \"$ac_compiler --version </dev/null >&5\"") >&5
4719 +{ (eval echo "$as_me:2548: \"$ac_compiler --version </dev/null >&5\"") >&5
4720    (eval $ac_compiler --version </dev/null >&5) 2>&5
4721    ac_status=$?
4722 -  echo "$as_me:2647: \$? = $ac_status" >&5
4723 +  echo "$as_me:2551: \$? = $ac_status" >&5
4724    (exit $ac_status); }
4725 -{ (eval echo "$as_me:2649: \"$ac_compiler -v </dev/null >&5\"") >&5
4726 +{ (eval echo "$as_me:2553: \"$ac_compiler -v </dev/null >&5\"") >&5
4727    (eval $ac_compiler -v </dev/null >&5) 2>&5
4728    ac_status=$?
4729 -  echo "$as_me:2652: \$? = $ac_status" >&5
4730 +  echo "$as_me:2556: \$? = $ac_status" >&5
4731    (exit $ac_status); }
4732 -{ (eval echo "$as_me:2654: \"$ac_compiler -V </dev/null >&5\"") >&5
4733 +{ (eval echo "$as_me:2558: \"$ac_compiler -V </dev/null >&5\"") >&5
4734    (eval $ac_compiler -V </dev/null >&5) 2>&5
4735    ac_status=$?
4736 -  echo "$as_me:2657: \$? = $ac_status" >&5
4737 +  echo "$as_me:2561: \$? = $ac_status" >&5
4738    (exit $ac_status); }
4739  
4740 -echo "$as_me:2660: checking whether we are using the GNU C++ compiler" >&5
4741 +echo "$as_me:2564: checking whether we are using the GNU C++ compiler" >&5
4742  echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
4743  if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
4744    echo $ECHO_N "(cached) $ECHO_C" >&6
4745  else
4746    cat >conftest.$ac_ext <<_ACEOF
4747 -#line 2666 "configure"
4748 +#line 2570 "configure"
4749  #include "confdefs.h"
4750  
4751  int
4752 @@ -2678,16 +2582,16 @@
4753  }
4754  _ACEOF
4755  rm -f conftest.$ac_objext
4756 -if { (eval echo "$as_me:2681: \"$ac_compile\"") >&5
4757 +if { (eval echo "$as_me:2585: \"$ac_compile\"") >&5
4758    (eval $ac_compile) 2>&5
4759    ac_status=$?
4760 -  echo "$as_me:2684: \$? = $ac_status" >&5
4761 +  echo "$as_me:2588: \$? = $ac_status" >&5
4762    (exit $ac_status); } &&
4763           { ac_try='test -s conftest.$ac_objext'
4764 -  { (eval echo "$as_me:2687: \"$ac_try\"") >&5
4765 +  { (eval echo "$as_me:2591: \"$ac_try\"") >&5
4766    (eval $ac_try) 2>&5
4767    ac_status=$?
4768 -  echo "$as_me:2690: \$? = $ac_status" >&5
4769 +  echo "$as_me:2594: \$? = $ac_status" >&5
4770    (exit $ac_status); }; }; then
4771    ac_compiler_gnu=yes
4772  else
4773 @@ -2699,19 +2603,19 @@
4774  ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
4775  
4776  fi
4777 -echo "$as_me:2702: result: $ac_cv_cxx_compiler_gnu" >&5
4778 +echo "$as_me:2606: result: $ac_cv_cxx_compiler_gnu" >&5
4779  echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
4780  GXX=`test $ac_compiler_gnu = yes && echo yes`
4781  ac_test_CXXFLAGS=${CXXFLAGS+set}
4782  ac_save_CXXFLAGS=$CXXFLAGS
4783  CXXFLAGS="-g"
4784 -echo "$as_me:2708: checking whether $CXX accepts -g" >&5
4785 +echo "$as_me:2612: checking whether $CXX accepts -g" >&5
4786  echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
4787  if test "${ac_cv_prog_cxx_g+set}" = set; then
4788    echo $ECHO_N "(cached) $ECHO_C" >&6
4789  else
4790    cat >conftest.$ac_ext <<_ACEOF
4791 -#line 2714 "configure"
4792 +#line 2618 "configure"
4793  #include "confdefs.h"
4794  
4795  int
4796 @@ -2723,16 +2627,16 @@
4797  }
4798  _ACEOF
4799  rm -f conftest.$ac_objext
4800 -if { (eval echo "$as_me:2726: \"$ac_compile\"") >&5
4801 +if { (eval echo "$as_me:2630: \"$ac_compile\"") >&5
4802    (eval $ac_compile) 2>&5
4803    ac_status=$?
4804 -  echo "$as_me:2729: \$? = $ac_status" >&5
4805 +  echo "$as_me:2633: \$? = $ac_status" >&5
4806    (exit $ac_status); } &&
4807           { ac_try='test -s conftest.$ac_objext'
4808 -  { (eval echo "$as_me:2732: \"$ac_try\"") >&5
4809 +  { (eval echo "$as_me:2636: \"$ac_try\"") >&5
4810    (eval $ac_try) 2>&5
4811    ac_status=$?
4812 -  echo "$as_me:2735: \$? = $ac_status" >&5
4813 +  echo "$as_me:2639: \$? = $ac_status" >&5
4814    (exit $ac_status); }; }; then
4815    ac_cv_prog_cxx_g=yes
4816  else
4817 @@ -2742,7 +2646,7 @@
4818  fi
4819  rm -f conftest.$ac_objext conftest.$ac_ext
4820  fi
4821 -echo "$as_me:2745: result: $ac_cv_prog_cxx_g" >&5
4822 +echo "$as_me:2649: result: $ac_cv_prog_cxx_g" >&5
4823  echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
4824  if test "$ac_test_CXXFLAGS" = set; then
4825    CXXFLAGS=$ac_save_CXXFLAGS
4826 @@ -2769,7 +2673,7 @@
4827     'void exit (int);'
4828  do
4829    cat >conftest.$ac_ext <<_ACEOF
4830 -#line 2772 "configure"
4831 +#line 2676 "configure"
4832  #include "confdefs.h"
4833  #include <stdlib.h>
4834  $ac_declaration
4835 @@ -2782,16 +2686,16 @@
4836  }
4837  _ACEOF
4838  rm -f conftest.$ac_objext
4839 -if { (eval echo "$as_me:2785: \"$ac_compile\"") >&5
4840 +if { (eval echo "$as_me:2689: \"$ac_compile\"") >&5
4841    (eval $ac_compile) 2>&5
4842    ac_status=$?
4843 -  echo "$as_me:2788: \$? = $ac_status" >&5
4844 +  echo "$as_me:2692: \$? = $ac_status" >&5
4845    (exit $ac_status); } &&
4846           { ac_try='test -s conftest.$ac_objext'
4847 -  { (eval echo "$as_me:2791: \"$ac_try\"") >&5
4848 +  { (eval echo "$as_me:2695: \"$ac_try\"") >&5
4849    (eval $ac_try) 2>&5
4850    ac_status=$?
4851 -  echo "$as_me:2794: \$? = $ac_status" >&5
4852 +  echo "$as_me:2698: \$? = $ac_status" >&5
4853    (exit $ac_status); }; }; then
4854    :
4855  else
4856 @@ -2801,7 +2705,7 @@
4857  fi
4858  rm -f conftest.$ac_objext conftest.$ac_ext
4859    cat >conftest.$ac_ext <<_ACEOF
4860 -#line 2804 "configure"
4861 +#line 2708 "configure"
4862  #include "confdefs.h"
4863  $ac_declaration
4864  int
4865 @@ -2813,16 +2717,16 @@
4866  }
4867  _ACEOF
4868  rm -f conftest.$ac_objext
4869 -if { (eval echo "$as_me:2816: \"$ac_compile\"") >&5
4870 +if { (eval echo "$as_me:2720: \"$ac_compile\"") >&5
4871    (eval $ac_compile) 2>&5
4872    ac_status=$?
4873 -  echo "$as_me:2819: \$? = $ac_status" >&5
4874 +  echo "$as_me:2723: \$? = $ac_status" >&5
4875    (exit $ac_status); } &&
4876           { ac_try='test -s conftest.$ac_objext'
4877 -  { (eval echo "$as_me:2822: \"$ac_try\"") >&5
4878 +  { (eval echo "$as_me:2726: \"$ac_try\"") >&5
4879    (eval $ac_try) 2>&5
4880    ac_status=$?
4881 -  echo "$as_me:2825: \$? = $ac_status" >&5
4882 +  echo "$as_me:2729: \$? = $ac_status" >&5
4883    (exit $ac_status); }; }; then
4884    break
4885  else
4886 @@ -2844,26 +2748,72 @@
4887  ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4888  ac_compiler_gnu=$ac_cv_c_compiler_gnu
4889  
4890 +               # autoconf 2.5x removed the error - by hardcoding it to g++.
4891 +       if test "$CXX" = "g++" ; then
4892 +               # Extract the first word of "g++", so it can be a program name with args.
4893 +set dummy g++; ac_word=$2
4894 +echo "$as_me:2755: checking for $ac_word" >&5
4895 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4896 +if test "${ac_cv_path_CXX+set}" = set; then
4897 +  echo $ECHO_N "(cached) $ECHO_C" >&6
4898 +else
4899 +  case $CXX in
4900 +  [\\/]* | ?:[\\/]*)
4901 +  ac_cv_path_CXX="$CXX" # Let the user override the test with a path.
4902 +  ;;
4903 +  *)
4904 +  ac_save_IFS=$IFS; IFS=$ac_path_separator
4905 +ac_dummy="$PATH"
4906 +for ac_dir in $ac_dummy; do
4907 +  IFS=$ac_save_IFS
4908 +  test -z "$ac_dir" && ac_dir=.
4909 +  if $as_executable_p "$ac_dir/$ac_word"; then
4910 +   ac_cv_path_CXX="$ac_dir/$ac_word"
4911 +   echo "$as_me:2772: found $ac_dir/$ac_word" >&5
4912 +   break
4913 +fi
4914 +done
4915 +
4916 +  ;;
4917 +esac
4918 +fi
4919 +CXX=$ac_cv_path_CXX
4920 +
4921 +if test -n "$CXX"; then
4922 +  echo "$as_me:2783: result: $CXX" >&5
4923 +echo "${ECHO_T}$CXX" >&6
4924 +else
4925 +  echo "$as_me:2786: result: no" >&5
4926 +echo "${ECHO_T}no" >&6
4927 +fi
4928 +
4929 +       fi
4930 +       if test "$CXX" = "g++" ; then
4931 +               { echo "$as_me:2792: WARNING: ignoring hardcoded g++" >&5
4932 +echo "$as_me: WARNING: ignoring hardcoded g++" >&2;}
4933 +               cf_with_cxx=no; CXX=""; GXX="";
4934         fi
4935 +fi
4936  
4937  GXX_VERSION=none
4938  if test "$GXX" = yes; then
4939 -       echo "$as_me:2851: checking version of g++" >&5
4940 +       echo "$as_me:2800: checking version of g++" >&5
4941  echo $ECHO_N "checking version of g++... $ECHO_C" >&6
4942 -       GXX_VERSION="`${CXX-g++} --version|head -1`"
4943 -       echo "$as_me:2854: result: $GXX_VERSION" >&5
4944 +       GXX_VERSION="`${CXX-g++} --version|sed -e '2,$d'`"
4945 +       echo "$as_me:2803: result: $GXX_VERSION" >&5
4946  echo "${ECHO_T}$GXX_VERSION" >&6
4947 -       case $GXX_VERSION in
4948 -       1*|2.[0-6]*)
4949 -               GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
4950 -               cf_cxx_library=no
4951 -               { echo "$as_me:2860: WARNING: templates do not work" >&5
4952 -echo "$as_me: WARNING: templates do not work" >&2;}
4953 -               ;;
4954 -       esac
4955  fi
4956  
4957 -echo "$as_me:2866: checking if you want to build C++ binding and demo" >&5
4958 +case $GXX_VERSION in
4959 +1*|2.[0-6]*)
4960 +       GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
4961 +       cf_cxx_library=no
4962 +       { echo "$as_me:2811: WARNING: templates do not work" >&5
4963 +echo "$as_me: WARNING: templates do not work" >&2;}
4964 +       ;;
4965 +esac
4966 +
4967 +echo "$as_me:2816: checking if you want to build C++ binding and demo" >&5
4968  echo $ECHO_N "checking if you want to build C++ binding and demo... $ECHO_C" >&6
4969  
4970  # Check whether --with-cxx-binding or --without-cxx-binding was given.
4971 @@ -2873,10 +2823,10 @@
4972  else
4973    cf_with_cxx_binding=$cf_with_cxx
4974  fi;
4975 -echo "$as_me:2876: result: $cf_with_cxx_binding" >&5
4976 +echo "$as_me:2826: result: $cf_with_cxx_binding" >&5
4977  echo "${ECHO_T}$cf_with_cxx_binding" >&6
4978  
4979 -echo "$as_me:2879: checking if you want to build with Ada95" >&5
4980 +echo "$as_me:2829: checking if you want to build with Ada95" >&5
4981  echo $ECHO_N "checking if you want to build with Ada95... $ECHO_C" >&6
4982  
4983  # Check whether --with-ada or --without-ada was given.
4984 @@ -2886,10 +2836,10 @@
4985  else
4986    cf_with_ada=yes
4987  fi;
4988 -echo "$as_me:2889: result: $cf_with_ada" >&5
4989 +echo "$as_me:2839: result: $cf_with_ada" >&5
4990  echo "${ECHO_T}$cf_with_ada" >&6
4991  
4992 -echo "$as_me:2892: checking if you want to build programs such as tic" >&5
4993 +echo "$as_me:2842: checking if you want to build programs such as tic" >&5
4994  echo $ECHO_N "checking if you want to build programs such as tic... $ECHO_C" >&6
4995  
4996  # Check whether --with-progs or --without-progs was given.
4997 @@ -2899,10 +2849,10 @@
4998  else
4999    cf_with_progs=yes
5000  fi;
5001 -echo "$as_me:2902: result: $cf_with_progs" >&5
5002 +echo "$as_me:2852: result: $cf_with_progs" >&5
5003  echo "${ECHO_T}$cf_with_progs" >&6
5004  
5005 -echo "$as_me:2905: checking if you wish to install curses.h" >&5
5006 +echo "$as_me:2855: checking if you wish to install curses.h" >&5
5007  echo $ECHO_N "checking if you wish to install curses.h... $ECHO_C" >&6
5008  
5009  # Check whether --with-curses-h or --without-curses-h was given.
5010 @@ -2912,7 +2862,7 @@
5011  else
5012    with_curses_h=yes
5013  fi;
5014 -echo "$as_me:2915: result: $with_curses_h" >&5
5015 +echo "$as_me:2865: result: $with_curses_h" >&5
5016  echo "${ECHO_T}$with_curses_h" >&6
5017  
5018  modules_to_build="ncurses"
5019 @@ -2938,7 +2888,7 @@
5020  do
5021    # Extract the first word of "$ac_prog", so it can be a program name with args.
5022  set dummy $ac_prog; ac_word=$2
5023 -echo "$as_me:2941: checking for $ac_word" >&5
5024 +echo "$as_me:2891: checking for $ac_word" >&5
5025  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5026  if test "${ac_cv_prog_AWK+set}" = set; then
5027    echo $ECHO_N "(cached) $ECHO_C" >&6
5028 @@ -2953,7 +2903,7 @@
5029    test -z "$ac_dir" && ac_dir=.
5030    $as_executable_p "$ac_dir/$ac_word" || continue
5031  ac_cv_prog_AWK="$ac_prog"
5032 -echo "$as_me:2956: found $ac_dir/$ac_word" >&5
5033 +echo "$as_me:2906: found $ac_dir/$ac_word" >&5
5034  break
5035  done
5036  
5037 @@ -2961,17 +2911,17 @@
5038  fi
5039  AWK=$ac_cv_prog_AWK
5040  if test -n "$AWK"; then
5041 -  echo "$as_me:2964: result: $AWK" >&5
5042 +  echo "$as_me:2914: result: $AWK" >&5
5043  echo "${ECHO_T}$AWK" >&6
5044  else
5045 -  echo "$as_me:2967: result: no" >&5
5046 +  echo "$as_me:2917: result: no" >&5
5047  echo "${ECHO_T}no" >&6
5048  fi
5049  
5050    test -n "$AWK" && break
5051  done
5052  
5053 -echo "$as_me:2974: checking whether ${MAKE-make} sets \${MAKE}" >&5
5054 +echo "$as_me:2924: checking whether ${MAKE-make} sets \${MAKE}" >&5
5055  echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
5056  set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
5057  if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
5058 @@ -2991,11 +2941,11 @@
5059  rm -f conftest.make
5060  fi
5061  if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
5062 -  echo "$as_me:2994: result: yes" >&5
5063 +  echo "$as_me:2944: result: yes" >&5
5064  echo "${ECHO_T}yes" >&6
5065    SET_MAKE=
5066  else
5067 -  echo "$as_me:2998: result: no" >&5
5068 +  echo "$as_me:2948: result: no" >&5
5069  echo "${ECHO_T}no" >&6
5070    SET_MAKE="MAKE=${MAKE-make}"
5071  fi
5072 @@ -3012,7 +2962,7 @@
5073  # AFS /usr/afsws/bin/install, which mishandles nonexistent args
5074  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
5075  # ./install, which can be erroneously created by make from ./install.sh.
5076 -echo "$as_me:3015: checking for a BSD compatible install" >&5
5077 +echo "$as_me:2965: checking for a BSD compatible install" >&5
5078  echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
5079  if test -z "$INSTALL"; then
5080  if test "${ac_cv_path_install+set}" = set; then
5081 @@ -3061,7 +3011,7 @@
5082      INSTALL=$ac_install_sh
5083    fi
5084  fi
5085 -echo "$as_me:3064: result: $INSTALL" >&5
5086 +echo "$as_me:3014: result: $INSTALL" >&5
5087  echo "${ECHO_T}$INSTALL" >&6
5088  
5089  # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
5090 @@ -3076,13 +3026,13 @@
5091  /*)
5092    ;;
5093  *)
5094 -  cf_dir=`echo $INSTALL | sed -e 's:/[^/]*$::'`
5095 +  cf_dir=`echo $INSTALL | sed -e 's%/[^/]*$%%'`
5096    test -z "$cf_dir" && cf_dir=.
5097 -  INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's:^.*/::'`
5098 +  INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
5099    ;;
5100  esac
5101  
5102 -echo "$as_me:3085: checking for long file names" >&5
5103 +echo "$as_me:3035: checking for long file names" >&5
5104  echo $ECHO_N "checking for long file names... $ECHO_C" >&6
5105  if test "${ac_cv_sys_long_file_names+set}" = set; then
5106    echo $ECHO_N "(cached) $ECHO_C" >&6
5107 @@ -3121,7 +3071,7 @@
5108    rm -rf $ac_xdir 2>/dev/null
5109  done
5110  fi
5111 -echo "$as_me:3124: result: $ac_cv_sys_long_file_names" >&5
5112 +echo "$as_me:3074: result: $ac_cv_sys_long_file_names" >&5
5113  echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6
5114  if test $ac_cv_sys_long_file_names = yes; then
5115  
5116 @@ -3131,7 +3081,7 @@
5117  
5118  fi
5119  
5120 -echo "$as_me:3134: checking if filesystem supports mixed-case filenames" >&5
5121 +echo "$as_me:3084: checking if filesystem supports mixed-case filenames" >&5
5122  echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6
5123  if test "${cf_cv_mixedcase+set}" = set; then
5124    echo $ECHO_N "(cached) $ECHO_C" >&6
5125 @@ -3147,27 +3097,27 @@
5126         rm -f conftest CONFTEST
5127  
5128  fi
5129 -echo "$as_me:3150: result: $cf_cv_mixedcase" >&5
5130 +echo "$as_me:3100: result: $cf_cv_mixedcase" >&5
5131  echo "${ECHO_T}$cf_cv_mixedcase" >&6
5132  test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF
5133  #define MIXEDCASE_FILENAMES 1
5134  EOF
5135  
5136 -echo "$as_me:3156: checking whether ln -s works" >&5
5137 +echo "$as_me:3106: checking whether ln -s works" >&5
5138  echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
5139  LN_S=$as_ln_s
5140  if test "$LN_S" = "ln -s"; then
5141 -  echo "$as_me:3160: result: yes" >&5
5142 +  echo "$as_me:3110: result: yes" >&5
5143  echo "${ECHO_T}yes" >&6
5144  else
5145 -  echo "$as_me:3163: result: no, using $LN_S" >&5
5146 +  echo "$as_me:3113: result: no, using $LN_S" >&5
5147  echo "${ECHO_T}no, using $LN_S" >&6
5148  fi
5149  
5150  if test -n "$ac_tool_prefix"; then
5151    # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
5152  set dummy ${ac_tool_prefix}ranlib; ac_word=$2
5153 -echo "$as_me:3170: checking for $ac_word" >&5
5154 +echo "$as_me:3120: checking for $ac_word" >&5
5155  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5156  if test "${ac_cv_prog_RANLIB+set}" = set; then
5157    echo $ECHO_N "(cached) $ECHO_C" >&6
5158 @@ -3182,7 +3132,7 @@
5159    test -z "$ac_dir" && ac_dir=.
5160    $as_executable_p "$ac_dir/$ac_word" || continue
5161  ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
5162 -echo "$as_me:3185: found $ac_dir/$ac_word" >&5
5163 +echo "$as_me:3135: found $ac_dir/$ac_word" >&5
5164  break
5165  done
5166  
5167 @@ -3190,10 +3140,10 @@
5168  fi
5169  RANLIB=$ac_cv_prog_RANLIB
5170  if test -n "$RANLIB"; then
5171 -  echo "$as_me:3193: result: $RANLIB" >&5
5172 +  echo "$as_me:3143: result: $RANLIB" >&5
5173  echo "${ECHO_T}$RANLIB" >&6
5174  else
5175 -  echo "$as_me:3196: result: no" >&5
5176 +  echo "$as_me:3146: result: no" >&5
5177  echo "${ECHO_T}no" >&6
5178  fi
5179  
5180 @@ -3202,7 +3152,7 @@
5181    ac_ct_RANLIB=$RANLIB
5182    # Extract the first word of "ranlib", so it can be a program name with args.
5183  set dummy ranlib; ac_word=$2
5184 -echo "$as_me:3205: checking for $ac_word" >&5
5185 +echo "$as_me:3155: checking for $ac_word" >&5
5186  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5187  if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
5188    echo $ECHO_N "(cached) $ECHO_C" >&6
5189 @@ -3217,7 +3167,7 @@
5190    test -z "$ac_dir" && ac_dir=.
5191    $as_executable_p "$ac_dir/$ac_word" || continue
5192  ac_cv_prog_ac_ct_RANLIB="ranlib"
5193 -echo "$as_me:3220: found $ac_dir/$ac_word" >&5
5194 +echo "$as_me:3170: found $ac_dir/$ac_word" >&5
5195  break
5196  done
5197  
5198 @@ -3226,10 +3176,10 @@
5199  fi
5200  ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
5201  if test -n "$ac_ct_RANLIB"; then
5202 -  echo "$as_me:3229: result: $ac_ct_RANLIB" >&5
5203 +  echo "$as_me:3179: result: $ac_ct_RANLIB" >&5
5204  echo "${ECHO_T}$ac_ct_RANLIB" >&6
5205  else
5206 -  echo "$as_me:3232: result: no" >&5
5207 +  echo "$as_me:3182: result: no" >&5
5208  echo "${ECHO_T}no" >&6
5209  fi
5210  
5211 @@ -3240,7 +3190,7 @@
5212  
5213  # Extract the first word of "ctags", so it can be a program name with args.
5214  set dummy ctags; ac_word=$2
5215 -echo "$as_me:3243: checking for $ac_word" >&5
5216 +echo "$as_me:3193: checking for $ac_word" >&5
5217  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5218  if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then
5219    echo $ECHO_N "(cached) $ECHO_C" >&6
5220 @@ -3255,7 +3205,7 @@
5221    test -z "$ac_dir" && ac_dir=.
5222    $as_executable_p "$ac_dir/$ac_word" || continue
5223  ac_cv_prog_MAKE_LOWER_TAGS="yes"
5224 -echo "$as_me:3258: found $ac_dir/$ac_word" >&5
5225 +echo "$as_me:3208: found $ac_dir/$ac_word" >&5
5226  break
5227  done
5228  
5229 @@ -3264,17 +3214,17 @@
5230  fi
5231  MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS
5232  if test -n "$MAKE_LOWER_TAGS"; then
5233 -  echo "$as_me:3267: result: $MAKE_LOWER_TAGS" >&5
5234 +  echo "$as_me:3217: result: $MAKE_LOWER_TAGS" >&5
5235  echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6
5236  else
5237 -  echo "$as_me:3270: result: no" >&5
5238 +  echo "$as_me:3220: result: no" >&5
5239  echo "${ECHO_T}no" >&6
5240  fi
5241  
5242  if test "$cf_cv_mixedcase" = yes ; then
5243         # Extract the first word of "etags", so it can be a program name with args.
5244  set dummy etags; ac_word=$2
5245 -echo "$as_me:3277: checking for $ac_word" >&5
5246 +echo "$as_me:3227: checking for $ac_word" >&5
5247  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5248  if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then
5249    echo $ECHO_N "(cached) $ECHO_C" >&6
5250 @@ -3289,7 +3239,7 @@
5251    test -z "$ac_dir" && ac_dir=.
5252    $as_executable_p "$ac_dir/$ac_word" || continue
5253  ac_cv_prog_MAKE_UPPER_TAGS="yes"
5254 -echo "$as_me:3292: found $ac_dir/$ac_word" >&5
5255 +echo "$as_me:3242: found $ac_dir/$ac_word" >&5
5256  break
5257  done
5258  
5259 @@ -3298,10 +3248,10 @@
5260  fi
5261  MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS
5262  if test -n "$MAKE_UPPER_TAGS"; then
5263 -  echo "$as_me:3301: result: $MAKE_UPPER_TAGS" >&5
5264 +  echo "$as_me:3251: result: $MAKE_UPPER_TAGS" >&5
5265  echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6
5266  else
5267 -  echo "$as_me:3304: result: no" >&5
5268 +  echo "$as_me:3254: result: no" >&5
5269  echo "${ECHO_T}no" >&6
5270  fi
5271  
5272 @@ -3325,7 +3275,7 @@
5273  do
5274    # Extract the first word of "$ac_prog", so it can be a program name with args.
5275  set dummy $ac_prog; ac_word=$2
5276 -echo "$as_me:3328: checking for $ac_word" >&5
5277 +echo "$as_me:3278: checking for $ac_word" >&5
5278  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5279  if test "${ac_cv_prog_LINT+set}" = set; then
5280    echo $ECHO_N "(cached) $ECHO_C" >&6
5281 @@ -3340,7 +3290,7 @@
5282    test -z "$ac_dir" && ac_dir=.
5283    $as_executable_p "$ac_dir/$ac_word" || continue
5284  ac_cv_prog_LINT="$ac_prog"
5285 -echo "$as_me:3343: found $ac_dir/$ac_word" >&5
5286 +echo "$as_me:3293: found $ac_dir/$ac_word" >&5
5287  break
5288  done
5289  
5290 @@ -3348,10 +3298,10 @@
5291  fi
5292  LINT=$ac_cv_prog_LINT
5293  if test -n "$LINT"; then
5294 -  echo "$as_me:3351: result: $LINT" >&5
5295 +  echo "$as_me:3301: result: $LINT" >&5
5296  echo "${ECHO_T}$LINT" >&6
5297  else
5298 -  echo "$as_me:3354: result: no" >&5
5299 +  echo "$as_me:3304: result: no" >&5
5300  echo "${ECHO_T}no" >&6
5301  fi
5302  
5303 @@ -3362,7 +3312,7 @@
5304  do
5305    # Extract the first word of "$ac_prog", so it can be a program name with args.
5306  set dummy $ac_prog; ac_word=$2
5307 -echo "$as_me:3365: checking for $ac_word" >&5
5308 +echo "$as_me:3315: checking for $ac_word" >&5
5309  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5310  if test "${ac_cv_prog_MAN+set}" = set; then
5311    echo $ECHO_N "(cached) $ECHO_C" >&6
5312 @@ -3377,7 +3327,7 @@
5313    test -z "$ac_dir" && ac_dir=.
5314    $as_executable_p "$ac_dir/$ac_word" || continue
5315  ac_cv_prog_MAN="$ac_prog"
5316 -echo "$as_me:3380: found $ac_dir/$ac_word" >&5
5317 +echo "$as_me:3330: found $ac_dir/$ac_word" >&5
5318  break
5319  done
5320  
5321 @@ -3385,54 +3335,172 @@
5322  fi
5323  MAN=$ac_cv_prog_MAN
5324  if test -n "$MAN"; then
5325 -  echo "$as_me:3388: result: $MAN" >&5
5326 +  echo "$as_me:3338: result: $MAN" >&5
5327  echo "${ECHO_T}$MAN" >&6
5328  else
5329 -  echo "$as_me:3391: result: no" >&5
5330 +  echo "$as_me:3341: result: no" >&5
5331  echo "${ECHO_T}no" >&6
5332  fi
5333  
5334    test -n "$MAN" && break
5335  done
5336  
5337 -if test "${cf_cv_subst_LD+set}" = set; then
5338 +if test -n "$ac_tool_prefix"; then
5339 +  # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
5340 +set dummy ${ac_tool_prefix}ld; ac_word=$2
5341 +echo "$as_me:3351: checking for $ac_word" >&5
5342 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5343 +if test "${ac_cv_prog_LD+set}" = set; then
5344    echo $ECHO_N "(cached) $ECHO_C" >&6
5345  else
5346 +  if test -n "$LD"; then
5347 +  ac_cv_prog_LD="$LD" # Let the user override the test.
5348 +else
5349 +  ac_save_IFS=$IFS; IFS=$ac_path_separator
5350 +ac_dummy="$PATH"
5351 +for ac_dir in $ac_dummy; do
5352 +  IFS=$ac_save_IFS
5353 +  test -z "$ac_dir" && ac_dir=.
5354 +  $as_executable_p "$ac_dir/$ac_word" || continue
5355 +ac_cv_prog_LD="${ac_tool_prefix}ld"
5356 +echo "$as_me:3366: found $ac_dir/$ac_word" >&5
5357 +break
5358 +done
5359  
5360 -echo "$as_me:3402: checking for loader (symbol LD)" >&5
5361 -echo $ECHO_N "checking for loader (symbol LD)... $ECHO_C" >&6
5362 -test -z "$LD" && LD=ld
5363 -echo "$as_me:3405: result: $LD" >&5
5364 +fi
5365 +fi
5366 +LD=$ac_cv_prog_LD
5367 +if test -n "$LD"; then
5368 +  echo "$as_me:3374: result: $LD" >&5
5369  echo "${ECHO_T}$LD" >&6
5370 +else
5371 +  echo "$as_me:3377: result: no" >&5
5372 +echo "${ECHO_T}no" >&6
5373 +fi
5374  
5375 -cf_cv_subst_LD=$LD
5376  fi
5377 +if test -z "$ac_cv_prog_LD"; then
5378 +  ac_ct_LD=$LD
5379 +  # Extract the first word of "ld", so it can be a program name with args.
5380 +set dummy ld; ac_word=$2
5381 +echo "$as_me:3386: checking for $ac_word" >&5
5382 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5383 +if test "${ac_cv_prog_ac_ct_LD+set}" = set; then
5384 +  echo $ECHO_N "(cached) $ECHO_C" >&6
5385 +else
5386 +  if test -n "$ac_ct_LD"; then
5387 +  ac_cv_prog_ac_ct_LD="$ac_ct_LD" # Let the user override the test.
5388 +else
5389 +  ac_save_IFS=$IFS; IFS=$ac_path_separator
5390 +ac_dummy="$PATH"
5391 +for ac_dir in $ac_dummy; do
5392 +  IFS=$ac_save_IFS
5393 +  test -z "$ac_dir" && ac_dir=.
5394 +  $as_executable_p "$ac_dir/$ac_word" || continue
5395 +ac_cv_prog_ac_ct_LD="ld"
5396 +echo "$as_me:3401: found $ac_dir/$ac_word" >&5
5397 +break
5398 +done
5399  
5400 -LD=${cf_cv_subst_LD}
5401 +  test -z "$ac_cv_prog_ac_ct_LD" && ac_cv_prog_ac_ct_LD="ld"
5402 +fi
5403 +fi
5404 +ac_ct_LD=$ac_cv_prog_ac_ct_LD
5405 +if test -n "$ac_ct_LD"; then
5406 +  echo "$as_me:3410: result: $ac_ct_LD" >&5
5407 +echo "${ECHO_T}$ac_ct_LD" >&6
5408 +else
5409 +  echo "$as_me:3413: result: no" >&5
5410 +echo "${ECHO_T}no" >&6
5411 +fi
5412  
5413 -if test "${cf_cv_subst_AR+set}" = set; then
5414 +  LD=$ac_ct_LD
5415 +else
5416 +  LD="$ac_cv_prog_LD"
5417 +fi
5418 +
5419 +if test -n "$ac_tool_prefix"; then
5420 +  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
5421 +set dummy ${ac_tool_prefix}ar; ac_word=$2
5422 +echo "$as_me:3425: checking for $ac_word" >&5
5423 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5424 +if test "${ac_cv_prog_AR+set}" = set; then
5425    echo $ECHO_N "(cached) $ECHO_C" >&6
5426  else
5427 +  if test -n "$AR"; then
5428 +  ac_cv_prog_AR="$AR" # Let the user override the test.
5429 +else
5430 +  ac_save_IFS=$IFS; IFS=$ac_path_separator
5431 +ac_dummy="$PATH"
5432 +for ac_dir in $ac_dummy; do
5433 +  IFS=$ac_save_IFS
5434 +  test -z "$ac_dir" && ac_dir=.
5435 +  $as_executable_p "$ac_dir/$ac_word" || continue
5436 +ac_cv_prog_AR="${ac_tool_prefix}ar"
5437 +echo "$as_me:3440: found $ac_dir/$ac_word" >&5
5438 +break
5439 +done
5440  
5441 -echo "$as_me:3417: checking for archiver (symbol AR)" >&5
5442 -echo $ECHO_N "checking for archiver (symbol AR)... $ECHO_C" >&6
5443 -test -z "$AR" && AR=ar
5444 -echo "$as_me:3420: result: $AR" >&5
5445 +fi
5446 +fi
5447 +AR=$ac_cv_prog_AR
5448 +if test -n "$AR"; then
5449 +  echo "$as_me:3448: result: $AR" >&5
5450  echo "${ECHO_T}$AR" >&6
5451 +else
5452 +  echo "$as_me:3451: result: no" >&5
5453 +echo "${ECHO_T}no" >&6
5454 +fi
5455  
5456 -cf_cv_subst_AR=$AR
5457 +fi
5458 +if test -z "$ac_cv_prog_AR"; then
5459 +  ac_ct_AR=$AR
5460 +  # Extract the first word of "ar", so it can be a program name with args.
5461 +set dummy ar; ac_word=$2
5462 +echo "$as_me:3460: checking for $ac_word" >&5
5463 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5464 +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
5465 +  echo $ECHO_N "(cached) $ECHO_C" >&6
5466 +else
5467 +  if test -n "$ac_ct_AR"; then
5468 +  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
5469 +else
5470 +  ac_save_IFS=$IFS; IFS=$ac_path_separator
5471 +ac_dummy="$PATH"
5472 +for ac_dir in $ac_dummy; do
5473 +  IFS=$ac_save_IFS
5474 +  test -z "$ac_dir" && ac_dir=.
5475 +  $as_executable_p "$ac_dir/$ac_word" || continue
5476 +ac_cv_prog_ac_ct_AR="ar"
5477 +echo "$as_me:3475: found $ac_dir/$ac_word" >&5
5478 +break
5479 +done
5480 +
5481 +  test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="ar"
5482 +fi
5483 +fi
5484 +ac_ct_AR=$ac_cv_prog_ac_ct_AR
5485 +if test -n "$ac_ct_AR"; then
5486 +  echo "$as_me:3484: result: $ac_ct_AR" >&5
5487 +echo "${ECHO_T}$ac_ct_AR" >&6
5488 +else
5489 +  echo "$as_me:3487: result: no" >&5
5490 +echo "${ECHO_T}no" >&6
5491  fi
5492  
5493 -AR=${cf_cv_subst_AR}
5494 +  AR=$ac_ct_AR
5495 +else
5496 +  AR="$ac_cv_prog_AR"
5497 +fi
5498  
5499  if test "${cf_cv_subst_AR_OPTS+set}" = set; then
5500    echo $ECHO_N "(cached) $ECHO_C" >&6
5501  else
5502  
5503 -echo "$as_me:3432: checking for archiver options (symbol AR_OPTS)" >&5
5504 +echo "$as_me:3500: checking for archiver options (symbol AR_OPTS)" >&5
5505  echo $ECHO_N "checking for archiver options (symbol AR_OPTS)... $ECHO_C" >&6
5506  test -z "$AR_OPTS" && AR_OPTS=rv
5507 -echo "$as_me:3435: result: $AR_OPTS" >&5
5508 +echo "$as_me:3503: result: $AR_OPTS" >&5
5509  echo "${ECHO_T}$AR_OPTS" >&6
5510  
5511  cf_cv_subst_AR_OPTS=$AR_OPTS
5512 @@ -3440,7 +3508,7 @@
5513  
5514  AR_OPTS=${cf_cv_subst_AR_OPTS}
5515  
5516 -echo "$as_me:3443: checking for makeflags variable" >&5
5517 +echo "$as_me:3511: checking for makeflags variable" >&5
5518  echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6
5519  if test "${cf_cv_makeflags+set}" = set; then
5520    echo $ECHO_N "(cached) $ECHO_C" >&6
5521 @@ -3473,10 +3541,10 @@
5522         rm -f cf_makeflags.tmp
5523  
5524  fi
5525 -echo "$as_me:3476: result: $cf_cv_makeflags" >&5
5526 +echo "$as_me:3544: result: $cf_cv_makeflags" >&5
5527  echo "${ECHO_T}$cf_cv_makeflags" >&6
5528  
5529 -echo "$as_me:3479: checking if you have specified an install-prefix" >&5
5530 +echo "$as_me:3547: checking if you have specified an install-prefix" >&5
5531  echo $ECHO_N "checking if you have specified an install-prefix... $ECHO_C" >&6
5532  
5533  # Check whether --with-install-prefix or --without-install-prefix was given.
5534 @@ -3489,17 +3557,114 @@
5535                 ;;
5536         esac
5537  fi;
5538 -echo "$as_me:3492: result: $DESTDIR" >&5
5539 +echo "$as_me:3560: result: $DESTDIR" >&5
5540  echo "${ECHO_T}$DESTDIR" >&6
5541  
5542  ###############################################################################
5543  
5544 +# If we're cross-compiling, allow the user to override the tools and their
5545 +# options.  The configure script is oriented toward identifying the host
5546 +# compiler, etc., but we need a build compiler to generate parts of the source.
5547 +: ${BUILD_CC:='$(CC)'}
5548 +: ${BUILD_CFLAGS:='$(CFLAGS)'}
5549 +: ${BUILD_CPPFLAGS:='$(CPPFLAGS)'}
5550 +: ${BUILD_LDFLAGS:='$(LDFLAGS)'}
5551 +: ${BUILD_LIBS:='$(LIBS)'}
5552 +if test "$cross_compiling" = yes ; then
5553 +
5554 +# Check whether --with-build-cc or --without-build-cc was given.
5555 +if test "${with_build_cc+set}" = set; then
5556 +  withval="$with_build_cc"
5557 +  BUILD_CC="$withval"
5558 +else
5559 +  for ac_prog in $CC gcc cc
5560 +do
5561 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
5562 +set dummy $ac_prog; ac_word=$2
5563 +echo "$as_me:3584: checking for $ac_word" >&5
5564 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5565 +if test "${ac_cv_prog_BUILD_CC+set}" = set; then
5566 +  echo $ECHO_N "(cached) $ECHO_C" >&6
5567 +else
5568 +  if test -n "$BUILD_CC"; then
5569 +  ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
5570 +else
5571 +  ac_save_IFS=$IFS; IFS=$ac_path_separator
5572 +ac_dummy="$PATH"
5573 +for ac_dir in $ac_dummy; do
5574 +  IFS=$ac_save_IFS
5575 +  test -z "$ac_dir" && ac_dir=.
5576 +  $as_executable_p "$ac_dir/$ac_word" || continue
5577 +ac_cv_prog_BUILD_CC="$ac_prog"
5578 +echo "$as_me:3599: found $ac_dir/$ac_word" >&5
5579 +break
5580 +done
5581 +
5582 +fi
5583 +fi
5584 +BUILD_CC=$ac_cv_prog_BUILD_CC
5585 +if test -n "$BUILD_CC"; then
5586 +  echo "$as_me:3607: result: $BUILD_CC" >&5
5587 +echo "${ECHO_T}$BUILD_CC" >&6
5588 +else
5589 +  echo "$as_me:3610: result: no" >&5
5590 +echo "${ECHO_T}no" >&6
5591 +fi
5592 +
5593 +  test -n "$BUILD_CC" && break
5594 +done
5595 +
5596 +fi;
5597 +
5598 +# Check whether --with-build-cflags or --without-build-cflags was given.
5599 +if test "${with_build_cflags+set}" = set; then
5600 +  withval="$with_build_cflags"
5601 +  BUILD_CFLAGS="$withval"
5602 +fi;
5603 +
5604 +# Check whether --with-build-cppflags or --without-build-cppflags was given.
5605 +if test "${with_build_cppflags+set}" = set; then
5606 +  withval="$with_build_cppflags"
5607 +  BUILD_CPPFLAGS="$withval"
5608 +fi;
5609 +
5610 +# Check whether --with-build-ldflags or --without-build-ldflags was given.
5611 +if test "${with_build_ldflags+set}" = set; then
5612 +  withval="$with_build_ldflags"
5613 +  BUILD_LDFLAGS="$withval"
5614 +fi;
5615 +
5616 +# Check whether --with-build-libs or --without-build-libs was given.
5617 +if test "${with_build_libs+set}" = set; then
5618 +  withval="$with_build_libs"
5619 +  BUILD_LIBS="$withval"
5620 +fi;
5621 +fi
5622 +
5623 +###############################################################################
5624 +
5625  ### Options to allow the user to specify the set of libraries which are used.
5626  ### Use "--without-normal --with-shared" to allow the default model to be
5627  ### shared, for example.
5628  cf_list_models=""
5629  
5630 -echo "$as_me:3502: checking if you want to build libraries with libtool" >&5
5631 +LIBTOOL=
5632 +
5633 +# common library maintenance symbols that are convenient for libtool scripts:
5634 +LIB_CREATE='$(AR) -cr'
5635 +LIB_OBJECT='$(OBJECTS)'
5636 +LIB_SUFFIX=.a
5637 +LIB_PREP="$RANLIB"
5638 +
5639 +# symbols used to prop libtool up to enable it to determine what it should be
5640 +# doing:
5641 +LIB_CLEAN=
5642 +LIB_COMPILE=
5643 +LIB_LINK=
5644 +LIB_INSTALL=
5645 +LIB_UNINSTALL=
5646 +
5647 +echo "$as_me:3667: checking if you want to build libraries with libtool" >&5
5648  echo $ECHO_N "checking if you want to build libraries with libtool... $ECHO_C" >&6
5649  
5650  # Check whether --with-libtool or --without-libtool was given.
5651 @@ -3509,16 +3674,131 @@
5652  else
5653    with_libtool=no
5654  fi;
5655 -echo "$as_me:3512: result: $with_libtool" >&5
5656 +echo "$as_me:3677: result: $with_libtool" >&5
5657  echo "${ECHO_T}$with_libtool" >&6
5658 -if test "$with_libtool" = "yes"; then
5659 -       cf_list_models="$cf_list_models libtool"
5660 -       test -z "$LIBTOOL" && LIBTOOL=libtool
5661 +if test "$with_libtool" != "no"; then
5662 +       if test "$with_libtool" != "yes" ; then
5663 +
5664 +case ".$with_libtool" in #(vi
5665 +.\$\(*\)*|.\'*\'*) #(vi
5666 +  ;;
5667 +..|./*|.\\*) #(vi
5668 +  ;;
5669 +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
5670 +  ;;
5671 +.\${*prefix}*) #(vi
5672 +  eval with_libtool="$with_libtool"
5673 +  case ".$with_libtool" in #(vi
5674 +  .NONE/*)
5675 +    with_libtool=`echo $with_libtool | sed -e s%NONE%$ac_default_prefix%`
5676 +    ;;
5677 +  esac
5678 +  ;; #(vi
5679 +.NONE/*)
5680 +  with_libtool=`echo $with_libtool | sed -e s%NONE%$ac_default_prefix%`
5681 +  ;;
5682 +*)
5683 +  { { echo "$as_me:3701: error: expected a pathname, not \"$with_libtool\"" >&5
5684 +echo "$as_me: error: expected a pathname, not \"$with_libtool\"" >&2;}
5685 +   { (exit 1); exit 1; }; }
5686 +  ;;
5687 +esac
5688 +
5689 +               LIBTOOL=$with_libtool
5690 +       else
5691 +               # Extract the first word of "libtool", so it can be a program name with args.
5692 +set dummy libtool; ac_word=$2
5693 +echo "$as_me:3711: checking for $ac_word" >&5
5694 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
5695 +if test "${ac_cv_path_LIBTOOL+set}" = set; then
5696 +  echo $ECHO_N "(cached) $ECHO_C" >&6
5697 +else
5698 +  case $LIBTOOL in
5699 +  [\\/]* | ?:[\\/]*)
5700 +  ac_cv_path_LIBTOOL="$LIBTOOL" # Let the user override the test with a path.
5701 +  ;;
5702 +  *)
5703 +  ac_save_IFS=$IFS; IFS=$ac_path_separator
5704 +ac_dummy="$PATH"
5705 +for ac_dir in $ac_dummy; do
5706 +  IFS=$ac_save_IFS
5707 +  test -z "$ac_dir" && ac_dir=.
5708 +  if $as_executable_p "$ac_dir/$ac_word"; then
5709 +   ac_cv_path_LIBTOOL="$ac_dir/$ac_word"
5710 +   echo "$as_me:3728: found $ac_dir/$ac_word" >&5
5711 +   break
5712 +fi
5713 +done
5714 +
5715 +  ;;
5716 +esac
5717 +fi
5718 +LIBTOOL=$ac_cv_path_LIBTOOL
5719 +
5720 +if test -n "$LIBTOOL"; then
5721 +  echo "$as_me:3739: result: $LIBTOOL" >&5
5722 +echo "${ECHO_T}$LIBTOOL" >&6
5723 +else
5724 +  echo "$as_me:3742: result: no" >&5
5725 +echo "${ECHO_T}no" >&6
5726 +fi
5727 +
5728 +       fi
5729 +       if test -z "$LIBTOOL" ; then
5730 +               { { echo "$as_me:3748: error: Cannot find libtool" >&5
5731 +echo "$as_me: error: Cannot find libtool" >&2;}
5732 +   { (exit 1); exit 1; }; }
5733 +       fi
5734 +
5735 +       LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o'
5736 +       LIB_OBJECT='$(OBJECTS:.o=.lo)'
5737 +       LIB_SUFFIX=.la
5738 +       LIB_CLEAN='$(LIBTOOL) --mode=clean'
5739 +       LIB_COMPILE='$(LIBTOOL) --mode=compile'
5740 +       LIB_LINK='$(LIBTOOL) --mode=link'
5741 +       LIB_INSTALL='$(LIBTOOL) --mode=install'
5742 +       LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
5743 +       LIB_PREP=:
5744 +
5745 +       # Show the version of libtool
5746 +       echo "$as_me:3764: checking version of libtool" >&5
5747 +echo $ECHO_N "checking version of libtool... $ECHO_C" >&6
5748 +
5749 +       # Save the version in a cache variable - this is not entirely a good
5750 +       # thing, but the version string from libtool is very ugly, and for
5751 +       # bug reports it might be useful to have the original string.
5752 +       cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'`
5753 +       echo "$as_me:3771: result: $cf_cv_libtool_version" >&5
5754 +echo "${ECHO_T}$cf_cv_libtool_version" >&6
5755 +       if test -z "$cf_cv_libtool_version" ; then
5756 +               { { echo "$as_me:3774: error: This is not libtool" >&5
5757 +echo "$as_me: error: This is not libtool" >&2;}
5758 +   { (exit 1); exit 1; }; }
5759 +       fi
5760 +
5761 +       # special hack to add --tag option for C++ compiler
5762 +       case $cf_cv_libtool_version in
5763 +       1.[5-9]*|[2-9]*)
5764 +               LIBTOOL_CXX="$LIBTOOL --tag=CXX"
5765 +               ;;
5766 +       *)
5767 +               LIBTOOL_CXX="$LIBTOOL"
5768 +               ;;
5769 +       esac
5770  else
5771         LIBTOOL=""
5772 +       LIBTOOL_CXX=""
5773  fi
5774  
5775 -echo "$as_me:3521: checking if you want to build shared libraries" >&5
5776 +test -z "$LIBTOOL" && ECHO_LT=
5777 +
5778 +if test "$with_libtool" != "no" ; then
5779 +
5780 +cf_list_models="$cf_list_models libtool"
5781 +
5782 +else
5783 +
5784 +echo "$as_me:3801: checking if you want to build shared libraries" >&5
5785  echo $ECHO_N "checking if you want to build shared libraries... $ECHO_C" >&6
5786  
5787  # Check whether --with-shared or --without-shared was given.
5788 @@ -3528,11 +3808,11 @@
5789  else
5790    with_shared=no
5791  fi;
5792 -echo "$as_me:3531: result: $with_shared" >&5
5793 +echo "$as_me:3811: result: $with_shared" >&5
5794  echo "${ECHO_T}$with_shared" >&6
5795  test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
5796  
5797 -echo "$as_me:3535: checking if you want to build static libraries" >&5
5798 +echo "$as_me:3815: checking if you want to build static libraries" >&5
5799  echo $ECHO_N "checking if you want to build static libraries... $ECHO_C" >&6
5800  
5801  # Check whether --with-normal or --without-normal was given.
5802 @@ -3542,11 +3822,11 @@
5803  else
5804    with_normal=yes
5805  fi;
5806 -echo "$as_me:3545: result: $with_normal" >&5
5807 +echo "$as_me:3825: result: $with_normal" >&5
5808  echo "${ECHO_T}$with_normal" >&6
5809  test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
5810  
5811 -echo "$as_me:3549: checking if you want to build debug libraries" >&5
5812 +echo "$as_me:3829: checking if you want to build debug libraries" >&5
5813  echo $ECHO_N "checking if you want to build debug libraries... $ECHO_C" >&6
5814  
5815  # Check whether --with-debug or --without-debug was given.
5816 @@ -3556,11 +3836,11 @@
5817  else
5818    with_debug=yes
5819  fi;
5820 -echo "$as_me:3559: result: $with_debug" >&5
5821 +echo "$as_me:3839: result: $with_debug" >&5
5822  echo "${ECHO_T}$with_debug" >&6
5823  test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
5824  
5825 -echo "$as_me:3563: checking if you want to build profiling libraries" >&5
5826 +echo "$as_me:3843: checking if you want to build profiling libraries" >&5
5827  echo $ECHO_N "checking if you want to build profiling libraries... $ECHO_C" >&6
5828  
5829  # Check whether --with-profile or --without-profile was given.
5830 @@ -3570,25 +3850,27 @@
5831  else
5832    with_profile=no
5833  fi;
5834 -echo "$as_me:3573: result: $with_profile" >&5
5835 +echo "$as_me:3853: result: $with_profile" >&5
5836  echo "${ECHO_T}$with_profile" >&6
5837  test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
5838  
5839 +fi
5840 +
5841  ###############################################################################
5842  
5843 -echo "$as_me:3579: checking for specified models" >&5
5844 +echo "$as_me:3861: checking for specified models" >&5
5845  echo $ECHO_N "checking for specified models... $ECHO_C" >&6
5846  test -z "$cf_list_models" && cf_list_models=normal
5847 -test "$with_libtool" = "yes" && cf_list_models=libtool
5848 -echo "$as_me:3583: result: $cf_list_models" >&5
5849 +test "$with_libtool" != "no" && cf_list_models=libtool
5850 +echo "$as_me:3865: result: $cf_list_models" >&5
5851  echo "${ECHO_T}$cf_list_models" >&6
5852  
5853  ### Use the first model as the default, and save its suffix for use in building
5854  ### up test-applications.
5855 -echo "$as_me:3588: checking for default model" >&5
5856 +echo "$as_me:3870: checking for default model" >&5
5857  echo $ECHO_N "checking for default model... $ECHO_C" >&6
5858 -DFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
5859 -echo "$as_me:3591: result: $DFT_LWR_MODEL" >&5
5860 +DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
5861 +echo "$as_me:3873: result: $DFT_LWR_MODEL" >&5
5862  echo "${ECHO_T}$DFT_LWR_MODEL" >&6
5863  
5864  DFT_UPR_MODEL=`echo "$DFT_LWR_MODEL" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
5865 @@ -3612,7 +3894,7 @@
5866  
5867  ###############################################################################
5868  
5869 -echo "$as_me:3615: checking if you want to build a separate terminfo library" >&5
5870 +echo "$as_me:3897: checking if you want to build a separate terminfo library" >&5
5871  echo $ECHO_N "checking if you want to build a separate terminfo library... $ECHO_C" >&6
5872  
5873  # Check whether --with-termlib or --without-termlib was given.
5874 @@ -3622,11 +3904,12 @@
5875  else
5876    with_termlib=no
5877  fi;
5878 -echo "$as_me:3625: result: $with_termlib" >&5
5879 +echo "$as_me:3907: result: $with_termlib" >&5
5880  echo "${ECHO_T}$with_termlib" >&6
5881  
5882  ### Checks for special libraries, must be done up-front.
5883 -echo "$as_me:3629: checking if you want to link with dbmalloc for testing" >&5
5884 +
5885 +echo "$as_me:3912: checking if you want to link with dbmalloc for testing" >&5
5886  echo $ECHO_N "checking if you want to link with dbmalloc for testing... $ECHO_C" >&6
5887  
5888  # Check whether --with-dbmalloc or --without-dbmalloc was given.
5889 @@ -3636,11 +3919,11 @@
5890  else
5891    with_dbmalloc=no
5892  fi;
5893 -echo "$as_me:3639: result: $with_dbmalloc" >&5
5894 +echo "$as_me:3922: result: $with_dbmalloc" >&5
5895  echo "${ECHO_T}$with_dbmalloc" >&6
5896 -if test "$with_dbmalloc" = yes ; then
5897 +if test $with_dbmalloc = yes ; then
5898  
5899 -echo "$as_me:3643: checking for debug_malloc in -ldbmalloc" >&5
5900 +echo "$as_me:3926: checking for debug_malloc in -ldbmalloc" >&5
5901  echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
5902  if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
5903    echo $ECHO_N "(cached) $ECHO_C" >&6
5904 @@ -3648,7 +3931,7 @@
5905    ac_check_lib_save_LIBS=$LIBS
5906  LIBS="-ldbmalloc  $LIBS"
5907  cat >conftest.$ac_ext <<_ACEOF
5908 -#line 3651 "configure"
5909 +#line 3934 "configure"
5910  #include "confdefs.h"
5911  
5912  /* Override any gcc2 internal prototype to avoid an error.  */
5913 @@ -3667,16 +3950,16 @@
5914  }
5915  _ACEOF
5916  rm -f conftest.$ac_objext conftest$ac_exeext
5917 -if { (eval echo "$as_me:3670: \"$ac_link\"") >&5
5918 +if { (eval echo "$as_me:3953: \"$ac_link\"") >&5
5919    (eval $ac_link) 2>&5
5920    ac_status=$?
5921 -  echo "$as_me:3673: \$? = $ac_status" >&5
5922 +  echo "$as_me:3956: \$? = $ac_status" >&5
5923    (exit $ac_status); } &&
5924           { ac_try='test -s conftest$ac_exeext'
5925 -  { (eval echo "$as_me:3676: \"$ac_try\"") >&5
5926 +  { (eval echo "$as_me:3959: \"$ac_try\"") >&5
5927    (eval $ac_try) 2>&5
5928    ac_status=$?
5929 -  echo "$as_me:3679: \$? = $ac_status" >&5
5930 +  echo "$as_me:3962: \$? = $ac_status" >&5
5931    (exit $ac_status); }; }; then
5932    ac_cv_lib_dbmalloc_debug_malloc=yes
5933  else
5934 @@ -3687,7 +3970,7 @@
5935  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
5936  LIBS=$ac_check_lib_save_LIBS
5937  fi
5938 -echo "$as_me:3690: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
5939 +echo "$as_me:3973: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
5940  echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
5941  if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then
5942    cat >>confdefs.h <<EOF
5943 @@ -3700,7 +3983,7 @@
5944  
5945  fi
5946  
5947 -echo "$as_me:3703: checking if you want to link with dmalloc for testing" >&5
5948 +echo "$as_me:3986: checking if you want to link with dmalloc for testing" >&5
5949  echo $ECHO_N "checking if you want to link with dmalloc for testing... $ECHO_C" >&6
5950  
5951  # Check whether --with-dmalloc or --without-dmalloc was given.
5952 @@ -3710,11 +3993,11 @@
5953  else
5954    with_dmalloc=no
5955  fi;
5956 -echo "$as_me:3713: result: $with_dmalloc" >&5
5957 +echo "$as_me:3996: result: $with_dmalloc" >&5
5958  echo "${ECHO_T}$with_dmalloc" >&6
5959 -if test "$with_dmalloc" = yes ; then
5960 +if test $with_dmalloc = yes ; then
5961  
5962 -echo "$as_me:3717: checking for dmalloc_debug in -ldmalloc" >&5
5963 +echo "$as_me:4000: checking for dmalloc_debug in -ldmalloc" >&5
5964  echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
5965  if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
5966    echo $ECHO_N "(cached) $ECHO_C" >&6
5967 @@ -3722,7 +4005,7 @@
5968    ac_check_lib_save_LIBS=$LIBS
5969  LIBS="-ldmalloc  $LIBS"
5970  cat >conftest.$ac_ext <<_ACEOF
5971 -#line 3725 "configure"
5972 +#line 4008 "configure"
5973  #include "confdefs.h"
5974  
5975  /* Override any gcc2 internal prototype to avoid an error.  */
5976 @@ -3741,16 +4024,16 @@
5977  }
5978  _ACEOF
5979  rm -f conftest.$ac_objext conftest$ac_exeext
5980 -if { (eval echo "$as_me:3744: \"$ac_link\"") >&5
5981 +if { (eval echo "$as_me:4027: \"$ac_link\"") >&5
5982    (eval $ac_link) 2>&5
5983    ac_status=$?
5984 -  echo "$as_me:3747: \$? = $ac_status" >&5
5985 +  echo "$as_me:4030: \$? = $ac_status" >&5
5986    (exit $ac_status); } &&
5987           { ac_try='test -s conftest$ac_exeext'
5988 -  { (eval echo "$as_me:3750: \"$ac_try\"") >&5
5989 +  { (eval echo "$as_me:4033: \"$ac_try\"") >&5
5990    (eval $ac_try) 2>&5
5991    ac_status=$?
5992 -  echo "$as_me:3753: \$? = $ac_status" >&5
5993 +  echo "$as_me:4036: \$? = $ac_status" >&5
5994    (exit $ac_status); }; }; then
5995    ac_cv_lib_dmalloc_dmalloc_debug=yes
5996  else
5997 @@ -3761,7 +4044,7 @@
5998  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
5999  LIBS=$ac_check_lib_save_LIBS
6000  fi
6001 -echo "$as_me:3764: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
6002 +echo "$as_me:4047: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
6003  echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
6004  if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then
6005    cat >>confdefs.h <<EOF
6006 @@ -3775,7 +4058,7 @@
6007  fi
6008  
6009  SHLIB_LIST=""
6010 -echo "$as_me:3778: checking if you want to link with the gpm mouse library" >&5
6011 +echo "$as_me:4061: checking if you want to link with the gpm mouse library" >&5
6012  echo $ECHO_N "checking if you want to link with the gpm mouse library... $ECHO_C" >&6
6013  
6014  # Check whether --with-gpm or --without-gpm was given.
6015 @@ -3785,10 +4068,10 @@
6016  else
6017    with_gpm=no
6018  fi;
6019 -echo "$as_me:3788: result: $with_gpm" >&5
6020 +echo "$as_me:4071: result: $with_gpm" >&5
6021  echo "${ECHO_T}$with_gpm" >&6
6022  if test "$with_gpm" = yes ; then
6023 -       echo "$as_me:3791: checking for Gpm_Open in -lgpm" >&5
6024 +       echo "$as_me:4074: checking for Gpm_Open in -lgpm" >&5
6025  echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
6026  if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
6027    echo $ECHO_N "(cached) $ECHO_C" >&6
6028 @@ -3796,7 +4079,7 @@
6029    ac_check_lib_save_LIBS=$LIBS
6030  LIBS="-lgpm  $LIBS"
6031  cat >conftest.$ac_ext <<_ACEOF
6032 -#line 3799 "configure"
6033 +#line 4082 "configure"
6034  #include "confdefs.h"
6035  
6036  /* Override any gcc2 internal prototype to avoid an error.  */
6037 @@ -3815,16 +4098,16 @@
6038  }
6039  _ACEOF
6040  rm -f conftest.$ac_objext conftest$ac_exeext
6041 -if { (eval echo "$as_me:3818: \"$ac_link\"") >&5
6042 +if { (eval echo "$as_me:4101: \"$ac_link\"") >&5
6043    (eval $ac_link) 2>&5
6044    ac_status=$?
6045 -  echo "$as_me:3821: \$? = $ac_status" >&5
6046 +  echo "$as_me:4104: \$? = $ac_status" >&5
6047    (exit $ac_status); } &&
6048           { ac_try='test -s conftest$ac_exeext'
6049 -  { (eval echo "$as_me:3824: \"$ac_try\"") >&5
6050 +  { (eval echo "$as_me:4107: \"$ac_try\"") >&5
6051    (eval $ac_try) 2>&5
6052    ac_status=$?
6053 -  echo "$as_me:3827: \$? = $ac_status" >&5
6054 +  echo "$as_me:4110: \$? = $ac_status" >&5
6055    (exit $ac_status); }; }; then
6056    ac_cv_lib_gpm_Gpm_Open=yes
6057  else
6058 @@ -3835,7 +4118,7 @@
6059  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
6060  LIBS=$ac_check_lib_save_LIBS
6061  fi
6062 -echo "$as_me:3838: result: $ac_cv_lib_gpm_Gpm_Open" >&5
6063 +echo "$as_me:4121: result: $ac_cv_lib_gpm_Gpm_Open" >&5
6064  echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
6065  if test $ac_cv_lib_gpm_Gpm_Open = yes; then
6066  
6067 @@ -3848,23 +4131,23 @@
6068  for ac_header in gpm.h
6069  do
6070  as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
6071 -echo "$as_me:3851: checking for $ac_header" >&5
6072 +echo "$as_me:4134: checking for $ac_header" >&5
6073  echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
6074  if eval "test \"\${$as_ac_Header+set}\" = set"; then
6075    echo $ECHO_N "(cached) $ECHO_C" >&6
6076  else
6077    cat >conftest.$ac_ext <<_ACEOF
6078 -#line 3857 "configure"
6079 +#line 4140 "configure"
6080  #include "confdefs.h"
6081  #include <$ac_header>
6082  _ACEOF
6083 -if { (eval echo "$as_me:3861: \"$ac_cpp conftest.$ac_ext\"") >&5
6084 +if { (eval echo "$as_me:4144: \"$ac_cpp conftest.$ac_ext\"") >&5
6085    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
6086    ac_status=$?
6087    egrep -v '^ *\+' conftest.er1 >conftest.err
6088    rm -f conftest.er1
6089    cat conftest.err >&5
6090 -  echo "$as_me:3867: \$? = $ac_status" >&5
6091 +  echo "$as_me:4150: \$? = $ac_status" >&5
6092    (exit $ac_status); } >/dev/null; then
6093    if test -s conftest.err; then
6094      ac_cpp_err=$ac_c_preproc_warn_flag
6095 @@ -3883,7 +4166,7 @@
6096  fi
6097  rm -f conftest.err conftest.$ac_ext
6098  fi
6099 -echo "$as_me:3886: result: `eval echo '${'$as_ac_Header'}'`" >&5
6100 +echo "$as_me:4169: result: `eval echo '${'$as_ac_Header'}'`" >&5
6101  echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
6102  if test `eval echo '${'$as_ac_Header'}'` = yes; then
6103    cat >>confdefs.h <<EOF
6104 @@ -3894,12 +4177,76 @@
6105  done
6106  
6107  else
6108 -  { echo "$as_me:3897: WARNING: Cannot link with gpm library - read the FAQ" >&5
6109 +  { echo "$as_me:4180: WARNING: Cannot link with gpm library - read the FAQ" >&5
6110  echo "$as_me: WARNING: Cannot link with gpm library - read the FAQ" >&2;}
6111  fi
6112  
6113  fi
6114  
6115 +# not everyone has "test -c"
6116 +if test -c /dev/sysmouse 2>/dev/null ; then
6117 +echo "$as_me:4188: checking if you want to use sysmouse" >&5
6118 +echo $ECHO_N "checking if you want to use sysmouse... $ECHO_C" >&6
6119 +
6120 +# Check whether --with-sysmouse or --without-sysmouse was given.
6121 +if test "${with_sysmouse+set}" = set; then
6122 +  withval="$with_sysmouse"
6123 +  cf_with_sysmouse=$withval
6124 +else
6125 +  cf_with_sysmouse=maybe
6126 +fi;
6127 +       if test "$cf_with_sysmouse" != no ; then
6128 +       cat >conftest.$ac_ext <<_ACEOF
6129 +#line 4200 "configure"
6130 +#include "confdefs.h"
6131 +
6132 +#include <osreldate.h>
6133 +#if (__FreeBSD_version >= 400017)
6134 +#include <sys/consio.h>
6135 +#include <sys/fbio.h>
6136 +#else
6137 +#include <machine/console.h>
6138 +#endif
6139 +
6140 +int
6141 +main ()
6142 +{
6143 +
6144 +       struct mouse_info the_mouse;
6145 +       ioctl(0, CONS_MOUSECTL, &the_mouse);
6146 +
6147 +  ;
6148 +  return 0;
6149 +}
6150 +_ACEOF
6151 +rm -f conftest.$ac_objext
6152 +if { (eval echo "$as_me:4223: \"$ac_compile\"") >&5
6153 +  (eval $ac_compile) 2>&5
6154 +  ac_status=$?
6155 +  echo "$as_me:4226: \$? = $ac_status" >&5
6156 +  (exit $ac_status); } &&
6157 +         { ac_try='test -s conftest.$ac_objext'
6158 +  { (eval echo "$as_me:4229: \"$ac_try\"") >&5
6159 +  (eval $ac_try) 2>&5
6160 +  ac_status=$?
6161 +  echo "$as_me:4232: \$? = $ac_status" >&5
6162 +  (exit $ac_status); }; }; then
6163 +  cf_with_sysmouse=yes
6164 +else
6165 +  echo "$as_me: failed program was:" >&5
6166 +cat conftest.$ac_ext >&5
6167 +cf_with_sysmouse=no
6168 +fi
6169 +rm -f conftest.$ac_objext conftest.$ac_ext
6170 +       fi
6171 +echo "$as_me:4242: result: $cf_with_sysmouse" >&5
6172 +echo "${ECHO_T}$cf_with_sysmouse" >&6
6173 +test "$cf_with_sysmouse" = yes && cat >>confdefs.h <<\EOF
6174 +#define USE_SYSMOUSE 1
6175 +EOF
6176 +
6177 +fi
6178 +
6179  if test X"$CC_G_OPT" = X"" ; then
6180         CC_G_OPT='-g'
6181         test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
6182 @@ -3910,7 +4257,7 @@
6183         test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
6184  fi
6185  
6186 -echo "$as_me:3913: checking for default loader flags" >&5
6187 +echo "$as_me:4260: checking for default loader flags" >&5
6188  echo $ECHO_N "checking for default loader flags... $ECHO_C" >&6
6189  case $DFT_LWR_MODEL in
6190  libtool) LD_MODEL=''   ;;
6191 @@ -3919,10 +4266,10 @@
6192  profile) LD_MODEL='-pg';;
6193  shared)  LD_MODEL=''   ;;
6194  esac
6195 -echo "$as_me:3922: result: $LD_MODEL" >&5
6196 +echo "$as_me:4269: result: $LD_MODEL" >&5
6197  echo "${ECHO_T}$LD_MODEL" >&6
6198  
6199 -echo "$as_me:3925: checking if rpath option should be used" >&5
6200 +echo "$as_me:4272: checking if rpath option should be used" >&5
6201  echo $ECHO_N "checking if rpath option should be used... $ECHO_C" >&6
6202  
6203  # Check whether --enable-rpath or --disable-rpath was given.
6204 @@ -3932,7 +4279,7 @@
6205  else
6206    cf_cv_ld_rpath=no
6207  fi;
6208 -echo "$as_me:3935: result: $cf_cv_ld_rpath" >&5
6209 +echo "$as_me:4282: result: $cf_cv_ld_rpath" >&5
6210  echo "${ECHO_T}$cf_cv_ld_rpath" >&6
6211  
6212         LOCAL_LDFLAGS=
6213 @@ -3942,7 +4289,7 @@
6214  
6215         cf_cv_do_symlinks=no
6216  
6217 -       echo "$as_me:3945: checking if release/abi version should be used for shared libs" >&5
6218 +       echo "$as_me:4292: checking if release/abi version should be used for shared libs" >&5
6219  echo $ECHO_N "checking if release/abi version should be used for shared libs... $ECHO_C" >&6
6220  
6221  # Check whether --with-shlib-version or --without-shlib-version was given.
6222 @@ -3957,7 +4304,7 @@
6223                 cf_cv_shlib_version=$withval
6224                 ;;
6225         *)
6226 -               { { echo "$as_me:3960: error: option value must be one of: rel, abi, auto or no" >&5
6227 +               { { echo "$as_me:4307: error: option value must be one of: rel, abi, auto or no" >&5
6228  echo "$as_me: error: option value must be one of: rel, abi, auto or no" >&2;}
6229     { (exit 1); exit 1; }; }
6230                 ;;
6231 @@ -3966,7 +4313,7 @@
6232  else
6233    cf_cv_shlib_version=auto
6234  fi;
6235 -       echo "$as_me:3969: result: $cf_cv_shlib_version" >&5
6236 +       echo "$as_me:4316: result: $cf_cv_shlib_version" >&5
6237  echo "${ECHO_T}$cf_cv_shlib_version" >&6
6238  
6239         cf_cv_rm_so_locs=no
6240 @@ -3975,14 +4322,14 @@
6241         CC_SHARED_OPTS=
6242         if test "$GCC" = yes
6243         then
6244 -               echo "$as_me:3978: checking which $CC option to use" >&5
6245 +               echo "$as_me:4325: checking which $CC option to use" >&5
6246  echo $ECHO_N "checking which $CC option to use... $ECHO_C" >&6
6247                 cf_save_CFLAGS="$CFLAGS"
6248                 for CC_SHARED_OPTS in -fPIC -fpic ''
6249                 do
6250                         CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
6251                         cat >conftest.$ac_ext <<_ACEOF
6252 -#line 3985 "configure"
6253 +#line 4332 "configure"
6254  #include "confdefs.h"
6255  #include <stdio.h>
6256  int
6257 @@ -3994,16 +4341,16 @@
6258  }
6259  _ACEOF
6260  rm -f conftest.$ac_objext
6261 -if { (eval echo "$as_me:3997: \"$ac_compile\"") >&5
6262 +if { (eval echo "$as_me:4344: \"$ac_compile\"") >&5
6263    (eval $ac_compile) 2>&5
6264    ac_status=$?
6265 -  echo "$as_me:4000: \$? = $ac_status" >&5
6266 +  echo "$as_me:4347: \$? = $ac_status" >&5
6267    (exit $ac_status); } &&
6268           { ac_try='test -s conftest.$ac_objext'
6269 -  { (eval echo "$as_me:4003: \"$ac_try\"") >&5
6270 +  { (eval echo "$as_me:4350: \"$ac_try\"") >&5
6271    (eval $ac_try) 2>&5
6272    ac_status=$?
6273 -  echo "$as_me:4006: \$? = $ac_status" >&5
6274 +  echo "$as_me:4353: \$? = $ac_status" >&5
6275    (exit $ac_status); }; }; then
6276    break
6277  else
6278 @@ -4012,7 +4359,7 @@
6279  fi
6280  rm -f conftest.$ac_objext conftest.$ac_ext
6281                 done
6282 -               echo "$as_me:4015: result: $CC_SHARED_OPTS" >&5
6283 +               echo "$as_me:4362: result: $CC_SHARED_OPTS" >&5
6284  echo "${ECHO_T}$CC_SHARED_OPTS" >&6
6285                 CFLAGS="$cf_save_CFLAGS"
6286         fi
6287 @@ -4061,7 +4408,7 @@
6288                 MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $@` -o $@'
6289                 cf_cv_rm_so_locs=yes
6290                 ;;
6291 -       linux*|gnu*)
6292 +       linux*|gnu*|k*bsd*-gnu)
6293                 if test "$DFT_LWR_MODEL" = "shared" ; then
6294                         LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
6295                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
6296 @@ -4122,7 +4469,7 @@
6297                 ;;
6298         sco3.2v5*)  # (also uw2* and UW7) hops 13-Apr-98
6299                 # tested with osr5.0.5
6300 -               if test "$ac_cv_c_compiler_gnu" != yes; then
6301 +               if test "$GCC" != yes; then
6302                         CC_SHARED_OPTS='-belf -KPIC'
6303                 fi
6304                 MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
6305 @@ -4136,7 +4483,7 @@
6306                 ;;
6307         sunos4*)
6308                 # tested with SunOS 4.1.1 and gcc 2.7.0
6309 -               if test "$ac_cv_c_compiler_gnu" != yes; then
6310 +               if test "$GCC" != yes; then
6311                         CC_SHARED_OPTS='-KPIC'
6312                 fi
6313                 MK_SHARED_LIB='$(LD) -assert pure-text -o $@'
6314 @@ -4144,7 +4491,7 @@
6315                 ;;
6316         solaris2*)
6317                 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
6318 -               if test "$ac_cv_c_compiler_gnu" != yes; then
6319 +               if test "$GCC" != yes; then
6320                         CC_SHARED_OPTS='-KPIC'
6321                 fi
6322                 MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
6323 @@ -4160,7 +4507,7 @@
6324                 ;;
6325         sysv5uw7*|unix_sv*)
6326                 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
6327 -               if test "$ac_cv_c_compiler_gnu" != yes; then
6328 +               if test "$GCC" != yes; then
6329                         CC_SHARED_OPTS='-KPIC'
6330                 fi
6331                 MK_SHARED_LIB='$(LD) -d y -G -o $@'
6332 @@ -4179,7 +4526,7 @@
6333                         test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
6334                         ;;
6335                 *)
6336 -                       { echo "$as_me:4182: WARNING: ignored --with-shlib-version" >&5
6337 +                       { echo "$as_me:4529: WARNING: ignored --with-shlib-version" >&5
6338  echo "$as_me: WARNING: ignored --with-shlib-version" >&2;}
6339                         ;;
6340                 esac
6341 @@ -4187,12 +4534,12 @@
6342         esac
6343  
6344         if test -n "$cf_ld_rpath_opt" ; then
6345 -               echo "$as_me:4190: checking if we need a space after rpath option" >&5
6346 +               echo "$as_me:4537: checking if we need a space after rpath option" >&5
6347  echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6
6348                 cf_save_LIBS="$LIBS"
6349                 LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
6350                 cat >conftest.$ac_ext <<_ACEOF
6351 -#line 4195 "configure"
6352 +#line 4542 "configure"
6353  #include "confdefs.h"
6354  
6355  int
6356 @@ -4204,16 +4551,16 @@
6357  }
6358  _ACEOF
6359  rm -f conftest.$ac_objext conftest$ac_exeext
6360 -if { (eval echo "$as_me:4207: \"$ac_link\"") >&5
6361 +if { (eval echo "$as_me:4554: \"$ac_link\"") >&5
6362    (eval $ac_link) 2>&5
6363    ac_status=$?
6364 -  echo "$as_me:4210: \$? = $ac_status" >&5
6365 +  echo "$as_me:4557: \$? = $ac_status" >&5
6366    (exit $ac_status); } &&
6367           { ac_try='test -s conftest$ac_exeext'
6368 -  { (eval echo "$as_me:4213: \"$ac_try\"") >&5
6369 +  { (eval echo "$as_me:4560: \"$ac_try\"") >&5
6370    (eval $ac_try) 2>&5
6371    ac_status=$?
6372 -  echo "$as_me:4216: \$? = $ac_status" >&5
6373 +  echo "$as_me:4563: \$? = $ac_status" >&5
6374    (exit $ac_status); }; }; then
6375    cf_rpath_space=no
6376  else
6377 @@ -4223,7 +4570,7 @@
6378  fi
6379  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
6380                 LIBS="$cf_save_LIBS"
6381 -               echo "$as_me:4226: result: $cf_rpath_space" >&5
6382 +               echo "$as_me:4573: result: $cf_rpath_space" >&5
6383  echo "${ECHO_T}$cf_rpath_space" >&6
6384                 test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
6385                 MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
6386 @@ -4232,7 +4579,7 @@
6387  if test "$CC_SHARED_OPTS" = "unknown"; then
6388         for model in $cf_list_models; do
6389                 if test "$model" = "shared"; then
6390 -                       { { echo "$as_me:4235: error: Shared libraries are not supported in this version" >&5
6391 +                       { { echo "$as_me:4582: error: Shared libraries are not supported in this version" >&5
6392  echo "$as_me: error: Shared libraries are not supported in this version" >&2;}
6393     { (exit 1); exit 1; }; }
6394                 fi
6395 @@ -4242,7 +4589,7 @@
6396  ###############################################################################
6397  
6398  ###    use option --disable-overwrite to leave out the link to -lcurses
6399 -echo "$as_me:4245: checking if you wish to install ncurses overwriting curses" >&5
6400 +echo "$as_me:4592: checking if you wish to install ncurses overwriting curses" >&5
6401  echo $ECHO_N "checking if you wish to install ncurses overwriting curses... $ECHO_C" >&6
6402  
6403  # Check whether --enable-overwrite or --disable-overwrite was given.
6404 @@ -4252,10 +4599,10 @@
6405  else
6406    if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi
6407  fi;
6408 -echo "$as_me:4255: result: $with_overwrite" >&5
6409 +echo "$as_me:4602: result: $with_overwrite" >&5
6410  echo "${ECHO_T}$with_overwrite" >&6
6411  
6412 -echo "$as_me:4258: checking if external terminfo-database is used" >&5
6413 +echo "$as_me:4605: checking if external terminfo-database is used" >&5
6414  echo $ECHO_N "checking if external terminfo-database is used... $ECHO_C" >&6
6415  
6416  # Check whether --enable-database or --disable-database was given.
6417 @@ -4265,7 +4612,7 @@
6418  else
6419    use_database=yes
6420  fi;
6421 -echo "$as_me:4268: result: $use_database" >&5
6422 +echo "$as_me:4615: result: $use_database" >&5
6423  echo "${ECHO_T}$use_database" >&6
6424  
6425  case $host_os in #(vi
6426 @@ -4287,7 +4634,7 @@
6427  #define USE_DATABASE 1
6428  EOF
6429  
6430 -       echo "$as_me:4290: checking which terminfo source-file will be installed" >&5
6431 +       echo "$as_me:4637: checking which terminfo source-file will be installed" >&5
6432  echo $ECHO_N "checking which terminfo source-file will be installed... $ECHO_C" >&6
6433  
6434  # Check whether --enable-database or --disable-database was given.
6435 @@ -4295,11 +4642,11 @@
6436    enableval="$enable_database"
6437    TERMINFO_SRC=$withval
6438  fi;
6439 -       echo "$as_me:4298: result: $TERMINFO_SRC" >&5
6440 +       echo "$as_me:4645: result: $TERMINFO_SRC" >&5
6441  echo "${ECHO_T}$TERMINFO_SRC" >&6
6442  fi
6443  
6444 -echo "$as_me:4302: checking for list of fallback descriptions" >&5
6445 +echo "$as_me:4649: checking for list of fallback descriptions" >&5
6446  echo $ECHO_N "checking for list of fallback descriptions... $ECHO_C" >&6
6447  
6448  # Check whether --with-fallbacks or --without-fallbacks was given.
6449 @@ -4309,9 +4656,9 @@
6450  else
6451    with_fallback=
6452  fi;
6453 -echo "$as_me:4312: result: $with_fallback" >&5
6454 +echo "$as_me:4659: result: $with_fallback" >&5
6455  echo "${ECHO_T}$with_fallback" >&6
6456 -FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
6457 +FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
6458  
6459  MAKE_TERMINFO=
6460  if test "$use_database" = no ; then
6461 @@ -4319,7 +4666,7 @@
6462         MAKE_TERMINFO="#"
6463  else
6464  
6465 -echo "$as_me:4322: checking for list of terminfo directories" >&5
6466 +echo "$as_me:4669: checking for list of terminfo directories" >&5
6467  echo $ECHO_N "checking for list of terminfo directories... $ECHO_C" >&6
6468  
6469  # Check whether --with-terminfo-dirs or --without-terminfo-dirs was given.
6470 @@ -4353,7 +4700,7 @@
6471    cf_src_path=`echo $cf_src_path | sed -e s%NONE%$ac_default_prefix%`
6472    ;;
6473  *)
6474 -  { { echo "$as_me:4356: error: expected a pathname, not \"$cf_src_path\"" >&5
6475 +  { { echo "$as_me:4703: error: expected a pathname, not \"$cf_src_path\"" >&5
6476  echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;}
6477     { (exit 1); exit 1; }; }
6478    ;;
6479 @@ -4366,13 +4713,13 @@
6480  
6481  eval 'TERMINFO_DIRS="$cf_dst_path"'
6482  
6483 -echo "$as_me:4369: result: $TERMINFO_DIRS" >&5
6484 +echo "$as_me:4716: result: $TERMINFO_DIRS" >&5
6485  echo "${ECHO_T}$TERMINFO_DIRS" >&6
6486  test -n "$TERMINFO_DIRS" && cat >>confdefs.h <<EOF
6487  #define TERMINFO_DIRS "$TERMINFO_DIRS"
6488  EOF
6489  
6490 -echo "$as_me:4375: checking for default terminfo directory" >&5
6491 +echo "$as_me:4722: checking for default terminfo directory" >&5
6492  echo $ECHO_N "checking for default terminfo directory... $ECHO_C" >&6
6493  
6494  # Check whether --with-default-terminfo-dir or --without-default-terminfo-dir was given.
6495 @@ -4401,7 +4748,7 @@
6496    withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
6497    ;;
6498  *)
6499 -  { { echo "$as_me:4404: error: expected a pathname, not \"$withval\"" >&5
6500 +  { { echo "$as_me:4751: error: expected a pathname, not \"$withval\"" >&5
6501  echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
6502     { (exit 1); exit 1; }; }
6503    ;;
6504 @@ -4409,7 +4756,7 @@
6505  
6506  eval TERMINFO="$withval"
6507  
6508 -echo "$as_me:4412: result: $TERMINFO" >&5
6509 +echo "$as_me:4759: result: $TERMINFO" >&5
6510  echo "${ECHO_T}$TERMINFO" >&6
6511  cat >>confdefs.h <<EOF
6512  #define TERMINFO "$TERMINFO"
6513 @@ -4419,7 +4766,7 @@
6514  
6515  ###    use option --disable-big-core to make tic run on small machines
6516  ###    We need 4Mb, check if we can allocate 50% more than that.
6517 -echo "$as_me:4422: checking if big-core option selected" >&5
6518 +echo "$as_me:4769: checking if big-core option selected" >&5
6519  echo $ECHO_N "checking if big-core option selected... $ECHO_C" >&6
6520  
6521  # Check whether --enable-big-core or --disable-big-core was given.
6522 @@ -4431,7 +4778,7 @@
6523    with_big_core=no
6524  else
6525    cat >conftest.$ac_ext <<_ACEOF
6526 -#line 4434 "configure"
6527 +#line 4781 "configure"
6528  #include "confdefs.h"
6529  
6530  #include <stdlib.h>
6531 @@ -4445,15 +4792,15 @@
6532  }
6533  _ACEOF
6534  rm -f conftest$ac_exeext
6535 -if { (eval echo "$as_me:4448: \"$ac_link\"") >&5
6536 +if { (eval echo "$as_me:4795: \"$ac_link\"") >&5
6537    (eval $ac_link) 2>&5
6538    ac_status=$?
6539 -  echo "$as_me:4451: \$? = $ac_status" >&5
6540 +  echo "$as_me:4798: \$? = $ac_status" >&5
6541    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
6542 -  { (eval echo "$as_me:4453: \"$ac_try\"") >&5
6543 +  { (eval echo "$as_me:4800: \"$ac_try\"") >&5
6544    (eval $ac_try) 2>&5
6545    ac_status=$?
6546 -  echo "$as_me:4456: \$? = $ac_status" >&5
6547 +  echo "$as_me:4803: \$? = $ac_status" >&5
6548    (exit $ac_status); }; }; then
6549    with_big_core=yes
6550  else
6551 @@ -4465,14 +4812,14 @@
6552  rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
6553  fi
6554  fi;
6555 -echo "$as_me:4468: result: $with_big_core" >&5
6556 +echo "$as_me:4815: result: $with_big_core" >&5
6557  echo "${ECHO_T}$with_big_core" >&6
6558  test "$with_big_core" = "yes" && cat >>confdefs.h <<\EOF
6559  #define HAVE_BIG_CORE 1
6560  EOF
6561  
6562  ###    use option --enable-termcap to compile in the termcap fallback support
6563 -echo "$as_me:4475: checking if you want termcap-fallback support" >&5
6564 +echo "$as_me:4822: checking if you want termcap-fallback support" >&5
6565  echo $ECHO_N "checking if you want termcap-fallback support... $ECHO_C" >&6
6566  
6567  # Check whether --enable-termcap or --disable-termcap was given.
6568 @@ -4482,13 +4829,13 @@
6569  else
6570    with_termcap=no
6571  fi;
6572 -echo "$as_me:4485: result: $with_termcap" >&5
6573 +echo "$as_me:4832: result: $with_termcap" >&5
6574  echo "${ECHO_T}$with_termcap" >&6
6575  
6576  if test "$with_termcap" != "yes" ; then
6577         if test "$use_database" = no ; then
6578 -               if test -z $with_fallback ; then
6579 -                       { { echo "$as_me:4491: error: You have disabled the database w/o specifying fallbacks" >&5
6580 +               if test -z "$with_fallback" ; then
6581 +                       { { echo "$as_me:4838: error: You have disabled the database w/o specifying fallbacks" >&5
6582  echo "$as_me: error: You have disabled the database w/o specifying fallbacks" >&2;}
6583     { (exit 1); exit 1; }; }
6584                 fi
6585 @@ -4503,7 +4850,7 @@
6586  #define USE_TERMCAP 1
6587  EOF
6588  
6589 -echo "$as_me:4506: checking for list of termcap files" >&5
6590 +echo "$as_me:4853: checking for list of termcap files" >&5
6591  echo $ECHO_N "checking for list of termcap files... $ECHO_C" >&6
6592  
6593  # Check whether --with-termpath or --without-termpath was given.
6594 @@ -4537,7 +4884,7 @@
6595    cf_src_path=`echo $cf_src_path | sed -e s%NONE%$ac_default_prefix%`
6596    ;;
6597  *)
6598 -  { { echo "$as_me:4540: error: expected a pathname, not \"$cf_src_path\"" >&5
6599 +  { { echo "$as_me:4887: error: expected a pathname, not \"$cf_src_path\"" >&5
6600  echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;}
6601     { (exit 1); exit 1; }; }
6602    ;;
6603 @@ -4550,14 +4897,14 @@
6604  
6605  eval 'TERMPATH="$cf_dst_path"'
6606  
6607 -echo "$as_me:4553: result: $TERMPATH" >&5
6608 +echo "$as_me:4900: result: $TERMPATH" >&5
6609  echo "${ECHO_T}$TERMPATH" >&6
6610  test -n "$TERMPATH" && cat >>confdefs.h <<EOF
6611  #define TERMPATH "$TERMPATH"
6612  EOF
6613  
6614  ###    use option --enable-getcap to use a hacked getcap for reading termcaps
6615 -echo "$as_me:4560: checking if fast termcap-loader is needed" >&5
6616 +echo "$as_me:4907: checking if fast termcap-loader is needed" >&5
6617  echo $ECHO_N "checking if fast termcap-loader is needed... $ECHO_C" >&6
6618  
6619  # Check whether --enable-getcap or --disable-getcap was given.
6620 @@ -4567,13 +4914,13 @@
6621  else
6622    with_getcap=no
6623  fi;
6624 -echo "$as_me:4570: result: $with_getcap" >&5
6625 +echo "$as_me:4917: result: $with_getcap" >&5
6626  echo "${ECHO_T}$with_getcap" >&6
6627  test "$with_getcap" = "yes" && cat >>confdefs.h <<\EOF
6628  #define USE_GETCAP 1
6629  EOF
6630  
6631 -echo "$as_me:4576: checking if translated termcaps will be cached in ~/.terminfo" >&5
6632 +echo "$as_me:4923: checking if translated termcaps will be cached in ~/.terminfo" >&5
6633  echo $ECHO_N "checking if translated termcaps will be cached in ~/.terminfo... $ECHO_C" >&6
6634  
6635  # Check whether --enable-getcap-cache or --disable-getcap-cache was given.
6636 @@ -4583,7 +4930,7 @@
6637  else
6638    with_getcap_cache=no
6639  fi;
6640 -echo "$as_me:4586: result: $with_getcap_cache" >&5
6641 +echo "$as_me:4933: result: $with_getcap_cache" >&5
6642  echo "${ECHO_T}$with_getcap_cache" >&6
6643  test "$with_getcap_cache" = "yes" && cat >>confdefs.h <<\EOF
6644  #define USE_GETCAP_CACHE 1
6645 @@ -4599,13 +4946,13 @@
6646         unlink
6647  do
6648  as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
6649 -echo "$as_me:4602: checking for $ac_func" >&5
6650 +echo "$as_me:4949: checking for $ac_func" >&5
6651  echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
6652  if eval "test \"\${$as_ac_var+set}\" = set"; then
6653    echo $ECHO_N "(cached) $ECHO_C" >&6
6654  else
6655    cat >conftest.$ac_ext <<_ACEOF
6656 -#line 4608 "configure"
6657 +#line 4955 "configure"
6658  #include "confdefs.h"
6659  /* System header to define __stub macros and hopefully few prototypes,
6660      which can conflict with char $ac_func (); below.  */
6661 @@ -4636,16 +4983,16 @@
6662  }
6663  _ACEOF
6664  rm -f conftest.$ac_objext conftest$ac_exeext
6665 -if { (eval echo "$as_me:4639: \"$ac_link\"") >&5
6666 +if { (eval echo "$as_me:4986: \"$ac_link\"") >&5
6667    (eval $ac_link) 2>&5
6668    ac_status=$?
6669 -  echo "$as_me:4642: \$? = $ac_status" >&5
6670 +  echo "$as_me:4989: \$? = $ac_status" >&5
6671    (exit $ac_status); } &&
6672           { ac_try='test -s conftest$ac_exeext'
6673 -  { (eval echo "$as_me:4645: \"$ac_try\"") >&5
6674 +  { (eval echo "$as_me:4992: \"$ac_try\"") >&5
6675    (eval $ac_try) 2>&5
6676    ac_status=$?
6677 -  echo "$as_me:4648: \$? = $ac_status" >&5
6678 +  echo "$as_me:4995: \$? = $ac_status" >&5
6679    (exit $ac_status); }; }; then
6680    eval "$as_ac_var=yes"
6681  else
6682 @@ -4655,7 +5002,7 @@
6683  fi
6684  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
6685  fi
6686 -echo "$as_me:4658: result: `eval echo '${'$as_ac_var'}'`" >&5
6687 +echo "$as_me:5005: result: `eval echo '${'$as_ac_var'}'`" >&5
6688  echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
6689  if test `eval echo '${'$as_ac_var'}'` = yes; then
6690    cat >>confdefs.h <<EOF
6691 @@ -4665,20 +5012,20 @@
6692  fi
6693  done
6694  
6695 -if test "$ac_cv_prog_cc_cross" = yes ; then
6696 +if test "$cross_compiling" = yes ; then
6697  
6698  for ac_func in \
6699                 link \
6700                 symlink
6701  do
6702  as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
6703 -echo "$as_me:4675: checking for $ac_func" >&5
6704 +echo "$as_me:5022: checking for $ac_func" >&5
6705  echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
6706  if eval "test \"\${$as_ac_var+set}\" = set"; then
6707    echo $ECHO_N "(cached) $ECHO_C" >&6
6708  else
6709    cat >conftest.$ac_ext <<_ACEOF
6710 -#line 4681 "configure"
6711 +#line 5028 "configure"
6712  #include "confdefs.h"
6713  /* System header to define __stub macros and hopefully few prototypes,
6714      which can conflict with char $ac_func (); below.  */
6715 @@ -4709,16 +5056,16 @@
6716  }
6717  _ACEOF
6718  rm -f conftest.$ac_objext conftest$ac_exeext
6719 -if { (eval echo "$as_me:4712: \"$ac_link\"") >&5
6720 +if { (eval echo "$as_me:5059: \"$ac_link\"") >&5
6721    (eval $ac_link) 2>&5
6722    ac_status=$?
6723 -  echo "$as_me:4715: \$? = $ac_status" >&5
6724 +  echo "$as_me:5062: \$? = $ac_status" >&5
6725    (exit $ac_status); } &&
6726           { ac_try='test -s conftest$ac_exeext'
6727 -  { (eval echo "$as_me:4718: \"$ac_try\"") >&5
6728 +  { (eval echo "$as_me:5065: \"$ac_try\"") >&5
6729    (eval $ac_try) 2>&5
6730    ac_status=$?
6731 -  echo "$as_me:4721: \$? = $ac_status" >&5
6732 +  echo "$as_me:5068: \$? = $ac_status" >&5
6733    (exit $ac_status); }; }; then
6734    eval "$as_ac_var=yes"
6735  else
6736 @@ -4728,7 +5075,7 @@
6737  fi
6738  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
6739  fi
6740 -echo "$as_me:4731: result: `eval echo '${'$as_ac_var'}'`" >&5
6741 +echo "$as_me:5078: result: `eval echo '${'$as_ac_var'}'`" >&5
6742  echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
6743  if test `eval echo '${'$as_ac_var'}'` = yes; then
6744    cat >>confdefs.h <<EOF
6745 @@ -4739,7 +5086,7 @@
6746  done
6747  
6748  else
6749 -       echo "$as_me:4742: checking if link/symlink functions work" >&5
6750 +       echo "$as_me:5089: checking if link/symlink functions work" >&5
6751  echo $ECHO_N "checking if link/symlink functions work... $ECHO_C" >&6
6752  if test "${cf_cv_link_funcs+set}" = set; then
6753    echo $ECHO_N "(cached) $ECHO_C" >&6
6754 @@ -4752,7 +5099,7 @@
6755                         eval 'ac_cv_func_'$cf_func'=error'
6756  else
6757    cat >conftest.$ac_ext <<_ACEOF
6758 -#line 4755 "configure"
6759 +#line 5102 "configure"
6760  #include "confdefs.h"
6761  
6762  #include <sys/types.h>
6763 @@ -4782,15 +5129,15 @@
6764  
6765  _ACEOF
6766  rm -f conftest$ac_exeext
6767 -if { (eval echo "$as_me:4785: \"$ac_link\"") >&5
6768 +if { (eval echo "$as_me:5132: \"$ac_link\"") >&5
6769    (eval $ac_link) 2>&5
6770    ac_status=$?
6771 -  echo "$as_me:4788: \$? = $ac_status" >&5
6772 +  echo "$as_me:5135: \$? = $ac_status" >&5
6773    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
6774 -  { (eval echo "$as_me:4790: \"$ac_try\"") >&5
6775 +  { (eval echo "$as_me:5137: \"$ac_try\"") >&5
6776    (eval $ac_try) 2>&5
6777    ac_status=$?
6778 -  echo "$as_me:4793: \$? = $ac_status" >&5
6779 +  echo "$as_me:5140: \$? = $ac_status" >&5
6780    (exit $ac_status); }; }; then
6781  
6782                         cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
6783 @@ -4808,7 +5155,7 @@
6784                 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
6785  
6786  fi
6787 -echo "$as_me:4811: result: $cf_cv_link_funcs" >&5
6788 +echo "$as_me:5158: result: $cf_cv_link_funcs" >&5
6789  echo "${ECHO_T}$cf_cv_link_funcs" >&6
6790         test "$ac_cv_func_link"    = yes && cat >>confdefs.h <<\EOF
6791  #define HAVE_LINK 1
6792 @@ -4824,27 +5171,27 @@
6793  with_symlinks=no
6794  
6795  if test "$ac_cv_func_link" != yes ; then
6796 -    echo "$as_me:4827: checking if tic should use symbolic links" >&5
6797 +    echo "$as_me:5174: checking if tic should use symbolic links" >&5
6798  echo $ECHO_N "checking if tic should use symbolic links... $ECHO_C" >&6
6799      if test "$ac_cv_func_symlink" = yes ; then
6800         with_symlinks=yes
6801      else
6802         with_symlinks=no
6803      fi
6804 -    echo "$as_me:4834: result: $with_symlinks" >&5
6805 +    echo "$as_me:5181: result: $with_symlinks" >&5
6806  echo "${ECHO_T}$with_symlinks" >&6
6807  elif test "$ac_cv_func_symlink" != yes ; then
6808 -    echo "$as_me:4837: checking if tic should use hard links" >&5
6809 +    echo "$as_me:5184: checking if tic should use hard links" >&5
6810  echo $ECHO_N "checking if tic should use hard links... $ECHO_C" >&6
6811      if test "$ac_cv_func_link" = yes ; then
6812         with_links=yes
6813      else
6814         with_links=no
6815      fi
6816 -    echo "$as_me:4844: result: $with_links" >&5
6817 +    echo "$as_me:5191: result: $with_links" >&5
6818  echo "${ECHO_T}$with_links" >&6
6819  else
6820 -    echo "$as_me:4847: checking if tic should use symbolic links" >&5
6821 +    echo "$as_me:5194: checking if tic should use symbolic links" >&5
6822  echo $ECHO_N "checking if tic should use symbolic links... $ECHO_C" >&6
6823  
6824  # Check whether --enable-symlinks or --disable-symlinks was given.
6825 @@ -4854,7 +5201,7 @@
6826  else
6827    with_symlinks=no
6828  fi;
6829 -    echo "$as_me:4857: result: $with_symlinks" >&5
6830 +    echo "$as_me:5204: result: $with_symlinks" >&5
6831  echo "${ECHO_T}$with_symlinks" >&6
6832  fi
6833  
6834 @@ -4867,7 +5214,7 @@
6835  EOF
6836  
6837  ###   use option --enable-broken-linker to force on use of broken-linker support
6838 -echo "$as_me:4870: checking if you want broken-linker support code" >&5
6839 +echo "$as_me:5217: checking if you want broken-linker support code" >&5
6840  echo $ECHO_N "checking if you want broken-linker support code... $ECHO_C" >&6
6841  
6842  # Check whether --enable-broken_linker or --disable-broken_linker was given.
6843 @@ -4877,7 +5224,7 @@
6844  else
6845    with_broken_linker=$BROKEN_LINKER
6846  fi;
6847 -echo "$as_me:4880: result: $with_broken_linker" >&5
6848 +echo "$as_me:5227: result: $with_broken_linker" >&5
6849  echo "${ECHO_T}$with_broken_linker" >&6
6850  
6851  BROKEN_LINKER=0
6852 @@ -4887,7 +5234,7 @@
6853  EOF
6854  
6855         BROKEN_LINKER=1
6856 -elif test $DFT_LWR_MODEL = shared ; then
6857 +elif test "$DFT_LWR_MODEL" = shared ; then
6858         case $cf_cv_system_name in #(vi
6859         cygwin*)
6860                 cat >>confdefs.h <<\EOF
6861 @@ -4902,7 +5249,7 @@
6862  fi
6863  
6864  ###   use option --with-bool to override bool's type
6865 -echo "$as_me:4905: checking for type of bool" >&5
6866 +echo "$as_me:5252: checking for type of bool" >&5
6867  echo $ECHO_N "checking for type of bool... $ECHO_C" >&6
6868  
6869  # Check whether --with-bool or --without-bool was given.
6870 @@ -4912,11 +5259,11 @@
6871  else
6872    NCURSES_BOOL=auto
6873  fi;
6874 -echo "$as_me:4915: result: $NCURSES_BOOL" >&5
6875 +echo "$as_me:5262: result: $NCURSES_BOOL" >&5
6876  echo "${ECHO_T}$NCURSES_BOOL" >&6
6877  
6878  ###   use option --with-ospeed to override ospeed's type
6879 -echo "$as_me:4919: checking for type of ospeed" >&5
6880 +echo "$as_me:5266: checking for type of ospeed" >&5
6881  echo $ECHO_N "checking for type of ospeed... $ECHO_C" >&6
6882  
6883  # Check whether --with-ospeed or --without-ospeed was given.
6884 @@ -4926,11 +5273,11 @@
6885  else
6886    NCURSES_OSPEED=short
6887  fi;
6888 -echo "$as_me:4929: result: $NCURSES_OSPEED" >&5
6889 +echo "$as_me:5276: result: $NCURSES_OSPEED" >&5
6890  echo "${ECHO_T}$NCURSES_OSPEED" >&6
6891  
6892  ###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
6893 -echo "$as_me:4933: checking if tputs should process BSD-style prefix padding" >&5
6894 +echo "$as_me:5280: checking if tputs should process BSD-style prefix padding" >&5
6895  echo $ECHO_N "checking if tputs should process BSD-style prefix padding... $ECHO_C" >&6
6896  
6897  # Check whether --enable-bsdpad or --disable-bsdpad was given.
6898 @@ -4940,14 +5287,14 @@
6899  else
6900    with_bsdpad=no
6901  fi;
6902 -echo "$as_me:4943: result: $with_bsdpad" >&5
6903 +echo "$as_me:5290: result: $with_bsdpad" >&5
6904  echo "${ECHO_T}$with_bsdpad" >&6
6905  test "$with_bsdpad" = yes && cat >>confdefs.h <<\EOF
6906  #define BSD_TPUTS 1
6907  EOF
6908  
6909  ### Enable compiling-in rcs id's
6910 -echo "$as_me:4950: checking if RCS identifiers should be compiled-in" >&5
6911 +echo "$as_me:5297: checking if RCS identifiers should be compiled-in" >&5
6912  echo $ECHO_N "checking if RCS identifiers should be compiled-in... $ECHO_C" >&6
6913  
6914  # Check whether --with-rcs-ids or --without-rcs-ids was given.
6915 @@ -4957,7 +5304,7 @@
6916  else
6917    with_rcs_ids=no
6918  fi;
6919 -echo "$as_me:4960: result: $with_rcs_ids" >&5
6920 +echo "$as_me:5307: result: $with_rcs_ids" >&5
6921  echo "${ECHO_T}$with_rcs_ids" >&6
6922  test "$with_rcs_ids" = yes && cat >>confdefs.h <<\EOF
6923  #define USE_RCS_IDS 1
6924 @@ -4965,7 +5312,7 @@
6925  
6926  ###############################################################################
6927  
6928 -echo "$as_me:4968: checking format of man-pages" >&5
6929 +echo "$as_me:5315: checking format of man-pages" >&5
6930  echo $ECHO_N "checking format of man-pages... $ECHO_C" >&6
6931  
6932  # Check whether --with-manpage-format or --without-manpage-format was given.
6933 @@ -5008,15 +5355,15 @@
6934    IFS="$ac_save_ifs"
6935    ;;
6936  .*) # (vi
6937 -  { echo "$as_me:5011: WARNING: Unexpected manpage-format" >&5
6938 +  { echo "$as_me:5358: WARNING: Unexpected manpage-format" >&5
6939  echo "$as_me: WARNING: Unexpected manpage-format" >&2;}
6940    ;;
6941  esac
6942  
6943 -echo "$as_me:5016: result: $MANPAGE_FORMAT" >&5
6944 +echo "$as_me:5363: result: $MANPAGE_FORMAT" >&5
6945  echo "${ECHO_T}$MANPAGE_FORMAT" >&6
6946  
6947 -echo "$as_me:5019: checking for manpage renaming" >&5
6948 +echo "$as_me:5366: checking for manpage renaming" >&5
6949  echo $ECHO_N "checking for manpage renaming... $ECHO_C" >&6
6950  
6951  # Check whether --with-manpage-renames or --without-manpage-renames was given.
6952 @@ -5044,7 +5391,7 @@
6953    if test -f $srcdir/man/$MANPAGE_RENAMES ; then
6954      MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
6955    elif test ! -f $MANPAGE_RENAMES ; then
6956 -    { { echo "$as_me:5047: error: not a filename: $MANPAGE_RENAMES" >&5
6957 +    { { echo "$as_me:5394: error: not a filename: $MANPAGE_RENAMES" >&5
6958  echo "$as_me: error: not a filename: $MANPAGE_RENAMES" >&2;}
6959     { (exit 1); exit 1; }; }
6960    fi
6961 @@ -5058,10 +5405,10 @@
6962    fi
6963  fi
6964  
6965 -echo "$as_me:5061: result: $MANPAGE_RENAMES" >&5
6966 +echo "$as_me:5408: result: $MANPAGE_RENAMES" >&5
6967  echo "${ECHO_T}$MANPAGE_RENAMES" >&6
6968  
6969 -echo "$as_me:5064: checking for manpage symlinks" >&5
6970 +echo "$as_me:5411: checking for manpage symlinks" >&5
6971  echo $ECHO_N "checking for manpage symlinks... $ECHO_C" >&6
6972  
6973  # Check whether --with-manpage-symlinks or --without-manpage-symlinks was given.
6974 @@ -5072,10 +5419,10 @@
6975    MANPAGE_SYMLINKS=yes
6976  fi;
6977  
6978 -echo "$as_me:5075: result: $MANPAGE_SYMLINKS" >&5
6979 +echo "$as_me:5422: result: $MANPAGE_SYMLINKS" >&5
6980  echo "${ECHO_T}$MANPAGE_SYMLINKS" >&6
6981  
6982 -echo "$as_me:5078: checking for manpage tbl" >&5
6983 +echo "$as_me:5425: checking for manpage tbl" >&5
6984  echo $ECHO_N "checking for manpage tbl... $ECHO_C" >&6
6985  
6986  # Check whether --with-manpage-tbl or --without-manpage-tbl was given.
6987 @@ -5086,7 +5433,7 @@
6988    MANPAGE_TBL=no
6989  fi;
6990  
6991 -echo "$as_me:5089: result: $MANPAGE_TBL" >&5
6992 +echo "$as_me:5436: result: $MANPAGE_TBL" >&5
6993  echo "${ECHO_T}$MANPAGE_TBL" >&6
6994  
6995    if test "$prefix" = "NONE" ; then
6996 @@ -5257,7 +5604,7 @@
6997    ;;
6998  esac
6999  cat >>man/edit_man.sh <<CF_EOF
7000 -       suffix=\`basename \$target | sed -e 's/^[^.]*//'\`
7001 +       suffix=\`basename \$target | sed -e 's%^[^.]*%%'\`
7002         if test \$verb = installing ; then
7003                 echo \$verb \$target
7004                 \$INSTALL_DATA \$TMP \$target
7005 @@ -5317,7 +5664,7 @@
7006  ###############################################################################
7007  
7008  ### Note that some functions (such as const) are normally disabled anyway.
7009 -echo "$as_me:5320: checking if you want to build with function extensions" >&5
7010 +echo "$as_me:5667: checking if you want to build with function extensions" >&5
7011  echo $ECHO_N "checking if you want to build with function extensions... $ECHO_C" >&6
7012  
7013  # Check whether --enable-ext-funcs or --disable-ext-funcs was given.
7014 @@ -5327,7 +5674,7 @@
7015  else
7016    with_ext_funcs=yes
7017  fi;
7018 -echo "$as_me:5330: result: $with_ext_funcs" >&5
7019 +echo "$as_me:5677: result: $with_ext_funcs" >&5
7020  echo "${ECHO_T}$with_ext_funcs" >&6
7021  if test "$with_ext_funcs" = yes ; then
7022         NCURSES_EXT_FUNCS=1
7023 @@ -5344,6 +5691,10 @@
7024  EOF
7025  
7026         cat >>confdefs.h <<\EOF
7027 +#define HAVE_RESIZE_TERM 1
7028 +EOF
7029 +
7030 +       cat >>confdefs.h <<\EOF
7031  #define HAVE_USE_DEFAULT_COLORS 1
7032  EOF
7033  
7034 @@ -5360,7 +5711,7 @@
7035  fi
7036  
7037  ###   use option --enable-const to turn on use of const beyond that in XSI.
7038 -echo "$as_me:5363: checking for extended use of const keyword" >&5
7039 +echo "$as_me:5714: checking for extended use of const keyword" >&5
7040  echo $ECHO_N "checking for extended use of const keyword... $ECHO_C" >&6
7041  
7042  # Check whether --enable-const or --disable-const was given.
7043 @@ -5370,14 +5721,14 @@
7044  else
7045    with_ext_const=no
7046  fi;
7047 -echo "$as_me:5373: result: $with_ext_const" >&5
7048 +echo "$as_me:5724: result: $with_ext_const" >&5
7049  echo "${ECHO_T}$with_ext_const" >&6
7050  NCURSES_CONST='/*nothing*/'
7051  if test "$with_ext_const" = yes ; then
7052         NCURSES_CONST=const
7053  fi
7054  
7055 -echo "$as_me:5380: checking if you want \$NCURSES_NO_PADDING code" >&5
7056 +echo "$as_me:5731: checking if you want \$NCURSES_NO_PADDING code" >&5
7057  echo $ECHO_N "checking if you want \$NCURSES_NO_PADDING code... $ECHO_C" >&6
7058  
7059  # Check whether --enable-no-padding or --disable-no-padding was given.
7060 @@ -5387,14 +5738,14 @@
7061  else
7062    with_no_padding=$with_ext_funcs
7063  fi;
7064 -echo "$as_me:5390: result: $with_no_padding" >&5
7065 +echo "$as_me:5741: result: $with_no_padding" >&5
7066  echo "${ECHO_T}$with_no_padding" >&6
7067  test "$with_no_padding" = yes && cat >>confdefs.h <<\EOF
7068  #define NCURSES_NO_PADDING 1
7069  EOF
7070  
7071  ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
7072 -echo "$as_me:5397: checking if you want SIGWINCH handler" >&5
7073 +echo "$as_me:5748: checking if you want SIGWINCH handler" >&5
7074  echo $ECHO_N "checking if you want SIGWINCH handler... $ECHO_C" >&6
7075  
7076  # Check whether --enable-sigwinch or --disable-sigwinch was given.
7077 @@ -5404,14 +5755,14 @@
7078  else
7079    with_sigwinch=$with_ext_funcs
7080  fi;
7081 -echo "$as_me:5407: result: $with_sigwinch" >&5
7082 +echo "$as_me:5758: result: $with_sigwinch" >&5
7083  echo "${ECHO_T}$with_sigwinch" >&6
7084  test "$with_sigwinch" = yes && cat >>confdefs.h <<\EOF
7085  #define USE_SIGWINCH 1
7086  EOF
7087  
7088  ###   use option --enable-tcap-names to allow user to define new capabilities
7089 -echo "$as_me:5414: checking if you want user-definable terminal capabilities like termcap" >&5
7090 +echo "$as_me:5765: checking if you want user-definable terminal capabilities like termcap" >&5
7091  echo $ECHO_N "checking if you want user-definable terminal capabilities like termcap... $ECHO_C" >&6
7092  
7093  # Check whether --enable-tcap-names or --disable-tcap-names was given.
7094 @@ -5421,7 +5772,7 @@
7095  else
7096    with_tcap_names=$with_ext_funcs
7097  fi;
7098 -echo "$as_me:5424: result: $with_tcap_names" >&5
7099 +echo "$as_me:5775: result: $with_tcap_names" >&5
7100  echo "${ECHO_T}$with_tcap_names" >&6
7101  NCURSES_XNAMES=0
7102  test "$with_tcap_names" = yes && NCURSES_XNAMES=1
7103 @@ -5429,7 +5780,7 @@
7104  ###############################################################################
7105  # These options are relatively safe to experiment with.
7106  
7107 -echo "$as_me:5432: checking if you want all development code" >&5
7108 +echo "$as_me:5783: checking if you want all development code" >&5
7109  echo $ECHO_N "checking if you want all development code... $ECHO_C" >&6
7110  
7111  # Check whether --with-develop or --without-develop was given.
7112 @@ -5439,11 +5790,11 @@
7113  else
7114    with_develop=no
7115  fi;
7116 -echo "$as_me:5442: result: $with_develop" >&5
7117 +echo "$as_me:5793: result: $with_develop" >&5
7118  echo "${ECHO_T}$with_develop" >&6
7119  
7120  ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
7121 -echo "$as_me:5446: checking if you want hard-tabs code" >&5
7122 +echo "$as_me:5797: checking if you want hard-tabs code" >&5
7123  echo $ECHO_N "checking if you want hard-tabs code... $ECHO_C" >&6
7124  
7125  # Check whether --enable-hard-tabs or --disable-hard-tabs was given.
7126 @@ -5453,13 +5804,13 @@
7127  else
7128    with_hardtabs=$with_develop
7129  fi;
7130 -echo "$as_me:5456: result: $with_hardtabs" >&5
7131 +echo "$as_me:5807: result: $with_hardtabs" >&5
7132  echo "${ECHO_T}$with_hardtabs" >&6
7133  test "$with_hardtabs" = yes && cat >>confdefs.h <<\EOF
7134  #define USE_HARD_TABS 1
7135  EOF
7136  
7137 -echo "$as_me:5462: checking if you want to use restrict environment when running as root" >&5
7138 +echo "$as_me:5813: checking if you want to use restrict environment when running as root" >&5
7139  echo $ECHO_N "checking if you want to use restrict environment when running as root... $ECHO_C" >&6
7140  
7141  # Check whether --enable-root-environ or --disable-root-environ was given.
7142 @@ -5469,14 +5820,14 @@
7143  else
7144    with_root_environ=yes
7145  fi;
7146 -echo "$as_me:5472: result: $with_root_environ" >&5
7147 +echo "$as_me:5823: result: $with_root_environ" >&5
7148  echo "${ECHO_T}$with_root_environ" >&6
7149  test "$with_root_environ" = yes && cat >>confdefs.h <<\EOF
7150  #define USE_ROOT_ENVIRON 1
7151  EOF
7152  
7153  ###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
7154 -echo "$as_me:5479: checking if you want limited support for xmc" >&5
7155 +echo "$as_me:5830: checking if you want limited support for xmc" >&5
7156  echo $ECHO_N "checking if you want limited support for xmc... $ECHO_C" >&6
7157  
7158  # Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
7159 @@ -5486,7 +5837,7 @@
7160  else
7161    with_xmc_glitch=$with_develop
7162  fi;
7163 -echo "$as_me:5489: result: $with_xmc_glitch" >&5
7164 +echo "$as_me:5840: result: $with_xmc_glitch" >&5
7165  echo "${ECHO_T}$with_xmc_glitch" >&6
7166  test "$with_xmc_glitch" = yes && cat >>confdefs.h <<\EOF
7167  #define USE_XMC_SUPPORT 1
7168 @@ -5495,7 +5846,7 @@
7169  ###############################################################################
7170  # These are just experimental, probably should not be in a package:
7171  
7172 -echo "$as_me:5498: checking if you do not want to assume colors are white-on-black" >&5
7173 +echo "$as_me:5849: checking if you do not want to assume colors are white-on-black" >&5
7174  echo $ECHO_N "checking if you do not want to assume colors are white-on-black... $ECHO_C" >&6
7175  
7176  # Check whether --enable-assumed-color or --disable-assumed-color was given.
7177 @@ -5505,14 +5856,14 @@
7178  else
7179    with_assumed_color=yes
7180  fi;
7181 -echo "$as_me:5508: result: $with_assumed_color" >&5
7182 +echo "$as_me:5859: result: $with_assumed_color" >&5
7183  echo "${ECHO_T}$with_assumed_color" >&6
7184  test "$with_assumed_color" = yes && cat >>confdefs.h <<\EOF
7185  #define USE_ASSUMED_COLOR 1
7186  EOF
7187  
7188  ###   use option --enable-hashmap to turn on use of hashmap scrolling logic
7189 -echo "$as_me:5515: checking if you want hashmap scrolling-optimization code" >&5
7190 +echo "$as_me:5866: checking if you want hashmap scrolling-optimization code" >&5
7191  echo $ECHO_N "checking if you want hashmap scrolling-optimization code... $ECHO_C" >&6
7192  
7193  # Check whether --enable-hashmap or --disable-hashmap was given.
7194 @@ -5522,14 +5873,14 @@
7195  else
7196    with_hashmap=yes
7197  fi;
7198 -echo "$as_me:5525: result: $with_hashmap" >&5
7199 +echo "$as_me:5876: result: $with_hashmap" >&5
7200  echo "${ECHO_T}$with_hashmap" >&6
7201  test "$with_hashmap" = yes && cat >>confdefs.h <<\EOF
7202  #define USE_HASHMAP 1
7203  EOF
7204  
7205  ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
7206 -echo "$as_me:5532: checking if you want colorfgbg code" >&5
7207 +echo "$as_me:5883: checking if you want colorfgbg code" >&5
7208  echo $ECHO_N "checking if you want colorfgbg code... $ECHO_C" >&6
7209  
7210  # Check whether --enable-colorfgbg or --disable-colorfgbg was given.
7211 @@ -5539,13 +5890,13 @@
7212  else
7213    with_colorfgbg=no
7214  fi;
7215 -echo "$as_me:5542: result: $with_colorfgbg" >&5
7216 +echo "$as_me:5893: result: $with_colorfgbg" >&5
7217  echo "${ECHO_T}$with_colorfgbg" >&6
7218  test "$with_colorfgbg" = yes && cat >>confdefs.h <<\EOF
7219  #define USE_COLORFGBG 1
7220  EOF
7221  
7222 -echo "$as_me:5548: checking if you want experimental safe-sprintf code" >&5
7223 +echo "$as_me:5899: checking if you want experimental safe-sprintf code" >&5
7224  echo $ECHO_N "checking if you want experimental safe-sprintf code... $ECHO_C" >&6
7225  
7226  # Check whether --enable-safe-sprintf or --disable-safe-sprintf was given.
7227 @@ -5555,7 +5906,7 @@
7228  else
7229    with_safe_sprintf=no
7230  fi;
7231 -echo "$as_me:5558: result: $with_safe_sprintf" >&5
7232 +echo "$as_me:5909: result: $with_safe_sprintf" >&5
7233  echo "${ECHO_T}$with_safe_sprintf" >&6
7234  test "$with_safe_sprintf" = yes && cat >>confdefs.h <<\EOF
7235  #define USE_SAFE_SPRINTF 1
7236 @@ -5564,7 +5915,7 @@
7237  ###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
7238  # when hashmap is used scroll hints are useless
7239  if test "$with_hashmap" = no ; then
7240 -echo "$as_me:5567: checking if you want to experiment without scrolling-hints code" >&5
7241 +echo "$as_me:5918: checking if you want to experiment without scrolling-hints code" >&5
7242  echo $ECHO_N "checking if you want to experiment without scrolling-hints code... $ECHO_C" >&6
7243  
7244  # Check whether --enable-scroll-hints or --disable-scroll-hints was given.
7245 @@ -5574,7 +5925,7 @@
7246  else
7247    with_scroll_hints=yes
7248  fi;
7249 -echo "$as_me:5577: result: $with_scroll_hints" >&5
7250 +echo "$as_me:5928: result: $with_scroll_hints" >&5
7251  echo "${ECHO_T}$with_scroll_hints" >&6
7252  test "$with_scroll_hints" = yes && cat >>confdefs.h <<\EOF
7253  #define USE_SCROLL_HINTS 1
7254 @@ -5585,8 +5936,102 @@
7255  ###   use option --enable-widec to turn on use of wide-character support
7256  NCURSES_CH_T=chtype
7257  NCURSES_LIBUTF8=0
7258 +
7259 +NEED_WCHAR_H=0
7260  NCURSES_MBSTATE_T=0
7261 -echo "$as_me:5589: checking if you want experimental wide-character code" >&5
7262 +NCURSES_WCHAR_T=0
7263 +NCURSES_WINT_T=0
7264 +
7265 +# Check to define _XOPEN_SOURCE "automatically"
7266 +
7267 +echo "$as_me:5947: checking if we must define _GNU_SOURCE" >&5
7268 +echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
7269 +if test "${cf_cv_gnu_source+set}" = set; then
7270 +  echo $ECHO_N "(cached) $ECHO_C" >&6
7271 +else
7272 +
7273 +cat >conftest.$ac_ext <<_ACEOF
7274 +#line 5954 "configure"
7275 +#include "confdefs.h"
7276 +#include <sys/types.h>
7277 +int
7278 +main ()
7279 +{
7280 +
7281 +#ifndef _XOPEN_SOURCE
7282 +make an error
7283 +#endif
7284 +  ;
7285 +  return 0;
7286 +}
7287 +_ACEOF
7288 +rm -f conftest.$ac_objext
7289 +if { (eval echo "$as_me:5969: \"$ac_compile\"") >&5
7290 +  (eval $ac_compile) 2>&5
7291 +  ac_status=$?
7292 +  echo "$as_me:5972: \$? = $ac_status" >&5
7293 +  (exit $ac_status); } &&
7294 +         { ac_try='test -s conftest.$ac_objext'
7295 +  { (eval echo "$as_me:5975: \"$ac_try\"") >&5
7296 +  (eval $ac_try) 2>&5
7297 +  ac_status=$?
7298 +  echo "$as_me:5978: \$? = $ac_status" >&5
7299 +  (exit $ac_status); }; }; then
7300 +  cf_cv_gnu_source=no
7301 +else
7302 +  echo "$as_me: failed program was:" >&5
7303 +cat conftest.$ac_ext >&5
7304 +cf_save="$CPPFLAGS"
7305 +        CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
7306 +        cat >conftest.$ac_ext <<_ACEOF
7307 +#line 5987 "configure"
7308 +#include "confdefs.h"
7309 +#include <sys/types.h>
7310 +int
7311 +main ()
7312 +{
7313 +
7314 +#ifdef _XOPEN_SOURCE
7315 +make an error
7316 +#endif
7317 +  ;
7318 +  return 0;
7319 +}
7320 +_ACEOF
7321 +rm -f conftest.$ac_objext
7322 +if { (eval echo "$as_me:6002: \"$ac_compile\"") >&5
7323 +  (eval $ac_compile) 2>&5
7324 +  ac_status=$?
7325 +  echo "$as_me:6005: \$? = $ac_status" >&5
7326 +  (exit $ac_status); } &&
7327 +         { ac_try='test -s conftest.$ac_objext'
7328 +  { (eval echo "$as_me:6008: \"$ac_try\"") >&5
7329 +  (eval $ac_try) 2>&5
7330 +  ac_status=$?
7331 +  echo "$as_me:6011: \$? = $ac_status" >&5
7332 +  (exit $ac_status); }; }; then
7333 +  cf_cv_gnu_source=no
7334 +else
7335 +  echo "$as_me: failed program was:" >&5
7336 +cat conftest.$ac_ext >&5
7337 +cf_cv_gnu_source=yes
7338 +fi
7339 +rm -f conftest.$ac_objext conftest.$ac_ext
7340 +       CPPFLAGS="$cf_save"
7341 +
7342 +fi
7343 +rm -f conftest.$ac_objext conftest.$ac_ext
7344 +
7345 +fi
7346 +echo "$as_me:6026: result: $cf_cv_gnu_source" >&5
7347 +echo "${ECHO_T}$cf_cv_gnu_source" >&6
7348 +test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
7349 +
7350 +# use these variables to work around a defect in gcc's fixincludes.
7351 +NCURSES_OK_WCHAR_T=
7352 +NCURSES_OK_WINT_T=
7353 +
7354 +echo "$as_me:6034: checking if you want experimental wide-character code" >&5
7355  echo $ECHO_N "checking if you want experimental wide-character code... $ECHO_C" >&6
7356  
7357  # Check whether --enable-widec or --disable-widec was given.
7358 @@ -5596,7 +6041,7 @@
7359  else
7360    with_widec=no
7361  fi;
7362 -echo "$as_me:5599: result: $with_widec" >&5
7363 +echo "$as_me:6044: result: $with_widec" >&5
7364  echo "${ECHO_T}$with_widec" >&6
7365  if test "$with_widec" = yes ; then
7366         LIB_SUFFIX="w${LIB_SUFFIX}"
7367 @@ -5604,19 +6049,198 @@
7368  #define USE_WIDEC_SUPPORT 1
7369  EOF
7370  
7371 +echo "$as_me:6052: checking if we must define _XOPEN_SOURCE" >&5
7372 +echo $ECHO_N "checking if we must define _XOPEN_SOURCE... $ECHO_C" >&6
7373 +cat >conftest.$ac_ext <<_ACEOF
7374 +#line 6055 "configure"
7375 +#include "confdefs.h"
7376 +#include <sys/types.h>
7377 +
7378 +int
7379 +main ()
7380 +{
7381 +
7382 +#ifndef _XOPEN_SOURCE
7383 +make an error
7384 +#endif
7385 +  ;
7386 +  return 0;
7387 +}
7388 +_ACEOF
7389 +rm -f conftest.$ac_objext
7390 +if { (eval echo "$as_me:6071: \"$ac_compile\"") >&5
7391 +  (eval $ac_compile) 2>&5
7392 +  ac_status=$?
7393 +  echo "$as_me:6074: \$? = $ac_status" >&5
7394 +  (exit $ac_status); } &&
7395 +         { ac_try='test -s conftest.$ac_objext'
7396 +  { (eval echo "$as_me:6077: \"$ac_try\"") >&5
7397 +  (eval $ac_try) 2>&5
7398 +  ac_status=$?
7399 +  echo "$as_me:6080: \$? = $ac_status" >&5
7400 +  (exit $ac_status); }; }; then
7401 +  cf_result=no
7402 +else
7403 +  echo "$as_me: failed program was:" >&5
7404 +cat conftest.$ac_ext >&5
7405 +cf_result=yes
7406 +fi
7407 +rm -f conftest.$ac_objext conftest.$ac_ext
7408 +echo "$as_me:6089: result: $cf_result" >&5
7409 +echo "${ECHO_T}$cf_result" >&6
7410 +
7411 +if test "$cf_result" = yes ; then
7412 +       CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
7413 +elif test "x500" != "x" ; then
7414 +       echo "$as_me:6095: checking checking for compatible value versus 500" >&5
7415 +echo $ECHO_N "checking checking for compatible value versus 500... $ECHO_C" >&6
7416 +       cat >conftest.$ac_ext <<_ACEOF
7417 +#line 6098 "configure"
7418 +#include "confdefs.h"
7419 +#include <sys/types.h>
7420 +
7421 +int
7422 +main ()
7423 +{
7424 +
7425 +#if _XOPEN_SOURCE-500 < 0
7426 +make an error
7427 +#endif
7428 +  ;
7429 +  return 0;
7430 +}
7431 +_ACEOF
7432 +rm -f conftest.$ac_objext
7433 +if { (eval echo "$as_me:6114: \"$ac_compile\"") >&5
7434 +  (eval $ac_compile) 2>&5
7435 +  ac_status=$?
7436 +  echo "$as_me:6117: \$? = $ac_status" >&5
7437 +  (exit $ac_status); } &&
7438 +         { ac_try='test -s conftest.$ac_objext'
7439 +  { (eval echo "$as_me:6120: \"$ac_try\"") >&5
7440 +  (eval $ac_try) 2>&5
7441 +  ac_status=$?
7442 +  echo "$as_me:6123: \$? = $ac_status" >&5
7443 +  (exit $ac_status); }; }; then
7444 +  cf_result=yes
7445 +else
7446 +  echo "$as_me: failed program was:" >&5
7447 +cat conftest.$ac_ext >&5
7448 +cf_result=no
7449 +fi
7450 +rm -f conftest.$ac_objext conftest.$ac_ext
7451 +       echo "$as_me:6132: result: $cf_result" >&5
7452 +echo "${ECHO_T}$cf_result" >&6
7453 +       if test "$cf_result" = no ; then
7454 +               # perhaps we can override it - try...
7455 +               CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
7456 +       fi
7457 +fi
7458 +
7459 +echo "$as_me:6140: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
7460 +echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6
7461 +cat >conftest.$ac_ext <<_ACEOF
7462 +#line 6143 "configure"
7463 +#include "confdefs.h"
7464 +#include <sys/types.h>
7465 +
7466 +int
7467 +main ()
7468 +{
7469 +
7470 +#ifndef _XOPEN_SOURCE_EXTENDED
7471 +make an error
7472 +#endif
7473 +  ;
7474 +  return 0;
7475 +}
7476 +_ACEOF
7477 +rm -f conftest.$ac_objext
7478 +if { (eval echo "$as_me:6159: \"$ac_compile\"") >&5
7479 +  (eval $ac_compile) 2>&5
7480 +  ac_status=$?
7481 +  echo "$as_me:6162: \$? = $ac_status" >&5
7482 +  (exit $ac_status); } &&
7483 +         { ac_try='test -s conftest.$ac_objext'
7484 +  { (eval echo "$as_me:6165: \"$ac_try\"") >&5
7485 +  (eval $ac_try) 2>&5
7486 +  ac_status=$?
7487 +  echo "$as_me:6168: \$? = $ac_status" >&5
7488 +  (exit $ac_status); }; }; then
7489 +  cf_result=no
7490 +else
7491 +  echo "$as_me: failed program was:" >&5
7492 +cat conftest.$ac_ext >&5
7493 +cf_result=yes
7494 +fi
7495 +rm -f conftest.$ac_objext conftest.$ac_ext
7496 +echo "$as_me:6177: result: $cf_result" >&5
7497 +echo "${ECHO_T}$cf_result" >&6
7498 +
7499 +if test "$cf_result" = yes ; then
7500         CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
7501 +elif test "x" != "x" ; then
7502 +       echo "$as_me:6183: checking checking for compatible value versus " >&5
7503 +echo $ECHO_N "checking checking for compatible value versus ... $ECHO_C" >&6
7504 +       cat >conftest.$ac_ext <<_ACEOF
7505 +#line 6186 "configure"
7506 +#include "confdefs.h"
7507 +#include <sys/types.h>
7508 +
7509 +int
7510 +main ()
7511 +{
7512 +
7513 +#if _XOPEN_SOURCE_EXTENDED- < 0
7514 +make an error
7515 +#endif
7516 +  ;
7517 +  return 0;
7518 +}
7519 +_ACEOF
7520 +rm -f conftest.$ac_objext
7521 +if { (eval echo "$as_me:6202: \"$ac_compile\"") >&5
7522 +  (eval $ac_compile) 2>&5
7523 +  ac_status=$?
7524 +  echo "$as_me:6205: \$? = $ac_status" >&5
7525 +  (exit $ac_status); } &&
7526 +         { ac_try='test -s conftest.$ac_objext'
7527 +  { (eval echo "$as_me:6208: \"$ac_try\"") >&5
7528 +  (eval $ac_try) 2>&5
7529 +  ac_status=$?
7530 +  echo "$as_me:6211: \$? = $ac_status" >&5
7531 +  (exit $ac_status); }; }; then
7532 +  cf_result=yes
7533 +else
7534 +  echo "$as_me: failed program was:" >&5
7535 +cat conftest.$ac_ext >&5
7536 +cf_result=no
7537 +fi
7538 +rm -f conftest.$ac_objext conftest.$ac_ext
7539 +       echo "$as_me:6220: result: $cf_result" >&5
7540 +echo "${ECHO_T}$cf_result" >&6
7541 +       if test "$cf_result" = no ; then
7542 +               # perhaps we can override it - try...
7543 +               CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED="
7544 +       fi
7545 +fi
7546 +
7547         # with_overwrite=no
7548         NCURSES_CH_T=cchar_t
7549 -       echo "$as_me:5610: checking for putwc" >&5
7550 -echo $ECHO_N "checking for putwc... $ECHO_C" >&6
7551 -if test "${ac_cv_func_putwc+set}" = set; then
7552 +
7553 +for ac_func in putwc btowc wctob mbtowc wctomb
7554 +do
7555 +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
7556 +echo "$as_me:6234: checking for $ac_func" >&5
7557 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
7558 +if eval "test \"\${$as_ac_var+set}\" = set"; then
7559    echo $ECHO_N "(cached) $ECHO_C" >&6
7560  else
7561    cat >conftest.$ac_ext <<_ACEOF
7562 -#line 5616 "configure"
7563 +#line 6240 "configure"
7564  #include "confdefs.h"
7565  /* System header to define __stub macros and hopefully few prototypes,
7566 -    which can conflict with char putwc (); below.  */
7567 +    which can conflict with char $ac_func (); below.  */
7568  #include <assert.h>
7569  /* Override any gcc2 internal prototype to avoid an error.  */
7570  #ifdef __cplusplus
7571 @@ -5624,7 +6248,7 @@
7572  #endif
7573  /* We use char because int might match the return type of a gcc2
7574     builtin and then its argument prototype would still apply.  */
7575 -char putwc ();
7576 +char $ac_func ();
7577  char (*f) ();
7578  
7579  int
7580 @@ -5633,10 +6257,10 @@
7581  /* The GNU C library defines this for functions which it implements
7582      to always fail with ENOSYS.  Some functions are actually named
7583      something starting with __ and the normal name is an alias.  */
7584 -#if defined (__stub_putwc) || defined (__stub___putwc)
7585 +#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
7586  choke me
7587  #else
7588 -f = putwc;
7589 +f = $ac_func;
7590  #endif
7591  
7592    ;
7593 @@ -5644,31 +6268,38 @@
7594  }
7595  _ACEOF
7596  rm -f conftest.$ac_objext conftest$ac_exeext
7597 -if { (eval echo "$as_me:5647: \"$ac_link\"") >&5
7598 +if { (eval echo "$as_me:6271: \"$ac_link\"") >&5
7599    (eval $ac_link) 2>&5
7600    ac_status=$?
7601 -  echo "$as_me:5650: \$? = $ac_status" >&5
7602 +  echo "$as_me:6274: \$? = $ac_status" >&5
7603    (exit $ac_status); } &&
7604           { ac_try='test -s conftest$ac_exeext'
7605 -  { (eval echo "$as_me:5653: \"$ac_try\"") >&5
7606 +  { (eval echo "$as_me:6277: \"$ac_try\"") >&5
7607    (eval $ac_try) 2>&5
7608    ac_status=$?
7609 -  echo "$as_me:5656: \$? = $ac_status" >&5
7610 +  echo "$as_me:6280: \$? = $ac_status" >&5
7611    (exit $ac_status); }; }; then
7612 -  ac_cv_func_putwc=yes
7613 +  eval "$as_ac_var=yes"
7614  else
7615    echo "$as_me: failed program was:" >&5
7616  cat conftest.$ac_ext >&5
7617 -ac_cv_func_putwc=no
7618 +eval "$as_ac_var=no"
7619  fi
7620  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
7621  fi
7622 -echo "$as_me:5666: result: $ac_cv_func_putwc" >&5
7623 -echo "${ECHO_T}$ac_cv_func_putwc" >&6
7624 +echo "$as_me:6290: result: `eval echo '${'$as_ac_var'}'`" >&5
7625 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
7626 +if test `eval echo '${'$as_ac_var'}'` = yes; then
7627 +  cat >>confdefs.h <<EOF
7628 +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
7629 +EOF
7630  
7631 -if test "$ac_cv_func_putwc" != yes ; then
7632 +fi
7633 +done
7634  
7635 -echo "$as_me:5671: checking for putwc in libutf8" >&5
7636 +       if test "$ac_cv_func_putwc" != yes ; then
7637 +
7638 +echo "$as_me:6302: checking for putwc in libutf8" >&5
7639  echo $ECHO_N "checking for putwc in libutf8... $ECHO_C" >&6
7640  if test "${cf_cv_libutf8+set}" = set; then
7641    echo $ECHO_N "(cached) $ECHO_C" >&6
7642 @@ -5677,7 +6308,7 @@
7643         cf_save_LIBS="$LIBS"
7644         LIBS="-lutf8 $LIBS"
7645  cat >conftest.$ac_ext <<_ACEOF
7646 -#line 5680 "configure"
7647 +#line 6311 "configure"
7648  #include "confdefs.h"
7649  
7650  #include <libutf8.h>
7651 @@ -5690,16 +6321,16 @@
7652  }
7653  _ACEOF
7654  rm -f conftest.$ac_objext conftest$ac_exeext
7655 -if { (eval echo "$as_me:5693: \"$ac_link\"") >&5
7656 +if { (eval echo "$as_me:6324: \"$ac_link\"") >&5
7657    (eval $ac_link) 2>&5
7658    ac_status=$?
7659 -  echo "$as_me:5696: \$? = $ac_status" >&5
7660 +  echo "$as_me:6327: \$? = $ac_status" >&5
7661    (exit $ac_status); } &&
7662           { ac_try='test -s conftest$ac_exeext'
7663 -  { (eval echo "$as_me:5699: \"$ac_try\"") >&5
7664 +  { (eval echo "$as_me:6330: \"$ac_try\"") >&5
7665    (eval $ac_try) 2>&5
7666    ac_status=$?
7667 -  echo "$as_me:5702: \$? = $ac_status" >&5
7668 +  echo "$as_me:6333: \$? = $ac_status" >&5
7669    (exit $ac_status); }; }; then
7670    cf_cv_libutf8=yes
7671  else
7672 @@ -5711,7 +6342,7 @@
7673         LIBS="$cf_save_LIBS"
7674  
7675  fi
7676 -echo "$as_me:5714: result: $cf_cv_libutf8" >&5
7677 +echo "$as_me:6345: result: $cf_cv_libutf8" >&5
7678  echo "${ECHO_T}$cf_cv_libutf8" >&6
7679  
7680  if test "$cf_cv_libutf8" = yes ; then
7681 @@ -5722,20 +6353,20 @@
7682         LIBS="-lutf8 $LIBS"
7683  fi
7684  
7685 -       if test "$cf_cv_libutf8" = yes ; then
7686 -               NCURSES_LIBUTF8=1
7687 +               if test "$cf_cv_libutf8" = yes ; then
7688 +                       NCURSES_LIBUTF8=1
7689 +               fi
7690         fi
7691 -fi
7692  
7693  # This is needed on Tru64 5.0 to declare mbstate_t
7694 -echo "$as_me:5731: checking if we must include wchar.h to declare mbstate_t" >&5
7695 +echo "$as_me:6362: checking if we must include wchar.h to declare mbstate_t" >&5
7696  echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6
7697  if test "${cf_cv_mbstate_t+set}" = set; then
7698    echo $ECHO_N "(cached) $ECHO_C" >&6
7699  else
7700  
7701  cat >conftest.$ac_ext <<_ACEOF
7702 -#line 5738 "configure"
7703 +#line 6369 "configure"
7704  #include "confdefs.h"
7705  
7706  #include <stdlib.h>
7707 @@ -5751,23 +6382,23 @@
7708  }
7709  _ACEOF
7710  rm -f conftest.$ac_objext
7711 -if { (eval echo "$as_me:5754: \"$ac_compile\"") >&5
7712 +if { (eval echo "$as_me:6385: \"$ac_compile\"") >&5
7713    (eval $ac_compile) 2>&5
7714    ac_status=$?
7715 -  echo "$as_me:5757: \$? = $ac_status" >&5
7716 +  echo "$as_me:6388: \$? = $ac_status" >&5
7717    (exit $ac_status); } &&
7718           { ac_try='test -s conftest.$ac_objext'
7719 -  { (eval echo "$as_me:5760: \"$ac_try\"") >&5
7720 +  { (eval echo "$as_me:6391: \"$ac_try\"") >&5
7721    (eval $ac_try) 2>&5
7722    ac_status=$?
7723 -  echo "$as_me:5763: \$? = $ac_status" >&5
7724 +  echo "$as_me:6394: \$? = $ac_status" >&5
7725    (exit $ac_status); }; }; then
7726    cf_cv_mbstate_t=no
7727  else
7728    echo "$as_me: failed program was:" >&5
7729  cat conftest.$ac_ext >&5
7730  cat >conftest.$ac_ext <<_ACEOF
7731 -#line 5770 "configure"
7732 +#line 6401 "configure"
7733  #include "confdefs.h"
7734  
7735  #include <stdlib.h>
7736 @@ -5784,16 +6415,16 @@
7737  }
7738  _ACEOF
7739  rm -f conftest.$ac_objext
7740 -if { (eval echo "$as_me:5787: \"$ac_compile\"") >&5
7741 +if { (eval echo "$as_me:6418: \"$ac_compile\"") >&5
7742    (eval $ac_compile) 2>&5
7743    ac_status=$?
7744 -  echo "$as_me:5790: \$? = $ac_status" >&5
7745 +  echo "$as_me:6421: \$? = $ac_status" >&5
7746    (exit $ac_status); } &&
7747           { ac_try='test -s conftest.$ac_objext'
7748 -  { (eval echo "$as_me:5793: \"$ac_try\"") >&5
7749 +  { (eval echo "$as_me:6424: \"$ac_try\"") >&5
7750    (eval $ac_try) 2>&5
7751    ac_status=$?
7752 -  echo "$as_me:5796: \$? = $ac_status" >&5
7753 +  echo "$as_me:6427: \$? = $ac_status" >&5
7754    (exit $ac_status); }; }; then
7755    cf_cv_mbstate_t=yes
7756  else
7757 @@ -5805,7 +6436,7 @@
7758  fi
7759  rm -f conftest.$ac_objext conftest.$ac_ext
7760  fi
7761 -echo "$as_me:5808: result: $cf_cv_mbstate_t" >&5
7762 +echo "$as_me:6439: result: $cf_cv_mbstate_t" >&5
7763  echo "${ECHO_T}$cf_cv_mbstate_t" >&6
7764  
7765  if test "$cf_cv_mbstate_t" = yes ; then
7766 @@ -5813,21 +6444,215 @@
7767  #define NEED_WCHAR_H 1
7768  EOF
7769  
7770 +       NEED_WCHAR_H=1
7771  fi
7772  
7773 -if test "$cf_cv_mbstate_t" != unknown ; then
7774 +# if we do not find mbstate_t in either place, use substitution to provide a fallback.
7775 +if test "$cf_cv_mbstate_t" = unknown ; then
7776 +       NCURSES_MBSTATE_T=1
7777 +fi
7778 +
7779 +# This is needed on Tru64 5.0 to declare wchar_t
7780 +echo "$as_me:6456: checking if we must include wchar.h to declare wchar_t" >&5
7781 +echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6
7782 +if test "${cf_cv_wchar_t+set}" = set; then
7783 +  echo $ECHO_N "(cached) $ECHO_C" >&6
7784 +else
7785 +
7786 +cat >conftest.$ac_ext <<_ACEOF
7787 +#line 6463 "configure"
7788 +#include "confdefs.h"
7789 +
7790 +#include <stdlib.h>
7791 +#ifdef HAVE_LIBUTF8_H
7792 +#include <libutf8.h>
7793 +#endif
7794 +int
7795 +main ()
7796 +{
7797 +wchar_t state
7798 +  ;
7799 +  return 0;
7800 +}
7801 +_ACEOF
7802 +rm -f conftest.$ac_objext
7803 +if { (eval echo "$as_me:6479: \"$ac_compile\"") >&5
7804 +  (eval $ac_compile) 2>&5
7805 +  ac_status=$?
7806 +  echo "$as_me:6482: \$? = $ac_status" >&5
7807 +  (exit $ac_status); } &&
7808 +         { ac_try='test -s conftest.$ac_objext'
7809 +  { (eval echo "$as_me:6485: \"$ac_try\"") >&5
7810 +  (eval $ac_try) 2>&5
7811 +  ac_status=$?
7812 +  echo "$as_me:6488: \$? = $ac_status" >&5
7813 +  (exit $ac_status); }; }; then
7814 +  cf_cv_wchar_t=no
7815 +else
7816 +  echo "$as_me: failed program was:" >&5
7817 +cat conftest.$ac_ext >&5
7818 +cat >conftest.$ac_ext <<_ACEOF
7819 +#line 6495 "configure"
7820 +#include "confdefs.h"
7821 +
7822 +#include <stdlib.h>
7823 +#include <wchar.h>
7824 +#ifdef HAVE_LIBUTF8_H
7825 +#include <libutf8.h>
7826 +#endif
7827 +int
7828 +main ()
7829 +{
7830 +wchar_t value
7831 +  ;
7832 +  return 0;
7833 +}
7834 +_ACEOF
7835 +rm -f conftest.$ac_objext
7836 +if { (eval echo "$as_me:6512: \"$ac_compile\"") >&5
7837 +  (eval $ac_compile) 2>&5
7838 +  ac_status=$?
7839 +  echo "$as_me:6515: \$? = $ac_status" >&5
7840 +  (exit $ac_status); } &&
7841 +         { ac_try='test -s conftest.$ac_objext'
7842 +  { (eval echo "$as_me:6518: \"$ac_try\"") >&5
7843 +  (eval $ac_try) 2>&5
7844 +  ac_status=$?
7845 +  echo "$as_me:6521: \$? = $ac_status" >&5
7846 +  (exit $ac_status); }; }; then
7847 +  cf_cv_wchar_t=yes
7848 +else
7849 +  echo "$as_me: failed program was:" >&5
7850 +cat conftest.$ac_ext >&5
7851 +cf_cv_wchar_t=unknown
7852 +fi
7853 +rm -f conftest.$ac_objext conftest.$ac_ext
7854 +fi
7855 +rm -f conftest.$ac_objext conftest.$ac_ext
7856 +fi
7857 +echo "$as_me:6533: result: $cf_cv_wchar_t" >&5
7858 +echo "${ECHO_T}$cf_cv_wchar_t" >&6
7859 +
7860 +if test "$cf_cv_wchar_t" = yes ; then
7861         cat >>confdefs.h <<\EOF
7862 -#define HAVE_MBSTATE_T 1
7863 +#define NEED_WCHAR_H 1
7864  EOF
7865  
7866 +       NEED_WCHAR_H=1
7867  fi
7868  
7869 -       if test $cf_cv_mbstate_t = yes ; then
7870 -               NCURSES_MBSTATE_T=1
7871 -       fi
7872 +# if we do not find wchar_t in either place, use substitution to provide a fallback.
7873 +if test "$cf_cv_wchar_t" = unknown ; then
7874 +       NCURSES_WCHAR_T=1
7875  fi
7876  
7877 -echo "$as_me:5830: checking for terminal capabilities file" >&5
7878 +# if we find wchar_t in either place, use substitution to provide a fallback.
7879 +if test "$cf_cv_wchar_t" != unknown ; then
7880 +       NCURSES_OK_WCHAR_T=1
7881 +fi
7882 +
7883 +# This is needed on Tru64 5.0 to declare wint_t
7884 +echo "$as_me:6555: checking if we must include wchar.h to declare wint_t" >&5
7885 +echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6
7886 +if test "${cf_cv_wint_t+set}" = set; then
7887 +  echo $ECHO_N "(cached) $ECHO_C" >&6
7888 +else
7889 +
7890 +cat >conftest.$ac_ext <<_ACEOF
7891 +#line 6562 "configure"
7892 +#include "confdefs.h"
7893 +
7894 +#include <stdlib.h>
7895 +#ifdef HAVE_LIBUTF8_H
7896 +#include <libutf8.h>
7897 +#endif
7898 +int
7899 +main ()
7900 +{
7901 +wint_t state
7902 +  ;
7903 +  return 0;
7904 +}
7905 +_ACEOF
7906 +rm -f conftest.$ac_objext
7907 +if { (eval echo "$as_me:6578: \"$ac_compile\"") >&5
7908 +  (eval $ac_compile) 2>&5
7909 +  ac_status=$?
7910 +  echo "$as_me:6581: \$? = $ac_status" >&5
7911 +  (exit $ac_status); } &&
7912 +         { ac_try='test -s conftest.$ac_objext'
7913 +  { (eval echo "$as_me:6584: \"$ac_try\"") >&5
7914 +  (eval $ac_try) 2>&5
7915 +  ac_status=$?
7916 +  echo "$as_me:6587: \$? = $ac_status" >&5
7917 +  (exit $ac_status); }; }; then
7918 +  cf_cv_wint_t=no
7919 +else
7920 +  echo "$as_me: failed program was:" >&5
7921 +cat conftest.$ac_ext >&5
7922 +cat >conftest.$ac_ext <<_ACEOF
7923 +#line 6594 "configure"
7924 +#include "confdefs.h"
7925 +
7926 +#include <stdlib.h>
7927 +#include <wchar.h>
7928 +#ifdef HAVE_LIBUTF8_H
7929 +#include <libutf8.h>
7930 +#endif
7931 +int
7932 +main ()
7933 +{
7934 +wint_t value
7935 +  ;
7936 +  return 0;
7937 +}
7938 +_ACEOF
7939 +rm -f conftest.$ac_objext
7940 +if { (eval echo "$as_me:6611: \"$ac_compile\"") >&5
7941 +  (eval $ac_compile) 2>&5
7942 +  ac_status=$?
7943 +  echo "$as_me:6614: \$? = $ac_status" >&5
7944 +  (exit $ac_status); } &&
7945 +         { ac_try='test -s conftest.$ac_objext'
7946 +  { (eval echo "$as_me:6617: \"$ac_try\"") >&5
7947 +  (eval $ac_try) 2>&5
7948 +  ac_status=$?
7949 +  echo "$as_me:6620: \$? = $ac_status" >&5
7950 +  (exit $ac_status); }; }; then
7951 +  cf_cv_wint_t=yes
7952 +else
7953 +  echo "$as_me: failed program was:" >&5
7954 +cat conftest.$ac_ext >&5
7955 +cf_cv_wint_t=unknown
7956 +fi
7957 +rm -f conftest.$ac_objext conftest.$ac_ext
7958 +fi
7959 +rm -f conftest.$ac_objext conftest.$ac_ext
7960 +fi
7961 +echo "$as_me:6632: result: $cf_cv_wint_t" >&5
7962 +echo "${ECHO_T}$cf_cv_wint_t" >&6
7963 +
7964 +if test "$cf_cv_wint_t" = yes ; then
7965 +       cat >>confdefs.h <<\EOF
7966 +#define NEED_WCHAR_H 1
7967 +EOF
7968 +
7969 +       NEED_WCHAR_H=1
7970 +fi
7971 +
7972 +# if we do not find wint_t in either place, use substitution to provide a fallback.
7973 +if test "$cf_cv_wint_t" = unknown ; then
7974 +       NCURSES_WINT_T=1
7975 +fi
7976 +
7977 +# if we find wint_t in either place, use substitution to provide a fallback.
7978 +if test "$cf_cv_wint_t" != unknown ; then
7979 +       NCURSES_OK_WINT_T=1
7980 +fi
7981 +
7982 +fi
7983 +
7984 +echo "$as_me:6655: checking for terminal capabilities file" >&5
7985  echo $ECHO_N "checking for terminal capabilities file... $ECHO_C" >&6
7986  
7987  # Check whether --with-caps or --without-caps was given.
7988 @@ -5838,13 +6663,13 @@
7989    TERMINFO_CAPS=Caps
7990  fi;
7991  test -f ${srcdir}/include/${TERMINFO_CAPS} || TERMINFO_CAPS=Caps
7992 -echo "$as_me:5841: result: $TERMINFO_CAPS" >&5
7993 +echo "$as_me:6666: result: $TERMINFO_CAPS" >&5
7994  echo "${ECHO_T}$TERMINFO_CAPS" >&6
7995  
7996  ###############################################################################
7997  
7998  ###    use option --disable-echo to suppress full display compiling commands
7999 -echo "$as_me:5847: checking if you want to display full commands during build" >&5
8000 +echo "$as_me:6672: checking if you want to display full commands during build" >&5
8001  echo $ECHO_N "checking if you want to display full commands during build... $ECHO_C" >&6
8002  
8003  # Check whether --enable-echo or --disable-echo was given.
8004 @@ -5860,11 +6685,11 @@
8005         ECHO_LINK='@ echo linking $@ ... ;'
8006         test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
8007  fi
8008 -echo "$as_me:5863: result: $with_echo" >&5
8009 +echo "$as_me:6688: result: $with_echo" >&5
8010  echo "${ECHO_T}$with_echo" >&6
8011  
8012  ###    use option --enable-warnings to turn on all gcc warnings
8013 -echo "$as_me:5867: checking if you want to see compiler warnings" >&5
8014 +echo "$as_me:6692: checking if you want to see compiler warnings" >&5
8015  echo $ECHO_N "checking if you want to see compiler warnings... $ECHO_C" >&6
8016  
8017  # Check whether --enable-warnings or --disable-warnings was given.
8018 @@ -5872,7 +6697,7 @@
8019    enableval="$enable_warnings"
8020    with_warnings=$enableval
8021  fi;
8022 -echo "$as_me:5875: result: $with_warnings" >&5
8023 +echo "$as_me:6700: result: $with_warnings" >&5
8024  echo "${ECHO_T}$with_warnings" >&6
8025  
8026  if test -n "$with_warnings"; then
8027 @@ -5881,10 +6706,10 @@
8028  if test "$GCC" = yes
8029  then
8030         cat > conftest.$ac_ext <<EOF
8031 -#line 5884 "configure"
8032 +#line 6709 "configure"
8033  int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
8034  EOF
8035 -       { echo "$as_me:5887: checking for $CC warning options..." >&5
8036 +       { echo "$as_me:6712: checking for $CC warning options..." >&5
8037  echo "$as_me: checking for $CC warning options..." >&6;}
8038         cf_save_CFLAGS="$CFLAGS"
8039         EXTRA_CFLAGS="-W -Wall"
8040 @@ -5904,15 +6729,27 @@
8041                 Wundef $cf_warn_CONST
8042         do
8043                 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
8044 -               if { (eval echo "$as_me:5907: \"$ac_compile\"") >&5
8045 +               if { (eval echo "$as_me:6732: \"$ac_compile\"") >&5
8046    (eval $ac_compile) 2>&5
8047    ac_status=$?
8048 -  echo "$as_me:5910: \$? = $ac_status" >&5
8049 +  echo "$as_me:6735: \$? = $ac_status" >&5
8050    (exit $ac_status); }; then
8051 -                       test -n "$verbose" && echo "$as_me:5912: result: ... -$cf_opt" >&5
8052 +                       test -n "$verbose" && echo "$as_me:6737: result: ... -$cf_opt" >&5
8053  echo "${ECHO_T}... -$cf_opt" >&6
8054 +                       case $cf_opt in #(vi
8055 +                       Wcast-qual) #(vi
8056 +                               CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
8057 +                               ;;
8058 +                       Winline) #(vi
8059 +                               case $GCC_VERSION in
8060 +                               3.3*)
8061 +                                       test -n "$verbose" && echo "    feature is broken in gcc $GCC_VERSION" 1>&6
8062 +
8063 +                                       continue;;
8064 +                               esac
8065 +                               ;;
8066 +                       esac
8067                         EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
8068 -                       test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
8069                 fi
8070         done
8071         rm -f conftest*
8072 @@ -5939,10 +6776,10 @@
8073  EOF
8074  if test "$GCC" = yes
8075  then
8076 -       { echo "$as_me:5942: checking for $CC __attribute__ directives..." >&5
8077 +       { echo "$as_me:6779: checking for $CC __attribute__ directives..." >&5
8078  echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
8079  cat > conftest.$ac_ext <<EOF
8080 -#line 5945 "configure"
8081 +#line 6782 "configure"
8082  #include "confdefs.h"
8083  #include "conftest.h"
8084  #include "conftest.i"
8085 @@ -5980,16 +6817,14 @@
8086  EOF
8087                         ;;
8088                 esac
8089 -               if { (eval echo "$as_me:5983: \"$ac_compile\"") >&5
8090 +               if { (eval echo "$as_me:6820: \"$ac_compile\"") >&5
8091    (eval $ac_compile) 2>&5
8092    ac_status=$?
8093 -  echo "$as_me:5986: \$? = $ac_status" >&5
8094 +  echo "$as_me:6823: \$? = $ac_status" >&5
8095    (exit $ac_status); }; then
8096 -                       test -n "$verbose" && echo "$as_me:5988: result: ... $cf_attribute" >&5
8097 +                       test -n "$verbose" && echo "$as_me:6825: result: ... $cf_attribute" >&5
8098  echo "${ECHO_T}... $cf_attribute" >&6
8099                         cat conftest.h >>confdefs.h
8100 -#              else
8101 -#                      sed -e 's/__attr.*/\/*nothing*\//' conftest.h >>confdefs.h
8102                 fi
8103         done
8104  else
8105 @@ -5999,7 +6834,7 @@
8106  fi
8107  
8108  ###    use option --enable-assertions to turn on generation of assertion code
8109 -echo "$as_me:6002: checking if you want to enable runtime assertions" >&5
8110 +echo "$as_me:6837: checking if you want to enable runtime assertions" >&5
8111  echo $ECHO_N "checking if you want to enable runtime assertions... $ECHO_C" >&6
8112  
8113  # Check whether --enable-assertions or --disable-assertions was given.
8114 @@ -6009,7 +6844,7 @@
8115  else
8116    with_assertions=no
8117  fi;
8118 -echo "$as_me:6012: result: $with_assertions" >&5
8119 +echo "$as_me:6847: result: $with_assertions" >&5
8120  echo "${ECHO_T}$with_assertions" >&6
8121  if test -n "$GCC"
8122  then
8123 @@ -6062,13 +6897,13 @@
8124  fi;
8125  
8126  ###    Checks for libraries.
8127 -echo "$as_me:6065: checking for gettimeofday" >&5
8128 +echo "$as_me:6900: checking for gettimeofday" >&5
8129  echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6
8130  if test "${ac_cv_func_gettimeofday+set}" = set; then
8131    echo $ECHO_N "(cached) $ECHO_C" >&6
8132  else
8133    cat >conftest.$ac_ext <<_ACEOF
8134 -#line 6071 "configure"
8135 +#line 6906 "configure"
8136  #include "confdefs.h"
8137  /* System header to define __stub macros and hopefully few prototypes,
8138      which can conflict with char gettimeofday (); below.  */
8139 @@ -6099,16 +6934,16 @@
8140  }
8141  _ACEOF
8142  rm -f conftest.$ac_objext conftest$ac_exeext
8143 -if { (eval echo "$as_me:6102: \"$ac_link\"") >&5
8144 +if { (eval echo "$as_me:6937: \"$ac_link\"") >&5
8145    (eval $ac_link) 2>&5
8146    ac_status=$?
8147 -  echo "$as_me:6105: \$? = $ac_status" >&5
8148 +  echo "$as_me:6940: \$? = $ac_status" >&5
8149    (exit $ac_status); } &&
8150           { ac_try='test -s conftest$ac_exeext'
8151 -  { (eval echo "$as_me:6108: \"$ac_try\"") >&5
8152 +  { (eval echo "$as_me:6943: \"$ac_try\"") >&5
8153    (eval $ac_try) 2>&5
8154    ac_status=$?
8155 -  echo "$as_me:6111: \$? = $ac_status" >&5
8156 +  echo "$as_me:6946: \$? = $ac_status" >&5
8157    (exit $ac_status); }; }; then
8158    ac_cv_func_gettimeofday=yes
8159  else
8160 @@ -6118,7 +6953,7 @@
8161  fi
8162  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
8163  fi
8164 -echo "$as_me:6121: result: $ac_cv_func_gettimeofday" >&5
8165 +echo "$as_me:6956: result: $ac_cv_func_gettimeofday" >&5
8166  echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6
8167  if test $ac_cv_func_gettimeofday = yes; then
8168    cat >>confdefs.h <<\EOF
8169 @@ -6127,7 +6962,7 @@
8170  
8171  else
8172  
8173 -echo "$as_me:6130: checking for gettimeofday in -lbsd" >&5
8174 +echo "$as_me:6965: checking for gettimeofday in -lbsd" >&5
8175  echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6
8176  if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then
8177    echo $ECHO_N "(cached) $ECHO_C" >&6
8178 @@ -6135,7 +6970,7 @@
8179    ac_check_lib_save_LIBS=$LIBS
8180  LIBS="-lbsd  $LIBS"
8181  cat >conftest.$ac_ext <<_ACEOF
8182 -#line 6138 "configure"
8183 +#line 6973 "configure"
8184  #include "confdefs.h"
8185  
8186  /* Override any gcc2 internal prototype to avoid an error.  */
8187 @@ -6154,16 +6989,16 @@
8188  }
8189  _ACEOF
8190  rm -f conftest.$ac_objext conftest$ac_exeext
8191 -if { (eval echo "$as_me:6157: \"$ac_link\"") >&5
8192 +if { (eval echo "$as_me:6992: \"$ac_link\"") >&5
8193    (eval $ac_link) 2>&5
8194    ac_status=$?
8195 -  echo "$as_me:6160: \$? = $ac_status" >&5
8196 +  echo "$as_me:6995: \$? = $ac_status" >&5
8197    (exit $ac_status); } &&
8198           { ac_try='test -s conftest$ac_exeext'
8199 -  { (eval echo "$as_me:6163: \"$ac_try\"") >&5
8200 +  { (eval echo "$as_me:6998: \"$ac_try\"") >&5
8201    (eval $ac_try) 2>&5
8202    ac_status=$?
8203 -  echo "$as_me:6166: \$? = $ac_status" >&5
8204 +  echo "$as_me:7001: \$? = $ac_status" >&5
8205    (exit $ac_status); }; }; then
8206    ac_cv_lib_bsd_gettimeofday=yes
8207  else
8208 @@ -6174,7 +7009,7 @@
8209  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
8210  LIBS=$ac_check_lib_save_LIBS
8211  fi
8212 -echo "$as_me:6177: result: $ac_cv_lib_bsd_gettimeofday" >&5
8213 +echo "$as_me:7012: result: $ac_cv_lib_bsd_gettimeofday" >&5
8214  echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6
8215  if test $ac_cv_lib_bsd_gettimeofday = yes; then
8216    cat >>confdefs.h <<\EOF
8217 @@ -6186,14 +7021,14 @@
8218  
8219  fi
8220  
8221 -echo "$as_me:6189: checking if -lm needed for math functions" >&5
8222 +echo "$as_me:7024: checking if -lm needed for math functions" >&5
8223  echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6
8224  if test "${cf_cv_need_libm+set}" = set; then
8225    echo $ECHO_N "(cached) $ECHO_C" >&6
8226  else
8227  
8228         cat >conftest.$ac_ext <<_ACEOF
8229 -#line 6196 "configure"
8230 +#line 7031 "configure"
8231  #include "confdefs.h"
8232  
8233         #include <stdio.h>
8234 @@ -6208,16 +7043,16 @@
8235  }
8236  _ACEOF
8237  rm -f conftest.$ac_objext conftest$ac_exeext
8238 -if { (eval echo "$as_me:6211: \"$ac_link\"") >&5
8239 +if { (eval echo "$as_me:7046: \"$ac_link\"") >&5
8240    (eval $ac_link) 2>&5
8241    ac_status=$?
8242 -  echo "$as_me:6214: \$? = $ac_status" >&5
8243 +  echo "$as_me:7049: \$? = $ac_status" >&5
8244    (exit $ac_status); } &&
8245           { ac_try='test -s conftest$ac_exeext'
8246 -  { (eval echo "$as_me:6217: \"$ac_try\"") >&5
8247 +  { (eval echo "$as_me:7052: \"$ac_try\"") >&5
8248    (eval $ac_try) 2>&5
8249    ac_status=$?
8250 -  echo "$as_me:6220: \$? = $ac_status" >&5
8251 +  echo "$as_me:7055: \$? = $ac_status" >&5
8252    (exit $ac_status); }; }; then
8253    cf_cv_need_libm=no
8254  else
8255 @@ -6227,7 +7062,7 @@
8256  fi
8257  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
8258  fi
8259 -echo "$as_me:6230: result: $cf_cv_need_libm" >&5
8260 +echo "$as_me:7065: result: $cf_cv_need_libm" >&5
8261  echo "${ECHO_T}$cf_cv_need_libm" >&6
8262  if test "$cf_cv_need_libm" = yes
8263  then
8264 @@ -6235,97 +7070,13 @@
8265  fi
8266  
8267  ###    Checks for header files.
8268 -
8269 -echo "$as_me:6239: checking if we must define _GNU_SOURCE" >&5
8270 -echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
8271 -if test "${cf_cv_gnu_source+set}" = set; then
8272 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8273 -else
8274 -
8275 -cat >conftest.$ac_ext <<_ACEOF
8276 -#line 6246 "configure"
8277 -#include "confdefs.h"
8278 -#include <sys/types.h>
8279 -int
8280 -main ()
8281 -{
8282 -
8283 -#ifndef _XOPEN_SOURCE
8284 -make an error
8285 -#endif
8286 -  ;
8287 -  return 0;
8288 -}
8289 -_ACEOF
8290 -rm -f conftest.$ac_objext
8291 -if { (eval echo "$as_me:6261: \"$ac_compile\"") >&5
8292 -  (eval $ac_compile) 2>&5
8293 -  ac_status=$?
8294 -  echo "$as_me:6264: \$? = $ac_status" >&5
8295 -  (exit $ac_status); } &&
8296 -         { ac_try='test -s conftest.$ac_objext'
8297 -  { (eval echo "$as_me:6267: \"$ac_try\"") >&5
8298 -  (eval $ac_try) 2>&5
8299 -  ac_status=$?
8300 -  echo "$as_me:6270: \$? = $ac_status" >&5
8301 -  (exit $ac_status); }; }; then
8302 -  cf_cv_gnu_source=no
8303 -else
8304 -  echo "$as_me: failed program was:" >&5
8305 -cat conftest.$ac_ext >&5
8306 -cf_save="$CPPFLAGS"
8307 -        CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
8308 -        cat >conftest.$ac_ext <<_ACEOF
8309 -#line 6279 "configure"
8310 -#include "confdefs.h"
8311 -#include <sys/types.h>
8312 -int
8313 -main ()
8314 -{
8315 -
8316 -#ifdef _XOPEN_SOURCE
8317 -make an error
8318 -#endif
8319 -  ;
8320 -  return 0;
8321 -}
8322 -_ACEOF
8323 -rm -f conftest.$ac_objext
8324 -if { (eval echo "$as_me:6294: \"$ac_compile\"") >&5
8325 -  (eval $ac_compile) 2>&5
8326 -  ac_status=$?
8327 -  echo "$as_me:6297: \$? = $ac_status" >&5
8328 -  (exit $ac_status); } &&
8329 -         { ac_try='test -s conftest.$ac_objext'
8330 -  { (eval echo "$as_me:6300: \"$ac_try\"") >&5
8331 -  (eval $ac_try) 2>&5
8332 -  ac_status=$?
8333 -  echo "$as_me:6303: \$? = $ac_status" >&5
8334 -  (exit $ac_status); }; }; then
8335 -  cf_cv_gnu_source=no
8336 -else
8337 -  echo "$as_me: failed program was:" >&5
8338 -cat conftest.$ac_ext >&5
8339 -cf_cv_gnu_source=yes
8340 -fi
8341 -rm -f conftest.$ac_objext conftest.$ac_ext
8342 -       CPPFLAGS="$cf_save"
8343 -
8344 -fi
8345 -rm -f conftest.$ac_objext conftest.$ac_ext
8346 -
8347 -fi
8348 -echo "$as_me:6318: result: $cf_cv_gnu_source" >&5
8349 -echo "${ECHO_T}$cf_cv_gnu_source" >&6
8350 -test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
8351 -
8352 -echo "$as_me:6322: checking for ANSI C header files" >&5
8353 +echo "$as_me:7073: checking for ANSI C header files" >&5
8354  echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
8355  if test "${ac_cv_header_stdc+set}" = set; then
8356    echo $ECHO_N "(cached) $ECHO_C" >&6
8357  else
8358    cat >conftest.$ac_ext <<_ACEOF
8359 -#line 6328 "configure"
8360 +#line 7079 "configure"
8361  #include "confdefs.h"
8362  #include <stdlib.h>
8363  #include <stdarg.h>
8364 @@ -6333,13 +7084,13 @@
8365  #include <float.h>
8366  
8367  _ACEOF
8368 -if { (eval echo "$as_me:6336: \"$ac_cpp conftest.$ac_ext\"") >&5
8369 +if { (eval echo "$as_me:7087: \"$ac_cpp conftest.$ac_ext\"") >&5
8370    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
8371    ac_status=$?
8372    egrep -v '^ *\+' conftest.er1 >conftest.err
8373    rm -f conftest.er1
8374    cat conftest.err >&5
8375 -  echo "$as_me:6342: \$? = $ac_status" >&5
8376 +  echo "$as_me:7093: \$? = $ac_status" >&5
8377    (exit $ac_status); } >/dev/null; then
8378    if test -s conftest.err; then
8379      ac_cpp_err=$ac_c_preproc_warn_flag
8380 @@ -6361,7 +7112,7 @@
8381  if test $ac_cv_header_stdc = yes; then
8382    # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
8383    cat >conftest.$ac_ext <<_ACEOF
8384 -#line 6364 "configure"
8385 +#line 7115 "configure"
8386  #include "confdefs.h"
8387  #include <string.h>
8388  
8389 @@ -6379,7 +7130,7 @@
8390  if test $ac_cv_header_stdc = yes; then
8391    # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
8392    cat >conftest.$ac_ext <<_ACEOF
8393 -#line 6382 "configure"
8394 +#line 7133 "configure"
8395  #include "confdefs.h"
8396  #include <stdlib.h>
8397  
8398 @@ -6400,7 +7151,7 @@
8399    :
8400  else
8401    cat >conftest.$ac_ext <<_ACEOF
8402 -#line 6403 "configure"
8403 +#line 7154 "configure"
8404  #include "confdefs.h"
8405  #include <ctype.h>
8406  #if ((' ' & 0x0FF) == 0x020)
8407 @@ -6426,15 +7177,15 @@
8408  }
8409  _ACEOF
8410  rm -f conftest$ac_exeext
8411 -if { (eval echo "$as_me:6429: \"$ac_link\"") >&5
8412 +if { (eval echo "$as_me:7180: \"$ac_link\"") >&5
8413    (eval $ac_link) 2>&5
8414    ac_status=$?
8415 -  echo "$as_me:6432: \$? = $ac_status" >&5
8416 +  echo "$as_me:7183: \$? = $ac_status" >&5
8417    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
8418 -  { (eval echo "$as_me:6434: \"$ac_try\"") >&5
8419 +  { (eval echo "$as_me:7185: \"$ac_try\"") >&5
8420    (eval $ac_try) 2>&5
8421    ac_status=$?
8422 -  echo "$as_me:6437: \$? = $ac_status" >&5
8423 +  echo "$as_me:7188: \$? = $ac_status" >&5
8424    (exit $ac_status); }; }; then
8425    :
8426  else
8427 @@ -6447,7 +7198,7 @@
8428  fi
8429  fi
8430  fi
8431 -echo "$as_me:6450: result: $ac_cv_header_stdc" >&5
8432 +echo "$as_me:7201: result: $ac_cv_header_stdc" >&5
8433  echo "${ECHO_T}$ac_cv_header_stdc" >&6
8434  if test $ac_cv_header_stdc = yes; then
8435  
8436 @@ -6460,13 +7211,13 @@
8437  ac_header_dirent=no
8438  for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
8439    as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
8440 -echo "$as_me:6463: checking for $ac_hdr that defines DIR" >&5
8441 +echo "$as_me:7214: checking for $ac_hdr that defines DIR" >&5
8442  echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
8443  if eval "test \"\${$as_ac_Header+set}\" = set"; then
8444    echo $ECHO_N "(cached) $ECHO_C" >&6
8445  else
8446    cat >conftest.$ac_ext <<_ACEOF
8447 -#line 6469 "configure"
8448 +#line 7220 "configure"
8449  #include "confdefs.h"
8450  #include <sys/types.h>
8451  #include <$ac_hdr>
8452 @@ -6481,16 +7232,16 @@
8453  }
8454  _ACEOF
8455  rm -f conftest.$ac_objext
8456 -if { (eval echo "$as_me:6484: \"$ac_compile\"") >&5
8457 +if { (eval echo "$as_me:7235: \"$ac_compile\"") >&5
8458    (eval $ac_compile) 2>&5
8459    ac_status=$?
8460 -  echo "$as_me:6487: \$? = $ac_status" >&5
8461 +  echo "$as_me:7238: \$? = $ac_status" >&5
8462    (exit $ac_status); } &&
8463           { ac_try='test -s conftest.$ac_objext'
8464 -  { (eval echo "$as_me:6490: \"$ac_try\"") >&5
8465 +  { (eval echo "$as_me:7241: \"$ac_try\"") >&5
8466    (eval $ac_try) 2>&5
8467    ac_status=$?
8468 -  echo "$as_me:6493: \$? = $ac_status" >&5
8469 +  echo "$as_me:7244: \$? = $ac_status" >&5
8470    (exit $ac_status); }; }; then
8471    eval "$as_ac_Header=yes"
8472  else
8473 @@ -6500,7 +7251,7 @@
8474  fi
8475  rm -f conftest.$ac_objext conftest.$ac_ext
8476  fi
8477 -echo "$as_me:6503: result: `eval echo '${'$as_ac_Header'}'`" >&5
8478 +echo "$as_me:7254: result: `eval echo '${'$as_ac_Header'}'`" >&5
8479  echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
8480  if test `eval echo '${'$as_ac_Header'}'` = yes; then
8481    cat >>confdefs.h <<EOF
8482 @@ -6513,7 +7264,7 @@
8483  done
8484  # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
8485  if test $ac_header_dirent = dirent.h; then
8486 -  echo "$as_me:6516: checking for opendir in -ldir" >&5
8487 +  echo "$as_me:7267: checking for opendir in -ldir" >&5
8488  echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6
8489  if test "${ac_cv_lib_dir_opendir+set}" = set; then
8490    echo $ECHO_N "(cached) $ECHO_C" >&6
8491 @@ -6521,7 +7272,7 @@
8492    ac_check_lib_save_LIBS=$LIBS
8493  LIBS="-ldir  $LIBS"
8494  cat >conftest.$ac_ext <<_ACEOF
8495 -#line 6524 "configure"
8496 +#line 7275 "configure"
8497  #include "confdefs.h"
8498  
8499  /* Override any gcc2 internal prototype to avoid an error.  */
8500 @@ -6540,16 +7291,16 @@
8501  }
8502  _ACEOF
8503  rm -f conftest.$ac_objext conftest$ac_exeext
8504 -if { (eval echo "$as_me:6543: \"$ac_link\"") >&5
8505 +if { (eval echo "$as_me:7294: \"$ac_link\"") >&5
8506    (eval $ac_link) 2>&5
8507    ac_status=$?
8508 -  echo "$as_me:6546: \$? = $ac_status" >&5
8509 +  echo "$as_me:7297: \$? = $ac_status" >&5
8510    (exit $ac_status); } &&
8511           { ac_try='test -s conftest$ac_exeext'
8512 -  { (eval echo "$as_me:6549: \"$ac_try\"") >&5
8513 +  { (eval echo "$as_me:7300: \"$ac_try\"") >&5
8514    (eval $ac_try) 2>&5
8515    ac_status=$?
8516 -  echo "$as_me:6552: \$? = $ac_status" >&5
8517 +  echo "$as_me:7303: \$? = $ac_status" >&5
8518    (exit $ac_status); }; }; then
8519    ac_cv_lib_dir_opendir=yes
8520  else
8521 @@ -6560,14 +7311,14 @@
8522  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
8523  LIBS=$ac_check_lib_save_LIBS
8524  fi
8525 -echo "$as_me:6563: result: $ac_cv_lib_dir_opendir" >&5
8526 +echo "$as_me:7314: result: $ac_cv_lib_dir_opendir" >&5
8527  echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6
8528  if test $ac_cv_lib_dir_opendir = yes; then
8529    LIBS="$LIBS -ldir"
8530  fi
8531  
8532  else
8533 -  echo "$as_me:6570: checking for opendir in -lx" >&5
8534 +  echo "$as_me:7321: checking for opendir in -lx" >&5
8535  echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6
8536  if test "${ac_cv_lib_x_opendir+set}" = set; then
8537    echo $ECHO_N "(cached) $ECHO_C" >&6
8538 @@ -6575,7 +7326,7 @@
8539    ac_check_lib_save_LIBS=$LIBS
8540  LIBS="-lx  $LIBS"
8541  cat >conftest.$ac_ext <<_ACEOF
8542 -#line 6578 "configure"
8543 +#line 7329 "configure"
8544  #include "confdefs.h"
8545  
8546  /* Override any gcc2 internal prototype to avoid an error.  */
8547 @@ -6594,16 +7345,16 @@
8548  }
8549  _ACEOF
8550  rm -f conftest.$ac_objext conftest$ac_exeext
8551 -if { (eval echo "$as_me:6597: \"$ac_link\"") >&5
8552 +if { (eval echo "$as_me:7348: \"$ac_link\"") >&5
8553    (eval $ac_link) 2>&5
8554    ac_status=$?
8555 -  echo "$as_me:6600: \$? = $ac_status" >&5
8556 +  echo "$as_me:7351: \$? = $ac_status" >&5
8557    (exit $ac_status); } &&
8558           { ac_try='test -s conftest$ac_exeext'
8559 -  { (eval echo "$as_me:6603: \"$ac_try\"") >&5
8560 +  { (eval echo "$as_me:7354: \"$ac_try\"") >&5
8561    (eval $ac_try) 2>&5
8562    ac_status=$?
8563 -  echo "$as_me:6606: \$? = $ac_status" >&5
8564 +  echo "$as_me:7357: \$? = $ac_status" >&5
8565    (exit $ac_status); }; }; then
8566    ac_cv_lib_x_opendir=yes
8567  else
8568 @@ -6614,7 +7365,7 @@
8569  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
8570  LIBS=$ac_check_lib_save_LIBS
8571  fi
8572 -echo "$as_me:6617: result: $ac_cv_lib_x_opendir" >&5
8573 +echo "$as_me:7368: result: $ac_cv_lib_x_opendir" >&5
8574  echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6
8575  if test $ac_cv_lib_x_opendir = yes; then
8576    LIBS="$LIBS -lx"
8577 @@ -6622,13 +7373,13 @@
8578  
8579  fi
8580  
8581 -echo "$as_me:6625: checking whether time.h and sys/time.h may both be included" >&5
8582 +echo "$as_me:7376: checking whether time.h and sys/time.h may both be included" >&5
8583  echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
8584  if test "${ac_cv_header_time+set}" = set; then
8585    echo $ECHO_N "(cached) $ECHO_C" >&6
8586  else
8587    cat >conftest.$ac_ext <<_ACEOF
8588 -#line 6631 "configure"
8589 +#line 7382 "configure"
8590  #include "confdefs.h"
8591  #include <sys/types.h>
8592  #include <sys/time.h>
8593 @@ -6644,16 +7395,16 @@
8594  }
8595  _ACEOF
8596  rm -f conftest.$ac_objext
8597 -if { (eval echo "$as_me:6647: \"$ac_compile\"") >&5
8598 +if { (eval echo "$as_me:7398: \"$ac_compile\"") >&5
8599    (eval $ac_compile) 2>&5
8600    ac_status=$?
8601 -  echo "$as_me:6650: \$? = $ac_status" >&5
8602 +  echo "$as_me:7401: \$? = $ac_status" >&5
8603    (exit $ac_status); } &&
8604           { ac_try='test -s conftest.$ac_objext'
8605 -  { (eval echo "$as_me:6653: \"$ac_try\"") >&5
8606 +  { (eval echo "$as_me:7404: \"$ac_try\"") >&5
8607    (eval $ac_try) 2>&5
8608    ac_status=$?
8609 -  echo "$as_me:6656: \$? = $ac_status" >&5
8610 +  echo "$as_me:7407: \$? = $ac_status" >&5
8611    (exit $ac_status); }; }; then
8612    ac_cv_header_time=yes
8613  else
8614 @@ -6663,7 +7414,7 @@
8615  fi
8616  rm -f conftest.$ac_objext conftest.$ac_ext
8617  fi
8618 -echo "$as_me:6666: result: $ac_cv_header_time" >&5
8619 +echo "$as_me:7417: result: $ac_cv_header_time" >&5
8620  echo "${ECHO_T}$ac_cv_header_time" >&6
8621  if test $ac_cv_header_time = yes; then
8622  
8623 @@ -6673,14 +7424,14 @@
8624  
8625  fi
8626  
8627 -echo "$as_me:6676: checking for regular-expression headers" >&5
8628 +echo "$as_me:7427: checking for regular-expression headers" >&5
8629  echo $ECHO_N "checking for regular-expression headers... $ECHO_C" >&6
8630  if test "${cf_cv_regex+set}" = set; then
8631    echo $ECHO_N "(cached) $ECHO_C" >&6
8632  else
8633  
8634  cat >conftest.$ac_ext <<_ACEOF
8635 -#line 6683 "configure"
8636 +#line 7434 "configure"
8637  #include "confdefs.h"
8638  #include <sys/types.h>
8639  #include <regex.h>
8640 @@ -6698,16 +7449,16 @@
8641  }
8642  _ACEOF
8643  rm -f conftest.$ac_objext conftest$ac_exeext
8644 -if { (eval echo "$as_me:6701: \"$ac_link\"") >&5
8645 +if { (eval echo "$as_me:7452: \"$ac_link\"") >&5
8646    (eval $ac_link) 2>&5
8647    ac_status=$?
8648 -  echo "$as_me:6704: \$? = $ac_status" >&5
8649 +  echo "$as_me:7455: \$? = $ac_status" >&5
8650    (exit $ac_status); } &&
8651           { ac_try='test -s conftest$ac_exeext'
8652 -  { (eval echo "$as_me:6707: \"$ac_try\"") >&5
8653 +  { (eval echo "$as_me:7458: \"$ac_try\"") >&5
8654    (eval $ac_try) 2>&5
8655    ac_status=$?
8656 -  echo "$as_me:6710: \$? = $ac_status" >&5
8657 +  echo "$as_me:7461: \$? = $ac_status" >&5
8658    (exit $ac_status); }; }; then
8659    cf_cv_regex="regex.h"
8660  else
8661 @@ -6715,7 +7466,7 @@
8662  cat conftest.$ac_ext >&5
8663  
8664         cat >conftest.$ac_ext <<_ACEOF
8665 -#line 6718 "configure"
8666 +#line 7469 "configure"
8667  #include "confdefs.h"
8668  #include <regexp.h>
8669  int
8670 @@ -6730,16 +7481,16 @@
8671  }
8672  _ACEOF
8673  rm -f conftest.$ac_objext conftest$ac_exeext
8674 -if { (eval echo "$as_me:6733: \"$ac_link\"") >&5
8675 +if { (eval echo "$as_me:7484: \"$ac_link\"") >&5
8676    (eval $ac_link) 2>&5
8677    ac_status=$?
8678 -  echo "$as_me:6736: \$? = $ac_status" >&5
8679 +  echo "$as_me:7487: \$? = $ac_status" >&5
8680    (exit $ac_status); } &&
8681           { ac_try='test -s conftest$ac_exeext'
8682 -  { (eval echo "$as_me:6739: \"$ac_try\"") >&5
8683 +  { (eval echo "$as_me:7490: \"$ac_try\"") >&5
8684    (eval $ac_try) 2>&5
8685    ac_status=$?
8686 -  echo "$as_me:6742: \$? = $ac_status" >&5
8687 +  echo "$as_me:7493: \$? = $ac_status" >&5
8688    (exit $ac_status); }; }; then
8689    cf_cv_regex="regexp.h"
8690  else
8691 @@ -6749,7 +7500,7 @@
8692                 cf_save_LIBS="$LIBS"
8693                 LIBS="-lgen $LIBS"
8694                 cat >conftest.$ac_ext <<_ACEOF
8695 -#line 6752 "configure"
8696 +#line 7503 "configure"
8697  #include "confdefs.h"
8698  #include <regexpr.h>
8699  int
8700 @@ -6764,16 +7515,16 @@
8701  }
8702  _ACEOF
8703  rm -f conftest.$ac_objext conftest$ac_exeext
8704 -if { (eval echo "$as_me:6767: \"$ac_link\"") >&5
8705 +if { (eval echo "$as_me:7518: \"$ac_link\"") >&5
8706    (eval $ac_link) 2>&5
8707    ac_status=$?
8708 -  echo "$as_me:6770: \$? = $ac_status" >&5
8709 +  echo "$as_me:7521: \$? = $ac_status" >&5
8710    (exit $ac_status); } &&
8711           { ac_try='test -s conftest$ac_exeext'
8712 -  { (eval echo "$as_me:6773: \"$ac_try\"") >&5
8713 +  { (eval echo "$as_me:7524: \"$ac_try\"") >&5
8714    (eval $ac_try) 2>&5
8715    ac_status=$?
8716 -  echo "$as_me:6776: \$? = $ac_status" >&5
8717 +  echo "$as_me:7527: \$? = $ac_status" >&5
8718    (exit $ac_status); }; }; then
8719    cf_cv_regex="regexpr.h"
8720  else
8721 @@ -6789,7 +7540,7 @@
8722  
8723  fi
8724  
8725 -echo "$as_me:6792: result: $cf_cv_regex" >&5
8726 +echo "$as_me:7543: result: $cf_cv_regex" >&5
8727  echo "${ECHO_T}$cf_cv_regex" >&6
8728  case $cf_cv_regex in
8729         regex.h)   cat >>confdefs.h <<\EOF
8730 @@ -6825,23 +7576,23 @@
8731  
8732  do
8733  as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
8734 -echo "$as_me:6828: checking for $ac_header" >&5
8735 +echo "$as_me:7579: checking for $ac_header" >&5
8736  echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
8737  if eval "test \"\${$as_ac_Header+set}\" = set"; then
8738    echo $ECHO_N "(cached) $ECHO_C" >&6
8739  else
8740    cat >conftest.$ac_ext <<_ACEOF
8741 -#line 6834 "configure"
8742 +#line 7585 "configure"
8743  #include "confdefs.h"
8744  #include <$ac_header>
8745  _ACEOF
8746 -if { (eval echo "$as_me:6838: \"$ac_cpp conftest.$ac_ext\"") >&5
8747 +if { (eval echo "$as_me:7589: \"$ac_cpp conftest.$ac_ext\"") >&5
8748    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
8749    ac_status=$?
8750    egrep -v '^ *\+' conftest.er1 >conftest.err
8751    rm -f conftest.er1
8752    cat conftest.err >&5
8753 -  echo "$as_me:6844: \$? = $ac_status" >&5
8754 +  echo "$as_me:7595: \$? = $ac_status" >&5
8755    (exit $ac_status); } >/dev/null; then
8756    if test -s conftest.err; then
8757      ac_cpp_err=$ac_c_preproc_warn_flag
8758 @@ -6860,7 +7611,7 @@
8759  fi
8760  rm -f conftest.err conftest.$ac_ext
8761  fi
8762 -echo "$as_me:6863: result: `eval echo '${'$as_ac_Header'}'`" >&5
8763 +echo "$as_me:7614: result: `eval echo '${'$as_ac_Header'}'`" >&5
8764  echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
8765  if test `eval echo '${'$as_ac_Header'}'` = yes; then
8766    cat >>confdefs.h <<EOF
8767 @@ -6874,7 +7625,7 @@
8768  # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
8769  if test "$ISC" = yes ; then
8770  
8771 -echo "$as_me:6877: checking for main in -lcposix" >&5
8772 +echo "$as_me:7628: checking for main in -lcposix" >&5
8773  echo $ECHO_N "checking for main in -lcposix... $ECHO_C" >&6
8774  if test "${ac_cv_lib_cposix_main+set}" = set; then
8775    echo $ECHO_N "(cached) $ECHO_C" >&6
8776 @@ -6882,7 +7633,7 @@
8777    ac_check_lib_save_LIBS=$LIBS
8778  LIBS="-lcposix  $LIBS"
8779  cat >conftest.$ac_ext <<_ACEOF
8780 -#line 6885 "configure"
8781 +#line 7636 "configure"
8782  #include "confdefs.h"
8783  
8784  int
8785 @@ -6894,16 +7645,16 @@
8786  }
8787  _ACEOF
8788  rm -f conftest.$ac_objext conftest$ac_exeext
8789 -if { (eval echo "$as_me:6897: \"$ac_link\"") >&5
8790 +if { (eval echo "$as_me:7648: \"$ac_link\"") >&5
8791    (eval $ac_link) 2>&5
8792    ac_status=$?
8793 -  echo "$as_me:6900: \$? = $ac_status" >&5
8794 +  echo "$as_me:7651: \$? = $ac_status" >&5
8795    (exit $ac_status); } &&
8796           { ac_try='test -s conftest$ac_exeext'
8797 -  { (eval echo "$as_me:6903: \"$ac_try\"") >&5
8798 +  { (eval echo "$as_me:7654: \"$ac_try\"") >&5
8799    (eval $ac_try) 2>&5
8800    ac_status=$?
8801 -  echo "$as_me:6906: \$? = $ac_status" >&5
8802 +  echo "$as_me:7657: \$? = $ac_status" >&5
8803    (exit $ac_status); }; }; then
8804    ac_cv_lib_cposix_main=yes
8805  else
8806 @@ -6914,7 +7665,7 @@
8807  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
8808  LIBS=$ac_check_lib_save_LIBS
8809  fi
8810 -echo "$as_me:6917: result: $ac_cv_lib_cposix_main" >&5
8811 +echo "$as_me:7668: result: $ac_cv_lib_cposix_main" >&5
8812  echo "${ECHO_T}$ac_cv_lib_cposix_main" >&6
8813  if test $ac_cv_lib_cposix_main = yes; then
8814    cat >>confdefs.h <<EOF
8815 @@ -6925,7 +7676,7 @@
8816  
8817  fi
8818  
8819 -       echo "$as_me:6928: checking for bzero in -linet" >&5
8820 +       echo "$as_me:7679: checking for bzero in -linet" >&5
8821  echo $ECHO_N "checking for bzero in -linet... $ECHO_C" >&6
8822  if test "${ac_cv_lib_inet_bzero+set}" = set; then
8823    echo $ECHO_N "(cached) $ECHO_C" >&6
8824 @@ -6933,7 +7684,7 @@
8825    ac_check_lib_save_LIBS=$LIBS
8826  LIBS="-linet  $LIBS"
8827  cat >conftest.$ac_ext <<_ACEOF
8828 -#line 6936 "configure"
8829 +#line 7687 "configure"
8830  #include "confdefs.h"
8831  
8832  /* Override any gcc2 internal prototype to avoid an error.  */
8833 @@ -6952,16 +7703,16 @@
8834  }
8835  _ACEOF
8836  rm -f conftest.$ac_objext conftest$ac_exeext
8837 -if { (eval echo "$as_me:6955: \"$ac_link\"") >&5
8838 +if { (eval echo "$as_me:7706: \"$ac_link\"") >&5
8839    (eval $ac_link) 2>&5
8840    ac_status=$?
8841 -  echo "$as_me:6958: \$? = $ac_status" >&5
8842 +  echo "$as_me:7709: \$? = $ac_status" >&5
8843    (exit $ac_status); } &&
8844           { ac_try='test -s conftest$ac_exeext'
8845 -  { (eval echo "$as_me:6961: \"$ac_try\"") >&5
8846 +  { (eval echo "$as_me:7712: \"$ac_try\"") >&5
8847    (eval $ac_try) 2>&5
8848    ac_status=$?
8849 -  echo "$as_me:6964: \$? = $ac_status" >&5
8850 +  echo "$as_me:7715: \$? = $ac_status" >&5
8851    (exit $ac_status); }; }; then
8852    ac_cv_lib_inet_bzero=yes
8853  else
8854 @@ -6972,21 +7723,21 @@
8855  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
8856  LIBS=$ac_check_lib_save_LIBS
8857  fi
8858 -echo "$as_me:6975: result: $ac_cv_lib_inet_bzero" >&5
8859 +echo "$as_me:7726: result: $ac_cv_lib_inet_bzero" >&5
8860  echo "${ECHO_T}$ac_cv_lib_inet_bzero" >&6
8861  if test $ac_cv_lib_inet_bzero = yes; then
8862    LIBS="$LIBS -linet"
8863  fi
8864  fi
8865  
8866 -echo "$as_me:6982: checking if sys/time.h works with sys/select.h" >&5
8867 +echo "$as_me:7733: checking if sys/time.h works with sys/select.h" >&5
8868  echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
8869  if test "${cf_cv_sys_time_select+set}" = set; then
8870    echo $ECHO_N "(cached) $ECHO_C" >&6
8871  else
8872  
8873  cat >conftest.$ac_ext <<_ACEOF
8874 -#line 6989 "configure"
8875 +#line 7740 "configure"
8876  #include "confdefs.h"
8877  
8878  #include <sys/types.h>
8879 @@ -7006,16 +7757,16 @@
8880  }
8881  _ACEOF
8882  rm -f conftest.$ac_objext
8883 -if { (eval echo "$as_me:7009: \"$ac_compile\"") >&5
8884 +if { (eval echo "$as_me:7760: \"$ac_compile\"") >&5
8885    (eval $ac_compile) 2>&5
8886    ac_status=$?
8887 -  echo "$as_me:7012: \$? = $ac_status" >&5
8888 +  echo "$as_me:7763: \$? = $ac_status" >&5
8889    (exit $ac_status); } &&
8890           { ac_try='test -s conftest.$ac_objext'
8891 -  { (eval echo "$as_me:7015: \"$ac_try\"") >&5
8892 +  { (eval echo "$as_me:7766: \"$ac_try\"") >&5
8893    (eval $ac_try) 2>&5
8894    ac_status=$?
8895 -  echo "$as_me:7018: \$? = $ac_status" >&5
8896 +  echo "$as_me:7769: \$? = $ac_status" >&5
8897    (exit $ac_status); }; }; then
8898    cf_cv_sys_time_select=yes
8899  else
8900 @@ -7027,7 +7778,7 @@
8901  
8902  fi
8903  
8904 -echo "$as_me:7030: result: $cf_cv_sys_time_select" >&5
8905 +echo "$as_me:7781: result: $cf_cv_sys_time_select" >&5
8906  echo "${ECHO_T}$cf_cv_sys_time_select" >&6
8907  test "$cf_cv_sys_time_select" = yes && cat >>confdefs.h <<\EOF
8908  #define HAVE_SYS_TIME_SELECT 1
8909 @@ -7040,7 +7791,7 @@
8910  ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
8911  ac_compiler_gnu=$ac_cv_c_compiler_gnu
8912  
8913 -echo "$as_me:7043: checking for $CC option to accept ANSI C" >&5
8914 +echo "$as_me:7794: checking for $CC option to accept ANSI C" >&5
8915  echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
8916  if test "${ac_cv_prog_cc_stdc+set}" = set; then
8917    echo $ECHO_N "(cached) $ECHO_C" >&6
8918 @@ -7048,7 +7799,7 @@
8919    ac_cv_prog_cc_stdc=no
8920  ac_save_CC=$CC
8921  cat >conftest.$ac_ext <<_ACEOF
8922 -#line 7051 "configure"
8923 +#line 7802 "configure"
8924  #include "confdefs.h"
8925  #include <stdarg.h>
8926  #include <stdio.h>
8927 @@ -7097,16 +7848,16 @@
8928  do
8929    CC="$ac_save_CC $ac_arg"
8930    rm -f conftest.$ac_objext
8931 -if { (eval echo "$as_me:7100: \"$ac_compile\"") >&5
8932 +if { (eval echo "$as_me:7851: \"$ac_compile\"") >&5
8933    (eval $ac_compile) 2>&5
8934    ac_status=$?
8935 -  echo "$as_me:7103: \$? = $ac_status" >&5
8936 +  echo "$as_me:7854: \$? = $ac_status" >&5
8937    (exit $ac_status); } &&
8938           { ac_try='test -s conftest.$ac_objext'
8939 -  { (eval echo "$as_me:7106: \"$ac_try\"") >&5
8940 +  { (eval echo "$as_me:7857: \"$ac_try\"") >&5
8941    (eval $ac_try) 2>&5
8942    ac_status=$?
8943 -  echo "$as_me:7109: \$? = $ac_status" >&5
8944 +  echo "$as_me:7860: \$? = $ac_status" >&5
8945    (exit $ac_status); }; }; then
8946    ac_cv_prog_cc_stdc=$ac_arg
8947  break
8948 @@ -7123,21 +7874,21 @@
8949  
8950  case "x$ac_cv_prog_cc_stdc" in
8951    x|xno)
8952 -    echo "$as_me:7126: result: none needed" >&5
8953 +    echo "$as_me:7877: result: none needed" >&5
8954  echo "${ECHO_T}none needed" >&6 ;;
8955    *)
8956 -    echo "$as_me:7129: result: $ac_cv_prog_cc_stdc" >&5
8957 +    echo "$as_me:7880: result: $ac_cv_prog_cc_stdc" >&5
8958  echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
8959      CC="$CC $ac_cv_prog_cc_stdc" ;;
8960  esac
8961  
8962 -echo "$as_me:7134: checking for an ANSI C-conforming const" >&5
8963 +echo "$as_me:7885: checking for an ANSI C-conforming const" >&5
8964  echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
8965  if test "${ac_cv_c_const+set}" = set; then
8966    echo $ECHO_N "(cached) $ECHO_C" >&6
8967  else
8968    cat >conftest.$ac_ext <<_ACEOF
8969 -#line 7140 "configure"
8970 +#line 7891 "configure"
8971  #include "confdefs.h"
8972  
8973  int
8974 @@ -7195,16 +7946,16 @@
8975  }
8976  _ACEOF
8977  rm -f conftest.$ac_objext
8978 -if { (eval echo "$as_me:7198: \"$ac_compile\"") >&5
8979 +if { (eval echo "$as_me:7949: \"$ac_compile\"") >&5
8980    (eval $ac_compile) 2>&5
8981    ac_status=$?
8982 -  echo "$as_me:7201: \$? = $ac_status" >&5
8983 +  echo "$as_me:7952: \$? = $ac_status" >&5
8984    (exit $ac_status); } &&
8985           { ac_try='test -s conftest.$ac_objext'
8986 -  { (eval echo "$as_me:7204: \"$ac_try\"") >&5
8987 +  { (eval echo "$as_me:7955: \"$ac_try\"") >&5
8988    (eval $ac_try) 2>&5
8989    ac_status=$?
8990 -  echo "$as_me:7207: \$? = $ac_status" >&5
8991 +  echo "$as_me:7958: \$? = $ac_status" >&5
8992    (exit $ac_status); }; }; then
8993    ac_cv_c_const=yes
8994  else
8995 @@ -7214,7 +7965,7 @@
8996  fi
8997  rm -f conftest.$ac_objext conftest.$ac_ext
8998  fi
8999 -echo "$as_me:7217: result: $ac_cv_c_const" >&5
9000 +echo "$as_me:7968: result: $ac_cv_c_const" >&5
9001  echo "${ECHO_T}$ac_cv_c_const" >&6
9002  if test $ac_cv_c_const = no; then
9003  
9004 @@ -7224,7 +7975,7 @@
9005  
9006  fi
9007  
9008 -echo "$as_me:7227: checking for inline" >&5
9009 +echo "$as_me:7978: checking for inline" >&5
9010  echo $ECHO_N "checking for inline... $ECHO_C" >&6
9011  if test "${ac_cv_c_inline+set}" = set; then
9012    echo $ECHO_N "(cached) $ECHO_C" >&6
9013 @@ -7232,7 +7983,7 @@
9014    ac_cv_c_inline=no
9015  for ac_kw in inline __inline__ __inline; do
9016    cat >conftest.$ac_ext <<_ACEOF
9017 -#line 7235 "configure"
9018 +#line 7986 "configure"
9019  #include "confdefs.h"
9020  #ifndef __cplusplus
9021  static $ac_kw int static_foo () {return 0; }
9022 @@ -7241,16 +7992,16 @@
9023  
9024  _ACEOF
9025  rm -f conftest.$ac_objext
9026 -if { (eval echo "$as_me:7244: \"$ac_compile\"") >&5
9027 +if { (eval echo "$as_me:7995: \"$ac_compile\"") >&5
9028    (eval $ac_compile) 2>&5
9029    ac_status=$?
9030 -  echo "$as_me:7247: \$? = $ac_status" >&5
9031 +  echo "$as_me:7998: \$? = $ac_status" >&5
9032    (exit $ac_status); } &&
9033           { ac_try='test -s conftest.$ac_objext'
9034 -  { (eval echo "$as_me:7250: \"$ac_try\"") >&5
9035 +  { (eval echo "$as_me:8001: \"$ac_try\"") >&5
9036    (eval $ac_try) 2>&5
9037    ac_status=$?
9038 -  echo "$as_me:7253: \$? = $ac_status" >&5
9039 +  echo "$as_me:8004: \$? = $ac_status" >&5
9040    (exit $ac_status); }; }; then
9041    ac_cv_c_inline=$ac_kw; break
9042  else
9043 @@ -7261,7 +8012,7 @@
9044  done
9045  
9046  fi
9047 -echo "$as_me:7264: result: $ac_cv_c_inline" >&5
9048 +echo "$as_me:8015: result: $ac_cv_c_inline" >&5
9049  echo "${ECHO_T}$ac_cv_c_inline" >&6
9050  case $ac_cv_c_inline in
9051    inline | yes) ;;
9052 @@ -7280,14 +8031,14 @@
9053  #define CC_HAS_INLINE_FUNCS 1
9054  EOF
9055  
9056 -echo "$as_me:7283: checking if unsigned literals are legal" >&5
9057 +echo "$as_me:8034: checking if unsigned literals are legal" >&5
9058  echo $ECHO_N "checking if unsigned literals are legal... $ECHO_C" >&6
9059  if test "${cf_cv_unsigned_literals+set}" = set; then
9060    echo $ECHO_N "(cached) $ECHO_C" >&6
9061  else
9062  
9063         cat >conftest.$ac_ext <<_ACEOF
9064 -#line 7290 "configure"
9065 +#line 8041 "configure"
9066  #include "confdefs.h"
9067  
9068  int
9069 @@ -7299,16 +8050,16 @@
9070  }
9071  _ACEOF
9072  rm -f conftest.$ac_objext
9073 -if { (eval echo "$as_me:7302: \"$ac_compile\"") >&5
9074 +if { (eval echo "$as_me:8053: \"$ac_compile\"") >&5
9075    (eval $ac_compile) 2>&5
9076    ac_status=$?
9077 -  echo "$as_me:7305: \$? = $ac_status" >&5
9078 +  echo "$as_me:8056: \$? = $ac_status" >&5
9079    (exit $ac_status); } &&
9080           { ac_try='test -s conftest.$ac_objext'
9081 -  { (eval echo "$as_me:7308: \"$ac_try\"") >&5
9082 +  { (eval echo "$as_me:8059: \"$ac_try\"") >&5
9083    (eval $ac_try) 2>&5
9084    ac_status=$?
9085 -  echo "$as_me:7311: \$? = $ac_status" >&5
9086 +  echo "$as_me:8062: \$? = $ac_status" >&5
9087    (exit $ac_status); }; }; then
9088    cf_cv_unsigned_literals=yes
9089  else
9090 @@ -7320,10 +8071,10 @@
9091  
9092  fi
9093  
9094 -echo "$as_me:7323: result: $cf_cv_unsigned_literals" >&5
9095 +echo "$as_me:8074: result: $cf_cv_unsigned_literals" >&5
9096  echo "${ECHO_T}$cf_cv_unsigned_literals" >&6
9097  
9098 -echo "$as_me:7326: checking for type of chtype" >&5
9099 +echo "$as_me:8077: checking for type of chtype" >&5
9100  echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6
9101  if test "${cf_cv_typeof_chtype+set}" = set; then
9102    echo $ECHO_N "(cached) $ECHO_C" >&6
9103 @@ -7333,7 +8084,7 @@
9104    cf_cv_typeof_chtype=long
9105  else
9106    cat >conftest.$ac_ext <<_ACEOF
9107 -#line 7336 "configure"
9108 +#line 8087 "configure"
9109  #include "confdefs.h"
9110  
9111  #ifdef USE_WIDEC_SUPPORT
9112 @@ -7380,15 +8131,15 @@
9113  
9114  _ACEOF
9115  rm -f conftest$ac_exeext
9116 -if { (eval echo "$as_me:7383: \"$ac_link\"") >&5
9117 +if { (eval echo "$as_me:8134: \"$ac_link\"") >&5
9118    (eval $ac_link) 2>&5
9119    ac_status=$?
9120 -  echo "$as_me:7386: \$? = $ac_status" >&5
9121 +  echo "$as_me:8137: \$? = $ac_status" >&5
9122    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
9123 -  { (eval echo "$as_me:7388: \"$ac_try\"") >&5
9124 +  { (eval echo "$as_me:8139: \"$ac_try\"") >&5
9125    (eval $ac_try) 2>&5
9126    ac_status=$?
9127 -  echo "$as_me:7391: \$? = $ac_status" >&5
9128 +  echo "$as_me:8142: \$? = $ac_status" >&5
9129    (exit $ac_status); }; }; then
9130    cf_cv_typeof_chtype=`cat cf_test.out`
9131  else
9132 @@ -7403,7 +8154,7 @@
9133  
9134  fi
9135  
9136 -echo "$as_me:7406: result: $cf_cv_typeof_chtype" >&5
9137 +echo "$as_me:8157: result: $cf_cv_typeof_chtype" >&5
9138  echo "${ECHO_T}$cf_cv_typeof_chtype" >&6
9139  
9140  cat >>confdefs.h <<EOF
9141 @@ -7416,14 +8167,14 @@
9142  
9143  ###    Checks for external-data
9144  
9145 -echo "$as_me:7419: checking if external errno is declared" >&5
9146 +echo "$as_me:8170: checking if external errno is declared" >&5
9147  echo $ECHO_N "checking if external errno is declared... $ECHO_C" >&6
9148  if test "${cf_cv_dcl_errno+set}" = set; then
9149    echo $ECHO_N "(cached) $ECHO_C" >&6
9150  else
9151  
9152      cat >conftest.$ac_ext <<_ACEOF
9153 -#line 7426 "configure"
9154 +#line 8177 "configure"
9155  #include "confdefs.h"
9156  
9157  #ifdef HAVE_STDLIB_H
9158 @@ -7441,16 +8192,16 @@
9159  }
9160  _ACEOF
9161  rm -f conftest.$ac_objext
9162 -if { (eval echo "$as_me:7444: \"$ac_compile\"") >&5
9163 +if { (eval echo "$as_me:8195: \"$ac_compile\"") >&5
9164    (eval $ac_compile) 2>&5
9165    ac_status=$?
9166 -  echo "$as_me:7447: \$? = $ac_status" >&5
9167 +  echo "$as_me:8198: \$? = $ac_status" >&5
9168    (exit $ac_status); } &&
9169           { ac_try='test -s conftest.$ac_objext'
9170 -  { (eval echo "$as_me:7450: \"$ac_try\"") >&5
9171 +  { (eval echo "$as_me:8201: \"$ac_try\"") >&5
9172    (eval $ac_try) 2>&5
9173    ac_status=$?
9174 -  echo "$as_me:7453: \$? = $ac_status" >&5
9175 +  echo "$as_me:8204: \$? = $ac_status" >&5
9176    (exit $ac_status); }; }; then
9177    cf_cv_dcl_errno=yes
9178  else
9179 @@ -7461,7 +8212,7 @@
9180  rm -f conftest.$ac_objext conftest.$ac_ext
9181  
9182  fi
9183 -echo "$as_me:7464: result: $cf_cv_dcl_errno" >&5
9184 +echo "$as_me:8215: result: $cf_cv_dcl_errno" >&5
9185  echo "${ECHO_T}$cf_cv_dcl_errno" >&6
9186  
9187  if test "$cf_cv_dcl_errno" = no ; then
9188 @@ -7476,14 +8227,14 @@
9189  
9190  # It's possible (for near-UNIX clones) that the data doesn't exist
9191  
9192 -echo "$as_me:7479: checking if external errno exists" >&5
9193 +echo "$as_me:8230: checking if external errno exists" >&5
9194  echo $ECHO_N "checking if external errno exists... $ECHO_C" >&6
9195  if test "${cf_cv_have_errno+set}" = set; then
9196    echo $ECHO_N "(cached) $ECHO_C" >&6
9197  else
9198  
9199      cat >conftest.$ac_ext <<_ACEOF
9200 -#line 7486 "configure"
9201 +#line 8237 "configure"
9202  #include "confdefs.h"
9203  
9204  #undef errno
9205 @@ -7498,16 +8249,16 @@
9206  }
9207  _ACEOF
9208  rm -f conftest.$ac_objext conftest$ac_exeext
9209 -if { (eval echo "$as_me:7501: \"$ac_link\"") >&5
9210 +if { (eval echo "$as_me:8252: \"$ac_link\"") >&5
9211    (eval $ac_link) 2>&5
9212    ac_status=$?
9213 -  echo "$as_me:7504: \$? = $ac_status" >&5
9214 +  echo "$as_me:8255: \$? = $ac_status" >&5
9215    (exit $ac_status); } &&
9216           { ac_try='test -s conftest$ac_exeext'
9217 -  { (eval echo "$as_me:7507: \"$ac_try\"") >&5
9218 +  { (eval echo "$as_me:8258: \"$ac_try\"") >&5
9219    (eval $ac_try) 2>&5
9220    ac_status=$?
9221 -  echo "$as_me:7510: \$? = $ac_status" >&5
9222 +  echo "$as_me:8261: \$? = $ac_status" >&5
9223    (exit $ac_status); }; }; then
9224    cf_cv_have_errno=yes
9225  else
9226 @@ -7518,7 +8269,7 @@
9227  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
9228  
9229  fi
9230 -echo "$as_me:7521: result: $cf_cv_have_errno" >&5
9231 +echo "$as_me:8272: result: $cf_cv_have_errno" >&5
9232  echo "${ECHO_T}$cf_cv_have_errno" >&6
9233  
9234  if test "$cf_cv_have_errno" = yes ; then
9235 @@ -7531,7 +8282,7 @@
9236  
9237  fi
9238  
9239 -echo "$as_me:7534: checking if data-only library module links" >&5
9240 +echo "$as_me:8285: checking if data-only library module links" >&5
9241  echo $ECHO_N "checking if data-only library module links... $ECHO_C" >&6
9242  if test "${cf_cv_link_dataonly+set}" = set; then
9243    echo $ECHO_N "(cached) $ECHO_C" >&6
9244 @@ -7539,20 +8290,20 @@
9245  
9246         rm -f conftest.a
9247         cat >conftest.$ac_ext <<EOF
9248 -#line 7542 "configure"
9249 +#line 8293 "configure"
9250  int    testdata[3] = { 123, 456, 789 };
9251  EOF
9252 -       if { (eval echo "$as_me:7545: \"$ac_compile\"") >&5
9253 +       if { (eval echo "$as_me:8296: \"$ac_compile\"") >&5
9254    (eval $ac_compile) 2>&5
9255    ac_status=$?
9256 -  echo "$as_me:7548: \$? = $ac_status" >&5
9257 +  echo "$as_me:8299: \$? = $ac_status" >&5
9258    (exit $ac_status); } ; then
9259                 mv conftest.o data.o && \
9260                 ( $AR $AR_OPTS conftest.a data.o ) 2>&5 1>/dev/null
9261         fi
9262         rm -f conftest.$ac_ext data.o
9263         cat >conftest.$ac_ext <<EOF
9264 -#line 7555 "configure"
9265 +#line 8306 "configure"
9266  int    testfunc()
9267  {
9268  #if defined(NeXT)
9269 @@ -7565,23 +8316,23 @@
9270  #endif
9271  }
9272  EOF
9273 -       if { (eval echo "$as_me:7568: \"$ac_compile\"") >&5
9274 +       if { (eval echo "$as_me:8319: \"$ac_compile\"") >&5
9275    (eval $ac_compile) 2>&5
9276    ac_status=$?
9277 -  echo "$as_me:7571: \$? = $ac_status" >&5
9278 +  echo "$as_me:8322: \$? = $ac_status" >&5
9279    (exit $ac_status); }; then
9280                 mv conftest.o func.o && \
9281                 ( $AR $AR_OPTS conftest.a func.o ) 2>&5 1>/dev/null
9282         fi
9283         rm -f conftest.$ac_ext func.o
9284 -       ( eval $ac_cv_prog_RANLIB conftest.a ) 2>&5 >/dev/null
9285 +       ( eval $RANLIB conftest.a ) 2>&5 >/dev/null
9286         cf_saveLIBS="$LIBS"
9287         LIBS="conftest.a $LIBS"
9288         if test "$cross_compiling" = yes; then
9289    cf_cv_link_dataonly=unknown
9290  else
9291    cat >conftest.$ac_ext <<_ACEOF
9292 -#line 7584 "configure"
9293 +#line 8335 "configure"
9294  #include "confdefs.h"
9295  
9296         int main()
9297 @@ -7592,15 +8343,15 @@
9298  
9299  _ACEOF
9300  rm -f conftest$ac_exeext
9301 -if { (eval echo "$as_me:7595: \"$ac_link\"") >&5
9302 +if { (eval echo "$as_me:8346: \"$ac_link\"") >&5
9303    (eval $ac_link) 2>&5
9304    ac_status=$?
9305 -  echo "$as_me:7598: \$? = $ac_status" >&5
9306 +  echo "$as_me:8349: \$? = $ac_status" >&5
9307    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
9308 -  { (eval echo "$as_me:7600: \"$ac_try\"") >&5
9309 +  { (eval echo "$as_me:8351: \"$ac_try\"") >&5
9310    (eval $ac_try) 2>&5
9311    ac_status=$?
9312 -  echo "$as_me:7603: \$? = $ac_status" >&5
9313 +  echo "$as_me:8354: \$? = $ac_status" >&5
9314    (exit $ac_status); }; }; then
9315    cf_cv_link_dataonly=yes
9316  else
9317 @@ -7615,7 +8366,7 @@
9318  
9319  fi
9320  
9321 -echo "$as_me:7618: result: $cf_cv_link_dataonly" >&5
9322 +echo "$as_me:8369: result: $cf_cv_link_dataonly" >&5
9323  echo "${ECHO_T}$cf_cv_link_dataonly" >&6
9324  
9325  if test "$cf_cv_link_dataonly" = no ; then
9326 @@ -7652,13 +8403,13 @@
9327  
9328  do
9329  as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
9330 -echo "$as_me:7655: checking for $ac_func" >&5
9331 +echo "$as_me:8406: checking for $ac_func" >&5
9332  echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
9333  if eval "test \"\${$as_ac_var+set}\" = set"; then
9334    echo $ECHO_N "(cached) $ECHO_C" >&6
9335  else
9336    cat >conftest.$ac_ext <<_ACEOF
9337 -#line 7661 "configure"
9338 +#line 8412 "configure"
9339  #include "confdefs.h"
9340  /* System header to define __stub macros and hopefully few prototypes,
9341      which can conflict with char $ac_func (); below.  */
9342 @@ -7689,16 +8440,16 @@
9343  }
9344  _ACEOF
9345  rm -f conftest.$ac_objext conftest$ac_exeext
9346 -if { (eval echo "$as_me:7692: \"$ac_link\"") >&5
9347 +if { (eval echo "$as_me:8443: \"$ac_link\"") >&5
9348    (eval $ac_link) 2>&5
9349    ac_status=$?
9350 -  echo "$as_me:7695: \$? = $ac_status" >&5
9351 +  echo "$as_me:8446: \$? = $ac_status" >&5
9352    (exit $ac_status); } &&
9353           { ac_try='test -s conftest$ac_exeext'
9354 -  { (eval echo "$as_me:7698: \"$ac_try\"") >&5
9355 +  { (eval echo "$as_me:8449: \"$ac_try\"") >&5
9356    (eval $ac_try) 2>&5
9357    ac_status=$?
9358 -  echo "$as_me:7701: \$? = $ac_status" >&5
9359 +  echo "$as_me:8452: \$? = $ac_status" >&5
9360    (exit $ac_status); }; }; then
9361    eval "$as_ac_var=yes"
9362  else
9363 @@ -7708,7 +8459,7 @@
9364  fi
9365  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
9366  fi
9367 -echo "$as_me:7711: result: `eval echo '${'$as_ac_var'}'`" >&5
9368 +echo "$as_me:8462: result: `eval echo '${'$as_ac_var'}'`" >&5
9369  echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
9370  if test `eval echo '${'$as_ac_var'}'` = yes; then
9371    cat >>confdefs.h <<EOF
9372 @@ -7720,14 +8471,14 @@
9373  
9374  if test "$with_getcap" = "yes" ; then
9375  
9376 -echo "$as_me:7723: checking for terminal-capability database functions" >&5
9377 +echo "$as_me:8474: checking for terminal-capability database functions" >&5
9378  echo $ECHO_N "checking for terminal-capability database functions... $ECHO_C" >&6
9379  if test "${cf_cv_cgetent+set}" = set; then
9380    echo $ECHO_N "(cached) $ECHO_C" >&6
9381  else
9382  
9383  cat >conftest.$ac_ext <<_ACEOF
9384 -#line 7730 "configure"
9385 +#line 8481 "configure"
9386  #include "confdefs.h"
9387  
9388  #include <stdlib.h>
9389 @@ -7747,16 +8498,16 @@
9390  }
9391  _ACEOF
9392  rm -f conftest.$ac_objext conftest$ac_exeext
9393 -if { (eval echo "$as_me:7750: \"$ac_link\"") >&5
9394 +if { (eval echo "$as_me:8501: \"$ac_link\"") >&5
9395    (eval $ac_link) 2>&5
9396    ac_status=$?
9397 -  echo "$as_me:7753: \$? = $ac_status" >&5
9398 +  echo "$as_me:8504: \$? = $ac_status" >&5
9399    (exit $ac_status); } &&
9400           { ac_try='test -s conftest$ac_exeext'
9401 -  { (eval echo "$as_me:7756: \"$ac_try\"") >&5
9402 +  { (eval echo "$as_me:8507: \"$ac_try\"") >&5
9403    (eval $ac_try) 2>&5
9404    ac_status=$?
9405 -  echo "$as_me:7759: \$? = $ac_status" >&5
9406 +  echo "$as_me:8510: \$? = $ac_status" >&5
9407    (exit $ac_status); }; }; then
9408    cf_cv_cgetent=yes
9409  else
9410 @@ -7768,7 +8519,7 @@
9411  
9412  fi
9413  
9414 -echo "$as_me:7771: result: $cf_cv_cgetent" >&5
9415 +echo "$as_me:8522: result: $cf_cv_cgetent" >&5
9416  echo "${ECHO_T}$cf_cv_cgetent" >&6
9417  test "$cf_cv_cgetent" = yes && cat >>confdefs.h <<\EOF
9418  #define HAVE_BSD_CGETENT 1
9419 @@ -7776,14 +8527,14 @@
9420  
9421  fi
9422  
9423 -echo "$as_me:7779: checking for isascii" >&5
9424 +echo "$as_me:8530: checking for isascii" >&5
9425  echo $ECHO_N "checking for isascii... $ECHO_C" >&6
9426  if test "${cf_cv_have_isascii+set}" = set; then
9427    echo $ECHO_N "(cached) $ECHO_C" >&6
9428  else
9429  
9430         cat >conftest.$ac_ext <<_ACEOF
9431 -#line 7786 "configure"
9432 +#line 8537 "configure"
9433  #include "confdefs.h"
9434  #include <ctype.h>
9435  int
9436 @@ -7795,16 +8546,16 @@
9437  }
9438  _ACEOF
9439  rm -f conftest.$ac_objext conftest$ac_exeext
9440 -if { (eval echo "$as_me:7798: \"$ac_link\"") >&5
9441 +if { (eval echo "$as_me:8549: \"$ac_link\"") >&5
9442    (eval $ac_link) 2>&5
9443    ac_status=$?
9444 -  echo "$as_me:7801: \$? = $ac_status" >&5
9445 +  echo "$as_me:8552: \$? = $ac_status" >&5
9446    (exit $ac_status); } &&
9447           { ac_try='test -s conftest$ac_exeext'
9448 -  { (eval echo "$as_me:7804: \"$ac_try\"") >&5
9449 +  { (eval echo "$as_me:8555: \"$ac_try\"") >&5
9450    (eval $ac_try) 2>&5
9451    ac_status=$?
9452 -  echo "$as_me:7807: \$? = $ac_status" >&5
9453 +  echo "$as_me:8558: \$? = $ac_status" >&5
9454    (exit $ac_status); }; }; then
9455    cf_cv_have_isascii=yes
9456  else
9457 @@ -7815,17 +8566,17 @@
9458  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
9459  
9460  fi
9461 -echo "$as_me:7818: result: $cf_cv_have_isascii" >&5
9462 +echo "$as_me:8569: result: $cf_cv_have_isascii" >&5
9463  echo "${ECHO_T}$cf_cv_have_isascii" >&6
9464  test "$cf_cv_have_isascii" = yes && cat >>confdefs.h <<\EOF
9465  #define HAVE_ISASCII 1
9466  EOF
9467  
9468  if test "$ac_cv_func_sigaction" = yes; then
9469 -echo "$as_me:7825: checking whether sigaction needs _POSIX_SOURCE" >&5
9470 +echo "$as_me:8576: checking whether sigaction needs _POSIX_SOURCE" >&5
9471  echo $ECHO_N "checking whether sigaction needs _POSIX_SOURCE... $ECHO_C" >&6
9472  cat >conftest.$ac_ext <<_ACEOF
9473 -#line 7828 "configure"
9474 +#line 8579 "configure"
9475  #include "confdefs.h"
9476  
9477  #include <sys/types.h>
9478 @@ -7839,16 +8590,16 @@
9479  }
9480  _ACEOF
9481  rm -f conftest.$ac_objext
9482 -if { (eval echo "$as_me:7842: \"$ac_compile\"") >&5
9483 +if { (eval echo "$as_me:8593: \"$ac_compile\"") >&5
9484    (eval $ac_compile) 2>&5
9485    ac_status=$?
9486 -  echo "$as_me:7845: \$? = $ac_status" >&5
9487 +  echo "$as_me:8596: \$? = $ac_status" >&5
9488    (exit $ac_status); } &&
9489           { ac_try='test -s conftest.$ac_objext'
9490 -  { (eval echo "$as_me:7848: \"$ac_try\"") >&5
9491 +  { (eval echo "$as_me:8599: \"$ac_try\"") >&5
9492    (eval $ac_try) 2>&5
9493    ac_status=$?
9494 -  echo "$as_me:7851: \$? = $ac_status" >&5
9495 +  echo "$as_me:8602: \$? = $ac_status" >&5
9496    (exit $ac_status); }; }; then
9497    sigact_bad=no
9498  else
9499 @@ -7856,7 +8607,7 @@
9500  cat conftest.$ac_ext >&5
9501  
9502  cat >conftest.$ac_ext <<_ACEOF
9503 -#line 7859 "configure"
9504 +#line 8610 "configure"
9505  #include "confdefs.h"
9506  
9507  #define _POSIX_SOURCE
9508 @@ -7871,16 +8622,16 @@
9509  }
9510  _ACEOF
9511  rm -f conftest.$ac_objext
9512 -if { (eval echo "$as_me:7874: \"$ac_compile\"") >&5
9513 +if { (eval echo "$as_me:8625: \"$ac_compile\"") >&5
9514    (eval $ac_compile) 2>&5
9515    ac_status=$?
9516 -  echo "$as_me:7877: \$? = $ac_status" >&5
9517 +  echo "$as_me:8628: \$? = $ac_status" >&5
9518    (exit $ac_status); } &&
9519           { ac_try='test -s conftest.$ac_objext'
9520 -  { (eval echo "$as_me:7880: \"$ac_try\"") >&5
9521 +  { (eval echo "$as_me:8631: \"$ac_try\"") >&5
9522    (eval $ac_try) 2>&5
9523    ac_status=$?
9524 -  echo "$as_me:7883: \$? = $ac_status" >&5
9525 +  echo "$as_me:8634: \$? = $ac_status" >&5
9526    (exit $ac_status); }; }; then
9527    sigact_bad=yes
9528          cat >>confdefs.h <<\EOF
9529 @@ -7895,7 +8646,7 @@
9530  rm -f conftest.$ac_objext conftest.$ac_ext
9531  fi
9532  rm -f conftest.$ac_objext conftest.$ac_ext
9533 -echo "$as_me:7898: result: $sigact_bad" >&5
9534 +echo "$as_me:8649: result: $sigact_bad" >&5
9535  echo "${ECHO_T}$sigact_bad" >&6
9536  fi
9537  
9538 @@ -7906,23 +8657,23 @@
9539  
9540  do
9541  as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
9542 -echo "$as_me:7909: checking for $ac_header" >&5
9543 +echo "$as_me:8660: checking for $ac_header" >&5
9544  echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
9545  if eval "test \"\${$as_ac_Header+set}\" = set"; then
9546    echo $ECHO_N "(cached) $ECHO_C" >&6
9547  else
9548    cat >conftest.$ac_ext <<_ACEOF
9549 -#line 7915 "configure"
9550 +#line 8666 "configure"
9551  #include "confdefs.h"
9552  #include <$ac_header>
9553  _ACEOF
9554 -if { (eval echo "$as_me:7919: \"$ac_cpp conftest.$ac_ext\"") >&5
9555 +if { (eval echo "$as_me:8670: \"$ac_cpp conftest.$ac_ext\"") >&5
9556    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
9557    ac_status=$?
9558    egrep -v '^ *\+' conftest.er1 >conftest.err
9559    rm -f conftest.er1
9560    cat conftest.err >&5
9561 -  echo "$as_me:7925: \$? = $ac_status" >&5
9562 +  echo "$as_me:8676: \$? = $ac_status" >&5
9563    (exit $ac_status); } >/dev/null; then
9564    if test -s conftest.err; then
9565      ac_cpp_err=$ac_c_preproc_warn_flag
9566 @@ -7941,7 +8692,7 @@
9567  fi
9568  rm -f conftest.err conftest.$ac_ext
9569  fi
9570 -echo "$as_me:7944: result: `eval echo '${'$as_ac_Header'}'`" >&5
9571 +echo "$as_me:8695: result: `eval echo '${'$as_ac_Header'}'`" >&5
9572  echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
9573  if test `eval echo '${'$as_ac_Header'}'` = yes; then
9574    cat >>confdefs.h <<EOF
9575 @@ -7956,23 +8707,23 @@
9576  for ac_header in sys/termio.h
9577  do
9578  as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
9579 -echo "$as_me:7959: checking for $ac_header" >&5
9580 +echo "$as_me:8710: checking for $ac_header" >&5
9581  echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
9582  if eval "test \"\${$as_ac_Header+set}\" = set"; then
9583    echo $ECHO_N "(cached) $ECHO_C" >&6
9584  else
9585    cat >conftest.$ac_ext <<_ACEOF
9586 -#line 7965 "configure"
9587 +#line 8716 "configure"
9588  #include "confdefs.h"
9589  #include <$ac_header>
9590  _ACEOF
9591 -if { (eval echo "$as_me:7969: \"$ac_cpp conftest.$ac_ext\"") >&5
9592 +if { (eval echo "$as_me:8720: \"$ac_cpp conftest.$ac_ext\"") >&5
9593    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
9594    ac_status=$?
9595    egrep -v '^ *\+' conftest.er1 >conftest.err
9596    rm -f conftest.er1
9597    cat conftest.err >&5
9598 -  echo "$as_me:7975: \$? = $ac_status" >&5
9599 +  echo "$as_me:8726: \$? = $ac_status" >&5
9600    (exit $ac_status); } >/dev/null; then
9601    if test -s conftest.err; then
9602      ac_cpp_err=$ac_c_preproc_warn_flag
9603 @@ -7991,7 +8742,7 @@
9604  fi
9605  rm -f conftest.err conftest.$ac_ext
9606  fi
9607 -echo "$as_me:7994: result: `eval echo '${'$as_ac_Header'}'`" >&5
9608 +echo "$as_me:8745: result: `eval echo '${'$as_ac_Header'}'`" >&5
9609  echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
9610  if test `eval echo '${'$as_ac_Header'}'` = yes; then
9611    cat >>confdefs.h <<EOF
9612 @@ -8009,10 +8760,10 @@
9613         *)      termios_bad=maybe ;;
9614         esac
9615         if test "$termios_bad" = maybe ; then
9616 -       echo "$as_me:8012: checking whether termios.h needs _POSIX_SOURCE" >&5
9617 +       echo "$as_me:8763: checking whether termios.h needs _POSIX_SOURCE" >&5
9618  echo $ECHO_N "checking whether termios.h needs _POSIX_SOURCE... $ECHO_C" >&6
9619         cat >conftest.$ac_ext <<_ACEOF
9620 -#line 8015 "configure"
9621 +#line 8766 "configure"
9622  #include "confdefs.h"
9623  #include <termios.h>
9624  int
9625 @@ -8024,16 +8775,16 @@
9626  }
9627  _ACEOF
9628  rm -f conftest.$ac_objext
9629 -if { (eval echo "$as_me:8027: \"$ac_compile\"") >&5
9630 +if { (eval echo "$as_me:8778: \"$ac_compile\"") >&5
9631    (eval $ac_compile) 2>&5
9632    ac_status=$?
9633 -  echo "$as_me:8030: \$? = $ac_status" >&5
9634 +  echo "$as_me:8781: \$? = $ac_status" >&5
9635    (exit $ac_status); } &&
9636           { ac_try='test -s conftest.$ac_objext'
9637 -  { (eval echo "$as_me:8033: \"$ac_try\"") >&5
9638 +  { (eval echo "$as_me:8784: \"$ac_try\"") >&5
9639    (eval $ac_try) 2>&5
9640    ac_status=$?
9641 -  echo "$as_me:8036: \$? = $ac_status" >&5
9642 +  echo "$as_me:8787: \$? = $ac_status" >&5
9643    (exit $ac_status); }; }; then
9644    termios_bad=no
9645  else
9646 @@ -8041,7 +8792,7 @@
9647  cat conftest.$ac_ext >&5
9648  
9649                 cat >conftest.$ac_ext <<_ACEOF
9650 -#line 8044 "configure"
9651 +#line 8795 "configure"
9652  #include "confdefs.h"
9653  
9654  #define _POSIX_SOURCE
9655 @@ -8055,16 +8806,16 @@
9656  }
9657  _ACEOF
9658  rm -f conftest.$ac_objext
9659 -if { (eval echo "$as_me:8058: \"$ac_compile\"") >&5
9660 +if { (eval echo "$as_me:8809: \"$ac_compile\"") >&5
9661    (eval $ac_compile) 2>&5
9662    ac_status=$?
9663 -  echo "$as_me:8061: \$? = $ac_status" >&5
9664 +  echo "$as_me:8812: \$? = $ac_status" >&5
9665    (exit $ac_status); } &&
9666           { ac_try='test -s conftest.$ac_objext'
9667 -  { (eval echo "$as_me:8064: \"$ac_try\"") >&5
9668 +  { (eval echo "$as_me:8815: \"$ac_try\"") >&5
9669    (eval $ac_try) 2>&5
9670    ac_status=$?
9671 -  echo "$as_me:8067: \$? = $ac_status" >&5
9672 +  echo "$as_me:8818: \$? = $ac_status" >&5
9673    (exit $ac_status); }; }; then
9674    termios_bad=unknown
9675  else
9676 @@ -8079,19 +8830,19 @@
9677  
9678  fi
9679  rm -f conftest.$ac_objext conftest.$ac_ext
9680 -       echo "$as_me:8082: result: $termios_bad" >&5
9681 +       echo "$as_me:8833: result: $termios_bad" >&5
9682  echo "${ECHO_T}$termios_bad" >&6
9683         fi
9684  fi
9685  
9686 -echo "$as_me:8087: checking for tcgetattr" >&5
9687 +echo "$as_me:8838: checking for tcgetattr" >&5
9688  echo $ECHO_N "checking for tcgetattr... $ECHO_C" >&6
9689  if test "${cf_cv_have_tcgetattr+set}" = set; then
9690    echo $ECHO_N "(cached) $ECHO_C" >&6
9691  else
9692  
9693  cat >conftest.$ac_ext <<_ACEOF
9694 -#line 8094 "configure"
9695 +#line 8845 "configure"
9696  #include "confdefs.h"
9697  
9698  #include <sys/types.h>
9699 @@ -8119,16 +8870,16 @@
9700  }
9701  _ACEOF
9702  rm -f conftest.$ac_objext conftest$ac_exeext
9703 -if { (eval echo "$as_me:8122: \"$ac_link\"") >&5
9704 +if { (eval echo "$as_me:8873: \"$ac_link\"") >&5
9705    (eval $ac_link) 2>&5
9706    ac_status=$?
9707 -  echo "$as_me:8125: \$? = $ac_status" >&5
9708 +  echo "$as_me:8876: \$? = $ac_status" >&5
9709    (exit $ac_status); } &&
9710           { ac_try='test -s conftest$ac_exeext'
9711 -  { (eval echo "$as_me:8128: \"$ac_try\"") >&5
9712 +  { (eval echo "$as_me:8879: \"$ac_try\"") >&5
9713    (eval $ac_try) 2>&5
9714    ac_status=$?
9715 -  echo "$as_me:8131: \$? = $ac_status" >&5
9716 +  echo "$as_me:8882: \$? = $ac_status" >&5
9717    (exit $ac_status); }; }; then
9718    cf_cv_have_tcgetattr=yes
9719  else
9720 @@ -8138,20 +8889,20 @@
9721  fi
9722  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
9723  fi
9724 -echo "$as_me:8141: result: $cf_cv_have_tcgetattr" >&5
9725 +echo "$as_me:8892: result: $cf_cv_have_tcgetattr" >&5
9726  echo "${ECHO_T}$cf_cv_have_tcgetattr" >&6
9727  test "$cf_cv_have_tcgetattr" = yes && cat >>confdefs.h <<\EOF
9728  #define HAVE_TCGETATTR 1
9729  EOF
9730  
9731 -echo "$as_me:8147: checking for vsscanf function or workaround" >&5
9732 +echo "$as_me:8898: checking for vsscanf function or workaround" >&5
9733  echo $ECHO_N "checking for vsscanf function or workaround... $ECHO_C" >&6
9734  if test "${cf_cv_func_vsscanf+set}" = set; then
9735    echo $ECHO_N "(cached) $ECHO_C" >&6
9736  else
9737  
9738  cat >conftest.$ac_ext <<_ACEOF
9739 -#line 8154 "configure"
9740 +#line 8905 "configure"
9741  #include "confdefs.h"
9742  
9743  #include <stdarg.h>
9744 @@ -8167,16 +8918,16 @@
9745  }
9746  _ACEOF
9747  rm -f conftest.$ac_objext conftest$ac_exeext
9748 -if { (eval echo "$as_me:8170: \"$ac_link\"") >&5
9749 +if { (eval echo "$as_me:8921: \"$ac_link\"") >&5
9750    (eval $ac_link) 2>&5
9751    ac_status=$?
9752 -  echo "$as_me:8173: \$? = $ac_status" >&5
9753 +  echo "$as_me:8924: \$? = $ac_status" >&5
9754    (exit $ac_status); } &&
9755           { ac_try='test -s conftest$ac_exeext'
9756 -  { (eval echo "$as_me:8176: \"$ac_try\"") >&5
9757 +  { (eval echo "$as_me:8927: \"$ac_try\"") >&5
9758    (eval $ac_try) 2>&5
9759    ac_status=$?
9760 -  echo "$as_me:8179: \$? = $ac_status" >&5
9761 +  echo "$as_me:8930: \$? = $ac_status" >&5
9762    (exit $ac_status); }; }; then
9763    cf_cv_func_vsscanf=vsscanf
9764  else
9765 @@ -8184,7 +8935,7 @@
9766  cat conftest.$ac_ext >&5
9767  
9768  cat >conftest.$ac_ext <<_ACEOF
9769 -#line 8187 "configure"
9770 +#line 8938 "configure"
9771  #include "confdefs.h"
9772  
9773  #include <stdarg.h>
9774 @@ -8206,16 +8957,16 @@
9775  }
9776  _ACEOF
9777  rm -f conftest.$ac_objext conftest$ac_exeext
9778 -if { (eval echo "$as_me:8209: \"$ac_link\"") >&5
9779 +if { (eval echo "$as_me:8960: \"$ac_link\"") >&5
9780    (eval $ac_link) 2>&5
9781    ac_status=$?
9782 -  echo "$as_me:8212: \$? = $ac_status" >&5
9783 +  echo "$as_me:8963: \$? = $ac_status" >&5
9784    (exit $ac_status); } &&
9785           { ac_try='test -s conftest$ac_exeext'
9786 -  { (eval echo "$as_me:8215: \"$ac_try\"") >&5
9787 +  { (eval echo "$as_me:8966: \"$ac_try\"") >&5
9788    (eval $ac_try) 2>&5
9789    ac_status=$?
9790 -  echo "$as_me:8218: \$? = $ac_status" >&5
9791 +  echo "$as_me:8969: \$? = $ac_status" >&5
9792    (exit $ac_status); }; }; then
9793    cf_cv_func_vsscanf=vfscanf
9794  else
9795 @@ -8223,7 +8974,7 @@
9796  cat conftest.$ac_ext >&5
9797  
9798  cat >conftest.$ac_ext <<_ACEOF
9799 -#line 8226 "configure"
9800 +#line 8977 "configure"
9801  #include "confdefs.h"
9802  
9803  #include <stdarg.h>
9804 @@ -8245,16 +8996,16 @@
9805  }
9806  _ACEOF
9807  rm -f conftest.$ac_objext conftest$ac_exeext
9808 -if { (eval echo "$as_me:8248: \"$ac_link\"") >&5
9809 +if { (eval echo "$as_me:8999: \"$ac_link\"") >&5
9810    (eval $ac_link) 2>&5
9811    ac_status=$?
9812 -  echo "$as_me:8251: \$? = $ac_status" >&5
9813 +  echo "$as_me:9002: \$? = $ac_status" >&5
9814    (exit $ac_status); } &&
9815           { ac_try='test -s conftest$ac_exeext'
9816 -  { (eval echo "$as_me:8254: \"$ac_try\"") >&5
9817 +  { (eval echo "$as_me:9005: \"$ac_try\"") >&5
9818    (eval $ac_try) 2>&5
9819    ac_status=$?
9820 -  echo "$as_me:8257: \$? = $ac_status" >&5
9821 +  echo "$as_me:9008: \$? = $ac_status" >&5
9822    (exit $ac_status); }; }; then
9823    cf_cv_func_vsscanf=_doscan
9824  else
9825 @@ -8269,7 +9020,7 @@
9826  fi
9827  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
9828  fi
9829 -echo "$as_me:8272: result: $cf_cv_func_vsscanf" >&5
9830 +echo "$as_me:9023: result: $cf_cv_func_vsscanf" >&5
9831  echo "${ECHO_T}$cf_cv_func_vsscanf" >&6
9832  
9833  case $cf_cv_func_vsscanf in #(vi
9834 @@ -8287,7 +9038,7 @@
9835  ;;
9836  esac
9837  
9838 -echo "$as_me:8290: checking for working mkstemp" >&5
9839 +echo "$as_me:9041: checking for working mkstemp" >&5
9840  echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6
9841  if test "${cf_cv_func_mkstemp+set}" = set; then
9842    echo $ECHO_N "(cached) $ECHO_C" >&6
9843 @@ -8295,13 +9046,13 @@
9844  
9845  rm -f conftest*
9846  if test "$cross_compiling" = yes; then
9847 -  echo "$as_me:8298: checking for mkstemp" >&5
9848 +  echo "$as_me:9049: checking for mkstemp" >&5
9849  echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6
9850  if test "${ac_cv_func_mkstemp+set}" = set; then
9851    echo $ECHO_N "(cached) $ECHO_C" >&6
9852  else
9853    cat >conftest.$ac_ext <<_ACEOF
9854 -#line 8304 "configure"
9855 +#line 9055 "configure"
9856  #include "confdefs.h"
9857  /* System header to define __stub macros and hopefully few prototypes,
9858      which can conflict with char mkstemp (); below.  */
9859 @@ -8332,16 +9083,16 @@
9860  }
9861  _ACEOF
9862  rm -f conftest.$ac_objext conftest$ac_exeext
9863 -if { (eval echo "$as_me:8335: \"$ac_link\"") >&5
9864 +if { (eval echo "$as_me:9086: \"$ac_link\"") >&5
9865    (eval $ac_link) 2>&5
9866    ac_status=$?
9867 -  echo "$as_me:8338: \$? = $ac_status" >&5
9868 +  echo "$as_me:9089: \$? = $ac_status" >&5
9869    (exit $ac_status); } &&
9870           { ac_try='test -s conftest$ac_exeext'
9871 -  { (eval echo "$as_me:8341: \"$ac_try\"") >&5
9872 +  { (eval echo "$as_me:9092: \"$ac_try\"") >&5
9873    (eval $ac_try) 2>&5
9874    ac_status=$?
9875 -  echo "$as_me:8344: \$? = $ac_status" >&5
9876 +  echo "$as_me:9095: \$? = $ac_status" >&5
9877    (exit $ac_status); }; }; then
9878    ac_cv_func_mkstemp=yes
9879  else
9880 @@ -8351,12 +9102,12 @@
9881  fi
9882  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
9883  fi
9884 -echo "$as_me:8354: result: $ac_cv_func_mkstemp" >&5
9885 +echo "$as_me:9105: result: $ac_cv_func_mkstemp" >&5
9886  echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
9887  
9888  else
9889    cat >conftest.$ac_ext <<_ACEOF
9890 -#line 8359 "configure"
9891 +#line 9110 "configure"
9892  #include "confdefs.h"
9893  
9894  #include <sys/types.h>
9895 @@ -8394,15 +9145,15 @@
9896  
9897  _ACEOF
9898  rm -f conftest$ac_exeext
9899 -if { (eval echo "$as_me:8397: \"$ac_link\"") >&5
9900 +if { (eval echo "$as_me:9148: \"$ac_link\"") >&5
9901    (eval $ac_link) 2>&5
9902    ac_status=$?
9903 -  echo "$as_me:8400: \$? = $ac_status" >&5
9904 +  echo "$as_me:9151: \$? = $ac_status" >&5
9905    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
9906 -  { (eval echo "$as_me:8402: \"$ac_try\"") >&5
9907 +  { (eval echo "$as_me:9153: \"$ac_try\"") >&5
9908    (eval $ac_try) 2>&5
9909    ac_status=$?
9910 -  echo "$as_me:8405: \$? = $ac_status" >&5
9911 +  echo "$as_me:9156: \$? = $ac_status" >&5
9912    (exit $ac_status); }; }; then
9913    cf_cv_func_mkstemp=yes
9914  
9915 @@ -8417,7 +9168,7 @@
9916  fi
9917  
9918  fi
9919 -echo "$as_me:8420: result: $cf_cv_func_mkstemp" >&5
9920 +echo "$as_me:9171: result: $cf_cv_func_mkstemp" >&5
9921  echo "${ECHO_T}$cf_cv_func_mkstemp" >&6
9922  if test "$cf_cv_func_mkstemp" = yes ; then
9923         cat >>confdefs.h <<\EOF
9924 @@ -8434,21 +9185,21 @@
9925  fi
9926  
9927  if test "$cross_compiling" = yes ; then
9928 -       { echo "$as_me:8437: WARNING: cross compiling: assume setvbuf params not reversed" >&5
9929 +       { echo "$as_me:9188: WARNING: cross compiling: assume setvbuf params not reversed" >&5
9930  echo "$as_me: WARNING: cross compiling: assume setvbuf params not reversed" >&2;}
9931  else
9932 -       echo "$as_me:8440: checking whether setvbuf arguments are reversed" >&5
9933 +       echo "$as_me:9191: checking whether setvbuf arguments are reversed" >&5
9934  echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
9935  if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
9936    echo $ECHO_N "(cached) $ECHO_C" >&6
9937  else
9938    if test "$cross_compiling" = yes; then
9939 -  { { echo "$as_me:8446: error: cannot run test program while cross compiling" >&5
9940 +  { { echo "$as_me:9197: error: cannot run test program while cross compiling" >&5
9941  echo "$as_me: error: cannot run test program while cross compiling" >&2;}
9942     { (exit 1); exit 1; }; }
9943  else
9944    cat >conftest.$ac_ext <<_ACEOF
9945 -#line 8451 "configure"
9946 +#line 9202 "configure"
9947  #include "confdefs.h"
9948  #include <stdio.h>
9949  /* If setvbuf has the reversed format, exit 0. */
9950 @@ -8465,15 +9216,15 @@
9951  }
9952  _ACEOF
9953  rm -f conftest$ac_exeext
9954 -if { (eval echo "$as_me:8468: \"$ac_link\"") >&5
9955 +if { (eval echo "$as_me:9219: \"$ac_link\"") >&5
9956    (eval $ac_link) 2>&5
9957    ac_status=$?
9958 -  echo "$as_me:8471: \$? = $ac_status" >&5
9959 +  echo "$as_me:9222: \$? = $ac_status" >&5
9960    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
9961 -  { (eval echo "$as_me:8473: \"$ac_try\"") >&5
9962 +  { (eval echo "$as_me:9224: \"$ac_try\"") >&5
9963    (eval $ac_try) 2>&5
9964    ac_status=$?
9965 -  echo "$as_me:8476: \$? = $ac_status" >&5
9966 +  echo "$as_me:9227: \$? = $ac_status" >&5
9967    (exit $ac_status); }; }; then
9968    ac_cv_func_setvbuf_reversed=yes
9969  else
9970 @@ -8486,7 +9237,7 @@
9971  fi
9972  rm -f core core.* *.core
9973  fi
9974 -echo "$as_me:8489: result: $ac_cv_func_setvbuf_reversed" >&5
9975 +echo "$as_me:9240: result: $ac_cv_func_setvbuf_reversed" >&5
9976  echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
9977  if test $ac_cv_func_setvbuf_reversed = yes; then
9978  
9979 @@ -8497,13 +9248,13 @@
9980  fi
9981  
9982  fi
9983 -echo "$as_me:8500: checking return type of signal handlers" >&5
9984 +echo "$as_me:9251: checking return type of signal handlers" >&5
9985  echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
9986  if test "${ac_cv_type_signal+set}" = set; then
9987    echo $ECHO_N "(cached) $ECHO_C" >&6
9988  else
9989    cat >conftest.$ac_ext <<_ACEOF
9990 -#line 8506 "configure"
9991 +#line 9257 "configure"
9992  #include "confdefs.h"
9993  #include <sys/types.h>
9994  #include <signal.h>
9995 @@ -8525,16 +9276,16 @@
9996  }
9997  _ACEOF
9998  rm -f conftest.$ac_objext
9999 -if { (eval echo "$as_me:8528: \"$ac_compile\"") >&5
10000 +if { (eval echo "$as_me:9279: \"$ac_compile\"") >&5
10001    (eval $ac_compile) 2>&5
10002    ac_status=$?
10003 -  echo "$as_me:8531: \$? = $ac_status" >&5
10004 +  echo "$as_me:9282: \$? = $ac_status" >&5
10005    (exit $ac_status); } &&
10006           { ac_try='test -s conftest.$ac_objext'
10007 -  { (eval echo "$as_me:8534: \"$ac_try\"") >&5
10008 +  { (eval echo "$as_me:9285: \"$ac_try\"") >&5
10009    (eval $ac_try) 2>&5
10010    ac_status=$?
10011 -  echo "$as_me:8537: \$? = $ac_status" >&5
10012 +  echo "$as_me:9288: \$? = $ac_status" >&5
10013    (exit $ac_status); }; }; then
10014    ac_cv_type_signal=void
10015  else
10016 @@ -8544,21 +9295,21 @@
10017  fi
10018  rm -f conftest.$ac_objext conftest.$ac_ext
10019  fi
10020 -echo "$as_me:8547: result: $ac_cv_type_signal" >&5
10021 +echo "$as_me:9298: result: $ac_cv_type_signal" >&5
10022  echo "${ECHO_T}$ac_cv_type_signal" >&6
10023  
10024  cat >>confdefs.h <<EOF
10025  #define RETSIGTYPE $ac_cv_type_signal
10026  EOF
10027  
10028 -echo "$as_me:8554: checking for type sigaction_t" >&5
10029 +echo "$as_me:9305: checking for type sigaction_t" >&5
10030  echo $ECHO_N "checking for type sigaction_t... $ECHO_C" >&6
10031  if test "${cf_cv_type_sigaction+set}" = set; then
10032    echo $ECHO_N "(cached) $ECHO_C" >&6
10033  else
10034  
10035         cat >conftest.$ac_ext <<_ACEOF
10036 -#line 8561 "configure"
10037 +#line 9312 "configure"
10038  #include "confdefs.h"
10039  
10040  #include <signal.h>
10041 @@ -8571,16 +9322,16 @@
10042  }
10043  _ACEOF
10044  rm -f conftest.$ac_objext
10045 -if { (eval echo "$as_me:8574: \"$ac_compile\"") >&5
10046 +if { (eval echo "$as_me:9325: \"$ac_compile\"") >&5
10047    (eval $ac_compile) 2>&5
10048    ac_status=$?
10049 -  echo "$as_me:8577: \$? = $ac_status" >&5
10050 +  echo "$as_me:9328: \$? = $ac_status" >&5
10051    (exit $ac_status); } &&
10052           { ac_try='test -s conftest.$ac_objext'
10053 -  { (eval echo "$as_me:8580: \"$ac_try\"") >&5
10054 +  { (eval echo "$as_me:9331: \"$ac_try\"") >&5
10055    (eval $ac_try) 2>&5
10056    ac_status=$?
10057 -  echo "$as_me:8583: \$? = $ac_status" >&5
10058 +  echo "$as_me:9334: \$? = $ac_status" >&5
10059    (exit $ac_status); }; }; then
10060    cf_cv_type_sigaction=yes
10061  else
10062 @@ -8591,13 +9342,13 @@
10063  rm -f conftest.$ac_objext conftest.$ac_ext
10064  fi
10065  
10066 -echo "$as_me:8594: result: $cf_cv_type_sigaction" >&5
10067 +echo "$as_me:9345: result: $cf_cv_type_sigaction" >&5
10068  echo "${ECHO_T}$cf_cv_type_sigaction" >&6
10069  test "$cf_cv_type_sigaction" = yes && cat >>confdefs.h <<\EOF
10070  #define HAVE_TYPE_SIGACTION 1
10071  EOF
10072  
10073 -echo "$as_me:8600: checking declaration of size-change" >&5
10074 +echo "$as_me:9351: checking declaration of size-change" >&5
10075  echo $ECHO_N "checking declaration of size-change... $ECHO_C" >&6
10076  if test "${cf_cv_sizechange+set}" = set; then
10077    echo $ECHO_N "(cached) $ECHO_C" >&6
10078 @@ -8612,7 +9363,7 @@
10079      CPPFLAGS="$cf_save_CPPFLAGS"
10080      test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
10081      cat >conftest.$ac_ext <<_ACEOF
10082 -#line 8615 "configure"
10083 +#line 9366 "configure"
10084  #include "confdefs.h"
10085  #include <sys/types.h>
10086  #ifdef HAVE_TERMIOS_H
10087 @@ -8656,16 +9407,16 @@
10088  }
10089  _ACEOF
10090  rm -f conftest.$ac_objext
10091 -if { (eval echo "$as_me:8659: \"$ac_compile\"") >&5
10092 +if { (eval echo "$as_me:9410: \"$ac_compile\"") >&5
10093    (eval $ac_compile) 2>&5
10094    ac_status=$?
10095 -  echo "$as_me:8662: \$? = $ac_status" >&5
10096 +  echo "$as_me:9413: \$? = $ac_status" >&5
10097    (exit $ac_status); } &&
10098           { ac_try='test -s conftest.$ac_objext'
10099 -  { (eval echo "$as_me:8665: \"$ac_try\"") >&5
10100 +  { (eval echo "$as_me:9416: \"$ac_try\"") >&5
10101    (eval $ac_try) 2>&5
10102    ac_status=$?
10103 -  echo "$as_me:8668: \$? = $ac_status" >&5
10104 +  echo "$as_me:9419: \$? = $ac_status" >&5
10105    (exit $ac_status); }; }; then
10106    cf_cv_sizechange=yes
10107  else
10108 @@ -8684,7 +9435,7 @@
10109  done
10110  
10111  fi
10112 -echo "$as_me:8687: result: $cf_cv_sizechange" >&5
10113 +echo "$as_me:9438: result: $cf_cv_sizechange" >&5
10114  echo "${ECHO_T}$cf_cv_sizechange" >&6
10115  if test "$cf_cv_sizechange" != no ; then
10116         cat >>confdefs.h <<\EOF
10117 @@ -8701,13 +9452,13 @@
10118         esac
10119  fi
10120  
10121 -echo "$as_me:8704: checking for memmove" >&5
10122 +echo "$as_me:9455: checking for memmove" >&5
10123  echo $ECHO_N "checking for memmove... $ECHO_C" >&6
10124  if test "${ac_cv_func_memmove+set}" = set; then
10125    echo $ECHO_N "(cached) $ECHO_C" >&6
10126  else
10127    cat >conftest.$ac_ext <<_ACEOF
10128 -#line 8710 "configure"
10129 +#line 9461 "configure"
10130  #include "confdefs.h"
10131  /* System header to define __stub macros and hopefully few prototypes,
10132      which can conflict with char memmove (); below.  */
10133 @@ -8738,16 +9489,16 @@
10134  }
10135  _ACEOF
10136  rm -f conftest.$ac_objext conftest$ac_exeext
10137 -if { (eval echo "$as_me:8741: \"$ac_link\"") >&5
10138 +if { (eval echo "$as_me:9492: \"$ac_link\"") >&5
10139    (eval $ac_link) 2>&5
10140    ac_status=$?
10141 -  echo "$as_me:8744: \$? = $ac_status" >&5
10142 +  echo "$as_me:9495: \$? = $ac_status" >&5
10143    (exit $ac_status); } &&
10144           { ac_try='test -s conftest$ac_exeext'
10145 -  { (eval echo "$as_me:8747: \"$ac_try\"") >&5
10146 +  { (eval echo "$as_me:9498: \"$ac_try\"") >&5
10147    (eval $ac_try) 2>&5
10148    ac_status=$?
10149 -  echo "$as_me:8750: \$? = $ac_status" >&5
10150 +  echo "$as_me:9501: \$? = $ac_status" >&5
10151    (exit $ac_status); }; }; then
10152    ac_cv_func_memmove=yes
10153  else
10154 @@ -8757,19 +9508,19 @@
10155  fi
10156  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
10157  fi
10158 -echo "$as_me:8760: result: $ac_cv_func_memmove" >&5
10159 +echo "$as_me:9511: result: $ac_cv_func_memmove" >&5
10160  echo "${ECHO_T}$ac_cv_func_memmove" >&6
10161  if test $ac_cv_func_memmove = yes; then
10162    :
10163  else
10164  
10165 -echo "$as_me:8766: checking for bcopy" >&5
10166 +echo "$as_me:9517: checking for bcopy" >&5
10167  echo $ECHO_N "checking for bcopy... $ECHO_C" >&6
10168  if test "${ac_cv_func_bcopy+set}" = set; then
10169    echo $ECHO_N "(cached) $ECHO_C" >&6
10170  else
10171    cat >conftest.$ac_ext <<_ACEOF
10172 -#line 8772 "configure"
10173 +#line 9523 "configure"
10174  #include "confdefs.h"
10175  /* System header to define __stub macros and hopefully few prototypes,
10176      which can conflict with char bcopy (); below.  */
10177 @@ -8800,16 +9551,16 @@
10178  }
10179  _ACEOF
10180  rm -f conftest.$ac_objext conftest$ac_exeext
10181 -if { (eval echo "$as_me:8803: \"$ac_link\"") >&5
10182 +if { (eval echo "$as_me:9554: \"$ac_link\"") >&5
10183    (eval $ac_link) 2>&5
10184    ac_status=$?
10185 -  echo "$as_me:8806: \$? = $ac_status" >&5
10186 +  echo "$as_me:9557: \$? = $ac_status" >&5
10187    (exit $ac_status); } &&
10188           { ac_try='test -s conftest$ac_exeext'
10189 -  { (eval echo "$as_me:8809: \"$ac_try\"") >&5
10190 +  { (eval echo "$as_me:9560: \"$ac_try\"") >&5
10191    (eval $ac_try) 2>&5
10192    ac_status=$?
10193 -  echo "$as_me:8812: \$? = $ac_status" >&5
10194 +  echo "$as_me:9563: \$? = $ac_status" >&5
10195    (exit $ac_status); }; }; then
10196    ac_cv_func_bcopy=yes
10197  else
10198 @@ -8819,11 +9570,11 @@
10199  fi
10200  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
10201  fi
10202 -echo "$as_me:8822: result: $ac_cv_func_bcopy" >&5
10203 +echo "$as_me:9573: result: $ac_cv_func_bcopy" >&5
10204  echo "${ECHO_T}$ac_cv_func_bcopy" >&6
10205  if test $ac_cv_func_bcopy = yes; then
10206  
10207 -       echo "$as_me:8826: checking if bcopy does overlapping moves" >&5
10208 +       echo "$as_me:9577: checking if bcopy does overlapping moves" >&5
10209  echo $ECHO_N "checking if bcopy does overlapping moves... $ECHO_C" >&6
10210  if test "${cf_cv_good_bcopy+set}" = set; then
10211    echo $ECHO_N "(cached) $ECHO_C" >&6
10212 @@ -8833,7 +9584,7 @@
10213    cf_cv_good_bcopy=unknown
10214  else
10215    cat >conftest.$ac_ext <<_ACEOF
10216 -#line 8836 "configure"
10217 +#line 9587 "configure"
10218  #include "confdefs.h"
10219  
10220  int main() {
10221 @@ -8847,15 +9598,15 @@
10222  
10223  _ACEOF
10224  rm -f conftest$ac_exeext
10225 -if { (eval echo "$as_me:8850: \"$ac_link\"") >&5
10226 +if { (eval echo "$as_me:9601: \"$ac_link\"") >&5
10227    (eval $ac_link) 2>&5
10228    ac_status=$?
10229 -  echo "$as_me:8853: \$? = $ac_status" >&5
10230 +  echo "$as_me:9604: \$? = $ac_status" >&5
10231    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
10232 -  { (eval echo "$as_me:8855: \"$ac_try\"") >&5
10233 +  { (eval echo "$as_me:9606: \"$ac_try\"") >&5
10234    (eval $ac_try) 2>&5
10235    ac_status=$?
10236 -  echo "$as_me:8858: \$? = $ac_status" >&5
10237 +  echo "$as_me:9609: \$? = $ac_status" >&5
10238    (exit $ac_status); }; }; then
10239    cf_cv_good_bcopy=yes
10240  else
10241 @@ -8868,7 +9619,7 @@
10242  fi
10243  
10244  fi
10245 -echo "$as_me:8871: result: $cf_cv_good_bcopy" >&5
10246 +echo "$as_me:9622: result: $cf_cv_good_bcopy" >&5
10247  echo "${ECHO_T}$cf_cv_good_bcopy" >&6
10248  
10249  else
10250 @@ -8889,7 +9640,7 @@
10251  
10252  fi
10253  
10254 -echo "$as_me:8892: checking if poll really works" >&5
10255 +echo "$as_me:9643: checking if poll really works" >&5
10256  echo $ECHO_N "checking if poll really works... $ECHO_C" >&6
10257  if test "${cf_cv_working_poll+set}" = set; then
10258    echo $ECHO_N "(cached) $ECHO_C" >&6
10259 @@ -8899,7 +9650,7 @@
10260    cf_cv_working_poll=unknown
10261  else
10262    cat >conftest.$ac_ext <<_ACEOF
10263 -#line 8902 "configure"
10264 +#line 9653 "configure"
10265  #include "confdefs.h"
10266  
10267  #include <stdio.h>
10268 @@ -8920,15 +9671,15 @@
10269  }
10270  _ACEOF
10271  rm -f conftest$ac_exeext
10272 -if { (eval echo "$as_me:8923: \"$ac_link\"") >&5
10273 +if { (eval echo "$as_me:9674: \"$ac_link\"") >&5
10274    (eval $ac_link) 2>&5
10275    ac_status=$?
10276 -  echo "$as_me:8926: \$? = $ac_status" >&5
10277 +  echo "$as_me:9677: \$? = $ac_status" >&5
10278    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
10279 -  { (eval echo "$as_me:8928: \"$ac_try\"") >&5
10280 +  { (eval echo "$as_me:9679: \"$ac_try\"") >&5
10281    (eval $ac_try) 2>&5
10282    ac_status=$?
10283 -  echo "$as_me:8931: \$? = $ac_status" >&5
10284 +  echo "$as_me:9682: \$? = $ac_status" >&5
10285    (exit $ac_status); }; }; then
10286    cf_cv_working_poll=yes
10287  else
10288 @@ -8940,34 +9691,36 @@
10289  rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
10290  fi
10291  fi
10292 -echo "$as_me:8943: result: $cf_cv_working_poll" >&5
10293 +echo "$as_me:9694: result: $cf_cv_working_poll" >&5
10294  echo "${ECHO_T}$cf_cv_working_poll" >&6
10295  test "$cf_cv_working_poll" = "yes" && cat >>confdefs.h <<\EOF
10296  #define HAVE_WORKING_POLL 1
10297  EOF
10298  
10299  if test -z "$cf_user_CFLAGS" ; then
10300 -       CFLAGS=`echo ${CFLAGS} | sed -e 's/-g //' -e 's/-g$//'`
10301 -       CXXFLAGS=`echo ${CXXFLAGS} | sed -e 's/-g //' -e 's/-g$//'`
10302 +       CFLAGS=`echo ${CFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'`
10303 +       CXXFLAGS=`echo ${CXXFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'`
10304  fi
10305  
10306 -echo "$as_me:8954: checking for stdbool.h" >&5
10307 +# Just in case, check if the C compiler has a bool type.
10308 +
10309 +echo "$as_me:9707: checking for stdbool.h" >&5
10310  echo $ECHO_N "checking for stdbool.h... $ECHO_C" >&6
10311  if test "${ac_cv_header_stdbool_h+set}" = set; then
10312    echo $ECHO_N "(cached) $ECHO_C" >&6
10313  else
10314    cat >conftest.$ac_ext <<_ACEOF
10315 -#line 8960 "configure"
10316 +#line 9713 "configure"
10317  #include "confdefs.h"
10318  #include <stdbool.h>
10319  _ACEOF
10320 -if { (eval echo "$as_me:8964: \"$ac_cpp conftest.$ac_ext\"") >&5
10321 +if { (eval echo "$as_me:9717: \"$ac_cpp conftest.$ac_ext\"") >&5
10322    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10323    ac_status=$?
10324    egrep -v '^ *\+' conftest.er1 >conftest.err
10325    rm -f conftest.er1
10326    cat conftest.err >&5
10327 -  echo "$as_me:8970: \$? = $ac_status" >&5
10328 +  echo "$as_me:9723: \$? = $ac_status" >&5
10329    (exit $ac_status); } >/dev/null; then
10330    if test -s conftest.err; then
10331      ac_cpp_err=$ac_c_preproc_warn_flag
10332 @@ -8986,7 +9739,7 @@
10333  fi
10334  rm -f conftest.err conftest.$ac_ext
10335  fi
10336 -echo "$as_me:8989: result: $ac_cv_header_stdbool_h" >&5
10337 +echo "$as_me:9742: result: $ac_cv_header_stdbool_h" >&5
10338  echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6
10339  if test $ac_cv_header_stdbool_h = yes; then
10340    cf_cv_header_stdbool_h=1
10341 @@ -8994,14 +9747,14 @@
10342    cf_cv_header_stdbool_h=0
10343  fi
10344  
10345 -echo "$as_me:8997: checking for builtin bool type" >&5
10346 +echo "$as_me:9750: checking for builtin bool type" >&5
10347  echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
10348 -if test "${cf_cv_cc_bool_type+set}" = set; then
10349 +if test "${cv_cv_cc_bool_type+set}" = set; then
10350    echo $ECHO_N "(cached) $ECHO_C" >&6
10351  else
10352  
10353         cat >conftest.$ac_ext <<_ACEOF
10354 -#line 9004 "configure"
10355 +#line 9757 "configure"
10356  #include "confdefs.h"
10357  
10358  #include <stdio.h>
10359 @@ -9016,34 +9769,35 @@
10360  }
10361  _ACEOF
10362  rm -f conftest.$ac_objext
10363 -if { (eval echo "$as_me:9019: \"$ac_compile\"") >&5
10364 +if { (eval echo "$as_me:9772: \"$ac_compile\"") >&5
10365    (eval $ac_compile) 2>&5
10366    ac_status=$?
10367 -  echo "$as_me:9022: \$? = $ac_status" >&5
10368 +  echo "$as_me:9775: \$? = $ac_status" >&5
10369    (exit $ac_status); } &&
10370           { ac_try='test -s conftest.$ac_objext'
10371 -  { (eval echo "$as_me:9025: \"$ac_try\"") >&5
10372 +  { (eval echo "$as_me:9778: \"$ac_try\"") >&5
10373    (eval $ac_try) 2>&5
10374    ac_status=$?
10375 -  echo "$as_me:9028: \$? = $ac_status" >&5
10376 +  echo "$as_me:9781: \$? = $ac_status" >&5
10377    (exit $ac_status); }; }; then
10378 -  cf_cv_cc_bool_type=1
10379 +  cv_cv_cc_bool_type=1
10380  else
10381    echo "$as_me: failed program was:" >&5
10382  cat conftest.$ac_ext >&5
10383 -cf_cv_cc_bool_type=0
10384 +cv_cv_cc_bool_type=0
10385  fi
10386  rm -f conftest.$ac_objext conftest.$ac_ext
10387  
10388  fi
10389  
10390 -if test "$cf_cv_cc_bool_type" = 1
10391 -then   echo "$as_me:9041: result: yes" >&5
10392 +if test "$cv_cv_cc_bool_type" = 1
10393 +then   echo "$as_me:9794: result: yes" >&5
10394  echo "${ECHO_T}yes" >&6
10395 -else   echo "$as_me:9043: result: no" >&5
10396 +else   echo "$as_me:9796: result: no" >&5
10397  echo "${ECHO_T}no" >&6
10398  fi
10399  
10400 +# Check for C++ compiler characteristics (and ensure that it's there!)
10401  if test -n "$CXX" ; then
10402         ac_ext=cc
10403  ac_cpp='$CXXCPP $CPPFLAGS'
10404 @@ -9060,7 +9814,7 @@
10405         cf_stdcpp_libname=stdc++
10406         ;;
10407  esac
10408 -echo "$as_me:9063: checking for library $cf_stdcpp_libname" >&5
10409 +echo "$as_me:9817: checking for library $cf_stdcpp_libname" >&5
10410  echo $ECHO_N "checking for library $cf_stdcpp_libname... $ECHO_C" >&6
10411  if test "${cf_cv_libstdcpp+set}" = set; then
10412    echo $ECHO_N "(cached) $ECHO_C" >&6
10413 @@ -9069,7 +9823,7 @@
10414         cf_save="$LIBS"
10415         LIBS="$LIBS -l$cf_stdcpp_libname"
10416  cat >conftest.$ac_ext <<_ACEOF
10417 -#line 9072 "configure"
10418 +#line 9826 "configure"
10419  #include "confdefs.h"
10420  
10421  #include <strstream.h>
10422 @@ -9085,16 +9839,16 @@
10423  }
10424  _ACEOF
10425  rm -f conftest.$ac_objext conftest$ac_exeext
10426 -if { (eval echo "$as_me:9088: \"$ac_link\"") >&5
10427 +if { (eval echo "$as_me:9842: \"$ac_link\"") >&5
10428    (eval $ac_link) 2>&5
10429    ac_status=$?
10430 -  echo "$as_me:9091: \$? = $ac_status" >&5
10431 +  echo "$as_me:9845: \$? = $ac_status" >&5
10432    (exit $ac_status); } &&
10433           { ac_try='test -s conftest$ac_exeext'
10434 -  { (eval echo "$as_me:9094: \"$ac_try\"") >&5
10435 +  { (eval echo "$as_me:9848: \"$ac_try\"") >&5
10436    (eval $ac_try) 2>&5
10437    ac_status=$?
10438 -  echo "$as_me:9097: \$? = $ac_status" >&5
10439 +  echo "$as_me:9851: \$? = $ac_status" >&5
10440    (exit $ac_status); }; }; then
10441    cf_cv_libstdcpp=yes
10442  else
10443 @@ -9106,7 +9860,7 @@
10444         LIBS="$cf_save"
10445  
10446  fi
10447 -echo "$as_me:9109: result: $cf_cv_libstdcpp" >&5
10448 +echo "$as_me:9863: result: $cf_cv_libstdcpp" >&5
10449  echo "${ECHO_T}$cf_cv_libstdcpp" >&6
10450  test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
10451  fi
10452 @@ -9126,13 +9880,13 @@
10453         cf_gpp_libname=g++
10454         ;;
10455  esac
10456 -if test "$ac_cv_cxx_compiler_gnu" = yes; then
10457 -       echo "$as_me:9130: checking for lib$cf_gpp_libname" >&5
10458 +if test "$GXX" = yes; then
10459 +       echo "$as_me:9884: checking for lib$cf_gpp_libname" >&5
10460  echo $ECHO_N "checking for lib$cf_gpp_libname... $ECHO_C" >&6
10461         cf_save="$LIBS"
10462         LIBS="$LIBS -l$cf_gpp_libname"
10463         cat >conftest.$ac_ext <<_ACEOF
10464 -#line 9135 "configure"
10465 +#line 9889 "configure"
10466  #include "confdefs.h"
10467  
10468  #include <$cf_gpp_libname/builtin.h>
10469 @@ -9146,16 +9900,16 @@
10470  }
10471  _ACEOF
10472  rm -f conftest.$ac_objext conftest$ac_exeext
10473 -if { (eval echo "$as_me:9149: \"$ac_link\"") >&5
10474 +if { (eval echo "$as_me:9903: \"$ac_link\"") >&5
10475    (eval $ac_link) 2>&5
10476    ac_status=$?
10477 -  echo "$as_me:9152: \$? = $ac_status" >&5
10478 +  echo "$as_me:9906: \$? = $ac_status" >&5
10479    (exit $ac_status); } &&
10480           { ac_try='test -s conftest$ac_exeext'
10481 -  { (eval echo "$as_me:9155: \"$ac_try\"") >&5
10482 +  { (eval echo "$as_me:9909: \"$ac_try\"") >&5
10483    (eval $ac_try) 2>&5
10484    ac_status=$?
10485 -  echo "$as_me:9158: \$? = $ac_status" >&5
10486 +  echo "$as_me:9912: \$? = $ac_status" >&5
10487    (exit $ac_status); }; }; then
10488    cf_cxx_library=yes
10489          CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
10490 @@ -9174,7 +9928,7 @@
10491    echo "$as_me: failed program was:" >&5
10492  cat conftest.$ac_ext >&5
10493  cat >conftest.$ac_ext <<_ACEOF
10494 -#line 9177 "configure"
10495 +#line 9931 "configure"
10496  #include "confdefs.h"
10497  
10498  #include <builtin.h>
10499 @@ -9188,16 +9942,16 @@
10500  }
10501  _ACEOF
10502  rm -f conftest.$ac_objext conftest$ac_exeext
10503 -if { (eval echo "$as_me:9191: \"$ac_link\"") >&5
10504 +if { (eval echo "$as_me:9945: \"$ac_link\"") >&5
10505    (eval $ac_link) 2>&5
10506    ac_status=$?
10507 -  echo "$as_me:9194: \$? = $ac_status" >&5
10508 +  echo "$as_me:9948: \$? = $ac_status" >&5
10509    (exit $ac_status); } &&
10510           { ac_try='test -s conftest$ac_exeext'
10511 -  { (eval echo "$as_me:9197: \"$ac_try\"") >&5
10512 +  { (eval echo "$as_me:9951: \"$ac_try\"") >&5
10513    (eval $ac_try) 2>&5
10514    ac_status=$?
10515 -  echo "$as_me:9200: \$? = $ac_status" >&5
10516 +  echo "$as_me:9954: \$? = $ac_status" >&5
10517    (exit $ac_status); }; }; then
10518    cf_cxx_library=yes
10519          CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
10520 @@ -9214,7 +9968,7 @@
10521  fi
10522  rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
10523         LIBS="$cf_save"
10524 -       echo "$as_me:9217: result: $cf_cxx_library" >&5
10525 +       echo "$as_me:9971: result: $cf_cxx_library" >&5
10526  echo "${ECHO_T}$cf_cxx_library" >&6
10527  fi
10528  
10529 @@ -9229,7 +9983,7 @@
10530  ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
10531  ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
10532  ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
10533 -echo "$as_me:9232: checking how to run the C++ preprocessor" >&5
10534 +echo "$as_me:9986: checking how to run the C++ preprocessor" >&5
10535  echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
10536  if test -z "$CXXCPP"; then
10537    if test "${ac_cv_prog_CXXCPP+set}" = set; then
10538 @@ -9246,18 +10000,18 @@
10539    # On the NeXT, cc -E runs the code through the compiler's parser,
10540    # not just through cpp. "Syntax error" is here to catch this case.
10541    cat >conftest.$ac_ext <<_ACEOF
10542 -#line 9249 "configure"
10543 +#line 10003 "configure"
10544  #include "confdefs.h"
10545  #include <assert.h>
10546                       Syntax error
10547  _ACEOF
10548 -if { (eval echo "$as_me:9254: \"$ac_cpp conftest.$ac_ext\"") >&5
10549 +if { (eval echo "$as_me:10008: \"$ac_cpp conftest.$ac_ext\"") >&5
10550    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10551    ac_status=$?
10552    egrep -v '^ *\+' conftest.er1 >conftest.err
10553    rm -f conftest.er1
10554    cat conftest.err >&5
10555 -  echo "$as_me:9260: \$? = $ac_status" >&5
10556 +  echo "$as_me:10014: \$? = $ac_status" >&5
10557    (exit $ac_status); } >/dev/null; then
10558    if test -s conftest.err; then
10559      ac_cpp_err=$ac_cxx_preproc_warn_flag
10560 @@ -9280,17 +10034,17 @@
10561    # OK, works on sane cases.  Now check whether non-existent headers
10562    # can be detected and how.
10563    cat >conftest.$ac_ext <<_ACEOF
10564 -#line 9283 "configure"
10565 +#line 10037 "configure"
10566  #include "confdefs.h"
10567  #include <ac_nonexistent.h>
10568  _ACEOF
10569 -if { (eval echo "$as_me:9287: \"$ac_cpp conftest.$ac_ext\"") >&5
10570 +if { (eval echo "$as_me:10041: \"$ac_cpp conftest.$ac_ext\"") >&5
10571    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10572    ac_status=$?
10573    egrep -v '^ *\+' conftest.er1 >conftest.err
10574    rm -f conftest.er1
10575    cat conftest.err >&5
10576 -  echo "$as_me:9293: \$? = $ac_status" >&5
10577 +  echo "$as_me:10047: \$? = $ac_status" >&5
10578    (exit $ac_status); } >/dev/null; then
10579    if test -s conftest.err; then
10580      ac_cpp_err=$ac_cxx_preproc_warn_flag
10581 @@ -9327,7 +10081,7 @@
10582  else
10583    ac_cv_prog_CXXCPP=$CXXCPP
10584  fi
10585 -echo "$as_me:9330: result: $CXXCPP" >&5
10586 +echo "$as_me:10084: result: $CXXCPP" >&5
10587  echo "${ECHO_T}$CXXCPP" >&6
10588  ac_preproc_ok=false
10589  for ac_cxx_preproc_warn_flag in '' yes
10590 @@ -9337,18 +10091,18 @@
10591    # On the NeXT, cc -E runs the code through the compiler's parser,
10592    # not just through cpp. "Syntax error" is here to catch this case.
10593    cat >conftest.$ac_ext <<_ACEOF
10594 -#line 9340 "configure"
10595 +#line 10094 "configure"
10596  #include "confdefs.h"
10597  #include <assert.h>
10598                       Syntax error
10599  _ACEOF
10600 -if { (eval echo "$as_me:9345: \"$ac_cpp conftest.$ac_ext\"") >&5
10601 +if { (eval echo "$as_me:10099: \"$ac_cpp conftest.$ac_ext\"") >&5
10602    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10603    ac_status=$?
10604    egrep -v '^ *\+' conftest.er1 >conftest.err
10605    rm -f conftest.er1
10606    cat conftest.err >&5
10607 -  echo "$as_me:9351: \$? = $ac_status" >&5
10608 +  echo "$as_me:10105: \$? = $ac_status" >&5
10609    (exit $ac_status); } >/dev/null; then
10610    if test -s conftest.err; then
10611      ac_cpp_err=$ac_cxx_preproc_warn_flag
10612 @@ -9371,17 +10125,17 @@
10613    # OK, works on sane cases.  Now check whether non-existent headers
10614    # can be detected and how.
10615    cat >conftest.$ac_ext <<_ACEOF
10616 -#line 9374 "configure"
10617 +#line 10128 "configure"
10618  #include "confdefs.h"
10619  #include <ac_nonexistent.h>
10620  _ACEOF
10621 -if { (eval echo "$as_me:9378: \"$ac_cpp conftest.$ac_ext\"") >&5
10622 +if { (eval echo "$as_me:10132: \"$ac_cpp conftest.$ac_ext\"") >&5
10623    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10624    ac_status=$?
10625    egrep -v '^ *\+' conftest.er1 >conftest.err
10626    rm -f conftest.er1
10627    cat conftest.err >&5
10628 -  echo "$as_me:9384: \$? = $ac_status" >&5
10629 +  echo "$as_me:10138: \$? = $ac_status" >&5
10630    (exit $ac_status); } >/dev/null; then
10631    if test -s conftest.err; then
10632      ac_cpp_err=$ac_cxx_preproc_warn_flag
10633 @@ -9409,7 +10163,7 @@
10634  if $ac_preproc_ok; then
10635    :
10636  else
10637 -  { { echo "$as_me:9412: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
10638 +  { { echo "$as_me:10166: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
10639  echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;}
10640     { (exit 1); exit 1; }; }
10641  fi
10642 @@ -9423,23 +10177,23 @@
10643  for ac_header in typeinfo
10644  do
10645  as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
10646 -echo "$as_me:9426: checking for $ac_header" >&5
10647 +echo "$as_me:10180: checking for $ac_header" >&5
10648  echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10649  if eval "test \"\${$as_ac_Header+set}\" = set"; then
10650    echo $ECHO_N "(cached) $ECHO_C" >&6
10651  else
10652    cat >conftest.$ac_ext <<_ACEOF
10653 -#line 9432 "configure"
10654 +#line 10186 "configure"
10655  #include "confdefs.h"
10656  #include <$ac_header>
10657  _ACEOF
10658 -if { (eval echo "$as_me:9436: \"$ac_cpp conftest.$ac_ext\"") >&5
10659 +if { (eval echo "$as_me:10190: \"$ac_cpp conftest.$ac_ext\"") >&5
10660    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10661    ac_status=$?
10662    egrep -v '^ *\+' conftest.er1 >conftest.err
10663    rm -f conftest.er1
10664    cat conftest.err >&5
10665 -  echo "$as_me:9442: \$? = $ac_status" >&5
10666 +  echo "$as_me:10196: \$? = $ac_status" >&5
10667    (exit $ac_status); } >/dev/null; then
10668    if test -s conftest.err; then
10669      ac_cpp_err=$ac_cxx_preproc_warn_flag
10670 @@ -9458,7 +10212,7 @@
10671  fi
10672  rm -f conftest.err conftest.$ac_ext
10673  fi
10674 -echo "$as_me:9461: result: `eval echo '${'$as_ac_Header'}'`" >&5
10675 +echo "$as_me:10215: result: `eval echo '${'$as_ac_Header'}'`" >&5
10676  echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10677  if test `eval echo '${'$as_ac_Header'}'` = yes; then
10678    cat >>confdefs.h <<EOF
10679 @@ -9468,23 +10222,23 @@
10680  fi
10681  done
10682  
10683 -echo "$as_me:9471: checking for stdbool.h" >&5
10684 +echo "$as_me:10225: checking for stdbool.h" >&5
10685  echo $ECHO_N "checking for stdbool.h... $ECHO_C" >&6
10686  if test "${ac_cv_header_stdbool_h+set}" = set; then
10687    echo $ECHO_N "(cached) $ECHO_C" >&6
10688  else
10689    cat >conftest.$ac_ext <<_ACEOF
10690 -#line 9477 "configure"
10691 +#line 10231 "configure"
10692  #include "confdefs.h"
10693  #include <stdbool.h>
10694  _ACEOF
10695 -if { (eval echo "$as_me:9481: \"$ac_cpp conftest.$ac_ext\"") >&5
10696 +if { (eval echo "$as_me:10235: \"$ac_cpp conftest.$ac_ext\"") >&5
10697    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10698    ac_status=$?
10699    egrep -v '^ *\+' conftest.er1 >conftest.err
10700    rm -f conftest.er1
10701    cat conftest.err >&5
10702 -  echo "$as_me:9487: \$? = $ac_status" >&5
10703 +  echo "$as_me:10241: \$? = $ac_status" >&5
10704    (exit $ac_status); } >/dev/null; then
10705    if test -s conftest.err; then
10706      ac_cpp_err=$ac_cxx_preproc_warn_flag
10707 @@ -9503,7 +10257,7 @@
10708  fi
10709  rm -f conftest.err conftest.$ac_ext
10710  fi
10711 -echo "$as_me:9506: result: $ac_cv_header_stdbool_h" >&5
10712 +echo "$as_me:10260: result: $ac_cv_header_stdbool_h" >&5
10713  echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6
10714  if test $ac_cv_header_stdbool_h = yes; then
10715    cf_cv_header_stdbool_h=1
10716 @@ -9511,14 +10265,14 @@
10717    cf_cv_header_stdbool_h=0
10718  fi
10719  
10720 -echo "$as_me:9514: checking for builtin bool type" >&5
10721 +echo "$as_me:10268: checking for builtin bool type" >&5
10722  echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
10723  if test "${cf_cv_builtin_bool+set}" = set; then
10724    echo $ECHO_N "(cached) $ECHO_C" >&6
10725  else
10726  
10727         cat >conftest.$ac_ext <<_ACEOF
10728 -#line 9521 "configure"
10729 +#line 10275 "configure"
10730  #include "confdefs.h"
10731  
10732  #include <stdio.h>
10733 @@ -9533,16 +10287,16 @@
10734  }
10735  _ACEOF
10736  rm -f conftest.$ac_objext
10737 -if { (eval echo "$as_me:9536: \"$ac_compile\"") >&5
10738 +if { (eval echo "$as_me:10290: \"$ac_compile\"") >&5
10739    (eval $ac_compile) 2>&5
10740    ac_status=$?
10741 -  echo "$as_me:9539: \$? = $ac_status" >&5
10742 +  echo "$as_me:10293: \$? = $ac_status" >&5
10743    (exit $ac_status); } &&
10744           { ac_try='test -s conftest.$ac_objext'
10745 -  { (eval echo "$as_me:9542: \"$ac_try\"") >&5
10746 +  { (eval echo "$as_me:10296: \"$ac_try\"") >&5
10747    (eval $ac_try) 2>&5
10748    ac_status=$?
10749 -  echo "$as_me:9545: \$? = $ac_status" >&5
10750 +  echo "$as_me:10299: \$? = $ac_status" >&5
10751    (exit $ac_status); }; }; then
10752    cf_cv_builtin_bool=1
10753  else
10754 @@ -9555,13 +10309,13 @@
10755  fi
10756  
10757  if test "$cf_cv_builtin_bool" = 1
10758 -then   echo "$as_me:9558: result: yes" >&5
10759 +then   echo "$as_me:10312: result: yes" >&5
10760  echo "${ECHO_T}yes" >&6
10761 -else   echo "$as_me:9560: result: no" >&5
10762 +else   echo "$as_me:10314: result: no" >&5
10763  echo "${ECHO_T}no" >&6
10764  fi
10765  
10766 -echo "$as_me:9564: checking for size of bool" >&5
10767 +echo "$as_me:10318: checking for size of bool" >&5
10768  echo $ECHO_N "checking for size of bool... $ECHO_C" >&6
10769  if test "${cf_cv_type_of_bool+set}" = set; then
10770    echo $ECHO_N "(cached) $ECHO_C" >&6
10771 @@ -9572,7 +10326,7 @@
10772    cf_cv_type_of_bool=unknown
10773  else
10774    cat >conftest.$ac_ext <<_ACEOF
10775 -#line 9575 "configure"
10776 +#line 10329 "configure"
10777  #include "confdefs.h"
10778  
10779  #include <stdlib.h>
10780 @@ -9614,15 +10368,15 @@
10781  
10782  _ACEOF
10783  rm -f conftest$ac_exeext
10784 -if { (eval echo "$as_me:9617: \"$ac_link\"") >&5
10785 +if { (eval echo "$as_me:10371: \"$ac_link\"") >&5
10786    (eval $ac_link) 2>&5
10787    ac_status=$?
10788 -  echo "$as_me:9620: \$? = $ac_status" >&5
10789 +  echo "$as_me:10374: \$? = $ac_status" >&5
10790    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
10791 -  { (eval echo "$as_me:9622: \"$ac_try\"") >&5
10792 +  { (eval echo "$as_me:10376: \"$ac_try\"") >&5
10793    (eval $ac_try) 2>&5
10794    ac_status=$?
10795 -  echo "$as_me:9625: \$? = $ac_status" >&5
10796 +  echo "$as_me:10379: \$? = $ac_status" >&5
10797    (exit $ac_status); }; }; then
10798    cf_cv_type_of_bool=`cat cf_test.out`
10799                  if test -z "$cf_cv_type_of_bool"; then
10800 @@ -9640,18 +10394,18 @@
10801  fi
10802  
10803         rm -f cf_test.out
10804 -echo "$as_me:9643: result: $cf_cv_type_of_bool" >&5
10805 +echo "$as_me:10397: result: $cf_cv_type_of_bool" >&5
10806  echo "${ECHO_T}$cf_cv_type_of_bool" >&6
10807  if test "$cf_cv_type_of_bool" = unknown ; then
10808         case .$NCURSES_BOOL in #(vi
10809         .auto|.) NCURSES_BOOL=unsigned;;
10810         esac
10811 -       { echo "$as_me:9649: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
10812 +       { echo "$as_me:10403: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
10813  echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
10814         cf_cv_type_of_bool=$NCURSES_BOOL
10815  fi
10816  
10817 -echo "$as_me:9654: checking for special defines needed for etip.h" >&5
10818 +echo "$as_me:10408: checking for special defines needed for etip.h" >&5
10819  echo $ECHO_N "checking for special defines needed for etip.h... $ECHO_C" >&6
10820  cf_save_CXXFLAGS="$CXXFLAGS"
10821  cf_result="none"
10822 @@ -9659,11 +10413,11 @@
10823  do
10824  for cf_excp in "" MATH_EXCEPTION
10825  do
10826 -       CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu"
10827 +       CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
10828         test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
10829         test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
10830  cat >conftest.$ac_ext <<_ACEOF
10831 -#line 9666 "configure"
10832 +#line 10420 "configure"
10833  #include "confdefs.h"
10834  
10835  #include <etip.h.in>
10836 @@ -9677,16 +10431,16 @@
10837  }
10838  _ACEOF
10839  rm -f conftest.$ac_objext
10840 -if { (eval echo "$as_me:9680: \"$ac_compile\"") >&5
10841 +if { (eval echo "$as_me:10434: \"$ac_compile\"") >&5
10842    (eval $ac_compile) 2>&5
10843    ac_status=$?
10844 -  echo "$as_me:9683: \$? = $ac_status" >&5
10845 +  echo "$as_me:10437: \$? = $ac_status" >&5
10846    (exit $ac_status); } &&
10847           { ac_try='test -s conftest.$ac_objext'
10848 -  { (eval echo "$as_me:9686: \"$ac_try\"") >&5
10849 +  { (eval echo "$as_me:10440: \"$ac_try\"") >&5
10850    (eval $ac_try) 2>&5
10851    ac_status=$?
10852 -  echo "$as_me:9689: \$? = $ac_status" >&5
10853 +  echo "$as_me:10443: \$? = $ac_status" >&5
10854    (exit $ac_status); }; }; then
10855  
10856         test -n "$cf_math" && cat >>confdefs.h <<EOF
10857 @@ -9707,12 +10461,12 @@
10858  rm -f conftest.$ac_objext conftest.$ac_ext
10859  done
10860  done
10861 -echo "$as_me:9710: result: $cf_result" >&5
10862 +echo "$as_me:10464: result: $cf_result" >&5
10863  echo "${ECHO_T}$cf_result" >&6
10864  CXXFLAGS="$cf_save_CXXFLAGS"
10865  
10866  if test -n "$CXX"; then
10867 -echo "$as_me:9715: checking if $CXX accepts parameter initialization" >&5
10868 +echo "$as_me:10469: checking if $CXX accepts parameter initialization" >&5
10869  echo $ECHO_N "checking if $CXX accepts parameter initialization... $ECHO_C" >&6
10870  if test "${cf_cv_cpp_param_init+set}" = set; then
10871    echo $ECHO_N "(cached) $ECHO_C" >&6
10872 @@ -9728,7 +10482,7 @@
10873    cf_cv_cpp_param_init=unknown
10874  else
10875    cat >conftest.$ac_ext <<_ACEOF
10876 -#line 9731 "configure"
10877 +#line 10485 "configure"
10878  #include "confdefs.h"
10879  
10880  class TEST {
10881 @@ -9747,15 +10501,15 @@
10882  
10883  _ACEOF
10884  rm -f conftest$ac_exeext
10885 -if { (eval echo "$as_me:9750: \"$ac_link\"") >&5
10886 +if { (eval echo "$as_me:10504: \"$ac_link\"") >&5
10887    (eval $ac_link) 2>&5
10888    ac_status=$?
10889 -  echo "$as_me:9753: \$? = $ac_status" >&5
10890 +  echo "$as_me:10507: \$? = $ac_status" >&5
10891    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
10892 -  { (eval echo "$as_me:9755: \"$ac_try\"") >&5
10893 +  { (eval echo "$as_me:10509: \"$ac_try\"") >&5
10894    (eval $ac_try) 2>&5
10895    ac_status=$?
10896 -  echo "$as_me:9758: \$? = $ac_status" >&5
10897 +  echo "$as_me:10512: \$? = $ac_status" >&5
10898    (exit $ac_status); }; }; then
10899    cf_cv_cpp_param_init=yes
10900  else
10901 @@ -9773,7 +10527,7 @@
10902  ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
10903  
10904  fi
10905 -echo "$as_me:9776: result: $cf_cv_cpp_param_init" >&5
10906 +echo "$as_me:10530: result: $cf_cv_cpp_param_init" >&5
10907  echo "${ECHO_T}$cf_cv_cpp_param_init" >&6
10908  fi
10909  test "$cf_cv_cpp_param_init" = yes && cat >>confdefs.h <<\EOF
10910 @@ -9791,23 +10545,23 @@
10911  for ac_header in strstream.h
10912  do
10913  as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
10914 -echo "$as_me:9794: checking for $ac_header" >&5
10915 +echo "$as_me:10548: checking for $ac_header" >&5
10916  echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10917  if eval "test \"\${$as_ac_Header+set}\" = set"; then
10918    echo $ECHO_N "(cached) $ECHO_C" >&6
10919  else
10920    cat >conftest.$ac_ext <<_ACEOF
10921 -#line 9800 "configure"
10922 +#line 10554 "configure"
10923  #include "confdefs.h"
10924  #include <$ac_header>
10925  _ACEOF
10926 -if { (eval echo "$as_me:9804: \"$ac_cpp conftest.$ac_ext\"") >&5
10927 +if { (eval echo "$as_me:10558: \"$ac_cpp conftest.$ac_ext\"") >&5
10928    (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10929    ac_status=$?
10930    egrep -v '^ *\+' conftest.er1 >conftest.err
10931    rm -f conftest.er1
10932    cat conftest.err >&5
10933 -  echo "$as_me:9810: \$? = $ac_status" >&5
10934 +  echo "$as_me:10564: \$? = $ac_status" >&5
10935    (exit $ac_status); } >/dev/null; then
10936    if test -s conftest.err; then
10937      ac_cpp_err=$ac_cxx_preproc_warn_flag
10938 @@ -9826,7 +10580,7 @@
10939  fi
10940  rm -f conftest.err conftest.$ac_ext
10941  fi
10942 -echo "$as_me:9829: result: `eval echo '${'$as_ac_Header'}'`" >&5
10943 +echo "$as_me:10583: result: `eval echo '${'$as_ac_Header'}'`" >&5
10944  echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10945  if test `eval echo '${'$as_ac_Header'}'` = yes; then
10946    cat >>confdefs.h <<EOF
10947 @@ -9836,7 +10590,7 @@
10948  fi
10949  done
10950  
10951 -echo "$as_me:9839: checking if $CXX supports vscan function" >&5
10952 +echo "$as_me:10593: checking if $CXX supports vscan function" >&5
10953  echo $ECHO_N "checking if $CXX supports vscan function... $ECHO_C" >&6
10954  if test "${cf_cv_cpp_vscan_func+set}" = set; then
10955    echo $ECHO_N "(cached) $ECHO_C" >&6
10956 @@ -9850,7 +10604,7 @@
10957         strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;;
10958         esac
10959         cat >conftest.$ac_ext <<_ACEOF
10960 -#line 9853 "configure"
10961 +#line 10607 "configure"
10962  #include "confdefs.h"
10963  
10964  #include <stdio.h>
10965 @@ -9895,16 +10649,16 @@
10966  }
10967  _ACEOF
10968  rm -f conftest.$ac_objext conftest$ac_exeext
10969 -if { (eval echo "$as_me:9898: \"$ac_link\"") >&5
10970 +if { (eval echo "$as_me:10652: \"$ac_link\"") >&5
10971    (eval $ac_link) 2>&5
10972    ac_status=$?
10973 -  echo "$as_me:9901: \$? = $ac_status" >&5
10974 +  echo "$as_me:10655: \$? = $ac_status" >&5
10975    (exit $ac_status); } &&
10976           { ac_try='test -s conftest$ac_exeext'
10977 -  { (eval echo "$as_me:9904: \"$ac_try\"") >&5
10978 +  { (eval echo "$as_me:10658: \"$ac_try\"") >&5
10979    (eval $ac_try) 2>&5
10980    ac_status=$?
10981 -  echo "$as_me:9907: \$? = $ac_status" >&5
10982 +  echo "$as_me:10661: \$? = $ac_status" >&5
10983    (exit $ac_status); }; }; then
10984    cf_cv_cpp_vscan_func=$cf_vscan_func; break
10985  else
10986 @@ -9917,7 +10671,7 @@
10987         done
10988  
10989  fi
10990 -echo "$as_me:9920: result: $cf_cv_cpp_vscan_func" >&5
10991 +echo "$as_me:10674: result: $cf_cv_cpp_vscan_func" >&5
10992  echo "${ECHO_T}$cf_cv_cpp_vscan_func" >&6
10993  
10994  ac_ext=cc
10995 @@ -9999,7 +10753,7 @@
10996         else
10997                 if test "$cf_cv_header_stdbool_h" = 1 ; then
10998  
10999 -echo "$as_me:10002: checking for size of bool" >&5
11000 +echo "$as_me:10756: checking for size of bool" >&5
11001  echo $ECHO_N "checking for size of bool... $ECHO_C" >&6
11002  if test "${cf_cv_type_of_bool+set}" = set; then
11003    echo $ECHO_N "(cached) $ECHO_C" >&6
11004 @@ -10010,7 +10764,7 @@
11005    cf_cv_type_of_bool=unknown
11006  else
11007    cat >conftest.$ac_ext <<_ACEOF
11008 -#line 10013 "configure"
11009 +#line 10767 "configure"
11010  #include "confdefs.h"
11011  
11012  #include <stdlib.h>
11013 @@ -10052,15 +10806,15 @@
11014  
11015  _ACEOF
11016  rm -f conftest$ac_exeext
11017 -if { (eval echo "$as_me:10055: \"$ac_link\"") >&5
11018 +if { (eval echo "$as_me:10809: \"$ac_link\"") >&5
11019    (eval $ac_link) 2>&5
11020    ac_status=$?
11021 -  echo "$as_me:10058: \$? = $ac_status" >&5
11022 +  echo "$as_me:10812: \$? = $ac_status" >&5
11023    (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
11024 -  { (eval echo "$as_me:10060: \"$ac_try\"") >&5
11025 +  { (eval echo "$as_me:10814: \"$ac_try\"") >&5
11026    (eval $ac_try) 2>&5
11027    ac_status=$?
11028 -  echo "$as_me:10063: \$? = $ac_status" >&5
11029 +  echo "$as_me:10817: \$? = $ac_status" >&5
11030    (exit $ac_status); }; }; then
11031    cf_cv_type_of_bool=`cat cf_test.out`
11032                  if test -z "$cf_cv_type_of_bool"; then
11033 @@ -10078,35 +10832,54 @@
11034  fi
11035  
11036         rm -f cf_test.out
11037 -echo "$as_me:10081: result: $cf_cv_type_of_bool" >&5
11038 +echo "$as_me:10835: result: $cf_cv_type_of_bool" >&5
11039  echo "${ECHO_T}$cf_cv_type_of_bool" >&6
11040  if test "$cf_cv_type_of_bool" = unknown ; then
11041         case .$NCURSES_BOOL in #(vi
11042         .auto|.) NCURSES_BOOL=unsigned;;
11043         esac
11044 -       { echo "$as_me:10087: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
11045 +       { echo "$as_me:10841: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
11046  echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
11047         cf_cv_type_of_bool=$NCURSES_BOOL
11048  fi
11049  
11050                 else
11051 -                       echo "$as_me:10093: checking for fallback type of bool" >&5
11052 +                       echo "$as_me:10847: checking for fallback type of bool" >&5
11053  echo $ECHO_N "checking for fallback type of bool... $ECHO_C" >&6
11054                         case "$host_cpu" in #(vi
11055                         i?86)   cf_cv_type_of_bool=char ;; #(vi
11056                         *)      cf_cv_type_of_bool=int  ;;
11057                         esac
11058 -                       echo "$as_me:10099: result: $cf_cv_type_of_bool" >&5
11059 +                       echo "$as_me:10853: result: $cf_cv_type_of_bool" >&5
11060  echo "${ECHO_T}$cf_cv_type_of_bool" >&6
11061                 fi
11062         fi
11063  fi
11064  
11065 +# If the C compiler did not declare bool, and we did not determine that the C++
11066 +# compiler does not declare bool, turn on an ifdef in curses.h that makes the
11067 +# ncurses library use the same type as C++ bool.  Note that this allows one to
11068 +# specify the type of bool in a configure-script option and postpone
11069 +# integration with the C++ compiler provided that the types are compatible.
11070 +USE_CXX_BOOL=1
11071 +if test $cv_cv_cc_bool_type = 1
11072 +then
11073 +       # oops: C has a bool.  Unlikely, but C++ could differ.
11074 +       USE_CXX_BOOL=0
11075 +elif test $cf_cv_builtin_bool = 0
11076 +then
11077 +       # C++ has no bool
11078 +       USE_CXX_BOOL=0
11079 +else
11080 +       # this is the normal case
11081 +       USE_CXX_BOOL='!defined(__cplusplus)'
11082 +fi
11083 +
11084  if test "$cf_with_ada" != "no" ; then
11085  cf_ada_make=gnatmake
11086  # Extract the first word of "$cf_ada_make", so it can be a program name with args.
11087  set dummy $cf_ada_make; ac_word=$2
11088 -echo "$as_me:10109: checking for $ac_word" >&5
11089 +echo "$as_me:10882: checking for $ac_word" >&5
11090  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11091  if test "${ac_cv_prog_gnat_exists+set}" = set; then
11092    echo $ECHO_N "(cached) $ECHO_C" >&6
11093 @@ -10121,7 +10894,7 @@
11094    test -z "$ac_dir" && ac_dir=.
11095    $as_executable_p "$ac_dir/$ac_word" || continue
11096  ac_cv_prog_gnat_exists="yes"
11097 -echo "$as_me:10124: found $ac_dir/$ac_word" >&5
11098 +echo "$as_me:10897: found $ac_dir/$ac_word" >&5
11099  break
11100  done
11101  
11102 @@ -10130,10 +10903,10 @@
11103  fi
11104  gnat_exists=$ac_cv_prog_gnat_exists
11105  if test -n "$gnat_exists"; then
11106 -  echo "$as_me:10133: result: $gnat_exists" >&5
11107 +  echo "$as_me:10906: result: $gnat_exists" >&5
11108  echo "${ECHO_T}$gnat_exists" >&6
11109  else
11110 -  echo "$as_me:10136: result: no" >&5
11111 +  echo "$as_me:10909: result: no" >&5
11112  echo "${ECHO_T}no" >&6
11113  fi
11114  
11115 @@ -10141,18 +10914,23 @@
11116     cf_ada_make=
11117  else
11118  
11119 -cf_cv_gnat_version=`$cf_ada_make -v 2>&1 | grep '[0-9].[0-9][0-9]*' |\
11120 -  sed -e 's/[^0-9 \.]//g' | $AWK '{print $1;}'`
11121 -case $cf_cv_gnat_version in
11122 +echo "$as_me:10917: checking for gnat version" >&5
11123 +echo $ECHO_N "checking for gnat version... $ECHO_C" >&6
11124 +cf_gnat_version=`$cf_ada_make -v 2>&1 | grep '[0-9].[0-9][0-9]*' |\
11125 +  sed -e 's/[^0-9 \.]//g' | $AWK '{print $1;}' | sed -e '2,$d'`
11126 +echo "$as_me:10921: result: $cf_gnat_version" >&5
11127 +echo "${ECHO_T}$cf_gnat_version" >&6
11128 +
11129 +case $cf_gnat_version in
11130    3.1[1-9]*|3.[2-9]*|[4-9].*)
11131      cf_cv_prog_gnat_correct=yes
11132      ;;
11133 -  *) echo Unsupported GNAT version $cf_cv_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
11134 +  *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
11135       cf_cv_prog_gnat_correct=no
11136       ;;
11137  esac
11138 -case $cf_cv_gnat_version in
11139 -  3.1*|[4-9].*)
11140 +case $cf_gnat_version in
11141 +  3.[1-9]*|[4-9].*)
11142        cf_compile_generics=generics
11143        cf_generic_objects="\$(GENOBJS)"
11144        ;;
11145 @@ -10163,7 +10941,7 @@
11146  
11147     # Extract the first word of "m4", so it can be a program name with args.
11148  set dummy m4; ac_word=$2
11149 -echo "$as_me:10166: checking for $ac_word" >&5
11150 +echo "$as_me:10944: checking for $ac_word" >&5
11151  echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11152  if test "${ac_cv_prog_M4_exists+set}" = set; then
11153    echo $ECHO_N "(cached) $ECHO_C" >&6
11154 @@ -10178,7 +10956,7 @@
11155    test -z "$ac_dir" && ac_dir=.
11156    $as_executable_p "$ac_dir/$ac_word" || continue
11157  ac_cv_prog_M4_exists="yes"
11158 -echo "$as_me:10181: found $ac_dir/$ac_word" >&5
11159 +echo "$as_me:10959: found $ac_dir/$ac_word" >&5
11160  break
11161  done
11162  
11163 @@ -10187,10 +10965,10 @@
11164  fi
11165  M4_exists=$ac_cv_prog_M4_exists
11166  if test -n "$M4_exists"; then
11167 -  echo "$as_me:10190: result: $M4_exists" >&5
11168 +  echo "$as_me:10968: result: $M4_exists" >&5
11169  echo "${ECHO_T}$M4_exists" >&6
11170  else
11171 -  echo "$as_me:10193: result: no" >&5
11172 +  echo "$as_me:10971: result: no" >&5
11173  echo "${ECHO_T}no" >&6
11174  fi
11175  
11176 @@ -10199,7 +10977,7 @@
11177        echo Ada95 binding required program m4 not found. Ada95 binding disabled.
11178     fi
11179     if test "$cf_cv_prog_gnat_correct" = yes; then
11180 -      echo "$as_me:10202: checking if GNAT works" >&5
11181 +      echo "$as_me:10980: checking if GNAT works" >&5
11182  echo $ECHO_N "checking if GNAT works... $ECHO_C" >&6
11183  
11184  rm -f conftest*
11185 @@ -10227,7 +11005,7 @@
11186  fi
11187  rm -f conftest*
11188  
11189 -      echo "$as_me:10230: result: $cf_cv_prog_gnat_correct" >&5
11190 +      echo "$as_me:11008: result: $cf_cv_prog_gnat_correct" >&5
11191  echo "${ECHO_T}$cf_cv_prog_gnat_correct" >&6
11192     fi
11193  fi
11194 @@ -10270,7 +11048,7 @@
11195    withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
11196    ;;
11197  *)
11198 -  { { echo "$as_me:10273: error: expected a pathname, not \"$withval\"" >&5
11199 +  { { echo "$as_me:11051: error: expected a pathname, not \"$withval\"" >&5
11200  echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
11201     { (exit 1); exit 1; }; }
11202    ;;
11203 @@ -10304,7 +11082,7 @@
11204    withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
11205    ;;
11206  *)
11207 -  { { echo "$as_me:10307: error: expected a pathname, not \"$withval\"" >&5
11208 +  { { echo "$as_me:11085: error: expected a pathname, not \"$withval\"" >&5
11209  echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
11210     { (exit 1); exit 1; }; }
11211    ;;
11212 @@ -10315,25 +11093,9 @@
11213  fi
11214  fi
11215  
11216 -### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
11217 -### using a 'char' for bools.  gcc 2.7.0's conversion-warnings are broken too
11218 -### badly to consider using for development purposes, but 2.5.8 is okay.
11219 -if test -n "$with_warnings"; then
11220 -       case $GCC_VERSION in
11221 -       2.6.3)
11222 -               if test "$cf_cv_type_of_bool" != "char"; then
11223 -                       EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
11224 -               fi
11225 -               ;;
11226 -       2.5*)
11227 -               EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
11228 -               ;;
11229 -       esac
11230 -fi
11231 -
11232  ### Construct the library-subsets, if any, from this set of keywords:
11233  ### none, base, ext_funcs, termlib.
11234 -echo "$as_me:10336: checking for library subsets" >&5
11235 +echo "$as_me:11098: checking for library subsets" >&5
11236  echo $ECHO_N "checking for library subsets... $ECHO_C" >&6
11237  if test "$with_termlib" = yes ; then
11238         LIB_SUBSETS="termlib "
11239 @@ -10343,7 +11105,7 @@
11240  LIB_SUBSETS="${LIB_SUBSETS}base"
11241  test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
11242  test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
11243 -echo "$as_me:10346: result: $LIB_SUBSETS" >&5
11244 +echo "$as_me:11108: result: $LIB_SUBSETS" >&5
11245  echo "${ECHO_T}$LIB_SUBSETS" >&6
11246  
11247  LIB_TRACING=DEBUG
11248 @@ -10357,9 +11119,9 @@
11249  
11250  ### Construct the list of include-directories to be generated
11251  
11252 -CPPFLAGS="$CPPFLAGS -I. -I../include"
11253 +CPPFLAGS="-I. -I../include $CPPFLAGS"
11254  if test "$srcdir" != "."; then
11255 -       CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include"
11256 +       CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
11257  fi
11258  if test "$GCC" != yes; then
11259         CPPFLAGS="$CPPFLAGS -I\$(includedir)"
11260 @@ -10373,9 +11135,9 @@
11261         fi
11262  fi
11263  
11264 -ACPPFLAGS="$ACPPFLAGS -I. -I../../include"
11265 +ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
11266  if test "$srcdir" != "."; then
11267 -       ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include"
11268 +       ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS"
11269  fi
11270  if test "$GCC" != yes; then
11271         ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
11272 @@ -10390,7 +11152,7 @@
11273  fi
11274  
11275  ### Build up pieces for makefile rules
11276 -echo "$as_me:10393: checking default library suffix" >&5
11277 +echo "$as_me:11155: checking default library suffix" >&5
11278  echo $ECHO_N "checking default library suffix... $ECHO_C" >&6
11279  
11280         case $DFT_LWR_MODEL in
11281 @@ -10401,10 +11163,10 @@
11282         shared)  DFT_ARG_SUFFIX=''   ;;
11283         esac
11284         test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}"
11285 -echo "$as_me:10404: result: $DFT_ARG_SUFFIX" >&5
11286 +echo "$as_me:11166: result: $DFT_ARG_SUFFIX" >&5
11287  echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6
11288  
11289 -echo "$as_me:10407: checking default library-dependency suffix" >&5
11290 +echo "$as_me:11169: checking default library-dependency suffix" >&5
11291  echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6
11292  
11293         case $DFT_LWR_MODEL in
11294 @@ -10428,10 +11190,10 @@
11295                 ;;
11296         esac
11297  fi
11298 -echo "$as_me:10431: result: $DFT_DEP_SUFFIX" >&5
11299 +echo "$as_me:11193: result: $DFT_DEP_SUFFIX" >&5
11300  echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6
11301  
11302 -echo "$as_me:10434: checking default object directory" >&5
11303 +echo "$as_me:11196: checking default object directory" >&5
11304  echo $ECHO_N "checking default object directory... $ECHO_C" >&6
11305  
11306         case $DFT_LWR_MODEL in
11307 @@ -10447,13 +11209,14 @@
11308                         DFT_OBJ_SUBDIR='obj_s' ;;
11309                 esac
11310         esac
11311 -echo "$as_me:10450: result: $DFT_OBJ_SUBDIR" >&5
11312 +echo "$as_me:11212: result: $DFT_OBJ_SUBDIR" >&5
11313  echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6
11314  
11315  # libtool thinks it can make c++ shared libraries (perhaps only g++)
11316 -echo "$as_me:10454: checking c++ library-dependency suffix" >&5
11317 +if test "$cf_with_cxx" = yes ; then
11318 +echo "$as_me:11217: checking c++ library-dependency suffix" >&5
11319  echo $ECHO_N "checking c++ library-dependency suffix... $ECHO_C" >&6
11320 -if test "$with_libtool" = "yes"; then
11321 +if test "$with_libtool" != "no"; then
11322         CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
11323  else
11324  
11325 @@ -10472,18 +11235,22 @@
11326         esac
11327         test -n "$LIB_SUFFIX" && CXX_LIB_SUFFIX="${LIB_SUFFIX}${CXX_LIB_SUFFIX}"
11328  fi
11329 -echo "$as_me:10475: result: $CXX_LIB_SUFFIX" >&5
11330 +echo "$as_me:11238: result: $CXX_LIB_SUFFIX" >&5
11331  echo "${ECHO_T}$CXX_LIB_SUFFIX" >&6
11332  
11333 +fi
11334 +
11335  TINFO_LIST="$SHLIB_LIST"
11336 -test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
11337 +if test "$with_libtool" = no ; then
11338 +       test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
11339 +fi
11340  
11341 -echo "$as_me:10481: checking where we will install curses.h" >&5
11342 +echo "$as_me:11248: checking where we will install curses.h" >&5
11343  echo $ECHO_N "checking where we will install curses.h... $ECHO_C" >&6
11344  test "$with_overwrite" = no && \
11345  test "x$includedir" = 'x${prefix}/include' && \
11346         includedir='$(prefix)/include/ncurses'${LIB_SUFFIX}
11347 -echo "$as_me:10486: result: $includedir" >&5
11348 +echo "$as_me:11253: result: $includedir" >&5
11349  echo "${ECHO_T}$includedir" >&6
11350  
11351  ### Resolve a conflict between normal and wide-curses by forcing applications
11352 @@ -10491,7 +11258,7 @@
11353  if test "$with_overwrite" != no ; then
11354  if test "$NCURSES_LIBUTF8" = 1 ; then
11355         NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
11356 -       { echo "$as_me:10494: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
11357 +       { echo "$as_me:11261: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
11358  echo "$as_me: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&2;}
11359  fi
11360  fi
11361 @@ -10509,10 +11276,15 @@
11362  PROG_DEPS="$TEST_DEPS"
11363  PROG_ARGS="$TEST_ARGS"
11364  
11365 +### predefined stuff for the test programs
11366 +cat >>confdefs.h <<\EOF
11367 +#define HAVE_SLK_COLOR 1
11368 +EOF
11369 +
11370  ### Construct the list of subdirectories for which we'll customize makefiles
11371  ### with the appropriate compile-rules.
11372  
11373 -echo "$as_me:10515: checking for src modules" >&5
11374 +echo "$as_me:11287: checking for src modules" >&5
11375  echo $ECHO_N "checking for src modules... $ECHO_C" >&6
11376  
11377  # dependencies and linker-arguments for test-programs
11378 @@ -10572,7 +11344,7 @@
11379                 fi
11380         fi
11381  done
11382 -echo "$as_me:10575: result: $cf_cv_src_modules" >&5
11383 +echo "$as_me:11347: result: $cf_cv_src_modules" >&5
11384  echo "${ECHO_T}$cf_cv_src_modules" >&6
11385  TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
11386  
11387 @@ -10641,10 +11413,40 @@
11388  EOF
11389  
11390  ### Now that we're done running tests, add the compiler-warnings, if any
11391 -CFLAGS="$CFLAGS $EXTRA_CFLAGS"
11392 +
11393 +cf_new_cflags=
11394 +cf_new_cppflags=
11395 +for cf_add_cflags in $EXTRA_CFLAGS
11396 +do
11397 +       case $cf_add_cflags in #(vi
11398 +       -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
11399 +               case "$CPPFLAGS" in
11400 +               *$cf_add_cflags) #(vi
11401 +                       ;;
11402 +               *) #(vi
11403 +                       cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
11404 +                       ;;
11405 +               esac
11406 +               ;;
11407 +       *)
11408 +               cf_new_cflags="$cf_new_cflags $cf_add_cflags"
11409 +               ;;
11410 +       esac
11411 +done
11412 +
11413 +if test -n "$cf_new_cflags" ; then
11414 +
11415 +       CFLAGS="$CFLAGS $cf_new_cflags"
11416 +fi
11417 +
11418 +if test -n "$cf_new_cppflags" ; then
11419 +
11420 +       CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
11421 +fi
11422  
11423  ################################################################################
11424 -ac_config_files="$ac_config_files include/MKterm.h.awk include/curses.head:include/curses.h.in include/termcap.h include/unctrl.h misc/run_tic.sh:misc/run_tic.in $SUB_MAKEFILES Makefile"
11425 +test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
11426 +ac_config_files="$ac_config_files include/MKterm.h.awk include/curses.head:include/curses.h.in include/termcap.h include/unctrl.h $SUB_MAKEFILES Makefile"
11427  ac_config_commands="$ac_config_commands default"
11428  cat >confcache <<\_ACEOF
11429  # This file is a shell script that caches the results of configure
11430 @@ -10725,7 +11527,7 @@
11431  : ${CONFIG_STATUS=./config.status}
11432  ac_clean_files_save=$ac_clean_files
11433  ac_clean_files="$ac_clean_files $CONFIG_STATUS"
11434 -{ echo "$as_me:10728: creating $CONFIG_STATUS" >&5
11435 +{ echo "$as_me:11530: creating $CONFIG_STATUS" >&5
11436  echo "$as_me: creating $CONFIG_STATUS" >&6;}
11437  cat >$CONFIG_STATUS <<_ACEOF
11438  #! $SHELL
11439 @@ -10857,7 +11659,7 @@
11440  cat >>$CONFIG_STATUS <<EOF
11441  ac_cs_version="\\
11442  config.status
11443 -configured by $0, generated by GNU Autoconf 2.52.20011227,
11444 +configured by $0, generated by GNU Autoconf 2.52.20030208,
11445    with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
11446  
11447  Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
11448 @@ -10901,7 +11703,7 @@
11449      echo "$ac_cs_version"; exit 0 ;;
11450    --he | --h)
11451      # Conflict between --help and --header
11452 -    { { echo "$as_me:10904: error: ambiguous option: $1
11453 +    { { echo "$as_me:11706: error: ambiguous option: $1
11454  Try \`$0 --help' for more information." >&5
11455  echo "$as_me: error: ambiguous option: $1
11456  Try \`$0 --help' for more information." >&2;}
11457 @@ -10920,7 +11722,7 @@
11458      ac_need_defaults=false;;
11459  
11460    # This is an error.
11461 -  -*) { { echo "$as_me:10923: error: unrecognized option: $1
11462 +  -*) { { echo "$as_me:11725: error: unrecognized option: $1
11463  Try \`$0 --help' for more information." >&5
11464  echo "$as_me: error: unrecognized option: $1
11465  Try \`$0 --help' for more information." >&2;}
11466 @@ -10939,7 +11741,7 @@
11467  ## Running config.status.  ##
11468  ## ----------------------- ##
11469  
11470 -This file was extended by $as_me 2.52.20011227, executed with
11471 +This file was extended by $as_me 2.52.20030208, executed with
11472    CONFIG_FILES    = $CONFIG_FILES
11473    CONFIG_HEADERS  = $CONFIG_HEADERS
11474    CONFIG_LINKS    = $CONFIG_LINKS
11475 @@ -10982,7 +11784,7 @@
11476  cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
11477  cf_cv_system_name="$cf_cv_system_name"
11478  cf_with_cxx_binding="$cf_with_cxx_binding"
11479 -target="$target"
11480 +host="$host"
11481  
11482  EOF
11483  
11484 @@ -10995,12 +11797,11 @@
11485    "include/curses.head" ) CONFIG_FILES="$CONFIG_FILES include/curses.head:include/curses.h.in" ;;
11486    "include/termcap.h" ) CONFIG_FILES="$CONFIG_FILES include/termcap.h" ;;
11487    "include/unctrl.h" ) CONFIG_FILES="$CONFIG_FILES include/unctrl.h" ;;
11488 -  "misc/run_tic.sh" ) CONFIG_FILES="$CONFIG_FILES misc/run_tic.sh:misc/run_tic.in" ;;
11489    "$SUB_MAKEFILES" ) CONFIG_FILES="$CONFIG_FILES $SUB_MAKEFILES" ;;
11490    "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
11491    "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
11492    "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
11493 -  *) { { echo "$as_me:11003: error: invalid argument: $ac_config_target" >&5
11494 +  *) { { echo "$as_me:11804: error: invalid argument: $ac_config_target" >&5
11495  echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
11496     { (exit 1); exit 1; }; };;
11497    esac
11498 @@ -11087,7 +11888,6 @@
11499  s,@NCURSES_PATCH@,$NCURSES_PATCH,;t t
11500  s,@cf_cv_rel_version@,$cf_cv_rel_version,;t t
11501  s,@cf_cv_abi_version@,$cf_cv_abi_version,;t t
11502 -s,@cf_cv_cc_bool_type@,$cf_cv_cc_bool_type,;t t
11503  s,@cf_cv_builtin_bool@,$cf_cv_builtin_bool,;t t
11504  s,@cf_cv_header_stdbool_h@,$cf_cv_header_stdbool_h,;t t
11505  s,@cf_cv_type_of_bool@,$cf_cv_type_of_bool,;t t
11506 @@ -11110,11 +11910,6 @@
11507  s,@ac_ct_CC@,$ac_ct_CC,;t t
11508  s,@EXEEXT@,$EXEEXT,;t t
11509  s,@OBJEXT@,$OBJEXT,;t t
11510 -s,@BUILD_CC@,$BUILD_CC,;t t
11511 -s,@BUILD_CFLAGS@,$BUILD_CFLAGS,;t t
11512 -s,@BUILD_CPPFLAGS@,$BUILD_CPPFLAGS,;t t
11513 -s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t
11514 -s,@BUILD_LIBS@,$BUILD_LIBS,;t t
11515  s,@CPP@,$CPP,;t t
11516  s,@PROG_EXT@,$PROG_EXT,;t t
11517  s,@LDCONFIG@,$LDCONFIG,;t t
11518 @@ -11135,18 +11930,34 @@
11519  s,@MAN@,$MAN,;t t
11520  s,@LINT_OPTS@,$LINT_OPTS,;t t
11521  s,@LD@,$LD,;t t
11522 +s,@ac_ct_LD@,$ac_ct_LD,;t t
11523  s,@AR@,$AR,;t t
11524 +s,@ac_ct_AR@,$ac_ct_AR,;t t
11525  s,@AR_OPTS@,$AR_OPTS,;t t
11526  s,@cf_cv_makeflags@,$cf_cv_makeflags,;t t
11527  s,@DESTDIR@,$DESTDIR,;t t
11528 +s,@BUILD_CC@,$BUILD_CC,;t t
11529 +s,@BUILD_CFLAGS@,$BUILD_CFLAGS,;t t
11530 +s,@BUILD_CPPFLAGS@,$BUILD_CPPFLAGS,;t t
11531 +s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t
11532 +s,@BUILD_LIBS@,$BUILD_LIBS,;t t
11533  s,@cf_list_models@,$cf_list_models,;t t
11534  s,@LIBTOOL@,$LIBTOOL,;t t
11535 +s,@LIBTOOL_CXX@,$LIBTOOL_CXX,;t t
11536 +s,@LIB_CREATE@,$LIB_CREATE,;t t
11537 +s,@LIB_OBJECT@,$LIB_OBJECT,;t t
11538 +s,@LIB_SUFFIX@,$LIB_SUFFIX,;t t
11539 +s,@LIB_PREP@,$LIB_PREP,;t t
11540 +s,@LIB_CLEAN@,$LIB_CLEAN,;t t
11541 +s,@LIB_COMPILE@,$LIB_COMPILE,;t t
11542 +s,@LIB_LINK@,$LIB_LINK,;t t
11543 +s,@LIB_INSTALL@,$LIB_INSTALL,;t t
11544 +s,@LIB_UNINSTALL@,$LIB_UNINSTALL,;t t
11545  s,@DFT_LWR_MODEL@,$DFT_LWR_MODEL,;t t
11546  s,@DFT_UPR_MODEL@,$DFT_UPR_MODEL,;t t
11547  s,@TINFO_NAME@,$TINFO_NAME,;t t
11548  s,@LIB_NAME@,$LIB_NAME,;t t
11549  s,@LIB_PREFIX@,$LIB_PREFIX,;t t
11550 -s,@LIB_SUFFIX@,$LIB_SUFFIX,;t t
11551  s,@CC_G_OPT@,$CC_G_OPT,;t t
11552  s,@CXX_G_OPT@,$CXX_G_OPT,;t t
11553  s,@LD_MODEL@,$LD_MODEL,;t t
11554 @@ -11175,7 +11986,12 @@
11555  s,@NCURSES_XNAMES@,$NCURSES_XNAMES,;t t
11556  s,@NCURSES_CH_T@,$NCURSES_CH_T,;t t
11557  s,@NCURSES_LIBUTF8@,$NCURSES_LIBUTF8,;t t
11558 +s,@NEED_WCHAR_H@,$NEED_WCHAR_H,;t t
11559  s,@NCURSES_MBSTATE_T@,$NCURSES_MBSTATE_T,;t t
11560 +s,@NCURSES_WCHAR_T@,$NCURSES_WCHAR_T,;t t
11561 +s,@NCURSES_WINT_T@,$NCURSES_WINT_T,;t t
11562 +s,@NCURSES_OK_WCHAR_T@,$NCURSES_OK_WCHAR_T,;t t
11563 +s,@NCURSES_OK_WINT_T@,$NCURSES_OK_WINT_T,;t t
11564  s,@TERMINFO_CAPS@,$TERMINFO_CAPS,;t t
11565  s,@ECHO_LINK@,$ECHO_LINK,;t t
11566  s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
11567 @@ -11188,6 +12004,7 @@
11568  s,@CXX_AR@,$CXX_AR,;t t
11569  s,@CXX_AR_OPTS@,$CXX_AR_OPTS,;t t
11570  s,@CXXLIBS@,$CXXLIBS,;t t
11571 +s,@USE_CXX_BOOL@,$USE_CXX_BOOL,;t t
11572  s,@gnat_exists@,$gnat_exists,;t t
11573  s,@M4_exists@,$M4_exists,;t t
11574  s,@cf_ada_make@,$cf_ada_make,;t t
11575 @@ -11326,7 +12143,7 @@
11576    esac
11577  
11578    if test x"$ac_file" != x-; then
11579 -    { echo "$as_me:11329: creating $ac_file" >&5
11580 +    { echo "$as_me:12146: creating $ac_file" >&5
11581  echo "$as_me: creating $ac_file" >&6;}
11582      rm -f "$ac_file"
11583    fi
11584 @@ -11344,7 +12161,7 @@
11585        -) echo $tmp/stdin ;;
11586        [\\/$]*)
11587           # Absolute (can't be DOS-style, as IFS=:)
11588 -         test -f "$f" || { { echo "$as_me:11347: error: cannot find input file: $f" >&5
11589 +         test -f "$f" || { { echo "$as_me:12164: error: cannot find input file: $f" >&5
11590  echo "$as_me: error: cannot find input file: $f" >&2;}
11591     { (exit 1); exit 1; }; }
11592           echo $f;;
11593 @@ -11357,7 +12174,7 @@
11594             echo $srcdir/$f
11595           else
11596             # /dev/null tree
11597 -           { { echo "$as_me:11360: error: cannot find input file: $f" >&5
11598 +           { { echo "$as_me:12177: error: cannot find input file: $f" >&5
11599  echo "$as_me: error: cannot find input file: $f" >&2;}
11600     { (exit 1); exit 1; }; }
11601           fi;;
11602 @@ -11423,7 +12240,7 @@
11603    * )   ac_file_in=$ac_file.in ;;
11604    esac
11605  
11606 -  test x"$ac_file" != x- && { echo "$as_me:11426: creating $ac_file" >&5
11607 +  test x"$ac_file" != x- && { echo "$as_me:12243: creating $ac_file" >&5
11608  echo "$as_me: creating $ac_file" >&6;}
11609  
11610    # First look for the input files in the build tree, otherwise in the
11611 @@ -11434,7 +12251,7 @@
11612        -) echo $tmp/stdin ;;
11613        [\\/$]*)
11614           # Absolute (can't be DOS-style, as IFS=:)
11615 -         test -f "$f" || { { echo "$as_me:11437: error: cannot find input file: $f" >&5
11616 +         test -f "$f" || { { echo "$as_me:12254: error: cannot find input file: $f" >&5
11617  echo "$as_me: error: cannot find input file: $f" >&2;}
11618     { (exit 1); exit 1; }; }
11619           echo $f;;
11620 @@ -11447,7 +12264,7 @@
11621             echo $srcdir/$f
11622           else
11623             # /dev/null tree
11624 -           { { echo "$as_me:11450: error: cannot find input file: $f" >&5
11625 +           { { echo "$as_me:12267: error: cannot find input file: $f" >&5
11626  echo "$as_me: error: cannot find input file: $f" >&2;}
11627     { (exit 1); exit 1; }; }
11628           fi;;
11629 @@ -11505,7 +12322,7 @@
11630    rm -f $tmp/in
11631    if test x"$ac_file" != x-; then
11632      if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
11633 -      { echo "$as_me:11508: $ac_file is unchanged" >&5
11634 +      { echo "$as_me:12325: $ac_file is unchanged" >&5
11635  echo "$as_me: $ac_file is unchanged" >&6;}
11636      else
11637        ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
11638 @@ -11608,8 +12425,10 @@
11639                                 esac
11640                         fi
11641                         # cygwin needs import library, and has unique naming convention
11642 +                       # use autodetected ${cf_prefix} for import lib and static lib, but
11643 +                       # use 'cyg' prefix for shared lib.
11644                         if test $cf_cv_shlib_version = cygdll ; then
11645 -                               SHARED_LIB="../lib/${cf_prefix}${cf_dir}\$(ABI_VERSION).dll"
11646 +                               SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll"
11647                                 IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a"
11648                                 LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)"
11649                                 continue
11650 @@ -11624,7 +12443,7 @@
11651                         termlib+*) #(vi
11652                                 ;;
11653                         *) #(vi
11654 -                               cf_item=`echo $LIBS_TO_MAKE |sed -e s/$LIB_NAME/$TINFO_NAME/g`
11655 +                               cf_item=`echo $LIBS_TO_MAKE |sed -e s%$LIB_NAME%$TINFO_NAME%g`
11656                                 LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
11657                                 ;;
11658                         esac
11659 @@ -11710,7 +12529,7 @@
11660                                 ldconfig="$LDCONFIG" \
11661                                 overwrite=$WITH_OVERWRITE \
11662                                 depend="$cf_depend" \
11663 -                               target="$target" \
11664 +                               host="$host" \
11665                                 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
11666                         for cf_subdir2 in $cf_subdirs lib
11667                         do
11668 diff -urNd -urNd ncurses-5.3/configure.in ncurses-5.3.20030906.orig/configure.in
11669 --- ncurses-5.3/configure.in    Sat Sep 14 19:11:28 2002
11670 +++ ncurses-5.3.20030906.orig/configure.in      Fri Sep 12 16:42:40 2003
11671 @@ -1,5 +1,5 @@
11672  dnl***************************************************************************
11673 -dnl Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
11674 +dnl Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
11675  dnl                                                                          *
11676  dnl Permission is hereby granted, free of charge, to any person obtaining a  *
11677  dnl copy of this software and associated documentation files (the            *
11678 @@ -28,50 +28,29 @@
11679  dnl
11680  dnl Author: Thomas E. Dickey 1995-on
11681  dnl
11682 -dnl $Id: configure.in,v 1.274 2002/09/15 00:11:28 tom Exp $
11683 +dnl $Id: configure.in,v 1.297 2003/08/30 22:52:21 tom Exp $
11684  dnl Process this file with autoconf to produce a configure script.
11685  dnl
11686  dnl See http://invisible-island.net/autoconf/ for additional information.
11687  dnl
11688  dnl ---------------------------------------------------------------------------
11689  AC_PREREQ(2.13.20020210)
11690 -AC_REVISION($Revision: 1.274 $)
11691 +AC_REVISION($Revision: 1.297 $)
11692  AC_INIT(ncurses/base/lib_initscr.c)
11693  AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
11694  
11695  CF_SUBST_NCURSES_VERSION
11696 +AC_ARG_WITH(abi-version,
11697 +[  --with-abi-version=XXX  override derived ABI version],
11698 +[AC_MSG_WARN(overriding ABI version to $withval)
11699 + cf_cv_abi_version=$withval])
11700 +
11701  CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
11702  AC_ARG_WITH(system-type,
11703  [  --with-system-type=XXX  test: override derived host system-type],
11704  [AC_MSG_WARN(overriding system type to $withval)
11705   cf_cv_system_name=$withval])
11706  
11707 -# We need a configure script only when compiling as part of GNU C library.
11708 -# Here we have to generate one of the files we need while compiling.
11709 -#
11710 -# The only problem is that users of the package might think they have to
11711 -# run configure themself and find it irritating when nothing happens.
11712 -#
11713 -# So we try here to find out whether we are called from the glibc configure
11714 -# or by a user.
11715 -#
11716 -dnl Check if we are a drop-in addition to glibc.
11717 -AC_ARG_ENABLE(add-ons, dnl
11718 -[  --enable-add-ons=DIR... used to check if we are a glibc add-on.],
11719 -               [glibc_add_on=yes],
11720 -               [glibc_add_on=])
11721 -
11722 -if test x"$glibc_add_on" = "xyes" ; then
11723 -  rm -f $srcdir/Banner
11724 -  # We are in glibc.
11725 -  rm -f $srcdir/Makefile
11726 -  cp $srcdir/Makefile.glibc $srcdir/Makefile
11727 -  echo "ncurses `grep \"^[[    ]]*ncurses-version[[    ]]*=.*$\" \
11728 -               $srcdir/Makefile | sed -e \
11729 -               's/^[[  ]]*ncurses-version[[    ]]*=[[  ]]*\([[^        ^ ]]*\)[[       ]]*$/\1/'`" > $srcdir/Banner
11730 -  exit 0
11731 -fi
11732 -
11733  ###    Save the given $CFLAGS to allow user-override.
11734  cf_user_CFLAGS="$CFLAGS"
11735  
11736 @@ -80,44 +59,7 @@
11737  
11738  ###    Checks for programs.
11739  AC_PROG_CC
11740 -GCC_VERSION=none
11741 -if test "$GCC" = yes ; then
11742 -       AC_MSG_CHECKING(version of gcc)
11743 -       GCC_VERSION="`${CC} --version|head -1`"
11744 -       AC_MSG_RESULT($GCC_VERSION)
11745 -fi
11746 -
11747 -# If we're cross-compiling, allow the user to override the tools and their
11748 -# options.  The configure script is oriented toward identifying the target
11749 -# compiler, etc., but we need a host compiler to generate parts of the source.
11750 -BUILD_CC='$(CC)'
11751 -BUILD_CFLAGS='$(CFLAGS)'
11752 -BUILD_CPPFLAGS='$(CPPFLAGS)'
11753 -BUILD_LDFLAGS='$(LDFLAGS)'
11754 -BUILD_LIBS='$(LIBS)'
11755 -if test "$host_alias" != "$target_alias" ; then
11756 -       AC_ARG_WITH(build-cc,
11757 -               [  --with-build-cc=XXX     if cross-compiling, the host C compiler (\$BUILD_CC)],
11758 -               [BUILD_CC="$withval"],
11759 -               [AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)])
11760 -       AC_ARG_WITH(build-cflags,
11761 -               [  --with-build-cflags=XXX if cross-compiling, the host C compiler-flags],
11762 -               [BUILD_CFLAGS="$withval"])
11763 -       AC_ARG_WITH(build-cppflags,
11764 -               [  --with-build-cppflags=XXX if cross-compiling, the host C preprocessor-flags],
11765 -               [BUILD_CPPFLAGS="$withval"])
11766 -       AC_ARG_WITH(build-ldflags,
11767 -               [  --with-build-ldflags=XXX if cross-compiling, the host linker-flags],
11768 -               [BUILD_LDFLAGS="$withval"])
11769 -       AC_ARG_WITH(build-libs,
11770 -               [  --with-build-libs=XXX   if cross-compiling, the host libraries],
11771 -               [BUILD_LIBS="$withval"])
11772 -fi
11773 -AC_SUBST(BUILD_CC)
11774 -AC_SUBST(BUILD_CFLAGS)
11775 -AC_SUBST(BUILD_CPPFLAGS)
11776 -AC_SUBST(BUILD_LDFLAGS)
11777 -AC_SUBST(BUILD_LIBS)
11778 +CF_GCC_VERSION
11779  
11780  AC_PROG_CPP
11781  AC_PROG_GCC_TRADITIONAL
11782 @@ -148,26 +90,31 @@
11783         CXX=""
11784         GXX=""
11785  else
11786 +       # with autoconf 2.13, we can change the error to a warning:
11787         pushdef([AC_MSG_ERROR],
11788 -               [AC_MSG_RESULT([You don't have any C++ compiler, too bad]); dnl
11789 +               [AC_MSG_RESULT(no)
11790 +                AC_MSG_WARN([You don't have any C++ compiler, too bad])
11791                 cf_with_cxx=no; CXX=""; GXX="";])dnl
11792         AC_PROG_CXX
11793         popdef([AC_MSG_ERROR])dnl
11794 +       # autoconf 2.5x removed the error - by hardcoding it to g++.
11795 +       if test "$CXX" = "g++" ; then
11796 +               AC_PATH_PROG(CXX,g++)
11797 +       fi
11798 +       if test "$CXX" = "g++" ; then
11799 +               AC_MSG_WARN(ignoring hardcoded g++)
11800 +               cf_with_cxx=no; CXX=""; GXX="";
11801 +       fi
11802  fi
11803  
11804 -GXX_VERSION=none
11805 -if test "$GXX" = yes; then
11806 -       AC_MSG_CHECKING(version of g++)
11807 -       GXX_VERSION="`${CXX-g++} --version|head -1`"
11808 -       AC_MSG_RESULT($GXX_VERSION)
11809 -       case $GXX_VERSION in
11810 -       1*|2.[[0-6]]*)
11811 -               GXX=""; CXX=""; ac_cv_prog_gxx=no
11812 -               cf_cxx_library=no
11813 -               AC_MSG_WARN(templates do not work)
11814 -               ;;
11815 -       esac
11816 -fi
11817 +CF_GXX_VERSION
11818 +case $GXX_VERSION in
11819 +1*|2.[[0-6]]*)
11820 +       GXX=""; CXX=""; ac_cv_prog_gxx=no
11821 +       cf_cxx_library=no
11822 +       AC_MSG_WARN(templates do not work)
11823 +       ;;
11824 +esac
11825  
11826  AC_MSG_CHECKING(if you want to build C++ binding and demo)
11827  AC_ARG_WITH(cxx-binding,
11828 @@ -217,8 +164,8 @@
11829  AC_SUBST(LINT_OPTS)
11830  
11831  dnl These are standard among *NIX systems, but not when cross-compiling
11832 -CF_SUBST(loader,LD,ld)
11833 -CF_SUBST(archiver,AR,ar)
11834 +AC_CHECK_TOOL(LD, ld, ld)
11835 +AC_CHECK_TOOL(AR, ar, ar)
11836  CF_SUBST(archiver options,AR_OPTS,rv)
11837  
11838  CF_MAKEFLAGS
11839 @@ -239,6 +186,40 @@
11840  AC_SUBST(DESTDIR)
11841  
11842  ###############################################################################
11843 +CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:)
11844 +# If we're cross-compiling, allow the user to override the tools and their
11845 +# options.  The configure script is oriented toward identifying the host
11846 +# compiler, etc., but we need a build compiler to generate parts of the source.
11847 +: ${BUILD_CC:='$(CC)'}
11848 +: ${BUILD_CFLAGS:='$(CFLAGS)'}
11849 +: ${BUILD_CPPFLAGS:='$(CPPFLAGS)'}
11850 +: ${BUILD_LDFLAGS:='$(LDFLAGS)'}
11851 +: ${BUILD_LIBS:='$(LIBS)'}
11852 +if test "$cross_compiling" = yes ; then
11853 +       AC_ARG_WITH(build-cc,
11854 +               [  --with-build-cc=XXX     the build C compiler (\$BUILD_CC)],
11855 +               [BUILD_CC="$withval"],
11856 +               [AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)])
11857 +       AC_ARG_WITH(build-cflags,
11858 +               [  --with-build-cflags=XXX the build C compiler-flags],
11859 +               [BUILD_CFLAGS="$withval"])
11860 +       AC_ARG_WITH(build-cppflags,
11861 +               [  --with-build-cppflags=XXX the build C preprocessor-flags],
11862 +               [BUILD_CPPFLAGS="$withval"])
11863 +       AC_ARG_WITH(build-ldflags,
11864 +               [  --with-build-ldflags=XXX the build linker-flags],
11865 +               [BUILD_LDFLAGS="$withval"])
11866 +       AC_ARG_WITH(build-libs,
11867 +               [  --with-build-libs=XXX   the build libraries],
11868 +               [BUILD_LIBS="$withval"])
11869 +fi
11870 +AC_SUBST(BUILD_CC)
11871 +AC_SUBST(BUILD_CFLAGS)
11872 +AC_SUBST(BUILD_CPPFLAGS)
11873 +AC_SUBST(BUILD_LDFLAGS)
11874 +AC_SUBST(BUILD_LIBS)
11875 +
11876 +###############################################################################
11877  CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
11878  
11879  ### Options to allow the user to specify the set of libraries which are used.
11880 @@ -247,19 +228,12 @@
11881  cf_list_models=""
11882  AC_SUBST(cf_list_models)dnl    the complete list of models ("normal debug")
11883  
11884 -AC_MSG_CHECKING(if you want to build libraries with libtool)
11885 -AC_ARG_WITH(libtool,
11886 -       [  --with-libtool          generate libraries with libtool],
11887 -       [with_libtool=$withval],
11888 -       [with_libtool=no])
11889 -AC_MSG_RESULT($with_libtool)
11890 -if test "$with_libtool" = "yes"; then
11891 -       cf_list_models="$cf_list_models libtool"
11892 -       test -z "$LIBTOOL" && LIBTOOL=libtool
11893 +CF_WITH_LIBTOOL
11894 +if test "$with_libtool" != "no" ; then
11895 +
11896 +cf_list_models="$cf_list_models libtool"
11897 +
11898  else
11899 -       LIBTOOL=""
11900 -fi
11901 -AC_SUBST(LIBTOOL)
11902  
11903  AC_MSG_CHECKING(if you want to build shared libraries)
11904  AC_ARG_WITH(shared,
11905 @@ -293,19 +267,21 @@
11906  AC_MSG_RESULT($with_profile)
11907  test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
11908  
11909 +fi
11910 +
11911  ###############################################################################
11912  
11913  AC_MSG_CHECKING(for specified models)
11914  test -z "$cf_list_models" && cf_list_models=normal
11915  dnl If we use libtool to generate libraries, then it must be the only
11916  dnl specified model.
11917 -test "$with_libtool" = "yes" && cf_list_models=libtool
11918 +test "$with_libtool" != "no" && cf_list_models=libtool
11919  AC_MSG_RESULT($cf_list_models)
11920  
11921  ### Use the first model as the default, and save its suffix for use in building
11922  ### up test-applications.
11923  AC_MSG_CHECKING(for default model)
11924 -DFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
11925 +DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
11926  AC_MSG_RESULT($DFT_LWR_MODEL)
11927  
11928  CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
11929 @@ -337,25 +313,8 @@
11930  AC_MSG_RESULT($with_termlib)
11931  
11932  ### Checks for special libraries, must be done up-front.
11933 -AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
11934 -AC_ARG_WITH(dbmalloc,
11935 -       [  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
11936 -       [with_dbmalloc=$withval],
11937 -       [with_dbmalloc=no])
11938 -AC_MSG_RESULT($with_dbmalloc)
11939 -if test "$with_dbmalloc" = yes ; then
11940 -       AC_CHECK_LIB(dbmalloc,debug_malloc)
11941 -fi
11942 -
11943 -AC_MSG_CHECKING(if you want to link with dmalloc for testing)
11944 -AC_ARG_WITH(dmalloc,
11945 -       [  --with-dmalloc          test: use Gray Watson's dmalloc library],
11946 -       [with_dmalloc=$withval],
11947 -       [with_dmalloc=no])
11948 -AC_MSG_RESULT($with_dmalloc)
11949 -if test "$with_dmalloc" = yes ; then
11950 -       AC_CHECK_LIB(dmalloc,dmalloc_debug)
11951 -fi
11952 +CF_WITH_DBMALLOC
11953 +CF_WITH_DMALLOC
11954  
11955  SHLIB_LIST=""
11956  AC_MSG_CHECKING(if you want to link with the gpm mouse library)
11957 @@ -373,6 +332,8 @@
11958         ],AC_MSG_WARN(Cannot link with gpm library - read the FAQ))
11959  fi
11960  
11961 +CF_WITH_SYSMOUSE
11962 +
11963  dnl Not all ports of gcc support the -g option
11964  
11965  if test X"$CC_G_OPT" = X"" ; then
11966 @@ -458,7 +419,7 @@
11967         [with_fallback=$withval],
11968         [with_fallback=])
11969  AC_MSG_RESULT($with_fallback)
11970 -FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
11971 +FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
11972  AC_SUBST(FALLBACK_LIST)
11973  
11974  MAKE_TERMINFO=
11975 @@ -522,7 +483,7 @@
11976  
11977  if test "$with_termcap" != "yes" ; then
11978         if test "$use_database" = no ; then
11979 -               if test -z $with_fallback ; then
11980 +               if test -z "$with_fallback" ; then
11981                         AC_ERROR(You have disabled the database w/o specifying fallbacks)
11982                 fi
11983         fi
11984 @@ -604,7 +565,7 @@
11985  if test "$with_broken_linker" = yes ; then
11986         AC_DEFINE(BROKEN_LINKER)
11987         BROKEN_LINKER=1
11988 -elif test $DFT_LWR_MODEL = shared ; then
11989 +elif test "$DFT_LWR_MODEL" = shared ; then
11990         case $cf_cv_system_name in #(vi
11991         cygwin*)
11992                 AC_DEFINE(BROKEN_LINKER)
11993 @@ -669,6 +630,7 @@
11994         AC_DEFINE(HAVE_CURSES_VERSION)
11995         AC_DEFINE(HAVE_HAS_KEY)
11996         AC_DEFINE(HAVE_RESIZETERM)
11997 +       AC_DEFINE(HAVE_RESIZE_TERM)
11998         AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
11999         AC_DEFINE(HAVE_WRESIZE)
12000         AC_DEFINE(NCURSES_EXT_FUNCS)
12001 @@ -807,7 +769,19 @@
12002  ###   use option --enable-widec to turn on use of wide-character support
12003  NCURSES_CH_T=chtype
12004  NCURSES_LIBUTF8=0
12005 +
12006 +NEED_WCHAR_H=0
12007  NCURSES_MBSTATE_T=0
12008 +NCURSES_WCHAR_T=0
12009 +NCURSES_WINT_T=0
12010 +
12011 +# Check to define _XOPEN_SOURCE "automatically"
12012 +CF_GNU_SOURCE
12013 +
12014 +# use these variables to work around a defect in gcc's fixincludes.
12015 +NCURSES_OK_WCHAR_T=
12016 +NCURSES_OK_WINT_T=
12017 +
12018  AC_MSG_CHECKING(if you want experimental wide-character code)
12019  AC_ARG_ENABLE(widec,
12020         [  --enable-widec          compile with experimental wide-char/UTF-8 code],
12021 @@ -817,24 +791,31 @@
12022  if test "$with_widec" = yes ; then
12023         LIB_SUFFIX="w${LIB_SUFFIX}"
12024         AC_DEFINE(USE_WIDEC_SUPPORT)
12025 -       CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
12026 +       CF_PREDEFINE(_XOPEN_SOURCE,500)
12027 +       CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
12028         # with_overwrite=no
12029         NCURSES_CH_T=cchar_t
12030 -       AC_CHECK_FUNC(putwc)
12031 -if test "$ac_cv_func_putwc" != yes ; then
12032 -       CF_LIBUTF8
12033 -       if test "$cf_cv_libutf8" = yes ; then
12034 -               NCURSES_LIBUTF8=1
12035 -       fi
12036 -fi
12037 -       CF_MBSTATE_T
12038 -       if test $cf_cv_mbstate_t = yes ; then
12039 -               NCURSES_MBSTATE_T=1
12040 +       AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb)
12041 +       if test "$ac_cv_func_putwc" != yes ; then
12042 +               CF_LIBUTF8
12043 +               if test "$cf_cv_libutf8" = yes ; then
12044 +                       NCURSES_LIBUTF8=1
12045 +               fi
12046         fi
12047 +       CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T)
12048 +       CF_WCHAR_TYPE(wchar_t,   NCURSES_WCHAR_T,   NCURSES_OK_WCHAR_T)
12049 +       CF_WCHAR_TYPE(wint_t,    NCURSES_WINT_T,    NCURSES_OK_WINT_T)
12050  fi
12051  AC_SUBST(NCURSES_CH_T)
12052  AC_SUBST(NCURSES_LIBUTF8)
12053 +
12054 +AC_SUBST(NEED_WCHAR_H)
12055  AC_SUBST(NCURSES_MBSTATE_T)
12056 +AC_SUBST(NCURSES_WCHAR_T)
12057 +AC_SUBST(NCURSES_WINT_T)
12058 +
12059 +AC_SUBST(NCURSES_OK_WCHAR_T)
12060 +AC_SUBST(NCURSES_OK_WINT_T)
12061  
12062  AC_MSG_CHECKING(for terminal capabilities file)
12063  AC_ARG_WITH(caps,
12064 @@ -922,7 +903,6 @@
12065  AC_SUBST(MATH_LIB)
12066  
12067  ###    Checks for header files.
12068 -CF_GNU_SOURCE
12069  AC_STDC_HEADERS
12070  AC_HEADER_DIRENT
12071  AC_HEADER_TIME
12072 @@ -1027,8 +1007,10 @@
12073         CF_STRIP_G_OPT(CXXFLAGS)
12074  fi
12075  
12076 -dnl Check for C++ compiler characteristics (and ensure that it's there!)
12077 -CF_BOOL_DECL(cf_cv_cc_bool_type)
12078 +# Just in case, check if the C compiler has a bool type.
12079 +CF_BOOL_DECL(cv_cv_cc_bool_type)
12080 +
12081 +# Check for C++ compiler characteristics (and ensure that it's there!)
12082  if test -n "$CXX" ; then
12083         AC_LANG_CPLUSPLUS
12084         CF_STDCPP_LIBRARY
12085 @@ -1105,6 +1087,26 @@
12086  fi
12087  AC_SUBST(CXXLIBS)
12088  
12089 +# If the C compiler did not declare bool, and we did not determine that the C++
12090 +# compiler does not declare bool, turn on an ifdef in curses.h that makes the
12091 +# ncurses library use the same type as C++ bool.  Note that this allows one to
12092 +# specify the type of bool in a configure-script option and postpone
12093 +# integration with the C++ compiler provided that the types are compatible.
12094 +USE_CXX_BOOL=1
12095 +if test $cv_cv_cc_bool_type = 1
12096 +then
12097 +       # oops: C has a bool.  Unlikely, but C++ could differ.
12098 +       USE_CXX_BOOL=0
12099 +elif test $cf_cv_builtin_bool = 0
12100 +then
12101 +       # C++ has no bool
12102 +       USE_CXX_BOOL=0
12103 +else
12104 +       # this is the normal case
12105 +       USE_CXX_BOOL='!defined(__cplusplus)'
12106 +fi
12107 +AC_SUBST(USE_CXX_BOOL)
12108 +
12109  CF_HELP_MESSAGE(Ada95 Binding Options:)
12110  
12111  dnl Check for availability of GNU Ada Translator (GNAT).
12112 @@ -1169,22 +1171,6 @@
12113  fi
12114  fi
12115  
12116 -### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
12117 -### using a 'char' for bools.  gcc 2.7.0's conversion-warnings are broken too
12118 -### badly to consider using for development purposes, but 2.5.8 is okay.
12119 -if test -n "$with_warnings"; then
12120 -       case $GCC_VERSION in
12121 -       2.6.3)
12122 -               if test "$cf_cv_type_of_bool" != "char"; then
12123 -                       EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
12124 -               fi
12125 -               ;;
12126 -       2.5*)
12127 -               EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
12128 -               ;;
12129 -       esac
12130 -fi
12131 -
12132  ### Construct the library-subsets, if any, from this set of keywords:
12133  ### none, base, ext_funcs, termlib.
12134  AC_MSG_CHECKING(for library subsets)
12135 @@ -1236,17 +1222,21 @@
12136  AC_MSG_RESULT($DFT_OBJ_SUBDIR)
12137  
12138  # libtool thinks it can make c++ shared libraries (perhaps only g++)
12139 +if test "$cf_with_cxx" = yes ; then
12140  AC_MSG_CHECKING(c++ library-dependency suffix)
12141 -if test "$with_libtool" = "yes"; then
12142 +if test "$with_libtool" != "no"; then
12143         CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
12144  else
12145         CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library
12146  fi
12147  AC_MSG_RESULT($CXX_LIB_SUFFIX)
12148  AC_SUBST(CXX_LIB_SUFFIX)
12149 +fi
12150  
12151  TINFO_LIST="$SHLIB_LIST"
12152 -test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
12153 +if test "$with_libtool" = no ; then
12154 +       test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
12155 +fi
12156  
12157  AC_MSG_CHECKING(where we will install curses.h)
12158  test "$with_overwrite" = no && \
12159 @@ -1280,6 +1270,9 @@
12160  PROG_DEPS="$TEST_DEPS"
12161  PROG_ARGS="$TEST_ARGS"
12162  
12163 +### predefined stuff for the test programs
12164 +AC_DEFINE(HAVE_SLK_COLOR)
12165 +
12166  ### Construct the list of subdirectories for which we'll customize makefiles
12167  ### with the appropriate compile-rules.
12168  
12169 @@ -1289,15 +1282,15 @@
12170  AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
12171  
12172  ### Now that we're done running tests, add the compiler-warnings, if any
12173 -CFLAGS="$CFLAGS $EXTRA_CFLAGS"
12174 +CF_ADD_CFLAGS($EXTRA_CFLAGS)
12175  
12176  ################################################################################
12177 +test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
12178  AC_OUTPUT( \
12179         include/MKterm.h.awk \
12180         include/curses.head:include/curses.h.in \
12181         include/termcap.h \
12182         include/unctrl.h \
12183 -       misc/run_tic.sh:misc/run_tic.in \
12184         $SUB_MAKEFILES \
12185         Makefile,[
12186  CF_LIB_RULES
12187 @@ -1329,7 +1322,7 @@
12188  cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
12189  cf_cv_system_name="$cf_cv_system_name"
12190  cf_with_cxx_binding="$cf_with_cxx_binding"
12191 -target="$target"
12192 +host="$host"
12193  
12194  ],cat)dnl
12195  ${MAKE-make} preinstall
12196 diff -urNd -urNd ncurses-5.3/dist.mk ncurses-5.3.20030906.orig/dist.mk
12197 --- ncurses-5.3/dist.mk Sat Oct 12 18:27:36 2002
12198 +++ ncurses-5.3.20030906.orig/dist.mk   Fri Sep 12 16:42:59 2003
12199 @@ -1,4 +1,4 @@
12200 -# $Id: dist.mk,v 1.327 2002/10/12 23:27:36 tom Exp $
12201 +# $Id: dist.mk,v 1.376 2003/09/06 20:16:49 tom Exp $
12202  # Makefile for creating ncurses distributions.
12203  #
12204  # This only needs to be used directly as a makefile by developers, but
12205 @@ -10,7 +10,7 @@
12206  # These define the major/minor/patch versions of ncurses.
12207  NCURSES_MAJOR = 5
12208  NCURSES_MINOR = 3
12209 -NCURSES_PATCH = 20021012
12210 +NCURSES_PATCH = 20030906
12211  
12212  # We don't append the patch to the version, since this only applies to releases
12213  VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
12214 @@ -68,7 +68,7 @@
12215         @echo 's/<\/B>/<\/STRONG>/g' >> subst.tmp
12216         @echo 's/<I>/<EM>/g'         >> subst.tmp
12217         @echo 's/<\/I>/<\/EM>/g'     >> subst.tmp
12218 -       @sort < subst.tmp | uniq > subst.sed
12219 +       @misc/csort < subst.tmp | uniq > subst.sed
12220         @echo '/<\/TITLE>/a\' >> subst.sed
12221         @echo '<link rev=made href="mailto:bug-ncurses@gnu.org">\' >> subst.sed
12222         @echo '<meta http-equiv="Content-Type" content="text\/html; charset=iso-8859-1">' >> subst.sed
12223 @@ -97,7 +97,7 @@
12224         @sed -e "\%./doc/html/man/%d" < MANIFEST > MANIFEST.tmp
12225         @find ./doc/html/man -type f -print >> MANIFEST.tmp
12226         @chmod u+w MANIFEST
12227 -       @sort -u < MANIFEST.tmp > MANIFEST
12228 +       @misc/csort -u < MANIFEST.tmp > MANIFEST
12229         @rm -f MANIFEST.tmp
12230  
12231  #
12232 @@ -110,7 +110,7 @@
12233           (cd ./Ada95/gen ; make html) ;\
12234           sed -e "\%./doc/html/ada/%d" < MANIFEST > MANIFEST.tmp ;\
12235           find ./doc/html/ada -type f -print >> MANIFEST.tmp ;\
12236 -         sort -u < MANIFEST.tmp > MANIFEST ;\
12237 +         misc/csort -u < MANIFEST.tmp > MANIFEST ;\
12238           rm -f MANIFEST.tmp ;\
12239         fi
12240  
12241 @@ -128,7 +128,7 @@
12242  MANIFEST:
12243         -rm -f $@
12244         touch $@
12245 -       find . -type f -print |sort | fgrep -v .lsm |fgrep -v .spec >$@
12246 +       find . -type f -print |misc/csort | fgrep -v .lsm |fgrep -v .spec >$@
12247  
12248  TAGS:
12249         etags */*.[ch]
12250 diff -urNd -urNd ncurses-5.3/doc/html/announce.html ncurses-5.3.20030906.orig/doc/html/announce.html
12251 --- ncurses-5.3/doc/html/announce.html  Sat Oct 12 18:35:53 2002
12252 +++ ncurses-5.3.20030906.orig/doc/html/announce.html    Tue May 13 20:08:22 2003
12253 @@ -1,11 +1,12 @@
12254  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
12255  <!--
12256 -  $Id: announce.html,v 1.41 2002/10/12 23:35:53 tom Exp $
12257 +  $Id: announce.html,v 1.42 2002/10/19 21:47:00 tom Exp $
12258  -->
12259  <HTML>
12260  <HEAD>
12261 -<TITLE>Announcing ncurses 5.3 Pre-Release</TITLE>
12262 +<TITLE>Announcing ncurses 5.3</TITLE>
12263  <link rev=made href="mailto:bug-ncurses@gnu.org">
12264 +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
12265  </HEAD>
12266  <BODY>
12267  
12268 @@ -35,9 +36,9 @@
12269  
12270  The ncurses distribution is available via anonymous FTP at
12271  the GNU distribution site
12272 -<A HREF="ftp://ftp.gnu.org/pub/gnu/ncurses">ftp://ftp.gnu.org/pub/gnu/ncurses</A>.
12273 +<A HREF="ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</A>&nbsp;.
12274  <br>It is also available at
12275 -<A HREF="ftp://invisible-island.net/ncurses">ftp://invisible-island.net/ncurses</A>.
12276 +<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A>&nbsp;.
12277  
12278  <H1>Release Notes</H1>
12279  
12280 @@ -317,61 +318,61 @@
12281  <DT> cdk
12282  <DD> Curses Development Kit
12283  <br>
12284 -<A HREF="http://invisible-island.net/cdk/cdk.html">http://invisible-island.net/cdk</A>.
12285 +<A HREF="http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</A>
12286  <br>
12287 -<A HREF="http://www.vexus.ca/CDK.html">http://www.vexus.ca/CDK.html</a>
12288 +<A HREF="http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a>
12289  <DT> ded
12290  <DD> directory-editor
12291  <br>
12292 -<A HREF="http://invisible-island.net/ded/ded.html">http://invisible-island.net/ded</A>.
12293 +<A HREF="http://invisible-island.net/ded/">http://invisible-island.net/ded/</A>
12294  <DT> dialog
12295  <DD> the underlying application used in Slackware's setup, and the basis
12296  for similar applications on GNU/Linux.
12297  <br>
12298 -<A HREF="http://invisible-island.net/dialog/dialog.html">http://invisible-island.net/dialog</A>.
12299 +<A HREF="http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</A>
12300  <DT> lynx
12301  <DD> the character-screen WWW browser
12302  <br>
12303 -<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release</A>.
12304 +<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release/</A>
12305  <DT> Midnight Commander
12306  <DD> file manager
12307  <br>
12308 -<A HREF="www.gnome.org/mc/">www.gnome.org/mc/</A>.
12309 +<A HREF="http://www.ibiblio.org/mc/">http://www.ibiblio.org/mc/</A>
12310  <DT> mutt
12311  <DD> mail utility
12312  <br>
12313 -<A HREF="http://www.mutt.org">http://www.mutt.org</A>.
12314 +<A HREF="http://www.mutt.org/">http://www.mutt.org/</A>
12315  <DT> ncftp
12316  <DD> file-transfer utility
12317  <br>
12318 -<A HREF="http://www.ncftp.com">http://www.ncftp.com</A>.
12319 +<A HREF="http://www.ncftp.com/">http://www.ncftp.com/</A>
12320  <DT> nvi
12321  <DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
12322  <br>
12323 -<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>.
12324 +<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>
12325  <DT> tin
12326  <DD> newsreader, supporting color, MIME
12327  <br>
12328 -<A HREF="http://www.tin.org">http://www.tin.org</A>.
12329 +<A HREF="http://www.tin.org/">http://www.tin.org/</A>
12330  <DT> taper
12331  <DD> tape archive utility
12332  <br>
12333 -<A HREF="http://members.iinet.net.au/~yusuf/taper/">http://members.iinet.net.au/~yusuf/taper/</A>.
12334 +<A HREF="http://taper.e-survey.net.au/">http://taper.e-survey.net.au/</A>
12335  <DT> vh-1.6
12336  <DD> Volks-Hypertext browser for the Jargon File
12337  <br>
12338 -<A HREF="http://www.bg.debian.org/Packages/unstable/text/vh.html">http://www.bg.debian.org/Packages/unstable/text/vh.html</A>.
12339 +<A HREF="http://www.debian.org/Packages/unstable/text/vh.html">http://www.debian.org/Packages/unstable/text/vh.html</A>
12340  </DL>
12341  as well as some that use ncurses for the terminfo support alone:
12342  <DL>
12343  <DT> minicom
12344  <DD> terminal emulator
12345  <br>
12346 -<A HREF="http://www.pp.clinet.fi/~walker/minicom.html">http://www.pp.clinet.fi/~walker/minicom.html</A>.
12347 +<A HREF="http://www.netsonic.fi/~walker/minicom.html">http://www.netsonic.fi/~walker/minicom.html</A>
12348  <DT> vile
12349  <DD> vi-like-emacs
12350  <br>
12351 -<A HREF="http://invisible-island.net/vile/vile.html">http://invisible-island.net/vile</A>.
12352 +<A HREF="http://invisible-island.net/vile/">http://invisible-island.net/vile/</A>
12353  </DL>
12354  <P>
12355  
12356 @@ -382,7 +383,7 @@
12357  
12358  The original developers of ncurses are <A
12359  HREF="mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</A> and
12360 -<A HREF="http://www.ccil.org/~esr/home.html">Eric S. Raymond</A>.
12361 +<A HREF="http://www.tuxedo.org/~esr/">Eric S. Raymond</A>.
12362  Ongoing work is being done by
12363  <A HREF="mailto:dickey@herndon4.his.com">Thomas Dickey</A>
12364  and
12365 @@ -404,7 +405,7 @@
12366  testing of this package.<P>
12367  
12368  Beta versions of ncurses and patches to the current release are made available at
12369 -<A HREF="ftp://invisible-island.net/ncurses">ftp://invisible-island.net/ncurses</A>.
12370 +<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A>&nbsp;.
12371  
12372  <H2>Future Plans</H2>
12373  <UL>
12374 @@ -418,12 +419,12 @@
12375  
12376  The distribution includes and uses a version of the terminfo-format
12377  terminal description file maintained by Eric Raymond.
12378 -<A HREF="http://earthspace.net/~esr/terminfo">http://earthspace.net/~esr/terminfo</A>.<P>
12379 +<A HREF="http://www.tuxedo.org/~esr/terminfo/">http://www.tuxedo.org/~esr/terminfo/</A>&nbsp;.<P>
12380  
12381  You can find lots of information on terminal-related topics
12382  not covered in the terminfo file at
12383  <A HREF="http://www.cs.utk.edu/~shuford/terminal_index.html">Richard Shuford's
12384 -archive</A>.
12385 +archive</A>&nbsp;.
12386  </BODY>
12387  </HTML>
12388  <!--
12389 diff -urNd -urNd ncurses-5.3/doc/html/man/captoinfo.1m.html ncurses-5.3.20030906.orig/doc/html/man/captoinfo.1m.html
12390 --- ncurses-5.3/doc/html/man/captoinfo.1m.html  Sat Jun 22 16:25:15 2002
12391 +++ ncurses-5.3.20030906.orig/doc/html/man/captoinfo.1m.html    Sun Jul 20 14:02:08 2003
12392 @@ -2,7 +2,7 @@
12393  <!-- 
12394    * t
12395    ****************************************************************************
12396 -  * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
12397 +  * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
12398    *                                                                          *
12399    * Permission is hereby granted, free of charge, to any person obtaining a  *
12400    * copy of this software and associated documentation files (the            *
12401 @@ -28,7 +28,7 @@
12402    * sale, use or other dealings in this Software without prior written       *
12403    * authorization.                                                           *
12404    ****************************************************************************
12405 -  * @Id: captoinfo.1m,v 1.16 2000/08/13 01:56:49 tom Exp @
12406 +  * @Id: captoinfo.1m,v 1.17 2003/05/11 00:32:53 tom Exp @
12407  -->
12408  <HTML>
12409  <HEAD>
12410 @@ -192,7 +192,7 @@
12411         mode.  You can use other <EM>tic</EM> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
12412  
12413         The  trace  option isn't identical to SVr4's.  Under SVr4,
12414 -       instead of following the -v with  a  trace  level  n,  you
12415 +       instead of following the <STRONG>-v</STRONG> with  a  trace  level  n,  you
12416         repeat it n times.
12417  
12418  
12419 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
12420 --- ncurses-5.3/doc/html/man/curs_addch.3x.html Sat Aug 31 16:59:20 2002
12421 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_addch.3x.html   Sun Jul 20 14:02:08 2003
12422 @@ -2,7 +2,7 @@
12423  <!-- 
12424    * t
12425    ****************************************************************************
12426 -  * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
12427 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
12428    *                                                                          *
12429    * Permission is hereby granted, free of charge, to any person obtaining a  *
12430    * copy of this software and associated documentation files (the            *
12431 @@ -28,7 +28,7 @@
12432    * sale, use or other dealings in this Software without prior written       *
12433    * authorization.                                                           *
12434    ****************************************************************************
12435 -  * @Id: curs_addch.3x,v 1.20 2002/08/10 22:12:36 tom Exp @
12436 +  * @Id: curs_addch.3x,v 1.21 2003/05/10 20:33:49 jmc Exp @
12437  -->
12438  <HTML>
12439  <HEAD>
12440 @@ -77,7 +77,7 @@
12441         sor one character left; at the left edge of  a  window  it
12442         does  nothing.   Newline  does  a <STRONG>clrtoeol</STRONG>, then moves the
12443         cursor to  the  window  left  margin  on  the  next  line,
12444 -       scrolling  the window if on the last line).  Tabs are con-
12445 +       scrolling  the  window if on the last line.  Tabs are con-
12446         sidered to be at every eighth column.   The  tab  interval
12447         may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
12448  
12449 @@ -91,7 +91,7 @@
12450         passed to <STRONG>addch</STRONG> or related functions by logical-ORing them
12451         into  the  character.   (Thus, text, including attributes,
12452         can be copied from one place to  another  using  <STRONG>inch</STRONG>  and
12453 -       <STRONG>addch</STRONG>.).   See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for values of prede-
12454 +       <STRONG>addch</STRONG>.)   See  the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for values of prede-
12455         fined video attribute constants that can be usefully OR'ed
12456         into characters.
12457  
12458 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
12459 --- ncurses-5.3/doc/html/man/curs_beep.3x.html  Sat Jun 22 16:25:17 2002
12460 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_beep.3x.html    Sun Jul 20 14:02:08 2003
12461 @@ -1,7 +1,7 @@
12462  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12463  <!-- 
12464    ****************************************************************************
12465 -  * Copyright (c) 1998 Free Software Foundation, Inc.                        *
12466 +  * Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
12467    *                                                                          *
12468    * Permission is hereby granted, free of charge, to any person obtaining a  *
12469    * copy of this software and associated documentation files (the            *
12470 @@ -27,7 +27,7 @@
12471    * sale, use or other dealings in this Software without prior written       *
12472    * authorization.                                                           *
12473    ****************************************************************************
12474 -  * @Id: curs_beep.3x,v 1.7 1998/03/11 21:12:53 juergen Exp @
12475 +  * @Id: curs_beep.3x,v 1.8 2003/05/10 20:33:49 jmc Exp @
12476  -->
12477  <HTML>
12478  <HEAD>
12479 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
12480 --- ncurses-5.3/doc/html/man/curs_deleteln.3x.html      Sat Jun 22 16:25:19 2002
12481 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_deleteln.3x.html        Sun Jul 20 14:02:08 2003
12482 @@ -1,7 +1,7 @@
12483  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12484  <!-- 
12485    ****************************************************************************
12486 -  * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
12487 +  * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
12488    *                                                                          *
12489    * Permission is hereby granted, free of charge, to any person obtaining a  *
12490    * copy of this software and associated documentation files (the            *
12491 @@ -27,7 +27,7 @@
12492    * sale, use or other dealings in this Software without prior written       *
12493    * authorization.                                                           *
12494    ****************************************************************************
12495 -  * @Id: curs_deleteln.3x,v 1.7 2000/11/11 20:43:20 Bernhard.Rosenkraenzer Exp @
12496 +  * @Id: curs_deleteln.3x,v 1.8 2003/05/10 20:33:49 jmc Exp @
12497  -->
12498  <HTML>
12499  <HEAD>
12500 @@ -73,7 +73,7 @@
12501         and  move  the remaining lines up.  The bottom <EM>n</EM> lines are
12502         cleared.  The current cursor position remains the same.
12503  
12504 -       The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines, insert a  blank  line
12505 +       The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert  a  blank  line
12506         above the current line and the bottom line is lost.
12507  
12508  
12509 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
12510 --- ncurses-5.3/doc/html/man/curs_extend.3x.html        Sat Jun 22 16:25:19 2002
12511 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_extend.3x.html  Sun Jul 20 14:02:08 2003
12512 @@ -1,7 +1,7 @@
12513  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12514  <!-- 
12515    ****************************************************************************
12516 -  * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
12517 +  * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
12518    *                                                                          *
12519    * Permission is hereby granted, free of charge, to any person obtaining a  *
12520    * copy of this software and associated documentation files (the            *
12521 @@ -28,7 +28,7 @@
12522    * authorization.                                                           *
12523    ****************************************************************************
12524    * Author: Thomas E. Dickey &lt;dickey@clark.net&gt; 1999
12525 -  * @Id: curs_extend.3x,v 1.9 2002/02/16 22:39:04 tom Exp @
12526 +  * @Id: curs_extend.3x,v 1.11 2003/05/11 00:32:53 tom Exp @
12527  -->
12528  <HTML>
12529  <HEAD>
12530 @@ -70,10 +70,10 @@
12531         standard names which may be  compiled  into  the  terminfo
12532         description, i.e., via the terminfo or termcap interfaces.
12533         Normally these names are  available  for  use,  since  the
12534 -       essential  descision is made by using the <STRONG>-x</STRONG> option of <EM>tic</EM>
12535 +       essential  decision  is made by using the <STRONG>-x</STRONG> option of <EM>tic</EM>
12536         to compile extended terminal definitions.  However you can
12537         disable  this  feature  to  ensure compatiblity with other
12538 -       implementations of curses
12539 +       implementations of curses.
12540  
12541  
12542  </PRE>
12543 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
12544 --- ncurses-5.3/doc/html/man/curs_get_wch.3x.html       Sat Jun 22 16:25:19 2002
12545 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_get_wch.3x.html Sun Jul 20 14:02:08 2003
12546 @@ -1,7 +1,7 @@
12547  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12548  <!-- 
12549    ****************************************************************************
12550 -  * Copyright (c) 2002 Free Software Foundation, Inc.                        *
12551 +  * Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
12552    *                                                                          *
12553    * Permission is hereby granted, free of charge, to any person obtaining a  *
12554    * copy of this software and associated documentation files (the            *
12555 @@ -27,7 +27,7 @@
12556    * sale, use or other dealings in this Software without prior written       *
12557    * authorization.                                                           *
12558    ****************************************************************************
12559 -  * @Id: curs_get_wch.3x,v 1.3 2002/05/18 21:48:53 tom Exp @
12560 +  * @Id: curs_get_wch.3x,v 1.5 2003/05/10 20:33:49 jmc Exp @
12561  -->
12562  <HTML>
12563  <HEAD>
12564 @@ -52,10 +52,10 @@
12565  <H2>SYNOPSIS</H2><PRE>
12566         <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
12567  
12568 -       <STRONG>int</STRONG> <STRONG>get_wch(win_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
12569 -       <STRONG>int</STRONG> <STRONG>wget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>win_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
12570 -       <STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>win_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
12571 -       <STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>win_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
12572 +       <STRONG>int</STRONG> <STRONG>get_wch(wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
12573 +       <STRONG>int</STRONG> <STRONG>wget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
12574 +       <STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
12575 +       <STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
12576         <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
12577  
12578  
12579 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
12580 --- ncurses-5.3/doc/html/man/curs_getcchar.3x.html      Sat Jun 22 16:25:20 2002
12581 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_getcchar.3x.html        Sun Jul 20 14:02:08 2003
12582 @@ -1,7 +1,7 @@
12583  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12584  <!-- 
12585    ****************************************************************************
12586 -  * Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
12587 +  * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
12588    *                                                                          *
12589    * Permission is hereby granted, free of charge, to any person obtaining a  *
12590    * copy of this software and associated documentation files (the            *
12591 @@ -27,7 +27,7 @@
12592    * sale, use or other dealings in this Software without prior written       *
12593    * authorization.                                                           *
12594    ****************************************************************************
12595 -  * @Id: curs_getcchar.3x,v 1.6 2002/03/24 01:08:55 tom Exp @
12596 +  * @Id: curs_getcchar.3x,v 1.7 2003/05/10 20:33:49 jmc Exp @
12597  -->
12598  <HTML>
12599  <HEAD>
12600 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
12601 --- ncurses-5.3/doc/html/man/curs_getch.3x.html Sat Jun 22 16:25:20 2002
12602 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_getch.3x.html   Sun Jul 20 14:02:08 2003
12603 @@ -2,7 +2,7 @@
12604  <!-- 
12605    * t
12606    ****************************************************************************
12607 -  * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
12608 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
12609    *                                                                          *
12610    * Permission is hereby granted, free of charge, to any person obtaining a  *
12611    * copy of this software and associated documentation files (the            *
12612 @@ -28,7 +28,7 @@
12613    * sale, use or other dealings in this Software without prior written       *
12614    * authorization.                                                           *
12615    ****************************************************************************
12616 -  * @Id: curs_getch.3x,v 1.21 2002/03/17 14:36:21 tom Exp @
12617 +  * @Id: curs_getch.3x,v 1.22 2003/05/10 20:33:49 jmc Exp @
12618  -->
12619  <HTML>
12620  <HEAD>
12621 @@ -89,7 +89,7 @@
12622         token for that function key is returned instead of the raw
12623         characters.    Possible   function  keys  are  defined  in
12624         <STRONG>&lt;curses.h&gt;</STRONG> as macros with  values  outside  the  range  of
12625 -       8-bit  characters  whose  names  begin  with <STRONG>KEY_.</STRONG> Thus, a
12626 +       8-bit  characters  whose  names  begin  with <STRONG>KEY_</STRONG>. Thus, a
12627         variable intended to hold the return value of  a  function
12628         key must be of short size or larger.
12629  
12630 @@ -114,103 +114,103 @@
12631         that  not  all  of  these are necessarily supported on any
12632         particular terminal.
12633  
12634 -           <EM>Name</EM>            <EM>Key</EM> <EM>name</EM>
12635 +            <EM>Name</EM>            <EM>Key</EM> <EM>name</EM>
12636  
12637 -           KEY_BREAK       Break key
12638 -           KEY_DOWN        The four arrow keys ...
12639 -           KEY_UP
12640 -           KEY_LEFT
12641 -           KEY_RIGHT
12642 -           KEY_HOME        Home key (upward+left arrow)
12643 -           KEY_BACKSPACE   Backspace
12644 -           KEY_F0          Function keys; space for 64  keys
12645 -                           is reserved.
12646 -           KEY_F(<EM>n</EM>)        For 0 &lt;= <EM>n</EM> &lt;= 63
12647 -           KEY_DL          Delete line
12648 -           KEY_IL          Insert line
12649 -           KEY_DC          Delete character
12650 -           KEY_IC          Insert char or enter insert mode
12651 -           KEY_EIC         Exit insert char mode
12652 -           KEY_CLEAR       Clear screen
12653 -           KEY_EOS         Clear to end of screen
12654 -           KEY_EOL         Clear to end of line
12655 -           KEY_SF          Scroll 1 line forward
12656 -           KEY_SR          Scroll 1 line backward (reverse)
12657 -           KEY_NPAGE       Next page
12658 -           KEY_PPAGE       Previous page
12659 -           KEY_STAB        Set tab
12660 -           KEY_CTAB        Clear tab
12661 -           KEY_CATAB       Clear all tabs
12662 -           KEY_ENTER       Enter or send
12663 -           KEY_SRESET      Soft (partial) reset
12664 -           KEY_RESET       Reset or hard reset
12665 -           KEY_PRINT       Print or copy
12666 -           KEY_LL          Home down or bottom (lower left).
12667 -           KEY_A1          Upper left of keypad
12668 -           KEY_A3          Upper right of keypad
12669 -           KEY_B2          Center of keypad
12670 -           KEY_C1          Lower left of keypad
12671 -           KEY_C3          Lower right of keypad
12672 -           KEY_BTAB        Back tab key
12673 -           KEY_BEG         Beg(inning) key
12674 -           KEY_CANCEL      Cancel key
12675 +            KEY_BREAK       Break key
12676 +            KEY_DOWN        The four arrow keys ...
12677 +            KEY_UP
12678 +            KEY_LEFT
12679 +            KEY_RIGHT
12680 +            KEY_HOME        Home key (upward+left arrow)
12681 +            KEY_BACKSPACE   Backspace
12682 +            KEY_F0          Function keys; space for 64 keys
12683 +                            is reserved.
12684 +            KEY_F(<EM>n</EM>)        For 0 &lt;= <EM>n</EM> &lt;= 63
12685 +            KEY_DL          Delete line
12686 +            KEY_IL          Insert line
12687 +            KEY_DC          Delete character
12688 +            KEY_IC          Insert char or enter insert mode
12689 +            KEY_EIC         Exit insert char mode
12690 +            KEY_CLEAR       Clear screen
12691 +            KEY_EOS         Clear to end of screen
12692 +            KEY_EOL         Clear to end of line
12693 +            KEY_SF          Scroll 1 line forward
12694 +            KEY_SR          Scroll 1 line backward (reverse)
12695 +            KEY_NPAGE       Next page
12696 +            KEY_PPAGE       Previous page
12697 +            KEY_STAB        Set tab
12698 +            KEY_CTAB        Clear tab
12699 +            KEY_CATAB       Clear all tabs
12700 +            KEY_ENTER       Enter or send
12701 +            KEY_SRESET      Soft (partial) reset
12702 +            KEY_RESET       Reset or hard reset
12703 +            KEY_PRINT       Print or copy
12704 +            KEY_LL          Home down or bottom (lower left)
12705 +            KEY_A1          Upper left of keypad
12706 +            KEY_A3          Upper right of keypad
12707 +            KEY_B2          Center of keypad
12708 +            KEY_C1          Lower left of keypad
12709 +            KEY_C3          Lower right of keypad
12710 +            KEY_BTAB        Back tab key
12711 +            KEY_BEG         Beg(inning) key
12712 +            KEY_CANCEL      Cancel key
12713  
12714 -           KEY_CLOSE       Close key
12715 -           KEY_COMMAND     Cmd (command) key
12716 -           KEY_COPY        Copy key
12717 -           KEY_CREATE      Create key
12718 -           KEY_END         End key
12719 -           KEY_EXIT        Exit key
12720 -           KEY_FIND        Find key
12721 -           KEY_HELP        Help key
12722 -           KEY_MARK        Mark key
12723 -           KEY_MESSAGE     Message key
12724 -           KEY_MOUSE       Mouse event read
12725 -           KEY_MOVE        Move key
12726 -           KEY_NEXT        Next object key
12727 -           KEY_OPEN        Open key
12728 -           KEY_OPTIONS     Options key
12729 -           KEY_PREVIOUS    Previous object key
12730 -           KEY_REDO        Redo key
12731 -           KEY_REFERENCE   Ref(erence) key
12732 -           KEY_REFRESH     Refresh key
12733 -           KEY_REPLACE     Replace key
12734 -           KEY_RESIZE      Screen resized
12735 -           KEY_RESTART     Restart key
12736 -           KEY_RESUME      Resume key
12737 -           KEY_SAVE        Save key
12738 -           KEY_SBEG        Shifted beginning key
12739 -           KEY_SCANCEL     Shifted cancel key
12740 -           KEY_SCOMMAND    Shifted command key
12741 -           KEY_SCOPY       Shifted copy key
12742 -           KEY_SCREATE     Shifted create key
12743 -           KEY_SDC         Shifted delete char key
12744 -           KEY_SDL         Shifted delete line key
12745 -           KEY_SELECT      Select key
12746 -           KEY_SEND        Shifted end key
12747 -           KEY_SEOL        Shifted clear line key
12748 -           KEY_SEXIT       Shifted exit key
12749 -           KEY_SFIND       Shifted find key
12750 -           KEY_SHELP       Shifted help key
12751 -           KEY_SHOME       Shifted home key
12752 -           KEY_SIC         Shifted input key
12753 -           KEY_SLEFT       Shifted left arrow key
12754 -           KEY_SMESSAGE    Shifted message key
12755 -           KEY_SMOVE       Shifted move key
12756 -           KEY_SNEXT       Shifted next key
12757 -           KEY_SOPTIONS    Shifted options key
12758 -           KEY_SPREVIOUS   Shifted prev key
12759 -           KEY_SPRINT      Shifted print key
12760 -           KEY_SREDO       Shifted redo key
12761 -           KEY_SREPLACE    Shifted replace key
12762 -           KEY_SRIGHT      Shifted right arrow
12763 -           KEY_SRSUME      Shifted resume key
12764 -           KEY_SSAVE       Shifted save key
12765 -           KEY_SSUSPEND    Shifted suspend key
12766 -           KEY_SUNDO       Shifted undo key
12767 +            KEY_CLOSE       Close key
12768 +            KEY_COMMAND     Cmd (command) key
12769 +            KEY_COPY        Copy key
12770 +            KEY_CREATE      Create key
12771 +            KEY_END         End key
12772 +            KEY_EXIT        Exit key
12773 +            KEY_FIND        Find key
12774 +            KEY_HELP        Help key
12775 +            KEY_MARK        Mark key
12776 +            KEY_MESSAGE     Message key
12777 +            KEY_MOUSE       Mouse event read
12778 +            KEY_MOVE        Move key
12779 +            KEY_NEXT        Next object key
12780 +            KEY_OPEN        Open key
12781 +            KEY_OPTIONS     Options key
12782 +            KEY_PREVIOUS    Previous object key
12783 +            KEY_REDO        Redo key
12784 +            KEY_REFERENCE   Ref(erence) key
12785 +            KEY_REFRESH     Refresh key
12786 +            KEY_REPLACE     Replace key
12787 +            KEY_RESIZE      Screen resized
12788 +            KEY_RESTART     Restart key
12789 +            KEY_RESUME      Resume key
12790 +            KEY_SAVE        Save key
12791 +            KEY_SBEG        Shifted beginning key
12792 +            KEY_SCANCEL     Shifted cancel key
12793 +            KEY_SCOMMAND    Shifted command key
12794 +            KEY_SCOPY       Shifted copy key
12795 +            KEY_SCREATE     Shifted create key
12796 +            KEY_SDC         Shifted delete char key
12797 +            KEY_SDL         Shifted delete line key
12798 +            KEY_SELECT      Select key
12799 +            KEY_SEND        Shifted end key
12800 +            KEY_SEOL        Shifted clear line key
12801 +            KEY_SEXIT       Shifted exit key
12802 +            KEY_SFIND       Shifted find key
12803 +            KEY_SHELP       Shifted help key
12804 +            KEY_SHOME       Shifted home key
12805 +            KEY_SIC         Shifted input key
12806 +            KEY_SLEFT       Shifted left arrow key
12807 +            KEY_SMESSAGE    Shifted message key
12808 +            KEY_SMOVE       Shifted move key
12809 +            KEY_SNEXT       Shifted next key
12810 +            KEY_SOPTIONS    Shifted options key
12811 +            KEY_SPREVIOUS   Shifted prev key
12812 +            KEY_SPRINT      Shifted print key
12813 +            KEY_SREDO       Shifted redo key
12814 +            KEY_SREPLACE    Shifted replace key
12815 +            KEY_SRIGHT      Shifted right arrow
12816 +            KEY_SRSUME      Shifted resume key
12817 +            KEY_SSAVE       Shifted save key
12818 +            KEY_SSUSPEND    Shifted suspend key
12819 +            KEY_SUNDO       Shifted undo key
12820  
12821 -           KEY_SUSPEND     Suspend key
12822 -           KEY_UNDO        Undo key
12823 +            KEY_SUSPEND     Suspend key
12824 +            KEY_UNDO        Undo key
12825  
12826         Keypad is arranged like this:
12827  
12828 @@ -247,7 +247,7 @@
12829         according  to  whether  they treat these control keys spe-
12830         cially (and ignore the terminfo), or use the terminfo def-
12831         initions.   <STRONG>Ncurses</STRONG>  uses  the terminfo definition.  If it
12832 -       says that  KEY_ENTER  is  control/M,  <STRONG>getch</STRONG>,  will  return
12833 +       says  that  KEY_ENTER  is  control/M,  <STRONG>getch</STRONG>  will  return
12834         KEY_ENTER when you press control/M.
12835  
12836         When  using  <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak
12837 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
12838 --- ncurses-5.3/doc/html/man/curs_getstr.3x.html        Sat Jun 22 16:37:28 2002
12839 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_getstr.3x.html  Sun Jul 20 14:02:08 2003
12840 @@ -1,7 +1,7 @@
12841  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12842  <!-- 
12843    ****************************************************************************
12844 -  * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
12845 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
12846    *                                                                          *
12847    * Permission is hereby granted, free of charge, to any person obtaining a  *
12848    * copy of this software and associated documentation files (the            *
12849 @@ -27,7 +27,7 @@
12850    * sale, use or other dealings in this Software without prior written       *
12851    * authorization.                                                           *
12852    ****************************************************************************
12853 -  * @Id: curs_getstr.3x,v 1.11 2002/04/13 22:14:30 tom Exp @
12854 +  * @Id: curs_getstr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
12855  -->
12856  <HTML>
12857  <HEAD>
12858 @@ -109,7 +109,7 @@
12859         SVr3  and early SVr4 curses implementations did not reject
12860         function keys; the SVr4.0 documentation claimed that "spe-
12861         cial  keys"  (such  as  function keys, "home" key, "clear"
12862 -       key, <EM>etc</EM>.) are interpreted" without  giving  details.   It
12863 +       key, <EM>etc</EM>.) are "interpreted", without giving details.   It
12864         lied.   In  fact,  the  `character'  value appended to the
12865         string by those implementations was  predictable  but  not
12866         useful  (being,  in  fact, the low-order eight bits of the
12867 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
12868 --- ncurses-5.3/doc/html/man/curs_getyx.3x.html Sat Oct 12 18:27:50 2002
12869 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_getyx.3x.html   Sun Jul 20 14:02:08 2003
12870 @@ -1,7 +1,7 @@
12871  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12872  <!-- 
12873    ****************************************************************************
12874 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
12875 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
12876    *                                                                          *
12877    * Permission is hereby granted, free of charge, to any person obtaining a  *
12878    * copy of this software and associated documentation files (the            *
12879 @@ -27,7 +27,7 @@
12880    * sale, use or other dealings in this Software without prior written       *
12881    * authorization.                                                           *
12882    ****************************************************************************
12883 -  * @Id: curs_getyx.3x,v 1.8 2002/09/21 19:00:38 tom Exp @
12884 +  * @Id: curs_getyx.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
12885  -->
12886  <HTML>
12887  <HEAD>
12888 @@ -74,7 +74,7 @@
12889  
12890  </PRE>
12891  <H2>RETURN VALUE</H2><PRE>
12892 -       The return values of these  macros  are  undefined  (<EM>i</EM>.<EM>e</EM>.,
12893 +       The return values of these  macros  are  undefined  (i.e.,
12894         they  should not be used as the right-hand side of assign-
12895         ment statements).
12896  
12897 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
12898 --- ncurses-5.3/doc/html/man/curs_initscr.3x.html       Sat Jul 27 19:39:31 2002
12899 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_initscr.3x.html Sun Jul 20 14:02:08 2003
12900 @@ -1,7 +1,7 @@
12901  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12902  <!-- 
12903    ****************************************************************************
12904 -  * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
12905 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
12906    *                                                                          *
12907    * Permission is hereby granted, free of charge, to any person obtaining a  *
12908    * copy of this software and associated documentation files (the            *
12909 @@ -27,7 +27,7 @@
12910    * sale, use or other dealings in this Software without prior written       *
12911    * authorization.                                                           *
12912    ****************************************************************************
12913 -  * @Id: curs_initscr.3x,v 1.11 2002/07/20 14:51:04 tom Exp @
12914 +  * @Id: curs_initscr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
12915  -->
12916  <HTML>
12917  <HEAD>
12918 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
12919 --- ncurses-5.3/doc/html/man/curs_inopts.3x.html        Sat Aug 31 16:59:27 2002
12920 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_inopts.3x.html  Sun Jul 20 14:02:08 2003
12921 @@ -1,7 +1,7 @@
12922  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12923  <!-- 
12924    ****************************************************************************
12925 -  * Copyright (c) 1998,2001 Free Software Foundation, Inc.                   *
12926 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
12927    *                                                                          *
12928    * Permission is hereby granted, free of charge, to any person obtaining a  *
12929    * copy of this software and associated documentation files (the            *
12930 @@ -27,7 +27,7 @@
12931    * sale, use or other dealings in this Software without prior written       *
12932    * authorization.                                                           *
12933    ****************************************************************************
12934 -  * @Id: curs_inopts.3x,v 1.9 2002/08/10 22:29:49 tom Exp @
12935 +  * @Id: curs_inopts.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
12936  -->
12937  <HTML>
12938  <HEAD>
12939 @@ -172,9 +172,9 @@
12940  
12941         The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines  set  blocking  or  non-
12942         blocking  read  for a given window.  If <EM>delay</EM> is negative,
12943 -       blocking  read  is  used  (<EM>i</EM>.<EM>e</EM>.,  waits  indefinitely  for
12944 +       blocking  read  is  used  (i.e.,  waits  indefinitely  for
12945         input).   If <EM>delay</EM> is zero, then non-blocking read is used
12946 -       (<EM>i</EM>.<EM>e</EM>., read returns <STRONG>ERR</STRONG> if no input is waiting).  If <EM>delay</EM>
12947 +       (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting).  If <EM>delay</EM>
12948         is  positive, then read blocks for <EM>delay</EM> milliseconds, and
12949         returns <STRONG>ERR</STRONG> if there is still no input.  Hence, these rou-
12950         tines  provide the same functionality as <STRONG>nodelay</STRONG>, plus the
12951 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
12952 --- ncurses-5.3/doc/html/man/curs_insch.3x.html Sat Jun 22 16:25:23 2002
12953 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_insch.3x.html   Sun Jul 20 14:02:08 2003
12954 @@ -1,7 +1,7 @@
12955  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
12956  <!-- 
12957    ****************************************************************************
12958 -  * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
12959 +  * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
12960    *                                                                          *
12961    * Permission is hereby granted, free of charge, to any person obtaining a  *
12962    * copy of this software and associated documentation files (the            *
12963 @@ -27,7 +27,7 @@
12964    * sale, use or other dealings in this Software without prior written       *
12965    * authorization.                                                           *
12966    ****************************************************************************
12967 -  * @Id: curs_insch.3x,v 1.7 2000/07/01 19:57:21 tom Exp @
12968 +  * @Id: curs_insch.3x,v 1.8 2003/05/10 20:33:49 jmc Exp @
12969  -->
12970  <HTML>
12971  <HEAD>
12972 @@ -59,7 +59,7 @@
12973  
12974  </PRE>
12975  <H2>DESCRIPTION</H2><PRE>
12976 -       These routines, insert the character <EM>ch</EM> before the charac-
12977 +       These routines insert the character <EM>ch</EM> before the  charac-
12978         ter  under the cursor.  All characters to the right of the
12979         cursor are moved one space to the right, with  the  possi-
12980         bility  of the rightmost character on the line being lost.
12981 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
12982 --- ncurses-5.3/doc/html/man/curs_mouse.3x.html Sat Jul 27 19:39:34 2002
12983 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_mouse.3x.html   Sun Jul 20 14:02:08 2003
12984 @@ -2,7 +2,7 @@
12985  <!-- 
12986    * t
12987    ****************************************************************************
12988 -  * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
12989 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
12990    *                                                                          *
12991    * Permission is hereby granted, free of charge, to any person obtaining a  *
12992    * copy of this software and associated documentation files (the            *
12993 @@ -28,7 +28,7 @@
12994    * sale, use or other dealings in this Software without prior written       *
12995    * authorization.                                                           *
12996    ****************************************************************************
12997 -  * @Id: curs_mouse.3x,v 1.20 2002/07/20 14:52:14 tom Exp @
12998 +  * @Id: curs_mouse.3x,v 1.22 2003/05/10 20:33:49 jmc Exp @
12999  -->
13000  <HTML>
13001  <HEAD>
13002 @@ -213,29 +213,36 @@
13003         than  xterm  and  there  is  no gpm daemon running on your
13004         machine, mouse events will not be visible  to  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
13005         (and the <STRONG>wmousemask</STRONG> function will always return <STRONG>0</STRONG>).
13006 +       If  the  terminfo entry contains a <STRONG>XM</STRONG> string, this is used
13007 +       in the xterm mouse driver to control the way the  terminal
13008 +       is initialized for mouse operation.  The default, if <STRONG>XM</STRONG> is
13009 +       not found, corresponds to private mode 1000 of xterm:
13010 +
13011 +           \E[?1000%?%p1%{1}%=%th%el%;
13012 +
13013         The z member in the event structure is not presently used.
13014 -       It is intended for use with touch screens  (which  may  be
13015 +       It  is  intended  for use with touch screens (which may be
13016         pressure-sensitive)   or   with   3D-mice/trackballs/power
13017         gloves.
13018  
13019  
13020  </PRE>
13021  <H2>BUGS</H2><PRE>
13022 -       Mouse events under xterm will not in fact be ignored  dur-
13023 -       ing  cooked mode, if they have been enabled by <STRONG>wmousemask</STRONG>.
13024 -       Instead, the xterm mouse report sequence  will  appear  in
13025 +       Mouse  events under xterm will not in fact be ignored dur-
13026 +       ing cooked mode, if they have been enabled by  <STRONG>wmousemask</STRONG>.
13027 +       Instead,  the  xterm  mouse report sequence will appear in
13028         the string read.
13029  
13030         Mouse events under xterm will not be detected correctly in
13031 -       a window with its keypad bit off, since  they  are  inter-
13032 -       preted  as  a  variety  of  function  key.   Your terminfo
13033 -       description must have <STRONG>kmous</STRONG> set to "\E[M"  (the  beginning
13034 +       a  window  with  its keypad bit off, since they are inter-
13035 +       preted as  a  variety  of  function  key.   Your  terminfo
13036 +       description  must  have <STRONG>kmous</STRONG> set to "\E[M" (the beginning
13037         of the response from xterm for mouse clicks).
13038  
13039 -       Because  there  are  no  standard  terminal responses that
13040 -       would serve to identify terminals which support the  xterm
13041 -       mouse  protocol,  <STRONG>ncurses</STRONG> assumes that if your $TERM envi-
13042 -       ronment variable contains "xterm", or <STRONG>kmous</STRONG> is defined  in
13043 +       Because there are  no  standard  terminal  responses  that
13044 +       would  serve to identify terminals which support the xterm
13045 +       mouse protocol, <STRONG>ncurses</STRONG> assumes that if your  $TERM  envi-
13046 +       ronment  variable contains "xterm", or <STRONG>kmous</STRONG> is defined in
13047         the terminal description, then the terminal may send mouse
13048         events.
13049  
13050 @@ -246,13 +253,6 @@
13051  
13052  
13053  
13054 -
13055 -
13056 -
13057 -
13058 -
13059 -
13060 -
13061  
13062  
13063  
13064 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
13065 --- ncurses-5.3/doc/html/man/curs_outopts.3x.html       Sat Jun 22 16:25:25 2002
13066 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_outopts.3x.html Sun Jul 20 14:02:08 2003
13067 @@ -1,7 +1,7 @@
13068  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13069  <!-- 
13070    ****************************************************************************
13071 -  * Copyright (c) 1998,2001 Free Software Foundation, Inc.                   *
13072 +  * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
13073    *                                                                          *
13074    * Permission is hereby granted, free of charge, to any person obtaining a  *
13075    * copy of this software and associated documentation files (the            *
13076 @@ -27,7 +27,7 @@
13077    * sale, use or other dealings in this Software without prior written       *
13078    * authorization.                                                           *
13079    ****************************************************************************
13080 -  * @Id: curs_outopts.3x,v 1.17 2001/10/14 00:50:30 tom Exp @
13081 +  * @Id: curs_outopts.3x,v 1.18 2003/05/10 20:33:49 jmc Exp @
13082  -->
13083  <HTML>
13084  <HEAD>
13085 @@ -100,7 +100,7 @@
13086  
13087         If  <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in
13088         the window image, such  as  the  ones  caused  by  <STRONG>waddch,</STRONG>
13089 -       <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, <EM>etc</EM>., automatically cause a call to <STRONG>wre-</STRONG>
13090 +       <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, etc., automatically cause a call to <STRONG>wre-</STRONG>
13091         <STRONG>fresh</STRONG>.  However, it may degrade performance  considerably,
13092         due  to  repeated  calls  to  <STRONG>wrefresh</STRONG>.  It is disabled by
13093         default.
13094 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
13095 --- ncurses-5.3/doc/html/man/curs_pad.3x.html   Sat Jun 22 16:25:25 2002
13096 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_pad.3x.html     Sun Jul 20 14:02:08 2003
13097 @@ -1,7 +1,7 @@
13098  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13099  <!-- 
13100    ****************************************************************************
13101 -  * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
13102 +  * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
13103    *                                                                          *
13104    * Permission is hereby granted, free of charge, to any person obtaining a  *
13105    * copy of this software and associated documentation files (the            *
13106 @@ -27,7 +27,7 @@
13107    * sale, use or other dealings in this Software without prior written       *
13108    * authorization.                                                           *
13109    ****************************************************************************
13110 -  * @Id: curs_pad.3x,v 1.9 2000/07/04 22:38:13 tom Exp @
13111 +  * @Id: curs_pad.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
13112  -->
13113  <HTML>
13114  <HEAD>
13115 @@ -70,7 +70,7 @@
13116         sarily associated with a particular part  of  the  screen.
13117         Pads can be used when a large window is needed, and only a
13118         part of the window will be on  the  screen  at  one  time.
13119 -       Automatic refreshes of pads (<EM>e</EM>.<EM>g</EM>., from scrolling or echo-
13120 +       Automatic refreshes of pads (e.g., from scrolling or echo-
13121         ing of input) do not occur.  It is not legal to call  <STRONG>wre-</STRONG>
13122         <STRONG>fresh</STRONG>  with a <EM>pad</EM> as an argument; the routines <STRONG>prefresh</STRONG> or
13123         <STRONG>pnoutrefresh</STRONG> should be called instead.   Note  that  these
13124 @@ -106,7 +106,7 @@
13125         The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call
13126         to  <STRONG>addch</STRONG>  followed by a call to <STRONG>refresh</STRONG>, a call to <STRONG>waddch</STRONG>
13127         followed by a call to <STRONG>wrefresh</STRONG>, or a call to  <STRONG>waddch</STRONG>  fol-
13128 -       lowed  by  a  call  to <STRONG>prefresh.</STRONG> The knowledge that only a
13129 +       lowed  by  a  call  to <STRONG>prefresh</STRONG>. The knowledge that only a
13130         single character is being output is taken into  considera-
13131         tion  and, for non-control characters, a considerable per-
13132         formance gain  might  be  seen  by  using  these  routines
13133 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
13134 --- ncurses-5.3/doc/html/man/curs_print.3x.html Sat Jun 22 16:25:26 2002
13135 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_print.3x.html   Sun Jul 20 14:02:08 2003
13136 @@ -1,7 +1,7 @@
13137  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13138  <!-- 
13139    ****************************************************************************
13140 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
13141 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
13142    *                                                                          *
13143    * Permission is hereby granted, free of charge, to any person obtaining a  *
13144    * copy of this software and associated documentation files (the            *
13145 @@ -27,7 +27,7 @@
13146    * sale, use or other dealings in this Software without prior written       *
13147    * authorization.                                                           *
13148    ****************************************************************************
13149 -  * @Id: curs_print.3x,v 1.5 2002/02/16 22:39:04 tom Exp @
13150 +  * @Id: curs_print.3x,v 1.6 2003/05/10 20:33:49 jmc Exp @
13151  -->
13152  <HTML>
13153  <HEAD>
13154 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
13155 --- ncurses-5.3/doc/html/man/curs_printw.3x.html        Sat Jul 27 19:39:35 2002
13156 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_printw.3x.html  Tue May 13 20:08:22 2003
13157 @@ -27,7 +27,7 @@
13158    * sale, use or other dealings in this Software without prior written       *
13159    * authorization.                                                           *
13160    ****************************************************************************
13161 -  * @Id: curs_printw.3x,v 1.12 2002/07/20 15:01:43 tom Exp @
13162 +  * @Id: curs_printw.3x,v 1.13 2002/11/16 22:28:57 tom Exp @
13163  -->
13164  <HTML>
13165  <HEAD>
13166 @@ -51,45 +51,48 @@
13167  <H2>SYNOPSIS</H2><PRE>
13168         <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
13169  
13170 -       <STRONG>int</STRONG> <STRONG>printw(char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
13171 -       <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
13172 -       <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
13173 -       <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
13174 -       <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
13175 -       <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
13176 +       <STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
13177 +       <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
13178 +       <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
13179 +       <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG>  <STRONG>*fmt,</STRONG>
13180 +       <STRONG>...);</STRONG>
13181 +       <STRONG>int</STRONG>  <STRONG>vwprintw(WINDOW</STRONG>  <STRONG>*win,</STRONG>  <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>var-</STRONG>
13182 +       <STRONG>glist);</STRONG>
13183 +       <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG>  <STRONG>va_list</STRONG>  <STRONG>var-</STRONG>
13184 +       <STRONG>glist);</STRONG>
13185  
13186  
13187  </PRE>
13188  <H2>DESCRIPTION</H2><PRE>
13189 -       The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG>  routines  are
13190 -       analogous  to  <STRONG>printf</STRONG>  [see  <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>].   In effect, the
13191 +       The  <STRONG>printw</STRONG>,  <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are
13192 +       analogous to <STRONG>printf</STRONG>  [see  <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>].   In  effect,  the
13193         string that would be output by <STRONG>printf</STRONG> is output instead as
13194         though <STRONG>waddstr</STRONG> were used on the given window.
13195  
13196 -       The  <STRONG>vwprintw</STRONG>  and  <STRONG>wv_printw</STRONG>  routines  are  analogous to
13197 -       <STRONG>vprintf</STRONG> [see <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>] and perform  a  <STRONG>wprintw</STRONG>  using  a
13198 -       variable  argument list.  The third argument is a <STRONG>va_list</STRONG>,
13199 -       a  pointer  to  a  list  of  arguments,  as   defined   in
13200 +       The <STRONG>vwprintw</STRONG>  and  <STRONG>wv_printw</STRONG>  routines  are  analogous  to
13201 +       <STRONG>vprintf</STRONG>  [see  <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>]  and  perform a <STRONG>wprintw</STRONG> using a
13202 +       variable argument list.  The third argument is a  <STRONG>va_list</STRONG>,
13203 +       a   pointer   to  a  list  of  arguments,  as  defined  in
13204         <STRONG>&lt;stdarg.h&gt;</STRONG>.
13205  
13206  
13207  </PRE>
13208  <H2>RETURN VALUE</H2><PRE>
13209 -       Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure
13210 -       and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value  other  than
13211 +       Routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure
13212 +       and  <STRONG>OK</STRONG>  (SVr4 only specifies "an integer value other than
13213         <STRONG>ERR</STRONG>") upon successful completion.
13214  
13215  
13216  </PRE>
13217  <H2>PORTABILITY</H2><PRE>
13218 -       The  XSI  Curses  standard,  Issue 4 describes these func-
13219 -       tions.  The function <STRONG>vwprintw</STRONG> is marked TO  BE  WITHDRAWN,
13220 -       and  is  to  be replaced by a function <STRONG>vw_printw</STRONG> using the
13221 +       The XSI Curses standard, Issue  4  describes  these  func-
13222 +       tions.   The  function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN,
13223 +       and is to be replaced by a function  <STRONG>vw_printw</STRONG>  using  the
13224         <STRONG>&lt;stdarg.h&gt;</STRONG> interface.  The Single Unix Specification, Ver-
13225 -       sion  2  states  that  <STRONG>vw_printw</STRONG>  is preferred to <STRONG>vwprintw</STRONG>
13226 -       since the latter  requires  including  <STRONG>&lt;varargs.h&gt;</STRONG>,  which
13227 -       cannot  be  used  in  the  same  file as <STRONG>&lt;stdarg.h&gt;</STRONG>.  This
13228 -       implementation uses  <STRONG>&lt;stdarg.h&gt;</STRONG>  for  both,  because  that
13229 +       sion 2 states that <STRONG>vw_printw</STRONG>   is  preferred  to  <STRONG>vwprintw</STRONG>
13230 +       since  the  latter  requires  including <STRONG>&lt;varargs.h&gt;</STRONG>, which
13231 +       cannot be used in  the  same  file  as  <STRONG>&lt;stdarg.h&gt;</STRONG>.   This
13232 +       implementation  uses  <STRONG>&lt;stdarg.h&gt;</STRONG>  for  both,  because that
13233         header is included in <STRONG>&lt;curses.h</STRONG>&gt;.
13234  
13235  
13236 @@ -99,9 +102,6 @@
13237  
13238  
13239  
13240 -
13241 -
13242 -
13243  
13244  
13245  
13246 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
13247 --- ncurses-5.3/doc/html/man/curs_scroll.3x.html        Sat Jun 22 16:25:27 2002
13248 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_scroll.3x.html  Sun Jul 20 14:02:08 2003
13249 @@ -1,7 +1,7 @@
13250  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13251  <!-- 
13252    ****************************************************************************
13253 -  * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
13254 +  * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
13255    *                                                                          *
13256    * Permission is hereby granted, free of charge, to any person obtaining a  *
13257    * copy of this software and associated documentation files (the            *
13258 @@ -27,7 +27,7 @@
13259    * sale, use or other dealings in this Software without prior written       *
13260    * authorization.                                                           *
13261    ****************************************************************************
13262 -  * @Id: curs_scroll.3x,v 1.9 2001/10/14 00:51:56 tom Exp @
13263 +  * @Id: curs_scroll.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
13264  -->
13265  <HTML>
13266  <HEAD>
13267 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
13268 --- ncurses-5.3/doc/html/man/curs_slk.3x.html   Sat Jun 22 16:25:27 2002
13269 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_slk.3x.html     Sun Jul 20 14:02:08 2003
13270 @@ -1,7 +1,7 @@
13271  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13272  <!-- 
13273    ****************************************************************************
13274 -  * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
13275 +  * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
13276    *                                                                          *
13277    * Permission is hereby granted, free of charge, to any person obtaining a  *
13278    * copy of this software and associated documentation files (the            *
13279 @@ -27,7 +27,7 @@
13280    * sale, use or other dealings in this Software without prior written       *
13281    * authorization.                                                           *
13282    ****************************************************************************
13283 -  * @Id: curs_slk.3x,v 1.11 2001/03/03 21:05:41 Todd.C.Miller Exp @
13284 +  * @Id: curs_slk.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
13285  -->
13286  <HTML>
13287  <HEAD>
13288 @@ -115,7 +115,7 @@
13289         The  <STRONG>slk_clear</STRONG>  routine  clears  the  soft labels from the
13290         screen.
13291  
13292 -       The <STRONG>slk_restore</STRONG> routine, restores the soft labels  to  the
13293 +       The <STRONG>slk_restore</STRONG> routine restores the soft  labels  to  the
13294         screen after a <STRONG>slk_clear</STRONG> has been performed.
13295  
13296         The  <STRONG>slk_touch</STRONG>  routine  forces  all the soft labels to be
13297 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
13298 --- ncurses-5.3/doc/html/man/curs_termcap.3x.html       Sat Jun 22 16:25:28 2002
13299 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_termcap.3x.html Sun Jul 20 14:02:08 2003
13300 @@ -1,7 +1,7 @@
13301  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13302  <!-- 
13303    ****************************************************************************
13304 -  * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
13305 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
13306    *                                                                          *
13307    * Permission is hereby granted, free of charge, to any person obtaining a  *
13308    * copy of this software and associated documentation files (the            *
13309 @@ -27,7 +27,7 @@
13310    * sale, use or other dealings in this Software without prior written       *
13311    * authorization.                                                           *
13312    ****************************************************************************
13313 -  * @Id: curs_termcap.3x,v 1.16 2002/02/16 19:26:41 tom Exp @
13314 +  * @Id: curs_termcap.3x,v 1.18 2003/02/08 22:25:47 tom Exp @
13315  -->
13316  <HTML>
13317  <HEAD>
13318 @@ -136,32 +136,86 @@
13319         will put out a literal "50" rather than  busy-waiting  for
13320         50 milliseconds.  Cope with it.
13321  
13322 +       Note  that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
13323 +       string.  One consequence of this is that termcap  applica-
13324 +       tions  assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
13325 +       nate character set.  This implementation checks  for,  and
13326 +       modifies the data shown to the termcap interface to accom-
13327 +       modate termcap's limitation in this respect.
13328 +
13329  
13330  </PRE>
13331  <H2>PORTABILITY</H2><PRE>
13332 -       The  XSI  Curses  standard,  Issue 4 describes these func-
13333 -       tions.  However, they are marked TO BE WITHDRAWN  and  may
13334 +       The XSI Curses standard, Issue  4  describes  these  func-
13335 +       tions.   However,  they are marked TO BE WITHDRAWN and may
13336         be removed in future versions.
13337  
13338 -       Neither  the  XSI  Curses  standard nor the SVr4 man pages
13339 -       documented the return values of <STRONG>tgetent</STRONG> correctly,  though
13340 -       all  three were in fact returned ever since SVr1.  In par-
13341 -       ticular, an omission in the XSI Curses  documentation  has
13342 -       been  misinterpreted  to  mean  that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
13343 +       Neither the XSI Curses standard nor  the  SVr4  man  pages
13344 +       documented  the return values of <STRONG>tgetent</STRONG> correctly, though
13345 +       all three were in fact returned ever since SVr1.  In  par-
13346 +       ticular,  an  omission in the XSI Curses documentation has
13347 +       been misinterpreted to mean that  <STRONG>tgetent</STRONG>  returns  <STRONG>OK</STRONG>  or
13348         <STRONG>ERR</STRONG>.  Because the purpose of these functions is to provide
13349 -       compatibility  with  the <EM>termcap</EM> library, that is a defect
13350 +       compatibility with the <EM>termcap</EM> library, that is  a  defect
13351         in XCurses, Issue 4, Version 2 rather than in ncurses.
13352  
13353 -       External variables are provided  for  support  of  certain
13354 -       termcap  applications.  However, termcap applications' use
13355 +       External  variables  are  provided  for support of certain
13356 +       termcap applications.  However, termcap applications'  use
13357         of those variables is poorly documented, e.g., not distin-
13358 -       guishing  between  input  and output.  In particular, some
13359 +       guishing between input and output.   In  particular,  some
13360         applications are reported to declare and/or modify <STRONG>ospeed</STRONG>.
13361  
13362  
13363  </PRE>
13364  <H2>SEE ALSO</H2><PRE>
13365         <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="putc.3S.html">putc(3S)</A></STRONG>.
13366 +
13367 +
13368 +
13369 +
13370 +
13371 +
13372 +
13373 +
13374 +
13375 +
13376 +
13377 +
13378 +
13379 +
13380 +
13381 +
13382 +
13383 +
13384 +
13385 +
13386 +
13387 +
13388 +
13389 +
13390 +
13391 +
13392 +
13393 +
13394 +
13395 +
13396 +
13397 +
13398 +
13399 +
13400 +
13401 +
13402 +
13403 +
13404 +
13405 +
13406 +
13407 +
13408 +
13409 +
13410 +
13411 +
13412 +
13413  </PRE>
13414  <HR>
13415  <ADDRESS>
13416 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
13417 --- ncurses-5.3/doc/html/man/curs_terminfo.3x.html      Sat Jul 27 19:39:37 2002
13418 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_terminfo.3x.html        Sun Jul 20 14:02:08 2003
13419 @@ -1,7 +1,7 @@
13420  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13421  <!-- 
13422    ****************************************************************************
13423 -  * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
13424 +  * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
13425    *                                                                          *
13426    * Permission is hereby granted, free of charge, to any person obtaining a  *
13427    * copy of this software and associated documentation files (the            *
13428 @@ -27,7 +27,7 @@
13429    * sale, use or other dealings in this Software without prior written       *
13430    * authorization.                                                           *
13431    ****************************************************************************
13432 -  * @Id: curs_terminfo.3x,v 1.16 2002/07/20 16:05:19 tom Exp @
13433 +  * @Id: curs_terminfo.3x,v 1.17 2003/05/10 20:22:01 tom Exp @
13434  -->
13435  <HTML>
13436  <HEAD>
13437 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
13438 --- ncurses-5.3/doc/html/man/curs_util.3x.html  Sat Oct 12 18:27:58 2002
13439 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_util.3x.html    Tue May 13 20:08:22 2003
13440 @@ -27,7 +27,7 @@
13441    * sale, use or other dealings in this Software without prior written       *
13442    * authorization.                                                           *
13443    ****************************************************************************
13444 -  * @Id: curs_util.3x,v 1.9 2002/09/01 19:44:37 tom Exp @
13445 +  * @Id: curs_util.3x,v 1.10 2002/12/21 22:21:37 tom Exp @
13446  -->
13447  <HTML>
13448  <HEAD>
13449 @@ -110,17 +110,18 @@
13450         The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM>  millisecond  pause
13451         in  output.   This  routine should not be used extensively
13452         because padding characters are  used  rather  than  a  CPU
13453 -       pause.
13454 +       pause.   If  no  padding character is specified, this uses
13455 +       <STRONG>napms</STRONG> to perform the delay.
13456  
13457 -       The  <STRONG>flushinp</STRONG>  routine  throws away any typeahead that has
13458 -       been typed by the user and has not yet been  read  by  the
13459 +       The <STRONG>flushinp</STRONG> routine throws away any  typeahead  that  has
13460 +       been  typed  by  the user and has not yet been read by the
13461         program.
13462  
13463  
13464  </PRE>
13465  <H2>RETURN VALUE</H2><PRE>
13466 -       Except  for  <STRONG>flushinp</STRONG>,  routines  that  return  an integer
13467 -       return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4  specifies  only  "an
13468 +       Except for  <STRONG>flushinp</STRONG>,  routines  that  return  an  integer
13469 +       return  <STRONG>ERR</STRONG>  upon  failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
13470         integer value other than <STRONG>ERR</STRONG>") upon successful completion.
13471  
13472         <STRONG>flushinp</STRONG> always returns <STRONG>OK</STRONG>.
13473 @@ -130,22 +131,21 @@
13474  
13475  </PRE>
13476  <H2>PORTABILITY</H2><PRE>
13477 -       The XSI Curses standard, Issue  4  describes  these  func-
13478 -       tions.   It  states  that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a
13479 -       null pointer if unsuccessful,  but  does  not  define  any
13480 +       The  XSI  Curses  standard,  Issue 4 describes these func-
13481 +       tions.  It states that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG>  will  return  a
13482 +       null  pointer  if  unsuccessful,  but  does not define any
13483         error conditions.
13484  
13485         The SVr4 documentation describes the action of <STRONG>filter</STRONG> only
13486 -       in the vaguest terms.  The  description  here  is  adapted
13487 -       from  the  XSI Curses standard (which erroneously fails to
13488 +       in  the  vaguest  terms.   The description here is adapted
13489 +       from the XSI Curses standard (which erroneously  fails  to
13490         describe the disabling of <STRONG>cuu</STRONG>).
13491  
13492  
13493  </PRE>
13494  <H2>SEE ALSO</H2><PRE>
13495 -       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>.
13496 -
13497 -
13498 +       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,       <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
13499 +       <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>.
13500  
13501  
13502  
13503 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
13504 --- ncurses-5.3/doc/html/man/curs_window.3x.html        Sat Jun 22 16:25:29 2002
13505 +++ ncurses-5.3.20030906.orig/doc/html/man/curs_window.3x.html  Sun Jul 20 14:02:08 2003
13506 @@ -1,7 +1,7 @@
13507  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13508  <!-- 
13509    ****************************************************************************
13510 -  * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
13511 +  * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
13512    *                                                                          *
13513    * Permission is hereby granted, free of charge, to any person obtaining a  *
13514    * copy of this software and associated documentation files (the            *
13515 @@ -27,7 +27,7 @@
13516    * sale, use or other dealings in this Software without prior written       *
13517    * authorization.                                                           *
13518    ****************************************************************************
13519 -  * @Id: curs_window.3x,v 1.9 2000/07/01 20:08:37 tom Exp @
13520 +  * @Id: curs_window.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
13521  -->
13522  <HTML>
13523  <HEAD>
13524 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
13525 --- ncurses-5.3/doc/html/man/define_key.3x.html Sat Jun 22 16:25:29 2002
13526 +++ ncurses-5.3.20030906.orig/doc/html/man/define_key.3x.html   Sun Jul 20 14:02:08 2003
13527 @@ -1,7 +1,7 @@
13528  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13529  <!-- 
13530    ****************************************************************************
13531 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
13532 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
13533    *                                                                          *
13534    * Permission is hereby granted, free of charge, to any person obtaining a  *
13535    * copy of this software and associated documentation files (the            *
13536 @@ -28,7 +28,7 @@
13537    * authorization.                                                           *
13538    ****************************************************************************
13539    * Author: Thomas E. Dickey &lt;dickey@clark.net&gt; 1997
13540 -  * @Id: define_key.3x,v 1.8 2002/02/16 22:39:52 tom Exp @
13541 +  * @Id: define_key.3x,v 1.9 2003/05/17 23:25:11 tom Exp @
13542  -->
13543  <HTML>
13544  <HEAD>
13545 @@ -51,7 +51,7 @@
13546  <H2>SYNOPSIS</H2><PRE>
13547         <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
13548  
13549 -       <STRONG>int</STRONG> <STRONG>define_key(char</STRONG> <STRONG>*definition,</STRONG> <STRONG>int</STRONG> <STRONG>keycode);</STRONG>
13550 +       <STRONG>int</STRONG> <STRONG>define_key(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition,</STRONG> <STRONG>int</STRONG> <STRONG>keycode);</STRONG>
13551  
13552  
13553  </PRE>
13554 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
13555 --- ncurses-5.3/doc/html/man/form_field.3x.html Sat Jun 22 16:25:31 2002
13556 +++ ncurses-5.3.20030906.orig/doc/html/man/form_field.3x.html   Sun Jul 20 14:02:08 2003
13557 @@ -2,7 +2,7 @@
13558  <!-- 
13559    * t
13560    ****************************************************************************
13561 -  * Copyright (c) 1998 Free Software Foundation, Inc.                        *
13562 +  * Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
13563    *                                                                          *
13564    * Permission is hereby granted, free of charge, to any person obtaining a  *
13565    * copy of this software and associated documentation files (the            *
13566 @@ -28,7 +28,7 @@
13567    * sale, use or other dealings in this Software without prior written       *
13568    * authorization.                                                           *
13569    ****************************************************************************
13570 -  * @Id: form_field.3x,v 1.5 1998/11/29 01:05:52 Rick.Ohnemus Exp @
13571 +  * @Id: form_field.3x,v 1.6 2003/05/10 20:33:49 jmc Exp @
13572  -->
13573  <HTML>
13574  <HEAD>
13575 @@ -69,7 +69,7 @@
13576         The  function  <STRONG>field_count</STRONG>  returns the count of fields in
13577         <EM>form</EM>.
13578  
13579 -       The function <STRONG>move_field</STRONG> move the given field  (which  must
13580 +       The function <STRONG>move_field</STRONG> moves the given field (which  must
13581         be disconnected) to a specified location on the screen.
13582  
13583  
13584 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
13585 --- ncurses-5.3/doc/html/man/form_field_buffer.3x.html  Sat Jun 22 16:25:31 2002
13586 +++ ncurses-5.3.20030906.orig/doc/html/man/form_field_buffer.3x.html    Sun Jul 20 14:02:08 2003
13587 @@ -2,7 +2,7 @@
13588  <!-- 
13589    * t
13590    ****************************************************************************
13591 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
13592 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
13593    *                                                                          *
13594    * Permission is hereby granted, free of charge, to any person obtaining a  *
13595    * copy of this software and associated documentation files (the            *
13596 @@ -28,7 +28,7 @@
13597    * sale, use or other dealings in this Software without prior written       *
13598    * authorization.                                                           *
13599    ****************************************************************************
13600 -  * @Id: form_field_buffer.3x,v 1.9 2002/01/19 22:48:23 tom Exp @
13601 +  * @Id: form_field_buffer.3x,v 1.10 2003/05/10 20:22:01 tom Exp @
13602  -->
13603  <HTML>
13604  <HEAD>
13605 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
13606 --- ncurses-5.3/doc/html/man/form_field_just.3x.html    Sat Jun 22 16:25:32 2002
13607 +++ ncurses-5.3.20030906.orig/doc/html/man/form_field_just.3x.html      Sun Jul 20 14:02:08 2003
13608 @@ -2,7 +2,7 @@
13609  <!-- 
13610    * t
13611    ****************************************************************************
13612 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
13613 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
13614    *                                                                          *
13615    * Permission is hereby granted, free of charge, to any person obtaining a  *
13616    * copy of this software and associated documentation files (the            *
13617 @@ -28,7 +28,7 @@
13618    * sale, use or other dealings in this Software without prior written       *
13619    * authorization.                                                           *
13620    ****************************************************************************
13621 -  * @Id: form_field_just.3x,v 1.6 2002/01/19 22:48:41 tom Exp @
13622 +  * @Id: form_field_just.3x,v 1.7 2003/05/10 20:33:49 jmc Exp @
13623  -->
13624  <HTML>
13625  <HEAD>
13626 @@ -68,7 +68,7 @@
13627         The  function <STRONG>field_just</STRONG> returns one of: NO_JUSTIFICATION,
13628         JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
13629  
13630 -       The function <STRONG>set_field_just</STRONG> return one of the following:
13631 +       The function <STRONG>set_field_just</STRONG> returns one of the following:
13632  
13633         <STRONG>E_OK</STRONG> The routine succeeded.
13634  
13635 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
13636 --- ncurses-5.3/doc/html/man/form_field_new.3x.html     Sat Jun 22 16:25:32 2002
13637 +++ ncurses-5.3.20030906.orig/doc/html/man/form_field_new.3x.html       Sun Jul 20 14:02:08 2003
13638 @@ -2,7 +2,7 @@
13639  <!-- 
13640    * t
13641    ****************************************************************************
13642 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
13643 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
13644    *                                                                          *
13645    * Permission is hereby granted, free of charge, to any person obtaining a  *
13646    * copy of this software and associated documentation files (the            *
13647 @@ -28,7 +28,7 @@
13648    * sale, use or other dealings in this Software without prior written       *
13649    * authorization.                                                           *
13650    ****************************************************************************
13651 -  * @Id: form_field_new.3x,v 1.11 2002/02/16 22:39:52 tom Exp @
13652 +  * @Id: form_field_new.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
13653  -->
13654  <HTML>
13655  <HEAD>
13656 @@ -115,8 +115,8 @@
13657  
13658         It  may be unwise to count on the set of attributes copied
13659         by  <STRONG><A HREF="dup_field.3x.html">dup_field(3x)</A></STRONG>  being  portable;  the  System  V  forms
13660 -       library  documents  are  not  very  explicit  on what gets
13661 -       copied and was not.
13662 +       library  documents  are  not very explicit about what gets
13663 +       copied and what doesn't.
13664  
13665  
13666  </PRE>
13667 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
13668 --- ncurses-5.3/doc/html/man/form_field_opts.3x.html    Sat Jun 22 16:25:32 2002
13669 +++ ncurses-5.3.20030906.orig/doc/html/man/form_field_opts.3x.html      Sun Jul 20 14:02:08 2003
13670 @@ -2,7 +2,7 @@
13671  <!-- 
13672    * t
13673    ****************************************************************************
13674 -  * Copyright (c) 1998 Free Software Foundation, Inc.                        *
13675 +  * Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
13676    *                                                                          *
13677    * Permission is hereby granted, free of charge, to any person obtaining a  *
13678    * copy of this software and associated documentation files (the            *
13679 @@ -28,7 +28,7 @@
13680    * sale, use or other dealings in this Software without prior written       *
13681    * authorization.                                                           *
13682    ****************************************************************************
13683 -  * @Id: form_field_opts.3x,v 1.7 1998/11/29 01:06:54 Rick.Ohnemus Exp @
13684 +  * @Id: form_field_opts.3x,v 1.8 2003/05/10 20:33:49 jmc Exp @
13685  -->
13686  <HTML>
13687  <HEAD>
13688 @@ -75,7 +75,7 @@
13689  
13690         O_VISIBLE
13691              The  field is displayed.  If this option is off, dis-
13692 -            play of the field is suppressed,
13693 +            play of the field is suppressed.
13694  
13695         O_ACTIVE
13696              The field is  visited  during  processing.   If  this
13697 @@ -98,7 +98,7 @@
13698              at the first position.
13699  
13700         O_AUTOSKIP
13701 -            Skip to the next field when this one fills
13702 +            Skip to the next field when this one fills.
13703  
13704  
13705         O_NULLOK
13706 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
13707 --- ncurses-5.3/doc/html/man/form_field_validation.3x.html      Sat Jun 22 16:25:33 2002
13708 +++ ncurses-5.3.20030906.orig/doc/html/man/form_field_validation.3x.html        Sun Jul 20 14:02:08 2003
13709 @@ -1,7 +1,7 @@
13710  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
13711  <!-- 
13712    ****************************************************************************
13713 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
13714 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
13715    *                                                                          *
13716    * Permission is hereby granted, free of charge, to any person obtaining a  *
13717    * copy of this software and associated documentation files (the            *
13718 @@ -27,7 +27,7 @@
13719    * sale, use or other dealings in this Software without prior written       *
13720    * authorization.                                                           *
13721    ****************************************************************************
13722 -  * @Id: form_field_validation.3x,v 1.12 2002/02/16 22:39:52 tom Exp @
13723 +  * @Id: form_field_validation.3x,v 1.14 2003/05/10 20:33:49 jmc Exp @
13724  -->
13725  <HTML>
13726  <HEAD>
13727 @@ -53,12 +53,20 @@
13728         FIELDTYPE *field_type(const FIELD *field);
13729         void *field_arg(const FIELD *field);
13730  
13731 +       FIELDTYPE *TYPE_ALNUM;
13732 +       FIELDTYPE *TYPE_ALPHA;
13733 +       FIELDTYPE *TYPE_ENUM;
13734 +       FIELDTYPE *TYPE_INTEGER;
13735 +       FIELDTYPE *TYPE_NUMERIC;
13736 +       FIELDTYPE *TYPE_REGEXP;
13737 +       FIELDTYPE *TYPE_IPV4;
13738 +
13739  
13740  </PRE>
13741  <H2>DESCRIPTION</H2><PRE>
13742         The  function  <STRONG>set_field_type</STRONG>  declares  a data type for a
13743         given form field.  This is the type checked by  validation
13744 -       functions.  The types are as follows:
13745 +       functions.  The predefined types are as follows:
13746  
13747         TYPE_ALNUM
13748              Alphanumeric  data.  Requires a third <STRONG>int</STRONG> argument, a
13749 @@ -78,7 +86,7 @@
13750              than  one  list  elements  with  that prefix). Please
13751              notice that the string list is  not  copied,  only  a
13752              reference to it is stored in the field. So you should
13753 -            avoid to use a list that lives in automatic variables
13754 +            avoid using a list that lives in automatic  variables
13755              on the stack.
13756  
13757         TYPE_INTEGER
13758 @@ -86,9 +94,9 @@
13759              Requires a third <STRONG>int</STRONG> argument controlling the  preci-
13760              sion,  a  fourth  <STRONG>long</STRONG>  argument constraining minimum
13761              value, and a fifth <STRONG>long</STRONG> constraining  maximum  value.
13762 -            If  the  maximum  value  is less or equal the minimum
13763 -            value, the range is simply  ignored.  On  return  the
13764 -            field  buffer  is  formatted  according to the <STRONG>printf</STRONG>
13765 +            If  the  maximum  value  is less than or equal to the
13766 +            minimum value, the range is simply ignored. On return
13767 +            the field buffer is formatted according to the <STRONG>printf</STRONG>
13768              format  specification  ".*ld",  where  the   '*'   is
13769              replaced  by  the precision argument.  For details of
13770              the precision handling see <STRONG>printf's</STRONG> man-page.
13771 @@ -98,47 +106,48 @@
13772              Requires  a third <STRONG>int</STRONG> argument controlling the preci-
13773              sion, a fourth <STRONG>double</STRONG> argument  constraining  minimum
13774              value, and a fifth <STRONG>double</STRONG> constraining maximum value.
13775 -            If your system supports locale's, the  decimal  point
13776 +            If your system supports locales,  the  decimal  point
13777              character  to  be  used  must be the one specified by
13778 -            your locale.  If the maximum value is less  or  equal
13779 -            the  minimum  value,  the range is simply ignored. On
13780 -            return the field buffer is formatted according to the
13781 -            <STRONG>printf</STRONG>  format  specification ".*f", where the '*' is
13782 -            replaced by the precision argument.  For  details  of
13783 -            the precision handling see <STRONG>printf's</STRONG> man-page.
13784 +            your locale.  If the maximum value is  less  than  or
13785 +            equal  to  the  minimum  value,  the  range is simply
13786 +            ignored. On return  the  field  buffer  is  formatted
13787 +            according  to  the <STRONG>printf</STRONG> format specification ".*f",
13788 +            where the '*' is replaced by the precision  argument.
13789 +            For  details  of  the precision handling see <STRONG>printf's</STRONG>
13790 +            man-page.
13791  
13792         TYPE_REGEXP
13793 -            Regular  expression data.  Requires a regular expres-
13794 -            sion <STRONG>(char</STRONG> <STRONG>*)</STRONG> third argument; the data  is  valid  if
13795 -            the  regular  expression matches it.  Regular expres-
13796 -            sions  are  in  the   format   of   <STRONG><A HREF="regcomp.3x.html">regcomp(3x)</A></STRONG>   and
13797 -            <STRONG><A HREF="regexec.3x.html">regexec(3x)</A></STRONG>.  Please  notice that the regular expres-
13798 -            sion must match the whole  field.  If  you  have  for
13799 -            example  an  eight  character  wide  field, a regular
13800 -            expression "^[0-9]*$" always means that you  have  to
13801 -            fill  all eight positions with digits. If you want to
13802 -            allow fewer digits, you may use for example  "^[0-9]*
13803 +            Regular expression data.  Requires a regular  expres-
13804 +            sion  <STRONG>(char</STRONG>  <STRONG>*)</STRONG>  third argument; the data is valid if
13805 +            the regular expression matches it.   Regular  expres-
13806 +            sions   are   in   the   format  of  <STRONG><A HREF="regcomp.3x.html">regcomp(3x)</A></STRONG>  and
13807 +            <STRONG><A HREF="regexec.3x.html">regexec(3x)</A></STRONG>. Please notice that the  regular  expres-
13808 +            sion  must  match  the  whole  field. If you have for
13809 +            example an eight  character  wide  field,  a  regular
13810 +            expression  "^[0-9]*$"  always means that you have to
13811 +            fill all eight positions with digits. If you want  to
13812 +            allow  fewer digits, you may use for example "^[0-9]*
13813              *$" which is good for trailing spaces (up to an empty
13814 -            field), or "^ *[0-9]* *$" which is good  for  leading
13815 +            field),  or  "^ *[0-9]* *$" which is good for leading
13816              and trailing spaces around the digits.
13817  
13818         TYPE_IPV4
13819              An Internet Protocol Version 4 address. This requires
13820 -            no additional argument. It is checked whether or  not
13821 -            the  buffer  has  the form a.b.c.d, where a,b,c and d
13822 +            no  additional argument. It is checked whether or not
13823 +            the buffer has the form a.b.c.d, where  a,b,c  and  d
13824              are numbers between 0 and 255. Trailing blanks in the
13825 -            buffer  are  ignored. The address itself is not vali-
13826 +            buffer are ignored. The address itself is  not  vali-
13827              dated. Please note that this is an ncurses extension.
13828 -            This  field type may not be available in other curses
13829 +            This field type may not be available in other  curses
13830              implementations.
13831  
13832 -            It is possible to set up new programmer-defined field
13833 -            types.  See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
13834 +       It  is  possible  to  set  up new programmer-defined field
13835 +       types.  See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
13836  
13837  
13838  </PRE>
13839  <H2>RETURN VALUE</H2><PRE>
13840 -       The  functions  <STRONG>field_type</STRONG>  and  <STRONG>field_arg</STRONG>  return <STRONG>NULL</STRONG> on
13841 +       The functions <STRONG>field_type</STRONG>  and  <STRONG>field_arg</STRONG>  return  <STRONG>NULL</STRONG>  on
13842         error. The function <STRONG>set_field_type</STRONG> returns one of the fol-
13843         lowing:
13844  
13845 @@ -148,6 +157,7 @@
13846              System error occurred (see <STRONG>errno</STRONG>).
13847  
13848  
13849 +
13850  </PRE>
13851  <H2>SEE ALSO</H2><PRE>
13852         <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
13853 @@ -161,26 +171,17 @@
13854  
13855  </PRE>
13856  <H2>PORTABILITY</H2><PRE>
13857 -       These routines emulate the System V forms  library.   They
13858 +       These  routines  emulate the System V forms library.  They
13859         were not supported on Version 7 or BSD versions.
13860  
13861  
13862  </PRE>
13863  <H2>AUTHORS</H2><PRE>
13864 -       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
13865 +       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
13866         curses by Eric S. Raymond.
13867  
13868  
13869  
13870 -
13871 -
13872 -
13873 -
13874 -
13875 -
13876 -
13877 -
13878 -
13879  
13880  
13881  
13882 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
13883 --- ncurses-5.3/doc/html/man/form_fieldtype.3x.html     Sat Jun 22 16:25:33 2002
13884 +++ ncurses-5.3.20030906.orig/doc/html/man/form_fieldtype.3x.html       Sun Jul 20 14:02:08 2003
13885 @@ -2,7 +2,7 @@
13886  <!-- 
13887    * t
13888    ****************************************************************************
13889 -  * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
13890 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
13891    *                                                                          *
13892    * Permission is hereby granted, free of charge, to any person obtaining a  *
13893    * copy of this software and associated documentation files (the            *
13894 @@ -28,7 +28,7 @@
13895    * sale, use or other dealings in this Software without prior written       *
13896    * authorization.                                                           *
13897    ****************************************************************************
13898 -  * @Id: form_fieldtype.3x,v 1.9 2001/08/04 20:36:25 William.Setzer Exp @
13899 +  * @Id: form_fieldtype.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
13900  -->
13901  <HTML>
13902  <HEAD>
13903 @@ -72,11 +72,11 @@
13904         The function <STRONG>new_fieldtype</STRONG> creates a new field type usable
13905         for data validation.  You supply it  with  <EM>field</EM><STRONG>_</STRONG><EM>check</EM>,  a
13906         predicate  to check the validity of an entered data string
13907 -       whenever the user attempt to leave a field.  The (FIELD *)
13908 -       argument  is passed in so the validation predicate can see
13909 -       the field's buffer, sizes and other attributes; the second
13910 -       argument  is an argument-block structure, about which more
13911 -       below.
13912 +       whenever the user attempts to leave a field.   The  (FIELD
13913 +       *)  argument  is passed in so the validation predicate can
13914 +       see the field's buffer, sizes and  other  attributes;  the
13915 +       second  argument  is  an  argument-block  structure, about
13916 +       which more below.
13917  
13918         You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a  function
13919         to  validate input characters as they are entered; it will
13920 @@ -86,20 +86,24 @@
13921         The  function <STRONG>free_fieldtype</STRONG> frees the space allocated for
13922         a given validation type.
13923  
13924 -       The function <STRONG>set_fieldtype</STRONG> associates  three  storage-man-
13925 -       agement functions with a field type.  The <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM> function
13926 -       is automatically applied to the list of arguments you give
13927 -       <STRONG>set_field_type</STRONG>  when  attaching validation to a field; its
13928 -       job is to bundle these into  an  allocated  argument-block
13929 -       object which can later be passed to validation predicated.
13930 -       The other two hook arguments should copy  and  free  argu-
13931 -       ment-block  structures.   They  will be used by the forms-
13932 -       driver code. You must supply  the  <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM>  function,  the
13933 -       other  two  are optional, you may supply NULL for them. In
13934 -       this case it is assumed,  that  <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM>  doesn't  allocate
13935 +       The function <STRONG>set_fieldtype_arg</STRONG> associates  three  storage-
13936 +       management  functions  with  a  field  type.  The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
13937 +       function is automatically applied to the list of arguments
13938 +       you  give  <STRONG>set_field_type</STRONG>  when  attaching validation to a
13939 +       field; its job is to bundle these into an allocated  argu-
13940 +       ment-block  object which can later be passed to validation
13941 +       predicated.  The other two hook arguments should copy  and
13942 +       free  argument-block structures.  They will be used by the
13943 +       forms-driver code.  You must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function,
13944 +       the  other two are optional, you may supply NULL for them.
13945 +       In this case it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate
13946         memory  but simply loads the argument into a single scalar
13947         value.
13948  
13949 +       The function <STRONG>link_fieldtype</STRONG> creates a new field type  from
13950 +       the  two  given  types.   They are connected by an logical
13951 +       'OR'.
13952 +
13953         The   form    driver    requests    <STRONG>REQ_NEXT_CHOICE</STRONG>    and
13954         <STRONG>REQ_PREV_CHOICE</STRONG> assume that the possible values of a field
13955         form an ordered set, and provide the forms user with a way
13956 @@ -158,10 +162,6 @@
13957  
13958  
13959  
13960 -
13961 -
13962 -
13963 -
13964  
13965  
13966  
13967 diff -urNd -urNd ncurses-5.3/doc/html/man/infocmp.1m.html ncurses-5.3.20030906.orig/doc/html/man/infocmp.1m.html
13968 --- ncurses-5.3/doc/html/man/infocmp.1m.html    Sat Oct 12 18:28:05 2002
13969 +++ ncurses-5.3.20030906.orig/doc/html/man/infocmp.1m.html      Sun Jul 20 14:02:08 2003
13970 @@ -2,7 +2,7 @@
13971  <!-- 
13972    * t
13973    ****************************************************************************
13974 -  * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
13975 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
13976    *                                                                          *
13977    * Permission is hereby granted, free of charge, to any person obtaining a  *
13978    * copy of this software and associated documentation files (the            *
13979 @@ -28,7 +28,7 @@
13980    * sale, use or other dealings in this Software without prior written       *
13981    * authorization.                                                           *
13982    ****************************************************************************
13983 -  * @Id: infocmp.1m,v 1.30 2002/10/05 21:22:21 tom Exp @
13984 +  * @Id: infocmp.1m,v 1.33 2003/05/11 00:32:53 tom Exp @
13985  -->
13986  <HTML>
13987  <HEAD>
13988 @@ -313,8 +313,8 @@
13989  
13990              An   SGR0  designates  an  empty  highlight  sequence
13991              (equivalent to {SGR:NORMAL}).
13992 -       -
13993 -       l    Set output format to terminfo.
13994 +
13995 +       <STRONG>-l</STRONG>   Set output format to terminfo.
13996  
13997         <STRONG>-p</STRONG>   Ignore padding specifications when comparing strings.
13998  
13999 @@ -387,13 +387,13 @@
14000  
14001         The <STRONG>-r</STRONG> option's notion of `termcap' capabilities is System
14002         V Release 4's.  Actual BSD curses  versions  will  have  a
14003 -       more  restricted  set.  To see only the 4.4BSD set, use -r
14004 -       -RBSD.
14005 +       more  restricted  set.  To see only the 4.4BSD set, use <STRONG>-r</STRONG>
14006 +       <STRONG>-RBSD</STRONG>.
14007  
14008  
14009  </PRE>
14010  <H2>BUGS</H2><PRE>
14011 -       The -F option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
14012 +       The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
14013  
14014  
14015  </PRE>
14016 diff -urNd -urNd ncurses-5.3/doc/html/man/infotocap.1m.html ncurses-5.3.20030906.orig/doc/html/man/infotocap.1m.html
14017 --- ncurses-5.3/doc/html/man/infotocap.1m.html  Sat Jun 22 16:25:36 2002
14018 +++ ncurses-5.3.20030906.orig/doc/html/man/infotocap.1m.html    Sun Jul 20 14:02:08 2003
14019 @@ -2,7 +2,7 @@
14020  <!-- 
14021    * t
14022    ****************************************************************************
14023 -  * Copyright (c) 1999,2000 Free Software Foundation, Inc.                   *
14024 +  * Copyright (c) 1999-2000,2003 Free Software Foundation, Inc.              *
14025    *                                                                          *
14026    * Permission is hereby granted, free of charge, to any person obtaining a  *
14027    * copy of this software and associated documentation files (the            *
14028 @@ -28,7 +28,7 @@
14029    * sale, use or other dealings in this Software without prior written       *
14030    * authorization.                                                           *
14031    ****************************************************************************
14032 -  * @Id: infotocap.1m,v 1.3 2000/08/13 01:56:03 tom Exp @
14033 +  * @Id: infotocap.1m,v 1.4 2003/05/11 00:32:53 tom Exp @
14034  -->
14035  <HTML>
14036  <HEAD>
14037 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
14038 --- ncurses-5.3/doc/html/man/key_defined.3x.html        Wed Dec 31 18:00:00 1969
14039 +++ ncurses-5.3.20030906.orig/doc/html/man/key_defined.3x.html  Sun Jul 20 14:02:08 2003
14040 @@ -0,0 +1,119 @@
14041 +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
14042 +<!-- 
14043 +  ****************************************************************************
14044 +  * Copyright (c) 2003 Free Software Foundation, Inc.                        *
14045 +  *                                                                          *
14046 +  * Permission is hereby granted, free of charge, to any person obtaining a  *
14047 +  * copy of this software and associated documentation files (the            *
14048 +  * "Software"), to deal in the Software without restriction, including      *
14049 +  * without limitation the rights to use, copy, modify, merge, publish,      *
14050 +  * distribute, distribute with modifications, sublicense, and/or sell       *
14051 +  * copies of the Software, and to permit persons to whom the Software is    *
14052 +  * furnished to do so, subject to the following conditions:                 *
14053 +  *                                                                          *
14054 +  * The above copyright notice and this permission notice shall be included  *
14055 +  * in all copies or substantial portions of the Software.                   *
14056 +  *                                                                          *
14057 +  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
14058 +  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
14059 +  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
14060 +  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
14061 +  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
14062 +  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
14063 +  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
14064 +  *                                                                          *
14065 +  * Except as contained in this notice, the name(s) of the above copyright   *
14066 +  * holders shall not be used in advertising or otherwise to promote the     *
14067 +  * sale, use or other dealings in this Software without prior written       *
14068 +  * authorization.                                                           *
14069 +  ****************************************************************************
14070 +  * Author: Thomas E. Dickey 2003
14071 +  * @Id: key_defined.3x,v 1.2 2003/05/17 23:24:45 tom Exp @
14072 +-->
14073 +<HTML>
14074 +<HEAD>
14075 +<TITLE>key_defined 3x</TITLE>
14076 +<link rev=made href="mailto:bug-ncurses@gnu.org">
14077 +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
14078 +</HEAD>
14079 +<BODY>
14080 +<H1>key_defined 3x</H1>
14081 +<HR>
14082 +<PRE>
14083 +<!-- Manpage converted by man2html 3.0.1 -->
14084 +
14085 +</PRE>
14086 +<H2>NAME</H2><PRE>
14087 +       <STRONG>define_key</STRONG> - define a keycode
14088 +
14089 +
14090 +</PRE>
14091 +<H2>SYNOPSIS</H2><PRE>
14092 +       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
14093 +
14094 +       <STRONG>int</STRONG> <STRONG>key_defined(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition);</STRONG>
14095 +
14096 +
14097 +</PRE>
14098 +<H2>DESCRIPTION</H2><PRE>
14099 +       This is an extension to the curses library.  It permits an
14100 +       application to determine if a string is currently bound to
14101 +       any keycode.
14102 +
14103 +
14104 +</PRE>
14105 +<H2>RETURN VALUE</H2><PRE>
14106 +       If  the  string  is bound to a keycode, its value (greater
14107 +       than zero) is returned.  If no keycode is bound,  zero  is
14108 +       returned.   If  the  string  conflicts with longer strings
14109 +       which are bound to keys, -1 is returned.
14110 +
14111 +
14112 +</PRE>
14113 +<H2>PORTABILITY</H2><PRE>
14114 +       These routines are specific to  ncurses.   They  were  not
14115 +       supported  on  Version 7, BSD or System V implementations.
14116 +       It is recommended that any code depending on them be  con-
14117 +       ditioned using NCURSES_VERSION.
14118 +
14119 +
14120 +</PRE>
14121 +<H2>SEE ALSO</H2><PRE>
14122 +       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
14123 +
14124 +
14125 +</PRE>
14126 +<H2>AUTHOR</H2><PRE>
14127 +       Thomas Dickey.
14128 +
14129 +
14130 +
14131 +
14132 +
14133 +
14134 +
14135 +
14136 +
14137 +
14138 +
14139 +
14140 +
14141 +
14142 +
14143 +
14144 +
14145 +
14146 +
14147 +
14148 +
14149 +
14150 +
14151 +
14152 +</PRE>
14153 +<HR>
14154 +<ADDRESS>
14155 +Man(1) output converted with
14156 +<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
14157 +</ADDRESS>
14158 +</BODY>
14159 +</HTML>
14160 diff -urNd -urNd ncurses-5.3/doc/html/man/keybound.3x.html ncurses-5.3.20030906.orig/doc/html/man/keybound.3x.html
14161 --- ncurses-5.3/doc/html/man/keybound.3x.html   Sat Jun 22 16:25:36 2002
14162 +++ ncurses-5.3.20030906.orig/doc/html/man/keybound.3x.html     Sun Jul 20 14:02:08 2003
14163 @@ -1,7 +1,7 @@
14164  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
14165  <!-- 
14166    ****************************************************************************
14167 -  * Copyright (c) 1999,2002 Free Software Foundation, Inc.                   *
14168 +  * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
14169    *                                                                          *
14170    * Permission is hereby granted, free of charge, to any person obtaining a  *
14171    * copy of this software and associated documentation files (the            *
14172 @@ -28,7 +28,7 @@
14173    * authorization.                                                           *
14174    ****************************************************************************
14175    * Author: Thomas E. Dickey &lt;dickey@clark.net&gt; 1999
14176 -  * @Id: keybound.3x,v 1.3 2002/02/16 22:30:36 tom Exp @
14177 +  * @Id: keybound.3x,v 1.4 2003/03/08 19:08:33 tom Exp @
14178  -->
14179  <HTML>
14180  <HEAD>
14181 @@ -63,10 +63,12 @@
14182  
14183  </PRE>
14184  <H2>RETURN VALUE</H2><PRE>
14185 -       The  keycode  must  be  greater  than  zero,  else NULL is
14186 -       returned.  If it does not correspond  to  a  defined  key,
14187 -       then  NULL is returned.  Otherwise, the function returns a
14188 -       string, which must be freed by the caller.
14189 +       The <EM>keycode</EM> parameter must be greater than zero, else NULL
14190 +       is returned.  If it does not correspond to a defined  key,
14191 +       then  NULL  is  returned.   The <EM>count</EM> parameter is used to
14192 +       allow the application to iterate through multiple  defini-
14193 +       tions,  counting from zero.  When successful, the function
14194 +       returns a string which must be freed by the caller.
14195  
14196  
14197  </PRE>
14198 @@ -88,8 +90,6 @@
14199  
14200  
14201  
14202 -
14203 -
14204  
14205  
14206  
14207 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
14208 --- ncurses-5.3/doc/html/man/menu_driver.3x.html        Sat Jun 22 16:25:37 2002
14209 +++ ncurses-5.3.20030906.orig/doc/html/man/menu_driver.3x.html  Sun Jul 20 14:02:08 2003
14210 @@ -1,7 +1,7 @@
14211  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
14212  <!-- 
14213    ****************************************************************************
14214 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
14215 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
14216    *                                                                          *
14217    * Permission is hereby granted, free of charge, to any person obtaining a  *
14218    * copy of this software and associated documentation files (the            *
14219 @@ -27,7 +27,7 @@
14220    * sale, use or other dealings in this Software without prior written       *
14221    * authorization.                                                           *
14222    ****************************************************************************
14223 -  * @Id: menu_driver.3x,v 1.10 2002/02/16 22:40:59 tom Exp @
14224 +  * @Id: menu_driver.3x,v 1.11 2003/05/10 20:22:01 tom Exp @
14225  -->
14226  <HTML>
14227  <HEAD>
14228 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
14229 --- ncurses-5.3/doc/html/man/menu_pattern.3x.html       Sat Jun 22 16:25:39 2002
14230 +++ ncurses-5.3.20030906.orig/doc/html/man/menu_pattern.3x.html Sun Jul 20 14:02:08 2003
14231 @@ -1,7 +1,7 @@
14232  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
14233  <!-- 
14234    ****************************************************************************
14235 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
14236 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
14237    *                                                                          *
14238    * Permission is hereby granted, free of charge, to any person obtaining a  *
14239    * copy of this software and associated documentation files (the            *
14240 @@ -27,7 +27,7 @@
14241    * sale, use or other dealings in this Software without prior written       *
14242    * authorization.                                                           *
14243    ****************************************************************************
14244 -  * @Id: menu_pattern.3x,v 1.7 2002/02/16 22:40:59 tom Exp @
14245 +  * @Id: menu_pattern.3x,v 1.8 2003/05/10 20:22:01 tom Exp @
14246  -->
14247  <HTML>
14248  <HEAD>
14249 diff -urNd -urNd ncurses-5.3/doc/html/man/ncurses.3x.html ncurses-5.3.20030906.orig/doc/html/man/ncurses.3x.html
14250 --- ncurses-5.3/doc/html/man/ncurses.3x.html    Sat Aug 31 16:59:48 2002
14251 +++ ncurses-5.3.20030906.orig/doc/html/man/ncurses.3x.html      Sun Jul 20 14:02:08 2003
14252 @@ -2,7 +2,7 @@
14253  <!-- 
14254    * t
14255    ****************************************************************************
14256 -  * Copyright (c) 1998,1999,2001,2002 Free Software Foundation, Inc.         *
14257 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
14258    *                                                                          *
14259    * Permission is hereby granted, free of charge, to any person obtaining a  *
14260    * copy of this software and associated documentation files (the            *
14261 @@ -28,7 +28,7 @@
14262    * sale, use or other dealings in this Software without prior written       *
14263    * authorization.                                                           *
14264    ****************************************************************************
14265 -  * @Id: ncurses.3x,v 1.63 2002/08/10 21:56:07 tom Exp @
14266 +  * @Id: ncurses.3x,v 1.66 2003/05/11 00:32:53 tom Exp @
14267  -->
14268  <HTML>
14269  <HEAD>
14270 @@ -354,6 +354,7 @@
14271                is_linetouched          <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
14272                is_wintouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
14273                isendwin                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
14274 +              key_defined             <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
14275                key_name                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
14276                keybound                <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
14277                keyname                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
14278 @@ -369,8 +370,8 @@
14279                mouseinterval           <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
14280                mousemask               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
14281                move                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
14282 -              mvadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
14283  
14284 +              mvadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
14285                mvadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
14286                mvadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
14287                mvaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
14288 @@ -423,8 +424,8 @@
14289                mvwaddstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
14290                mvwaddwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
14291                mvwchgat                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
14292 -              mvwdelch                <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
14293  
14294 +              mvwdelch                <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
14295                mvwget_wch              <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
14296                mvwget_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
14297                mvwgetch                <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
14298 @@ -477,8 +478,8 @@
14299                putwin                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
14300                qiflush                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
14301                raw                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
14302 -              redrawwin               <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
14303  
14304 +              redrawwin               <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
14305                refresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
14306                reset_prog_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
14307                reset_shell_mode        <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
14308 @@ -531,8 +532,8 @@
14309                tgetflag                <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
14310                tgetnum                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
14311                tgetstr                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
14312 -              tgoto                   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
14313  
14314 +              tgoto                   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
14315                tigetflag               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
14316                tigetnum                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
14317                tigetstr                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
14318 @@ -585,8 +586,8 @@
14319                wbkgrndset              <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
14320                wborder                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
14321                wborder_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
14322 -              wchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
14323  
14324 +              wchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
14325                wclear                  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
14326                wclrtobot               <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
14327                wclrtoeol               <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
14328 @@ -639,8 +640,8 @@
14329                wstandout               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
14330                wsyncdown               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
14331                wsyncup                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
14332 -              wtimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
14333  
14334 +              wtimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
14335                wtouchln                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
14336                wunctrl                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
14337                wvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
14338 @@ -655,9 +656,9 @@
14339         descriptions.
14340  
14341         All  macros  return  the  value  of  the <STRONG>w</STRONG> version, except
14342 -       <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,  <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,  <STRONG>getmaxyx</STRONG>.   The
14343 +       <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>.  The
14344         return  values  of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
14345 -       and <STRONG>getmaxyx</STRONG> are undefined (<EM>i</EM>.<EM>e</EM>., these should not be used
14346 +       and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
14347         as the right-hand side of assignment statements).
14348  
14349         Routines that return pointers return <STRONG>NULL</STRONG> on error.
14350 @@ -674,7 +675,7 @@
14351              The debugging library checks this environment  symbol
14352              when the application has redirected output to a file.
14353              The symbol's numeric value is used for the  baudrate.
14354 -            If  no value is found <STRONG>ncurses</STRONG> uses 9600.  This allows
14355 +            If no value is found, <STRONG>ncurses</STRONG> uses 9600.  This allows
14356              testers to construct repeatable test-cases that  take
14357              into account costs that depend on baudrate.
14358  
14359 @@ -698,7 +699,6 @@
14360              host  which  does  not honor NAWS (Negotiations About
14361              Window Size), or because you are temporarily  running
14362              as another user.
14363 -
14364              Either  COLUMNS  or  LINES  symbols  may be specified
14365              independently.  This is mainly useful  to  circumvent
14366              legacy  misfeatures  of  terminal descriptions, e.g.,
14367 @@ -838,7 +838,7 @@
14368              The complete list of directories in order follows:
14369  
14370              -  the last directory to which <STRONG>ncurses</STRONG> wrote, if any,
14371 -               is searched first.
14372 +               is searched first
14373  
14374              -  the directory specified by the TERMINFO symbol
14375  
14376 @@ -910,8 +910,8 @@
14377         The <STRONG>ncurses</STRONG> library extends the fixed set of function  key
14378         capabilities  of  terminals  by  allowing  the application
14379         designer to define additional key  sequences  at  runtime.
14380 -       See  the  <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>  and  <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>  manual pages for
14381 -       details.
14382 +       See  the  <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>  <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>,  and  <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
14383 +       manual pages for details.
14384  
14385         The  <STRONG>ncurses</STRONG>  library  can  exploit  the  capabilities  of
14386         terminals  which  implement the ISO-6429 SGR 39 and SGR 49
14387 diff -urNd -urNd ncurses-5.3/doc/html/man/panel.3x.html ncurses-5.3.20030906.orig/doc/html/man/panel.3x.html
14388 --- ncurses-5.3/doc/html/man/panel.3x.html      Sat Jun 22 16:25:43 2002
14389 +++ ncurses-5.3.20030906.orig/doc/html/man/panel.3x.html        Sun Jul 20 14:02:08 2003
14390 @@ -1,7 +1,7 @@
14391  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
14392  <!-- 
14393    ****************************************************************************
14394 -  * Copyright (c) 1998 Free Software Foundation, Inc.                        *
14395 +  * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
14396    *                                                                          *
14397    * Permission is hereby granted, free of charge, to any person obtaining a  *
14398    * copy of this software and associated documentation files (the            *
14399 @@ -27,7 +27,7 @@
14400    * sale, use or other dealings in this Software without prior written       *
14401    * authorization.                                                           *
14402    ****************************************************************************
14403 -  * @Id: panel.3x,v 1.10 2000/08/13 01:56:47 tom Exp @
14404 +  * @Id: panel.3x,v 1.11 2003/05/17 22:44:09 jmc Exp @
14405  -->
14406  <HTML>
14407  <HEAD>
14408 @@ -81,7 +81,7 @@
14409         of the stack.
14410  
14411         A window is associated with every panel.  The  panel  rou-
14412 -       tines  enable you to create, move, hides, and show panels,
14413 +       tines  enable  you to create, move, hide, and show panels,
14414         as well as position a panel at any desired location in the
14415         stack.
14416  
14417 diff -urNd -urNd ncurses-5.3/doc/html/man/term.5.html ncurses-5.3.20030906.orig/doc/html/man/term.5.html
14418 --- ncurses-5.3/doc/html/man/term.5.html        Sat Aug 31 16:59:49 2002
14419 +++ ncurses-5.3.20030906.orig/doc/html/man/term.5.html  Sun Jul 20 14:02:08 2003
14420 @@ -1,7 +1,7 @@
14421  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
14422  <!-- 
14423    ****************************************************************************
14424 -  * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
14425 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
14426    *                                                                          *
14427    * Permission is hereby granted, free of charge, to any person obtaining a  *
14428    * copy of this software and associated documentation files (the            *
14429 @@ -27,7 +27,7 @@
14430    * sale, use or other dealings in this Software without prior written       *
14431    * authorization.                                                           *
14432    ****************************************************************************
14433 -  * @Id: term.5,v 1.14 2002/08/10 21:59:37 tom Exp @
14434 +  * @Id: term.5,v 1.15 2003/05/10 20:33:49 jmc Exp @
14435  -->
14436  <HTML>
14437  <HEAD>
14438 diff -urNd -urNd ncurses-5.3/doc/html/man/term.7.html ncurses-5.3.20030906.orig/doc/html/man/term.7.html
14439 --- ncurses-5.3/doc/html/man/term.7.html        Sat Jun 22 16:25:44 2002
14440 +++ ncurses-5.3.20030906.orig/doc/html/man/term.7.html  Sun Jul 20 14:02:08 2003
14441 @@ -1,7 +1,7 @@
14442  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
14443  <!-- 
14444    ****************************************************************************
14445 -  * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
14446 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
14447    *                                                                          *
14448    * Permission is hereby granted, free of charge, to any person obtaining a  *
14449    * copy of this software and associated documentation files (the            *
14450 @@ -27,7 +27,7 @@
14451    * sale, use or other dealings in this Software without prior written       *
14452    * authorization.                                                           *
14453    ****************************************************************************
14454 -  * @Id: term.7,v 1.13 2002/04/20 16:50:47 tom Exp @
14455 +  * @Id: term.7,v 1.14 2003/05/10 20:33:49 jmc Exp @
14456  -->
14457  <HTML>
14458  <HEAD>
14459 @@ -126,10 +126,10 @@
14460         ters or digits.  You need to avoid using punctuation char-
14461         acters  in  root  names,  because they are used and inter-
14462         preted as filenames and shell meta-characters (such as  !,
14463 -       $, *, ? etc.) embedded in them may cause odd and unhelpful
14464 -       behavior.  The slash (/), or any other character that  may
14465 -       be  interpreted  by  anyone's file system (\, $, [, ]), is
14466 -       especially dangerous  (terminfo  is  platform-independent,
14467 +       $,  *, ?, etc.) embedded in them may cause odd and unhelp-
14468 +       ful behavior.  The slash (/), or any other character  that
14469 +       may  be  interpreted by anyone's file system (\, $, [, ]),
14470 +       is especially dangerous (terminfo is platform-independent,
14471         and  choosing  names with special characters could someday
14472         make life difficult for users of a future port).  The  dot
14473         (.)  character  is  relatively safe as long as there is at
14474 @@ -169,23 +169,23 @@
14475              another that has this suffix and uses  magic  cookies
14476              to support multiple attributes.
14477  
14478 -       -am  Enable auto-margin (right-margin wraparound)
14479 +       -am  Enable auto-margin (right-margin wraparound).
14480  
14481 -       -m   Mono mode - suppress color support
14482 +       -m   Mono mode - suppress color support.
14483  
14484         -na  No  arrow keys - termcap ignores arrow keys which are
14485              actually there on the terminal, so the user  can  use
14486              the arrow keys locally.
14487  
14488 -       -nam No auto-margin - suppress am capability
14489 +       -nam No auto-margin - suppress am capability.
14490  
14491 -       -nl  No labels - suppress soft labels
14492 +       -nl  No labels - suppress soft labels.
14493  
14494 -       -nsl No status line - suppress status line
14495 +       -nsl No status line - suppress status line.
14496  
14497         -pp  Has a printer port which is used.
14498  
14499 -       -rv  Terminal in reverse video mode (black on white)
14500 +       -rv  Terminal in reverse video mode (black on white).
14501  
14502         -s   Enable status line.
14503  
14504 @@ -223,10 +223,10 @@
14505              compiled terminal capability data base
14506  
14507         /etc/inittab
14508 -            tty line initialization (AT&amp;T-like UNIXes).
14509 +            tty line initialization (AT&amp;T-like UNIXes)
14510  
14511         /etc/ttys
14512 -            tty line initialization (BSD-like UNIXes).
14513 +            tty line initialization (BSD-like UNIXes)
14514  
14515  
14516  </PRE>
14517 diff -urNd -urNd ncurses-5.3/doc/html/man/terminfo.5.html ncurses-5.3.20030906.orig/doc/html/man/terminfo.5.html
14518 --- ncurses-5.3/doc/html/man/terminfo.5.html    Sat Aug 31 16:59:51 2002
14519 +++ ncurses-5.3.20030906.orig/doc/html/man/terminfo.5.html      Tue May 13 20:08:22 2003
14520 @@ -34,7 +34,7 @@
14521    ****************************************************************************
14522    * @Id: terminfo.head,v 1.10 2002/08/17 23:37:10 tom Exp @
14523    * Head of terminfo man page ends here
14524 -  * @Id: terminfo.tail,v 1.35 2002/04/20 16:49:33 tom Exp @
14525 +  * @Id: terminfo.tail,v 1.38 2003/01/05 22:47:05 tom Exp @
14526    * Beginning of terminfo.tail file
14527    *.TH
14528  -->
14529 @@ -1221,38 +1221,75 @@
14530         The parameter mechanism uses a stack and special  <STRONG>%</STRONG>  codes
14531         to  manipulate  it.  Typically a sequence will push one of
14532         the parameters onto the stack and then print  it  in  some
14533 -       format.  Often more complex operations are necessary.
14534 +       format.   Print  (e.g.,  "%d")  is  a special case.  Other
14535 +       operations, including "%t"  pop  their  operand  from  the
14536 +       stack.  It is noted that more complex operations are often
14537 +       necessary, e.g., in the <STRONG>sgr</STRONG> string.
14538  
14539         The <STRONG>%</STRONG> encodings have the following meanings:
14540  
14541 -            %%        outputs `%'
14542 -            %<EM>[[</EM>:<EM>]flags][width[.precision]][</EM>doxXs<EM>]</EM>
14543 -                      as in <STRONG>printf</STRONG>, flags are [-+#] and space
14544 -            %c        print pop() like %c in printf()
14545 -            %s        print pop() like %s in printf()
14546  
14547 -            %p[1-9]   push <EM>i</EM>'th parm
14548 -            %P[a-z]   set dynamic variable [a-z] to pop()
14549 -            %g[a-z]   get dynamic variable [a-z] and push it
14550 -            %P[A-Z]   set static variable [a-z] to pop()
14551 -            %g[A-Z]   get static variable [a-z] and push it
14552 -            %'<EM>c</EM>'      char constant <EM>c</EM>
14553 -            %{<EM>nn</EM>}     integer constant <EM>nn</EM>
14554 -            %l        push strlen(pop)
14555 +       %%   outputs `%'
14556  
14557 -            %+ %- %* %/ %m
14558 -                      arithmetic (%m is mod): push(pop() op pop())
14559 -            %&amp; %| %^  bit operations: push(pop() op pop())
14560 -            %= %&gt; %&lt;  logical operations: push(pop() op pop())
14561 -            %A, %O    logical and &amp; or operations (for conditionals)
14562 -            %! %~     unary operations push(op pop())
14563 -            %i        add 1 to first two parameters (for ANSI terminals)
14564 +       %<EM>[[</EM>:<EM>]flags][width[.precision]][</EM>doxXs<EM>]</EM>
14565 +            as in <STRONG>printf</STRONG>, flags are [-+#] and space
14566  
14567 -            %? expr %t thenpart %e elsepart %;
14568 -                      if-then-else, %e elsepart is optional.
14569 -                      else-if's are possible a la Algol 68:
14570 -                      %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %;
14571 -                      ci are conditions, bi are bodies.
14572 +       %c   print pop() like %c in <STRONG>printf</STRONG>
14573 +
14574 +       %s   print pop() like %s in <STRONG>printf</STRONG>
14575 +
14576 +       %p[1-9]
14577 +            push <EM>i</EM>'th parameter
14578 +
14579 +       %P[a-z]
14580 +            set dynamic variable [a-z] to pop()
14581 +
14582 +
14583 +       %g[a-z]
14584 +            get dynamic variable [a-z] and push it
14585 +
14586 +       %P[A-Z]
14587 +            set static variable [a-z] to pop()
14588 +
14589 +       %g[A-Z]
14590 +            get static variable [a-z] and push it
14591 +
14592 +            The terms  "static"  and  "dynamic"  are  misleading.
14593 +            Historically,  these are simply two different sets of
14594 +            variables, whose values are not reset  between  calls
14595 +            to  <STRONG>tparm</STRONG>.   However,  that fact is not documented in
14596 +            other implementations.  Relying on it will  adversely
14597 +            impact portability to other implementations.
14598 +
14599 +       %'<EM>c</EM>' char constant <EM>c</EM>
14600 +
14601 +       %{<EM>nn</EM>}
14602 +            integer constant <EM>nn</EM>
14603 +
14604 +       %l   push strlen(pop)
14605 +
14606 +       %+ %- %* %/ %m
14607 +            arithmetic (%m is mod): push(pop() op pop())
14608 +
14609 +       %&amp; %| %^
14610 +            bit operations: push(pop() op pop())
14611 +
14612 +       %= %&gt; %&lt;
14613 +            logical operations: push(pop() op pop())
14614 +
14615 +       %A, %O
14616 +            logical and &amp; or operations (for conditionals)
14617 +
14618 +       %! %~
14619 +            unary operations push(op pop())
14620 +
14621 +       %i   add 1 to first two parameters (for ANSI terminals)
14622 +
14623 +       %? <EM>expr</EM> %t <EM>thenpart</EM> %e <EM>elsepart</EM> %;
14624 +            if-then-else, %e <EM>elsepart</EM> is optional.  else-if's are
14625 +            possible a la Algol 68:
14626 +            %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %;
14627 +            ci are conditions, bi are bodies.
14628  
14629         Binary operations are in postfix form with the operands in
14630         the usual order.  That  is,  to  get  x-5  one  would  use
14631 @@ -1531,6 +1568,7 @@
14632  
14633             <STRONG>tparm</STRONG> <STRONG>parameter</STRONG>   <STRONG>attribute</STRONG>    <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
14634  
14635 +
14636             none              none         \E[0m
14637             p1                standout     \E[0;1;7m
14638             p2                underline    \E[0;4m
14639 @@ -1568,7 +1606,6 @@
14640           ;5         if p4               %?%p4%|%t;5%;
14641           ;7         if p1 or p3         %?%p1%p3%|%t;7%;
14642           ;8         if p7               %?%p7%|%t;8%;
14643 -
14644           m          always              m
14645           ^N or ^O   if p9 ^N, else ^O   %?%p9%t^N%e^O%;
14646  
14647 @@ -1622,170 +1659,168 @@
14648         <STRONG>rmkx</STRONG>.  Otherwise the keypad is assumed to always transmit.
14649         The  codes  sent by the left arrow, right arrow, up arrow,
14650         down arrow, and home keys can be given  as  <STRONG>kcub1,</STRONG>  <STRONG>kcuf1,</STRONG>
14651 -       <STRONG>kcuu1,</STRONG>  <STRONG>kcud1,</STRONG>  and  <STRONG>khome</STRONG>  respectively.   If  there  are
14652 -       function keys such as f0, f1, ...,  f10,  the  codes  they
14653 -       send  can  be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>.  If these keys
14654 -       have labels other than the default  f0  through  f10,  the
14655 -       labels  can  be  given  as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.  The codes
14656 -       transmitted by certain other special keys  can  be  given:
14657 -       <STRONG>kll</STRONG>  (home  down), <STRONG>kbs</STRONG> (backspace), <STRONG>ktbc</STRONG> (clear all tabs),
14658 -       <STRONG>kctab</STRONG> (clear the tab stop in  this  column),  <STRONG>kclr</STRONG>  (clear
14659 -       screen  or  erase  key),  <STRONG>kdch1</STRONG>  (delete  character), <STRONG>kdl1</STRONG>
14660 -       (delete line), <STRONG>krmir</STRONG> (exit insert mode), <STRONG>kel</STRONG> (clear to end
14661 -       of  line),  <STRONG>ked</STRONG>  (clear  to  end of screen), <STRONG>kich1</STRONG> (insert
14662 -       character or enter insert mode), <STRONG>kil1</STRONG> (insert  line),  <STRONG>knp</STRONG>
14663 -       (next  page),  <STRONG>kpp</STRONG>  (previous  page),  <STRONG>kind</STRONG>  (scroll  for-
14664 -       ward/down), <STRONG>kri</STRONG> (scroll backward/up), <STRONG>khts</STRONG> (set a tab stop
14665 -       in  this column).  In addition, if the keypad has a 3 by 3
14666 -       array of keys including the four  arrow  keys,  the  other
14667 -       five  keys  can  be  given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.
14668 -       These keys are useful when the effects of a 3 by 3  direc-
14669 -       tional pad are needed.
14670 -
14671 -       Strings  to  program  function keys can be given as <STRONG>pfkey</STRONG>,
14672 -       <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.  A string to program screen labels  should
14673 -       be  specified  as  <STRONG>pln</STRONG>.   Each  of these strings takes two
14674 -       parameters: the function key number to program (from 0  to
14675 -       10)  and the string to program it with.  Function key num-
14676 -       bers out of this range may program  undefined  keys  in  a
14677 -       terminal  dependent  manner.   The  difference between the
14678 -       capabilities is that <STRONG>pfkey</STRONG> causes pressing the  given  key
14679 -       to  be the same as the user typing the given string; <STRONG>pfloc</STRONG>
14680 +       <STRONG>kcuu1,</STRONG>  <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively.  If there are func-
14681 +       tion keys such as f0, f1, ..., f10, the  codes  they  send
14682 +       can  be  given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>.  If these keys have
14683 +       labels other than the default f0 through f10,  the  labels
14684 +       can  be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.  The codes transmit-
14685 +       ted by certain other special keys can be given: <STRONG>kll</STRONG>  (home
14686 +       down),  <STRONG>kbs</STRONG>  (backspace),  <STRONG>ktbc</STRONG>  (clear  all  tabs), <STRONG>kctab</STRONG>
14687 +       (clear the tab stop in this column), <STRONG>kclr</STRONG> (clear screen or
14688 +       erase  key), <STRONG>kdch1</STRONG> (delete character), <STRONG>kdl1</STRONG> (delete line),
14689 +       <STRONG>krmir</STRONG> (exit insert mode), <STRONG>kel</STRONG> (clear to end of line),  <STRONG>ked</STRONG>
14690 +       (clear to end of screen), <STRONG>kich1</STRONG> (insert character or enter
14691 +       insert mode), <STRONG>kil1</STRONG> (insert line),  <STRONG>knp</STRONG>  (next  page),  <STRONG>kpp</STRONG>
14692 +       (previous  page),  <STRONG>kind</STRONG> (scroll forward/down), <STRONG>kri</STRONG> (scroll
14693 +       backward/up), <STRONG>khts</STRONG> (set a tab stop in  this  column).   In
14694 +       addition, if the keypad has a 3 by 3 array of keys includ-
14695 +       ing the four arrow keys, the other five keys can be  given
14696 +       as  <STRONG>ka1</STRONG>,  <STRONG>ka3</STRONG>,  <STRONG>kb2</STRONG>,  <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.  These keys are useful
14697 +       when the effects of a 3 by 3 directional pad are needed.
14698 +       Strings to program function keys can be  given  as  <STRONG>pfkey</STRONG>,
14699 +       <STRONG>pfloc</STRONG>,  and <STRONG>pfx</STRONG>.  A string to program screen labels should
14700 +       be specified as <STRONG>pln</STRONG>.  Each  of  these  strings  takes  two
14701 +       parameters:  the function key number to program (from 0 to
14702 +       10) and the string to program it with.  Function key  num-
14703 +       bers  out  of  this  range may program undefined keys in a
14704 +       terminal dependent manner.   The  difference  between  the
14705 +       capabilities  is  that <STRONG>pfkey</STRONG> causes pressing the given key
14706 +       to be the same as the user typing the given string;  <STRONG>pfloc</STRONG>
14707         causes the string to be executed by the terminal in local;
14708 -       and  <STRONG>pfx</STRONG>  causes  the string to be transmitted to the com-
14709 +       and <STRONG>pfx</STRONG> causes the string to be transmitted  to  the  com-
14710         puter.
14711  
14712         The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of pro-
14713 -       grammable  screen  labels  and their width and height.  If
14714 -       there are commands to turn the labels  on  and  off,  give
14715 -       them  in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>.  <STRONG>smln</STRONG> is normally output after one
14716 +       grammable screen labels and their width  and  height.   If
14717 +       there  are  commands  to  turn the labels on and off, give
14718 +       them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>.  <STRONG>smln</STRONG> is normally output after  one
14719         or more pln sequences to make sure that the change becomes
14720         visible.
14721  
14722  
14723     <STRONG>Tabs</STRONG> <STRONG>and</STRONG> <STRONG>Initialization</STRONG>
14724 -       If  the terminal has hardware tabs, the command to advance
14725 -       to the next tab stop can be given as <STRONG>ht</STRONG>  (usually  control
14726 -       I).   A  ``back-tab''  command which moves leftward to the
14727 +       If the terminal has hardware tabs, the command to  advance
14728 +       to  the  next tab stop can be given as <STRONG>ht</STRONG> (usually control
14729 +       I).  A ``back-tab'' command which moves  leftward  to  the
14730         preceding tab stop can be given as <STRONG>cbt</STRONG>.  By convention, if
14731 -       the  teletype  modes indicate that tabs are being expanded
14732 -       by the computer rather than being sent  to  the  terminal,
14733 -       programs  should  not  use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are pre-
14734 -       sent, since the user may not have the tab  stops  properly
14735 -       set.   If  the  terminal  has hardware tabs which are ini-
14736 +       the teletype modes indicate that tabs are  being  expanded
14737 +       by  the  computer  rather than being sent to the terminal,
14738 +       programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if  they  are  pre-
14739 +       sent,  since  the user may not have the tab stops properly
14740 +       set.  If the terminal has hardware  tabs  which  are  ini-
14741         tially set every <EM>n</EM> spaces when the terminal is powered up,
14742 -       the  numeric  parameter <STRONG>it</STRONG> is given, showing the number of
14743 -       spaces the tabs are set to.  This is normally used by  the
14744 -       <EM>tset</EM>  command  to  determine  whether  to set the mode for
14745 -       hardware tab expansion, and whether to set the tab  stops.
14746 -       If  the  terminal  has tab stops that can be saved in non-
14747 -       volatile memory, the terminfo description can assume  that
14748 +       the numeric parameter <STRONG>it</STRONG> is given, showing the  number  of
14749 +       spaces  the tabs are set to.  This is normally used by the
14750 +       <EM>tset</EM> command to determine whether  to  set  the  mode  for
14751 +       hardware  tab expansion, and whether to set the tab stops.
14752 +       If the terminal has tab stops that can be  saved  in  non-
14753 +       volatile  memory, the terminfo description can assume that
14754         they are properly set.
14755  
14756 -       Other  capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initializa-
14757 -       tion strings for the terminal, <STRONG>iprog</STRONG>, the path name  of  a
14758 -       program  to be run to initialize the terminal, and <STRONG>if</STRONG>, the
14759 -       name of a file  containing  long  initialization  strings.
14760 -       These  strings are expected to set the terminal into modes
14761 -       consistent with the  rest  of  the  terminfo  description.
14762 +       Other capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>,  initializa-
14763 +       tion  strings  for the terminal, <STRONG>iprog</STRONG>, the path name of a
14764 +       program to be run to initialize the terminal, and <STRONG>if</STRONG>,  the
14765 +       name  of  a  file  containing long initialization strings.
14766 +       These strings are expected to set the terminal into  modes
14767 +       consistent  with  the  rest  of  the terminfo description.
14768         They are normally sent to the terminal, by the <EM>init</EM> option
14769 -       of the <EM>tput</EM> program, each time the  user  logs  in.   They
14770 -       will  be  printed  in the following order: run the program
14771 -       <STRONG>iprog</STRONG>; output <STRONG>is1</STRONG>; <STRONG>is2</STRONG>; set the margins  using  <STRONG>mgc</STRONG>,  <STRONG>smgl</STRONG>
14772 -       and  <STRONG>smgr</STRONG>;  set tabs using <STRONG>tbc</STRONG> and <STRONG>hts</STRONG>; print the file <STRONG>if</STRONG>;
14773 +       of  the  <EM>tput</EM>  program,  each time the user logs in.  They
14774 +       will be printed in the following order:  run  the  program
14775 +       <STRONG>iprog</STRONG>;  output  <STRONG>is1</STRONG>;  <STRONG>is2</STRONG>; set the margins using <STRONG>mgc</STRONG>, <STRONG>smgl</STRONG>
14776 +       and <STRONG>smgr</STRONG>; set tabs using <STRONG>tbc</STRONG> and <STRONG>hts</STRONG>; print the  file  <STRONG>if</STRONG>;
14777         and finally output <STRONG>is3</STRONG>.
14778  
14779 -       Most initialization is done with  <STRONG>is2</STRONG>.   Special  terminal
14780 +       Most  initialization  is  done with <STRONG>is2</STRONG>.  Special terminal
14781         modes can be set up without duplicating strings by putting
14782 -       the common sequences in <STRONG>is2</STRONG> and special cases in  <STRONG>is1</STRONG>  and
14783 -       <STRONG>is3</STRONG>.   A pair of sequences that does a harder reset from a
14784 -       totally unknown state can be  analogously  given  as  <STRONG>rs1</STRONG>,
14785 -       <STRONG>rs2</STRONG>,  <STRONG>rf</STRONG>, and <STRONG>rs3</STRONG>, analogous to <STRONG>is2</STRONG> and <STRONG>if</STRONG>.  These strings
14786 -       are output by the <EM>reset</EM> program, which is  used  when  the
14787 -       terminal  gets into a wedged state.  Commands are normally
14788 -       placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce  annoy-
14789 -       ing  effects on the screen and are not necessary when log-
14790 -       ging in.  For example, the command to set the  vt100  into
14791 -       80-column  mode  would  normally  be  part  of <STRONG>is2</STRONG>, but it
14792 -       causes an annoying glitch of the screen and  is  not  nor-
14793 -       mally  needed  since the terminal is usually already in 80
14794 +       the  common  sequences in <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and
14795 +       <STRONG>is3</STRONG>.  A pair of sequences that does a harder reset from  a
14796 +       totally  unknown  state  can  be analogously given as <STRONG>rs1</STRONG>,
14797 +       <STRONG>rs2</STRONG>, <STRONG>rf</STRONG>, and <STRONG>rs3</STRONG>, analogous to <STRONG>is2</STRONG> and <STRONG>if</STRONG>.  These  strings
14798 +       are  output  by  the <EM>reset</EM> program, which is used when the
14799 +       terminal gets into a wedged state.  Commands are  normally
14800 +       placed  in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoy-
14801 +       ing effects on the screen and are not necessary when  log-
14802 +       ging  in.   For example, the command to set the vt100 into
14803 +       80-column mode would normally  be  part  of  <STRONG>is2</STRONG>,  but  it
14804 +       causes  an  annoying  glitch of the screen and is not nor-
14805 +       mally needed since the terminal is usually already  in  80
14806         column mode.
14807  
14808         If there are commands to set and clear tab stops, they can
14809 -       be  given  as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab
14810 -       stop in the current column of every row).  If a more  com-
14811 -       plex  sequence  is  needed  to  set  the  tabs than can be
14812 -       described by this, the sequence can be placed  in  <STRONG>is2</STRONG>  or
14813 +       be given as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set  a  tab
14814 +       stop  in the current column of every row).  If a more com-
14815 +       plex sequence is needed  to  set  the  tabs  than  can  be
14816 +       described  by  this,  the sequence can be placed in <STRONG>is2</STRONG> or
14817         <STRONG>if</STRONG>.
14818  
14819     <STRONG>Delays</STRONG> <STRONG>and</STRONG> <STRONG>Padding</STRONG>
14820 -       Many  older  and  slower  terminals  don't  support either
14821 +       Many older  and  slower  terminals  don't  support  either
14822         XON/XOFF or DTR handshaking, including hard copy terminals
14823 -       and  some  very  archaic CRTs (including, for example, DEC
14824 -       VT100s).  These may require padding characters after  cer-
14825 +       and some very archaic CRTs (including,  for  example,  DEC
14826 +       VT100s).   These may require padding characters after cer-
14827         tain cursor motions and screen changes.
14828  
14829         If the terminal uses xon/xoff handshaking for flow control
14830 -       (that is, it automatically emits ^S back to the host  when
14831 +       (that  is, it automatically emits ^S back to the host when
14832         its input buffers are close to full), set <STRONG>xon</STRONG>.  This capa-
14833 -       bility suppresses the emission of padding.  You  can  also
14834 -       set  it for memory-mapped console devices effectively that
14835 -       don't have a  speed  limit.   Padding  information  should
14836 -       still  be  included so that routines can make better deci-
14837 +       bility  suppresses  the emission of padding.  You can also
14838 +       set it for memory-mapped console devices effectively  that
14839 +       don't  have  a  speed  limit.   Padding information should
14840 +       still be included so that routines can make  better  deci-
14841         sions about relative costs, but actual pad characters will
14842         not be transmitted.
14843  
14844 -       If  <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed
14845 -       at baud rates below the value of <STRONG>pb</STRONG>.  If the entry has  no
14846 -       padding  baud rate, then whether padding is emitted or not
14847 +       If <STRONG>pb</STRONG> (padding baud rate) is given, padding is  suppressed
14848 +       at  baud rates below the value of <STRONG>pb</STRONG>.  If the entry has no
14849 +       padding baud rate, then whether padding is emitted or  not
14850         is completely controlled by <STRONG>xon</STRONG>.
14851  
14852 -       If the terminal requires other than a null (zero)  charac-
14853 -       ter  as  a  pad,  then this can be given as <STRONG>pad</STRONG>.  Only the
14854 +       If  the terminal requires other than a null (zero) charac-
14855 +       ter as a pad, then this can be given  as  <STRONG>pad</STRONG>.   Only  the
14856         first character of the <STRONG>pad</STRONG> string is used.
14857  
14858  
14859     <STRONG>Status</STRONG> <STRONG>Lines</STRONG>
14860 -       Some terminals have an extra `status line'  which  is  not
14861 -       normally  used  by  software  (and thus not counted in the
14862 +       Some  terminals  have  an extra `status line' which is not
14863 +       normally used by software (and thus  not  counted  in  the
14864         terminal's <STRONG>lines</STRONG> capability).
14865  
14866 -       The simplest case  is  a  status  line  which  is  cursor-
14867 -       addressable  but  not part of the main scrolling region on
14868 -       the screen; the Heathkit H19 has a  status  line  of  this
14869 -       kind,  as  would  a 24-line VT100 with a 23-line scrolling
14870 -       region set up on initialization.  This situation is  indi-
14871 +       The  simplest  case  is  a  status  line  which is cursor-
14872 +       addressable but not part of the main scrolling  region  on
14873 +       the  screen;  the  Heathkit  H19 has a status line of this
14874 +       kind, as would a 24-line VT100 with  a  23-line  scrolling
14875 +       region  set up on initialization.  This situation is indi-
14876         cated by the <STRONG>hs</STRONG> capability.
14877  
14878         Some terminals with status lines need special sequences to
14879 -       access the status line.   These  may  be  expressed  as  a
14880 +       access  the  status  line.   These  may  be expressed as a
14881         string with single parameter <STRONG>tsl</STRONG> which takes the cursor to
14882 -       a given zero-origin column on the status line.  The  capa-
14883 +       a  given zero-origin column on the status line.  The capa-
14884         bility <STRONG>fsl</STRONG> must return to the main-screen cursor positions
14885 -       before the last <STRONG>tsl</STRONG>.  You may need  to  embed  the  string
14886 -       values  of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG>
14887 +       before  the  last  <STRONG>tsl</STRONG>.   You may need to embed the string
14888 +       values of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in  <STRONG>tsl</STRONG>
14889         and <STRONG>fsl</STRONG> to accomplish this.
14890  
14891 -       The status line is normally assumed to be the  same  width
14892 -       as  the width of the terminal.  If this is untrue, you can
14893 +       The  status  line is normally assumed to be the same width
14894 +       as the width of the terminal.  If this is untrue, you  can
14895         specify it with the numeric capability <STRONG>wsl</STRONG>.
14896  
14897 -       A command to erase or blank the status line may be  speci-
14898 +       A  command to erase or blank the status line may be speci-
14899         fied as <STRONG>dsl</STRONG>.
14900  
14901 -       The   boolean   capability  <STRONG>eslok</STRONG>  specifies  that  escape
14902 +       The  boolean  capability  <STRONG>eslok</STRONG>  specifies   that   escape
14903         sequences, tabs, etc., work ordinarily in the status line.
14904  
14905 -       The  <STRONG>ncurses</STRONG>  implementation does not yet use any of these
14906 -       capabilities.  They are documented here in case they  ever
14907 +       The <STRONG>ncurses</STRONG> implementation does not yet use any  of  these
14908 +       capabilities.   They are documented here in case they ever
14909         become important.
14910  
14911  
14912     <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
14913 -       Many  terminals  have  alternate character sets useful for
14914 -       forms-drawing.  Terminfo and <STRONG>curses</STRONG> build in  support  for
14915 -       the  drawing  characters supported by the VT100, with some
14916 -       characters from the AT&amp;T  4410v1  added.   This  alternate
14917 +       Many terminals have alternate character  sets  useful  for
14918 +       forms-drawing.   Terminfo  and <STRONG>curses</STRONG> build in support for
14919 +       the drawing characters supported by the VT100,  with  some
14920 +       characters  from  the  AT&amp;T  4410v1 added.  This alternate
14921         character set may be specified by the <STRONG>acsc</STRONG> capability.
14922  
14923                  <STRONG>Glyph</STRONG>             <STRONG>ACS</STRONG>            <STRONG>Ascii</STRONG>      <STRONG>VT100</STRONG>
14924 @@ -1803,6 +1838,7 @@
14925         greater-than-or-equal-to   ACS_GEQUAL     &gt;          z
14926         greek pi                   ACS_PI         *          {
14927         horizontal line            ACS_HLINE      -          q
14928 +
14929         lantern symbol             ACS_LANTERN    #          i
14930         large plus or crossover    ACS_PLUS       +          n
14931         less-than-or-equal-to      ACS_LEQUAL     &lt;          y
14932 @@ -1823,59 +1859,59 @@
14933         upper right corner         ACS_URCORNER   +          k
14934         vertical line              ACS_VLINE      |          x
14935  
14936 -       The  best  way to define a new device's graphics set is to
14937 -       add a column to a copy of this table  for  your  terminal,
14938 -       giving   the   character   which   (when  emitted  between
14939 -       <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the  correspond-
14940 -       ing  graphic.  Then read off the VT100/your terminal char-
14941 -       acter pairs right to left in sequence;  these  become  the
14942 +       The best way to define a new device's graphics set  is  to
14943 +       add  a  column  to a copy of this table for your terminal,
14944 +       giving  the  character   which   (when   emitted   between
14945 +       <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG>  switches) will be rendered as the correspond-
14946 +       ing graphic.  Then read off the VT100/your terminal  char-
14947 +       acter  pairs  right  to left in sequence; these become the
14948         ACSC string.
14949  
14950  
14951     <STRONG>Color</STRONG> <STRONG>Handling</STRONG>
14952 -       Most  color  terminals are either `Tektronix-like' or `HP-
14953 -       like'.  Tektronix-like terminals have a predefined set  of
14954 -       N  colors  (where N usually 8), and can set character-cell
14955 +       Most color terminals are either `Tektronix-like'  or  `HP-
14956 +       like'.   Tektronix-like terminals have a predefined set of
14957 +       N colors (where N usually 8), and can  set  character-cell
14958         foreground and background characters independently, mixing
14959 -       them  into  N  * N color-pairs.  On HP-like terminals, the
14960 +       them into N * N color-pairs.  On  HP-like  terminals,  the
14961         use must set each color pair up separately (foreground and
14962 -       background  are  not  independently  settable).   Up  to M
14963 -       color-pairs may be  set  up  from  2*M  different  colors.
14964 +       background are  not  independently  settable).   Up  to  M
14965 +       color-pairs  may  be  set  up  from  2*M different colors.
14966         ANSI-compatible terminals are Tektronix-like.
14967  
14968         Some basic color capabilities are independent of the color
14969         method.  The numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify
14970 -       the  maximum numbers of colors and color-pairs that can be
14971 -       displayed simultaneously.  The <STRONG>op</STRONG> (original  pair)  string
14972 -       resets  foreground  and background colors to their default
14973 -       values for the terminal.  The <STRONG>oc</STRONG> string resets all  colors
14974 -       or  color-pairs  to their default values for the terminal.
14975 -       Some terminals  (including  many  PC  terminal  emulators)
14976 -       erase  screen  areas  with  the  current  background color
14977 -       rather than the power-up default background; these  should
14978 +       the maximum numbers of colors and color-pairs that can  be
14979 +       displayed  simultaneously.   The <STRONG>op</STRONG> (original pair) string
14980 +       resets foreground and background colors to  their  default
14981 +       values  for the terminal.  The <STRONG>oc</STRONG> string resets all colors
14982 +       or color-pairs to their default values for  the  terminal.
14983 +       Some  terminals  (including  many  PC  terminal emulators)
14984 +       erase screen  areas  with  the  current  background  color
14985 +       rather  than the power-up default background; these should
14986         have the boolean capability <STRONG>bce</STRONG>.
14987  
14988 -       To  change the current foreground or background color on a
14989 -       Tektronix-type terminal, use <STRONG>setaf</STRONG> (set  ANSI  foreground)
14990 -       and  <STRONG>setab</STRONG>  (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
14991 -       and <STRONG>setb</STRONG> (set background).  These take one parameter,  the
14992 +       To change the current foreground or background color on  a
14993 +       Tektronix-type  terminal,  use <STRONG>setaf</STRONG> (set ANSI foreground)
14994 +       and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG>  (set  foreground)
14995 +       and  <STRONG>setb</STRONG> (set background).  These take one parameter, the
14996         color  number.   The  SVr4  documentation  describes  only
14997 -       <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says  that  "If  the  terminal
14998 +       <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>;  the  XPG4  draft  says that "If the terminal
14999         supports ANSI escape sequences to set background and fore-
15000 -       ground, they should be coded as <STRONG>setaf</STRONG> and  <STRONG>setab</STRONG>,  respec-
15001 -       tively.   If  the terminal supports other escape sequences
15002 -       to set background and foreground, they should be coded  as
15003 -       <STRONG>setf</STRONG>  and  <STRONG>setb</STRONG>, respectively.  The <EM>vidputs()</EM> function and
15004 -       the refresh functions use <STRONG>setaf</STRONG>  and  <STRONG>setab</STRONG>  if  they  are
15005 +       ground,  they  should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
15006 +       tively.  If the terminal supports other  escape  sequences
15007 +       to  set background and foreground, they should be coded as
15008 +       <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively.  The <EM>vidputs()</EM>  function  and
15009 +       the  refresh  functions  use  <STRONG>setaf</STRONG>  and <STRONG>setab</STRONG> if they are
15010         defined."
15011  
15012 -       The  <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>  and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
15013 -       numeric argument each.  Argument values 0-7  are  portably
15014 -       defined  as  follows  (the  middle  column is the symbolic
15015 -       #define available in the header for the <STRONG>curses</STRONG> or  <STRONG>ncurses</STRONG>
15016 -       libraries).  The terminal hardware is free to map these as
15017 -       it likes, but the RGB values indicate normal locations  in
15018 -       color space.
15019 +       The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take  a  single
15020 +       numeric argument each.  Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>
15021 +       are portably defined as follows (the middle column is  the
15022 +       symbolic #define available in the header for the <STRONG>curses</STRONG> or
15023 +       <STRONG>ncurses</STRONG> libraries).  The terminal hardware is free to  map
15024 +       these  as  it  likes,  but  the RGB values indicate normal
15025 +       locations in color space.
15026  
15027               <STRONG>Color</STRONG>       <STRONG>#define</STRONG>       <STRONG>Value</STRONG>       <STRONG>RGB</STRONG>
15028               black     <STRONG>COLOR_BLACK</STRONG>       0     0, 0, 0
15029 @@ -1887,6 +1923,21 @@
15030               cyan      <STRONG>COLOR_CYAN</STRONG>        6     0,max,max
15031               white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
15032  
15033 +       The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG>  historically  correspond
15034 +       to a different mapping, i.e.,
15035 +             <STRONG>Color</STRONG>       <STRONG>#define</STRONG>       <STRONG>Value</STRONG>       <STRONG>RGB</STRONG>
15036 +             black     <STRONG>COLOR_BLACK</STRONG>       0     0, 0, 0
15037 +             blue      <STRONG>COLOR_BLUE</STRONG>        1     0,0,max
15038 +             green     <STRONG>COLOR_GREEN</STRONG>       2     0,max,0
15039 +             cyan      <STRONG>COLOR_CYAN</STRONG>        3     0,max,max
15040 +             red       <STRONG>COLOR_RED</STRONG>         4     max,0,0
15041 +             magenta   <STRONG>COLOR_MAGENTA</STRONG>     5     max,0,max
15042 +             yellow    <STRONG>COLOR_YELLOW</STRONG>      6     max,max,0
15043 +             white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
15044 +       It is important to not confuse the two sets of color capa-
15045 +       bilities; otherwise red/blue will be interchanged  on  the
15046 +       display.
15047 +
15048         On  an  HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
15049         parameter to set which color pair is current.
15050  
15051 @@ -2005,7 +2056,6 @@
15052         text,  including  <STRONG>mc4</STRONG>,  is  transparently  passed  to  the
15053         printer while an <STRONG>mc5p</STRONG> is in effect.
15054  
15055 -
15056     <STRONG>Glitches</STRONG> <STRONG>and</STRONG> <STRONG>Braindamage</STRONG>
15057         Hazeltine terminals, which do not allow `~' characters  to
15058         be displayed should indicate <STRONG>hz</STRONG>.
15059 @@ -2055,6 +2105,7 @@
15060         A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of
15061         the  use  reference that imports it, where <EM>xx</EM> is the capa-
15062         bility.  For example, the entry
15063 +
15064                     2621-nl, smkx@, rmkx@, use=2621,
15065  
15066         defines a 2621-nl that does not  have  the  <STRONG>smkx</STRONG>  or  <STRONG>rmkx</STRONG>
15067 @@ -2222,12 +2273,12 @@
15068                                  descriptions
15069  
15070  
15071 -
15072  </PRE>
15073  <H2>SEE ALSO</H2><PRE>
15074         <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
15075  
15076  
15077 +
15078  </PRE>
15079  <H2>AUTHORS</H2><PRE>
15080         Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
15081 @@ -2235,6 +2286,9 @@
15082  
15083  
15084  
15085 +
15086 +
15087 +
15088  
15089  
15090  
15091 diff -urNd -urNd ncurses-5.3/doc/html/man/tic.1m.html ncurses-5.3.20030906.orig/doc/html/man/tic.1m.html
15092 --- ncurses-5.3/doc/html/man/tic.1m.html        Sat Oct 12 18:28:15 2002
15093 +++ ncurses-5.3.20030906.orig/doc/html/man/tic.1m.html  Sun Jul 20 14:02:08 2003
15094 @@ -1,7 +1,7 @@
15095  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
15096  <!-- 
15097    ****************************************************************************
15098 -  * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
15099 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
15100    *                                                                          *
15101    * Permission is hereby granted, free of charge, to any person obtaining a  *
15102    * copy of this software and associated documentation files (the            *
15103 @@ -27,7 +27,7 @@
15104    * sale, use or other dealings in this Software without prior written       *
15105    * authorization.                                                           *
15106    ****************************************************************************
15107 -  * @Id: tic.1m,v 1.33 2002/10/05 20:06:13 tom Exp @
15108 +  * @Id: tic.1m,v 1.35 2003/05/11 00:32:53 tom Exp @
15109  -->
15110  <HTML>
15111  <HEAD>
15112 @@ -85,7 +85,7 @@
15113                entries as user-defined names.
15114  
15115         <STRONG>-C</STRONG>     Force source translation to termcap format.   Note:
15116 -              this  differs  from the -C option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
15117 +              this  differs  from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
15118                that it does not merely translate capability names,
15119                but  also  translates  terminfo  strings to termcap
15120                format.  Capabilities that are not translatable are
15121 @@ -110,7 +110,7 @@
15122                it.  The option value is interpreted as a file con-
15123                taining  the  list  if  it  contains a '/'.  (Note:
15124                depending on how tic was compiled, this option  may
15125 -              require -I or -C.)
15126 +              require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
15127  
15128         <STRONG>-f</STRONG>     Display  complex  terminfo  strings  which  contain
15129                if/then/else/endif expressions indented  for  read-
15130 @@ -277,7 +277,7 @@
15131  
15132         The  <STRONG>-C</STRONG>,  <STRONG>-G</STRONG>,  <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-o</STRONG>, <STRONG>-r</STRONG>,
15133         <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under  SVr4.   The
15134 -       SVr4 -c mode does not report bad use links.
15135 +       SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
15136  
15137         System  V does not compile entries to or read entries from
15138         your <EM>$HOME/.terminfo</EM> directory unless TERMINFO is  explic-
15139 diff -urNd -urNd ncurses-5.3/doc/html/man/toe.1m.html ncurses-5.3.20030906.orig/doc/html/man/toe.1m.html
15140 --- ncurses-5.3/doc/html/man/toe.1m.html        Sat Jun 22 16:25:46 2002
15141 +++ ncurses-5.3.20030906.orig/doc/html/man/toe.1m.html  Sun Jul 20 14:02:08 2003
15142 @@ -1,7 +1,7 @@
15143  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
15144  <!-- 
15145    ****************************************************************************
15146 -  * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
15147 +  * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
15148    *                                                                          *
15149    * Permission is hereby granted, free of charge, to any person obtaining a  *
15150    * copy of this software and associated documentation files (the            *
15151 @@ -27,7 +27,7 @@
15152    * sale, use or other dealings in this Software without prior written       *
15153    * authorization.                                                           *
15154    ****************************************************************************
15155 -  * @Id: toe.1m,v 1.10 2000/08/19 18:51:05 tom Exp @
15156 +  * @Id: toe.1m,v 1.12 2003/05/11 00:32:53 tom Exp @
15157  -->
15158  <HTML>
15159  <HEAD>
15160 @@ -57,7 +57,7 @@
15161         primary name with descriptions.   File  arguments  specify
15162         the  directories  to  be scanned; if no such arguments are
15163         given, your default terminfo directory is scanned.  If you
15164 -       also  specify  the  -h  option, a directory header will be
15165 +       also  specify  the  <STRONG>-h</STRONG>  option, a directory header will be
15166         issued as each directory is entered.
15167  
15168         There are other options intended for use by terminfo  file
15169 diff -urNd -urNd ncurses-5.3/doc/html/man/tput.1.html ncurses-5.3.20030906.orig/doc/html/man/tput.1.html
15170 --- ncurses-5.3/doc/html/man/tput.1.html        Sat Oct 12 18:28:16 2002
15171 +++ ncurses-5.3.20030906.orig/doc/html/man/tput.1.html  Sun Jul 20 14:02:08 2003
15172 @@ -2,7 +2,7 @@
15173  <!-- 
15174    * t
15175    ****************************************************************************
15176 -  * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
15177 +  * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
15178    *                                                                          *
15179    * Permission is hereby granted, free of charge, to any person obtaining a  *
15180    * copy of this software and associated documentation files (the            *
15181 @@ -28,7 +28,7 @@
15182    * sale, use or other dealings in this Software without prior written       *
15183    * authorization.                                                           *
15184    ****************************************************************************
15185 -  * @Id: tput.1,v 1.18 2002/10/12 13:53:20 tom Exp @
15186 +  * @Id: tput.1,v 1.20 2003/05/11 00:32:53 tom Exp @
15187  -->
15188  <HTML>
15189  <HEAD>
15190 diff -urNd -urNd ncurses-5.3/doc/html/man/tset.1.html ncurses-5.3.20030906.orig/doc/html/man/tset.1.html
15191 --- ncurses-5.3/doc/html/man/tset.1.html        Sat Jun 22 16:25:47 2002
15192 +++ ncurses-5.3.20030906.orig/doc/html/man/tset.1.html  Sun Jul 20 14:02:08 2003
15193 @@ -1,7 +1,7 @@
15194  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
15195  <!-- 
15196    ****************************************************************************
15197 -  * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
15198 +  * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
15199    *                                                                          *
15200    * Permission is hereby granted, free of charge, to any person obtaining a  *
15201    * copy of this software and associated documentation files (the            *
15202 @@ -27,7 +27,7 @@
15203    * sale, use or other dealings in this Software without prior written       *
15204    * authorization.                                                           *
15205    ****************************************************************************
15206 -  * @Id: tset.1,v 1.12 2000/09/09 20:33:07 tom Exp @
15207 +  * @Id: tset.1,v 1.13 2003/05/11 00:32:53 tom Exp @
15208  -->
15209  <HTML>
15210  <HEAD>
15211 @@ -73,7 +73,7 @@
15212         4. The default terminal type, ``unknown''.
15213  
15214         If  the  terminal  type  was not specified on the command-
15215 -       line, the -m option mappings are then applied  (see  below
15216 +       line, the <STRONG>-m</STRONG> option mappings are then applied  (see  below
15217         for  more information).  Then, if the terminal type begins
15218         with a question mark (``?''), the  user  is  prompted  for
15219         confirmation of the terminal type.  An empty response con-
15220 @@ -108,36 +108,36 @@
15221  
15222         The options are as follows:
15223  
15224 -       -q   The  terminal  type is displayed to the standard out-
15225 +       <STRONG>-q</STRONG>   The  terminal  type is displayed to the standard out-
15226              put, and the terminal is not initialized in any  way.
15227              The option `-' by itself is equivalent but archaic.
15228  
15229 -       -e   Set the erase character to <EM>ch</EM>.
15230 +       <STRONG>-e</STRONG>   Set the erase character to <EM>ch</EM>.
15231  
15232 -       -I   Do  not  send  the  terminal  or  tab  initialization
15233 +       <STRONG>-I</STRONG>   Do  not  send  the  terminal  or  tab  initialization
15234              strings to the terminal.
15235  
15236 -       -Q   Don't display any values for the erase, interrupt and
15237 +       <STRONG>-Q</STRONG>   Don't display any values for the erase, interrupt and
15238              line kill characters.
15239  
15240         <STRONG>-V</STRONG>   reports the version of ncurses which was used in this
15241              program, and exits.
15242  
15243 -       -i   Set the interrupt character to <EM>ch</EM>.
15244 +       <STRONG>-i</STRONG>   Set the interrupt character to <EM>ch</EM>.
15245  
15246 -       -k   Set the line kill character to <EM>ch</EM>.
15247 +       <STRONG>-k</STRONG>   Set the line kill character to <EM>ch</EM>.
15248  
15249 -       -m   Specify a mapping from a port  type  to  a  terminal.
15250 +       <STRONG>-m</STRONG>   Specify a mapping from a port  type  to  a  terminal.
15251              See below for more information.
15252  
15253 -       -r   Print the terminal type to the standard error output.
15254 +       <STRONG>-r</STRONG>   Print the terminal type to the standard error output.
15255  
15256 -       -s   Print the sequence of shell  commands  to  initialize
15257 +       <STRONG>-s</STRONG>   Print the sequence of shell  commands  to  initialize
15258              the environment variable <STRONG>TERM</STRONG> to the standard output.
15259              See the section below on setting the environment  for
15260              details.
15261  
15262 -       The arguments for the -e, -i, and -k options may either be
15263 +       The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
15264         entered as actual characters or by using the  `hat'  nota-
15265         tion, i.e. control-h may be specified as ``^H'' or ``^h''.
15266  
15267 @@ -146,9 +146,9 @@
15268  <H2>SETTING THE ENVIRONMENT</H2><PRE>
15269         It is often desirable  to  enter  the  terminal  type  and
15270         information  about  the  terminal's  capabilities into the
15271 -       shell's environment.  This is done using the -s option.
15272 +       shell's environment.  This is done using the <STRONG>-s</STRONG> option.
15273  
15274 -       When the -s option is specified, the commands to enter the
15275 +       When the <STRONG>-s</STRONG> option is specified, the commands to enter the
15276         information  into  the  shell's environment are written to
15277         the standard output.  If the <STRONG>SHELL</STRONG> environmental  variable
15278         ends in ``csh'', the commands are for <STRONG>csh</STRONG>, otherwise, they
15279 @@ -171,12 +171,12 @@
15280         often desirable to provide information about the  type  of
15281         terminal used on such ports.
15282  
15283 -       The  purpose  of  the -m option is to map from some set of
15284 +       The  purpose  of  the <STRONG>-m</STRONG> option is to map from some set of
15285         conditions to a terminal type, that is, to tell <STRONG>tset</STRONG>  ``If
15286         I'm  on this port at a particular speed, guess that I'm on
15287         that kind of terminal''.
15288  
15289 -       The argument to the -m option consists of an optional port
15290 +       The argument to the <STRONG>-m</STRONG> option consists of an optional port
15291         type, an optional operator, an optional baud rate specifi-
15292         cation, an optional colon (``:'') character and a terminal
15293         type.   The port type is a string (delimited by either the
15294 @@ -189,7 +189,7 @@
15295         terminal).  The terminal type is a string.
15296  
15297         If the terminal type is not specified on the command line,
15298 -       the  -m mappings are applied to the terminal type.  If the
15299 +       the  <STRONG>-m</STRONG> mappings are applied to the terminal type.  If the
15300         port type and baud rate match the  mapping,  the  terminal
15301         type  specified  in the mapping replaces the current type.
15302         If more than one mapping is specified, the first  applica-
15303 @@ -213,9 +213,9 @@
15304         user will be queried on a default port as to whether  they
15305         are actually using an xterm terminal.
15306  
15307 -       No  whitespace  characters  are permitted in the -m option
15308 +       No  whitespace  characters  are permitted in the <STRONG>-m</STRONG> option
15309         argument.  Also, to avoid problems  with  meta-characters,
15310 -       it  is  suggested  that  the  entire -m option argument be
15311 +       it  is  suggested  that  the  entire <STRONG>-m</STRONG> option argument be
15312         placed within single quote characters, and that <STRONG>csh</STRONG>  users
15313         insert  a  backslash character (``\'') before any exclama-
15314         tion marks (``!'').
15315 @@ -238,8 +238,8 @@
15316         important  use).   This implementation behaves like 4.4BSD
15317         tset, with a few exceptions specified here.
15318  
15319 -       The -S option of BSD tset no longer works;  it  prints  an
15320 -       error message to stderr and dies.  The -s option only sets
15321 +       The <STRONG>-S</STRONG> option of BSD tset no longer works;  it  prints  an
15322 +       error message to stderr and dies.  The <STRONG>-s</STRONG> option only sets
15323         <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.  Both these  changes  are  because  the
15324         <STRONG>TERMCAP</STRONG>  variable  is  no longer supported under terminfo-
15325         based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die
15326 @@ -250,28 +250,28 @@
15327         ning  with  an  upper-case letter) set the terminal to use
15328         upper-case only.  This feature has been omitted.
15329  
15330 -       The -A, -E, -h, -u and -v options were  deleted  from  the
15331 -       <STRONG>tset</STRONG>  utility  in  4.4BSD. None of them were documented in
15332 -       4.3BSD and all are of limited utility at best. The -a, -d,
15333 -       and -p options are similarly not documented or useful, but
15334 -       were retained as they appear to be in widespread use.   It
15335 -       is  strongly  recommended  that  any  usage of these three
15336 -       options be changed to use the -m option instead.   The  -n
15337 -       option  remains, but has no effect.  The -adnp options are
15338 -       therefore omitted from the usage summary above.
15339 +       The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were  deleted  from  the
15340 +       <STRONG>tset</STRONG>  utility  in 4.4BSD.  None of them were documented in
15341 +       4.3BSD and all are of limited utility at best.  The <STRONG>-a</STRONG>, -,
15342 +       and                                                      -
15343 +       options are similarly not documented or useful,  but  were
15344 +       retained  as  they  appear to be in widespread use.  It is
15345 +       strongly recommended that any usage of these three options
15346 +       be  changed  to  use the <STRONG>-m</STRONG> option instead.  The -n option
15347 +       remains, but has no effect.  The <STRONG>-adnp</STRONG> options are  there-
15348 +       fore omitted from the usage summary above.
15349  
15350 -       It is still permissible to specify  the  -e,  -i,  and  -k
15351 -       options  without arguments, although it is strongly recom-
15352 -       mended that such usage be fixed to explicitly specify  the
15353 +       It  is  still  permissible  to  specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
15354 +       options without arguments, although it is strongly  recom-
15355 +       mended  that such usage be fixed to explicitly specify the
15356         character.
15357  
15358 -       As  of  4.4BSD,  executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
15359 -       the -Q option.  Also, the interaction between the - option
15360 +       As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG>  no  longer  implies
15361 +       the <STRONG>-Q</STRONG> option.  Also, the interaction between the - option
15362         and the <EM>terminal</EM> argument in some historic implementations
15363         of <STRONG>tset</STRONG> has been removed.
15364  
15365  
15366 -
15367  </PRE>
15368  <H2>ENVIRONMENT</H2><PRE>
15369         The <STRONG>tset</STRONG> command uses the <STRONG>SHELL</STRONG> and <STRONG>TERM</STRONG> environment vari-
15370 @@ -281,7 +281,7 @@
15371  </PRE>
15372  <H2>FILES</H2><PRE>
15373         /etc/ttys
15374 -            system  port  name  to terminal type mapping database
15375 +            system port name to terminal  type  mapping  database
15376              (BSD versions only).
15377  
15378         /usr/share/terminfo
15379 diff -urNd -urNd ncurses-5.3/form/Makefile.in ncurses-5.3.20030906.orig/form/Makefile.in
15380 --- ncurses-5.3/form/Makefile.in        Sat Jan 19 19:49:17 2002
15381 +++ ncurses-5.3.20030906.orig/form/Makefile.in  Fri Sep 12 16:42:40 2003
15382 @@ -1,6 +1,6 @@
15383 -# $Id: Makefile.in,v 1.36 2002/01/20 01:49:17 tom Exp $
15384 +# $Id: Makefile.in,v 1.39 2003/08/23 23:25:01 tom Exp $
15385  ##############################################################################
15386 -# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
15387 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
15388  #                                                                            #
15389  # Permission is hereby granted, free of charge, to any person obtaining a    #
15390  # copy of this software and associated documentation files (the "Software"), #
15391 @@ -55,6 +55,11 @@
15392  includedir     = @includedir@
15393  
15394  LIBTOOL                = @LIBTOOL@
15395 +LIBTOOL_CLEAN  = @LIB_CLEAN@
15396 +LIBTOOL_COMPILE        = @LIB_COMPILE@
15397 +LIBTOOL_LINK   = @LIB_LINK@
15398 +LIBTOOL_INSTALL        = @LIB_INSTALL@
15399 +LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
15400  
15401  INSTALL                = @INSTALL@
15402  INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
15403 @@ -84,7 +89,7 @@
15404  
15405  CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
15406  
15407 -LINK           = $(LIBTOOL) $(CC)
15408 +LINK           = $(LIBTOOL_LINK) $(CC)
15409  LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
15410  
15411  SHLIB_DIRS     = -L../lib
15412 @@ -97,7 +102,7 @@
15413  REL_VERSION    = @cf_cv_rel_version@
15414  ABI_VERSION    = @cf_cv_abi_version@
15415  
15416 -RANLIB         = @RANLIB@
15417 +RANLIB         = @LIB_PREP@
15418  
15419  IMPORT_LIB     = @IMPORT_LIB@
15420  SHARED_LIB     = @SHARED_LIB@
15421 diff -urNd -urNd ncurses-5.3/form/form.h ncurses-5.3.20030906.orig/form/form.h
15422 --- ncurses-5.3/form/form.h     Sat Jul 13 06:35:08 2002
15423 +++ ncurses-5.3.20030906.orig/form/form.h       Tue May 13 20:08:22 2003
15424 @@ -1,5 +1,5 @@
15425  /****************************************************************************
15426 - * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
15427 + * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
15428   *                                                                          *
15429   * Permission is hereby granted, free of charge, to any person obtaining a  *
15430   * copy of this software and associated documentation files (the            *
15431 @@ -31,6 +31,8 @@
15432   *   Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en             *
15433   ****************************************************************************/
15434  
15435 +/* $Id: form.h,v 0.15 2003/05/03 21:59:32 tom Exp $ */
15436 +
15437  #ifndef FORM_H
15438  #define FORM_H
15439  
15440 @@ -208,7 +210,7 @@
15441  #define REQ_DEL_CHAR    (KEY_MAX + 34) /* delete char at cursor        */
15442  #define REQ_DEL_PREV    (KEY_MAX + 35) /* delete char before cursor    */
15443  #define REQ_DEL_LINE    (KEY_MAX + 36) /* delete line at cursor        */
15444 -#define REQ_DEL_WORD    (KEY_MAX + 37) /* delete line at cursor        */
15445 +#define REQ_DEL_WORD    (KEY_MAX + 37) /* delete word at cursor        */
15446  #define REQ_CLR_EOL     (KEY_MAX + 38) /* clear to end of line         */
15447  #define REQ_CLR_EOF     (KEY_MAX + 39) /* clear to end of field        */
15448  #define REQ_CLR_FIELD   (KEY_MAX + 40) /* clear entire field           */
15449 diff -urNd -urNd ncurses-5.3/form/frm_driver.c ncurses-5.3.20030906.orig/form/frm_driver.c
15450 --- ncurses-5.3/form/frm_driver.c       Sat Jul  6 10:33:27 2002
15451 +++ ncurses-5.3.20030906.orig/form/frm_driver.c Tue May 13 20:08:22 2003
15452 @@ -32,7 +32,7 @@
15453   ****************************************************************************/
15454  #include "form.priv.h"
15455  
15456 -MODULE_ID("$Id: frm_driver.c,v 1.39 2002/07/06 15:33:27 juergen Exp $")
15457 +MODULE_ID("$Id: frm_driver.c,v 1.42 2003/05/03 23:05:21 tom Exp $")
15458  
15459  /*----------------------------------------------------------------------------
15460    This is the core module of the form library. It contains the majority
15461 @@ -42,7 +42,7 @@
15462    all the functions in this module depends on some others in the module,
15463    so it makes no sense to split them into separate files because they
15464    will always be linked together. The only acceptable concern is turnaround
15465 -  time for this module, but now we have all Pentiums or Riscs, so what!
15466 +  time for this module, but now we have all Pentiums or RISCs, so what!
15467  
15468    The driver routines are grouped into nine generic categories:
15469  
15470 @@ -55,10 +55,10 @@
15471     c)   Intra-Field Navigation     ( all functions prefixed by IFN_ )
15472          The current position in the current field is changed. 
15473     d)   Vertical Scrolling         ( all functions prefixed by VSC_ )
15474 -        Esseantially this is a specialization of Intra-Field navigation.
15475 +        Essentially this is a specialization of Intra-Field navigation.
15476          It has to check for a multi-line field.
15477     e)   Horizontal Scrolling       ( all functions prefixed by HSC_ )
15478 -        Esseantially this is a specialization of Intra-Field navigation.
15479 +        Essentially this is a specialization of Intra-Field navigation.
15480          It has to check for a single-line field.
15481     f)   Field Editing              ( all functions prefixed by FE_ )
15482          The content of the current field is changed
15483 @@ -79,11 +79,11 @@
15484  
15485  /*
15486  Some options that may effect compatibility in behavior to SVr4 forms,
15487 -but they are here to allow a more intuitive and user friendly behaviour of
15488 +but they are here to allow a more intuitive and user friendly behavior of
15489  our form implementation. This doesn't affect the API, so we feel it is
15490  uncritical.
15491  
15492 -The initial implementation tries to stay very close with the behaviour
15493 +The initial implementation tries to stay very close with the behavior
15494  of the original SVr4 implementation, although in some areas it is quite
15495  clear that this isn't the most appropriate way. As far as possible this
15496  sources will allow you to build a forms lib that behaves quite similar
15497 @@ -91,9 +91,9 @@
15498  Perhaps at some time we will make this configurable at runtime.
15499  */
15500  
15501 -/* Implement a more user-friendly previous/next word behaviour */
15502 +/* Implement a more user-friendly previous/next word behavior */
15503  #define FRIENDLY_PREV_NEXT_WORD (1)
15504 -/* Fix the wrong behaviour for forms with all fields inactive */
15505 +/* Fix the wrong behavior for forms with all fields inactive */
15506  #define FIX_FORM_INACTIVE_BUG (1)
15507  /* Allow dynamic field growth also when navigating past the end */
15508  #define GROW_IF_NAVIGATE (1)
15509 @@ -918,7 +918,7 @@
15510  |   
15511  |   Description   :  Propagate the Synchronize_Field function to all linked
15512  |                    fields. The first error that occurs in the sequence
15513 -|                    of updates is the returnvalue.
15514 +|                    of updates is the return value.
15515  |
15516  |   Return Values :  E_OK                - success
15517  |                    E_BAD_ARGUMENT      - invalid field pointer 
15518 @@ -1012,7 +1012,7 @@
15519  |   
15520  |   Description   :  If a fields options have changed, this routine is
15521  |                    called to propagate these changes to the screen and
15522 -|                    to really change the behaviour of the field.
15523 +|                    to really change the behavior of the field.
15524  |
15525  |   Return Values :  E_OK                - success
15526  |                    E_BAD_ARGUMENT      - invalid field pointer 
15527 @@ -1089,7 +1089,7 @@
15528               (!single_line_field && (field->drows < field->maxgrow)))
15529             {
15530               field->status |= _MAY_GROW;
15531 -             /* a field with justification now changes its behaviour,
15532 +             /* a field with justification now changes its behavior,
15533                  so we must redisplay it */
15534               if (single_line_field                 &&
15535                   (field->just != NO_JUSTIFICATION) &&
15536 @@ -2141,7 +2141,7 @@
15537    int res = E_REQUEST_DENIED;
15538  
15539    /* We have to deal here with the specific case of the overloaded 
15540 -     behaviour of New_Line and Delete_Previous requests.
15541 +     behavior of New_Line and Delete_Previous requests.
15542       They may end up in navigational requests if we are on the first
15543       character in a field. But navigation is also allowed on non-
15544       editable fields.
15545 @@ -2205,6 +2205,7 @@
15546         {
15547           if (!(form->opts & O_NL_OVERLOAD))
15548             return(E_REQUEST_DENIED);
15549 +         wmove(form->w,form->currow,form->curcol);
15550           wclrtoeol(form->w);
15551           /* we have to set this here, although it is also
15552              handled in the generic routine. The reason is,
15553 @@ -2221,6 +2222,7 @@
15554                  a single-line field */
15555               return(E_SYSTEM_ERROR);
15556             }
15557 +         wmove(form->w,form->currow,form->curcol);
15558           wclrtoeol(form->w);
15559           form->currow++;
15560           form->curcol = 0;
15561 @@ -2248,6 +2250,7 @@
15562           
15563           bp= Address_Of_Current_Position_In_Buffer(form);
15564           t = After_End_Of_Data(bp,field->dcols - form->curcol);
15565 +         wmove(form->w,form->currow,form->curcol);
15566           wclrtoeol(form->w);
15567           form->currow++;
15568           form->curcol=0;
15569 @@ -2338,6 +2341,7 @@
15570  +--------------------------------------------------------------------------*/
15571  static int FE_Delete_Character(FORM * form)
15572  {
15573 +  wmove(form->w,form->currow,form->curcol);
15574    wdelch(form->w);
15575    return E_OK;
15576  }
15577 @@ -2378,6 +2382,7 @@
15578        if ((int)(this_end-this_line) > 
15579           (field->cols-(int)(prev_end-prev_line))) 
15580         return E_REQUEST_DENIED;
15581 +      wmove(form->w,form->currow,form->curcol);
15582        wdeleteln(form->w);
15583        Adjust_Cursor_Position(form,prev_end);
15584        wmove(form->w,form->currow,form->curcol);
15585 @@ -2455,20 +2460,22 @@
15586  +--------------------------------------------------------------------------*/
15587  static int FE_Clear_To_End_Of_Line(FORM * form)
15588  {
15589 +  wmove(form->w,form->currow,form->curcol);
15590    wclrtoeol(form->w);
15591    return E_OK;
15592  }
15593  
15594  /*---------------------------------------------------------------------------
15595  |   Facility      :  libnform  
15596 -|   Function      :  static int FE_Clear_To_End_Of_Form(FORM * form)
15597 +|   Function      :  static int FE_Clear_To_End_Of_Field(FORM * form)
15598  |   
15599 -|   Description   :  Clear to end of form.
15600 +|   Description   :  Clear to end of field.
15601  |
15602  |   Return Values :  E_OK   - success
15603  +--------------------------------------------------------------------------*/
15604 -static int FE_Clear_To_End_Of_Form(FORM * form)
15605 +static int FE_Clear_To_End_Of_Field(FORM * form)
15606  {
15607 +  wmove(form->w,form->currow,form->curcol);
15608    wclrtobot(form->w);
15609    return E_OK;
15610  }
15611 @@ -3053,7 +3060,7 @@
15612  |                                           int (* const fct) (FORM *),
15613  |                                           FORM * form)
15614  |   
15615 -|   Description   :  Generic behaviour for changing the current field, the
15616 +|   Description   :  Generic behavior for changing the current field, the
15617  |                    field is left and a new field is entered. So the field
15618  |                    must be validated and the field init/term hooks must
15619  |                    be called.
15620 @@ -3366,7 +3373,7 @@
15621  |                                               int (* const fct) (FORM *),
15622  |                                               FORM * form)
15623  |   
15624 -|   Description   :  Generic behaviour for changing a page. This means
15625 +|   Description   :  Generic behavior for changing a page. This means
15626  |                    that the field is left and a new field is entered.
15627  |                    So the field must be validated and the field init/term
15628  |                    hooks must be called. Because also the page is changed,
15629 @@ -3598,7 +3605,7 @@
15630    { REQ_DEL_LINE     |ID_FE  ,FE_Delete_Line},
15631    { REQ_DEL_WORD     |ID_FE  ,FE_Delete_Word},
15632    { REQ_CLR_EOL      |ID_FE  ,FE_Clear_To_End_Of_Line},
15633 -  { REQ_CLR_EOF      |ID_FE  ,FE_Clear_To_End_Of_Form},
15634 +  { REQ_CLR_EOF      |ID_FE  ,FE_Clear_To_End_Of_Field},
15635    { REQ_CLR_FIELD    |ID_FE  ,FE_Clear_Field},
15636    
15637    { REQ_OVL_MODE     |ID_EM  ,EM_Overlay_Mode},
15638 diff -urNd -urNd ncurses-5.3/include/MKkey_defs.sh ncurses-5.3.20030906.orig/include/MKkey_defs.sh
15639 --- ncurses-5.3/include/MKkey_defs.sh   Sat Sep 28 18:32:16 2002
15640 +++ ncurses-5.3.20030906.orig/include/MKkey_defs.sh     Tue May 13 20:08:22 2003
15641 @@ -1,7 +1,7 @@
15642  #! /bin/sh
15643 -# $Id: MKkey_defs.sh,v 1.10 2002/09/28 23:32:16 tom Exp $
15644 +# $Id: MKkey_defs.sh,v 1.11 2003/01/11 22:20:40 tom Exp $
15645  ##############################################################################
15646 -# Copyright (c) 2001,2002 Free Software Foundation, Inc.                     #
15647 +# Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.                #
15648  #                                                                            #
15649  # Permission is hereby granted, free of charge, to any person obtaining a    #
15650  # copy of this software and associated documentation files (the "Software"), #
15651 @@ -49,10 +49,10 @@
15652  if sort -k 6 $DATA >$data 2>/dev/null
15653  then
15654         # POSIX
15655 -       sed -e 's/[     ]\+/    /g' < $DATA |sort -n -k 6 >$data
15656 +       sed -e 's/[     ][      ]*/     /g' < $DATA |sort -n -k 6 >$data
15657  else
15658         # SunOS (and SVr4, marked as obsolete but still recognized)
15659 -       sed -e 's/[     ]\+/    /g' < $DATA |sort -n +5 >$data
15660 +       sed -e 's/[     ][      ]*/     /g' < $DATA |sort -n +5 >$data
15661  fi
15662  
15663  # add keys that we generate automatically:
15664 diff -urNd -urNd ncurses-5.3/include/curses.h.in ncurses-5.3.20030906.orig/include/curses.h.in
15665 --- ncurses-5.3/include/curses.h.in     Sat Sep 28 10:08:06 2002
15666 +++ ncurses-5.3.20030906.orig/include/curses.h.in       Sun Jul 20 14:02:08 2003
15667 @@ -1,5 +1,5 @@
15668  /****************************************************************************
15669 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
15670 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
15671   *                                                                          *
15672   * Permission is hereby granted, free of charge, to any person obtaining a  *
15673   * copy of this software and associated documentation files (the            *
15674 @@ -32,7 +32,7 @@
15675   *     and: Thomas E. Dickey 1996-on                                        *
15676   ****************************************************************************/
15677  
15678 -/* $Id: curses.h.in,v 1.134 2002/09/28 15:08:06 tom Exp $ */
15679 +/* $Id: curses.h.in,v 1.145 2003/06/15 23:42:18 tom Exp $ */
15680  
15681  #ifndef __NCURSES_H
15682  #define __NCURSES_H
15683 @@ -125,7 +125,7 @@
15684  
15685  typedef @cf_cv_type_of_bool@ NCURSES_BOOL;
15686  
15687 -#if (!defined(__cplusplus) || !@cf_cv_builtin_bool@) && (!@cf_cv_cc_bool_type@)
15688 +#if @USE_CXX_BOOL@ /* !__cplusplus, etc. */
15689  
15690  #if @cf_cv_header_stdbool_h@
15691  #include <stdbool.h>
15692 @@ -136,7 +136,7 @@
15693  #if @cf_cv_header_stdbool_h@
15694  #define bool NCURSES_BOOL
15695  #else
15696 -typedef @cf_cv_type_of_bool@ bool;
15697 +typedef NCURSES_BOOL bool;
15698  #endif
15699  
15700  #endif /* !__cplusplus, etc. */
15701 @@ -189,45 +189,47 @@
15702  extern NCURSES_EXPORT_VAR(chtype) acs_map[];
15703  #endif
15704  
15705 +#define NCURSES_ACS(c) (acs_map[(unsigned char)c])
15706 +
15707  /* VT100 symbols begin here */
15708 -#define ACS_ULCORNER   (acs_map['l'])  /* upper left corner */
15709 -#define ACS_LLCORNER   (acs_map['m'])  /* lower left corner */
15710 -#define ACS_URCORNER   (acs_map['k'])  /* upper right corner */
15711 -#define ACS_LRCORNER   (acs_map['j'])  /* lower right corner */
15712 -#define ACS_LTEE       (acs_map['t'])  /* tee pointing right */
15713 -#define ACS_RTEE       (acs_map['u'])  /* tee pointing left */
15714 -#define ACS_BTEE       (acs_map['v'])  /* tee pointing up */
15715 -#define ACS_TTEE       (acs_map['w'])  /* tee pointing down */
15716 -#define ACS_HLINE      (acs_map['q'])  /* horizontal line */
15717 -#define ACS_VLINE      (acs_map['x'])  /* vertical line */
15718 -#define ACS_PLUS       (acs_map['n'])  /* large plus or crossover */
15719 -#define ACS_S1         (acs_map['o'])  /* scan line 1 */
15720 -#define ACS_S9         (acs_map['s'])  /* scan line 9 */
15721 -#define ACS_DIAMOND    (acs_map['`'])  /* diamond */
15722 -#define ACS_CKBOARD    (acs_map['a'])  /* checker board (stipple) */
15723 -#define ACS_DEGREE     (acs_map['f'])  /* degree symbol */
15724 -#define ACS_PLMINUS    (acs_map['g'])  /* plus/minus */
15725 -#define ACS_BULLET     (acs_map['~'])  /* bullet */
15726 +#define ACS_ULCORNER   NCURSES_ACS('l') /* upper left corner */
15727 +#define ACS_LLCORNER   NCURSES_ACS('m') /* lower left corner */
15728 +#define ACS_URCORNER   NCURSES_ACS('k') /* upper right corner */
15729 +#define ACS_LRCORNER   NCURSES_ACS('j') /* lower right corner */
15730 +#define ACS_LTEE       NCURSES_ACS('t') /* tee pointing right */
15731 +#define ACS_RTEE       NCURSES_ACS('u') /* tee pointing left */
15732 +#define ACS_BTEE       NCURSES_ACS('v') /* tee pointing up */
15733 +#define ACS_TTEE       NCURSES_ACS('w') /* tee pointing down */
15734 +#define ACS_HLINE      NCURSES_ACS('q') /* horizontal line */
15735 +#define ACS_VLINE      NCURSES_ACS('x') /* vertical line */
15736 +#define ACS_PLUS       NCURSES_ACS('n') /* large plus or crossover */
15737 +#define ACS_S1         NCURSES_ACS('o') /* scan line 1 */
15738 +#define ACS_S9         NCURSES_ACS('s') /* scan line 9 */
15739 +#define ACS_DIAMOND    NCURSES_ACS('`') /* diamond */
15740 +#define ACS_CKBOARD    NCURSES_ACS('a') /* checker board (stipple) */
15741 +#define ACS_DEGREE     NCURSES_ACS('f') /* degree symbol */
15742 +#define ACS_PLMINUS    NCURSES_ACS('g') /* plus/minus */
15743 +#define ACS_BULLET     NCURSES_ACS('~') /* bullet */
15744  /* Teletype 5410v1 symbols begin here */
15745 -#define ACS_LARROW     (acs_map[','])  /* arrow pointing left */
15746 -#define ACS_RARROW     (acs_map['+'])  /* arrow pointing right */
15747 -#define ACS_DARROW     (acs_map['.'])  /* arrow pointing down */
15748 -#define ACS_UARROW     (acs_map['-'])  /* arrow pointing up */
15749 -#define ACS_BOARD      (acs_map['h'])  /* board of squares */
15750 -#define ACS_LANTERN    (acs_map['i'])  /* lantern symbol */
15751 -#define ACS_BLOCK      (acs_map['0'])  /* solid square block */
15752 +#define ACS_LARROW     NCURSES_ACS(',') /* arrow pointing left */
15753 +#define ACS_RARROW     NCURSES_ACS('+') /* arrow pointing right */
15754 +#define ACS_DARROW     NCURSES_ACS('.') /* arrow pointing down */
15755 +#define ACS_UARROW     NCURSES_ACS('-') /* arrow pointing up */
15756 +#define ACS_BOARD      NCURSES_ACS('h') /* board of squares */
15757 +#define ACS_LANTERN    NCURSES_ACS('i') /* lantern symbol */
15758 +#define ACS_BLOCK      NCURSES_ACS('0') /* solid square block */
15759  /*
15760   * These aren't documented, but a lot of System Vs have them anyway
15761   * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings).
15762   * The ACS_names may not match AT&T's, our source didn't know them.
15763   */
15764 -#define ACS_S3         (acs_map['p'])  /* scan line 3 */
15765 -#define ACS_S7         (acs_map['r'])  /* scan line 7 */
15766 -#define ACS_LEQUAL     (acs_map['y'])  /* less/equal */
15767 -#define ACS_GEQUAL     (acs_map['z'])  /* greater/equal */
15768 -#define ACS_PI         (acs_map['{'])  /* Pi */
15769 -#define ACS_NEQUAL     (acs_map['|'])  /* not equal */
15770 -#define ACS_STERLING   (acs_map['}'])  /* UK pound sign */
15771 +#define ACS_S3         NCURSES_ACS('p') /* scan line 3 */
15772 +#define ACS_S7         NCURSES_ACS('r') /* scan line 7 */
15773 +#define ACS_LEQUAL     NCURSES_ACS('y') /* less/equal */
15774 +#define ACS_GEQUAL     NCURSES_ACS('z') /* greater/equal */
15775 +#define ACS_PI         NCURSES_ACS('{') /* Pi */
15776 +#define ACS_NEQUAL     NCURSES_ACS('|') /* not equal */
15777 +#define ACS_STERLING   NCURSES_ACS('}') /* UK pound sign */
15778  
15779  /*
15780   * Line drawing ACS names are of the form ACS_trbl, where t is the top, r
15781 @@ -286,20 +288,19 @@
15782  #undef mblen
15783  #endif
15784  #include <libutf8.h>
15785 -#define _WCHAR_T
15786 -#define _WINT_T
15787  #endif
15788  
15789 -#if @NCURSES_MBSTATE_T@
15790 +#if @NEED_WCHAR_H@
15791  #include <wchar.h>             /* ...to get mbstate_t, etc. */
15792  #endif
15793  
15794 -#ifndef _WCHAR_T
15795 -typedef unsigned long wchar_t;
15796 -#endif /* _WCHAR_T */
15797 -#ifndef _WINT_T
15798 -typedef long int wint_t;
15799 -#endif /* _WINT_T */
15800 +#if @NCURSES_WCHAR_T@
15801 +typedef unsigned short wchar_t@NCURSES_OK_WCHAR_T@;
15802 +#endif
15803 +
15804 +#if @NCURSES_WINT_T@
15805 +typedef unsigned int wint_t@NCURSES_OK_WCHAR_T@;
15806 +#endif
15807  
15808  #define CCHARW_MAX     5
15809  typedef struct
15810 @@ -388,7 +389,8 @@
15811  extern NCURSES_EXPORT(char *) keybound (int, int);
15812  extern NCURSES_EXPORT(const char *) curses_version (void);
15813  extern NCURSES_EXPORT(int) assume_default_colors (int, int);
15814 -extern NCURSES_EXPORT(int) define_key (char *, int);
15815 +extern NCURSES_EXPORT(int) define_key (const char *, int);
15816 +extern NCURSES_EXPORT(int) key_defined (const char *);
15817  extern NCURSES_EXPORT(int) keyok (int, bool);
15818  extern NCURSES_EXPORT(int) resize_term (int, int);
15819  extern NCURSES_EXPORT(int) resizeterm (int, int);
15820 @@ -451,24 +453,14 @@
15821   * GCC (and some other compilers) define '__attribute__'; we're using this
15822   * macro to alert the compiler to flag inconsistencies in printf/scanf-like
15823   * function calls.  Just in case '__attribute__' isn't defined, make a dummy.
15824 - * G++ doesn't accept it anyway.
15825 + * Old versions of G++ do not accept it anyway, at least not consistently with
15826 + * GCC.
15827   */
15828 -#if !defined(__GNUC__) && !defined(__attribute__)
15829 +#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__))
15830  #define __attribute__(p) /* nothing */
15831  #endif
15832  
15833  /*
15834 - * For g++, turn off our macros that use __attribute__ (g++ recognizes some
15835 - * of them, but not at the same version levels as gcc).
15836 - */
15837 -#ifdef __cplusplus
15838 -#undef GCC_NORETURN
15839 -#undef GCC_PRINTF
15840 -#undef GCC_SCANF
15841 -#undef GCC_UNUSED
15842 -#endif
15843 -
15844 -/*
15845   * We cannot define these in ncurses_cfg.h, since they require parameters to be
15846   * passed (that's non-portable).
15847   */
15848 @@ -609,7 +601,7 @@
15849  extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int);    /* generated */
15850  extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *);          /* generated */
15851  extern NCURSES_EXPORT(int) mvinstr (int, int, char *);                 /* generated */
15852 -extern NCURSES_EXPORT(int) mvprintw (int,int, NCURSES_CONST char *,...)        /* implemented */
15853 +extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...)                /* implemented */
15854                 GCC_PRINTFLIKE(3,4);
15855  extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...) /* implemented */
15856                 GCC_SCANFLIKE(3,4);
15857 @@ -634,7 +626,7 @@
15858  extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int); /* generated */
15859  extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *);               /* generated */
15860  extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *);              /* generated */
15861 -extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, NCURSES_CONST char *,...)       /* implemented */
15862 +extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...)       /* implemented */
15863                 GCC_PRINTFLIKE(4,5);
15864  extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...)       /* implemented */
15865                 GCC_SCANFLIKE(4,5);
15866 @@ -658,7 +650,7 @@
15867  extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype);         /* implemented */
15868  extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */
15869  extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int);        /* implemented */
15870 -extern NCURSES_EXPORT(int) printw (NCURSES_CONST char *,...)           /* implemented */
15871 +extern NCURSES_EXPORT(int) printw (const char *,...)                   /* implemented */
15872                 GCC_PRINTFLIKE(1,2);
15873  extern NCURSES_EXPORT(int) putp (const char *);                                /* implemented */
15874  extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *);                  /* implemented */
15875 @@ -720,8 +712,8 @@
15876  extern NCURSES_EXPORT(int) vidattr (chtype);                           /* implemented */
15877  extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int));             /* implemented */
15878  extern NCURSES_EXPORT(int) vline (chtype, int);                                /* generated */
15879 -extern NCURSES_EXPORT(int) vwprintw (WINDOW *, NCURSES_CONST char *,va_list);  /* implemented */
15880 -extern NCURSES_EXPORT(int) vw_printw (WINDOW *, NCURSES_CONST char *,va_list); /* generated */
15881 +extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list);  /* implemented */
15882 +extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */
15883  extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list);   /* implemented */
15884  extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list);  /* generated */
15885  extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype);            /* implemented */
15886 @@ -765,7 +757,7 @@
15887  extern NCURSES_EXPORT(int) winstr (WINDOW *, char *);                  /* generated */
15888  extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int);                   /* implemented */
15889  extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *);                    /* implemented */
15890 -extern NCURSES_EXPORT(int) wprintw (WINDOW *, NCURSES_CONST char *,...)        /* implemented */
15891 +extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...)                /* implemented */
15892                 GCC_PRINTFLIKE(2,3);
15893  extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int);               /* implemented */
15894  extern NCURSES_EXPORT(int) wrefresh (WINDOW *);                                /* implemented */
15895 @@ -831,10 +823,11 @@
15896  #define nocrmode()             nocbreak()
15897  #define gettmode()
15898  
15899 -#define getyx(win,y,x)         (y = (win)?(win)->_cury:ERR, x = (win)?(win)->_curx:ERR)
15900 -#define getbegyx(win,y,x)      (y = (win)?(win)->_begy:ERR, x = (win)?(win)->_begx:ERR)
15901 -#define getmaxyx(win,y,x)      (y = (win)?((win)->_maxy + 1):ERR, x = (win)?((win)->_maxx + 1):ERR)
15902 -#define getparyx(win,y,x)      (y = (win)?(win)->_pary:ERR, x = (win)?(win)->_parx:ERR)
15903 +#define getyx(win,y,x)         (y = getcury(win), x = getcurx(win))
15904 +#define getbegyx(win,y,x)      (y = getbegy(win), x = getbegx(win))
15905 +#define getmaxyx(win,y,x)      (y = getmaxy(win), x = getmaxx(win))
15906 +#define getparyx(win,y,x)      (y = getpary(win), x = getparx(win))
15907 +
15908  #define getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \
15909                          else getyx(newscr,(y),(x)); \
15910                     } while(0)
15911 diff -urNd -urNd ncurses-5.3/include/curses.tail ncurses-5.3.20030906.orig/include/curses.tail
15912 --- ncurses-5.3/include/curses.tail     Sat Oct 12 10:46:02 2002
15913 +++ ncurses-5.3.20030906.orig/include/curses.tail       Tue May 13 20:08:22 2003
15914 @@ -1,4 +1,4 @@
15915 -/* $Id: curses.tail,v 1.7 2002/10/12 15:46:02 tom Exp $ */
15916 +/* $Id: curses.tail,v 1.8 2002/11/02 20:26:26 tom Exp $ */
15917  
15918  /* mouse interface */
15919  #define NCURSES_MOUSE_VERSION  1
15920 @@ -121,10 +121,6 @@
15921  #define OPTIMIZE_ALL           0xff    /* enable all optimizations (dflt) */
15922  #endif
15923  
15924 -#ifndef NCURSES_WGETCH_EVENTS
15925 -#undef KEY_EVENT
15926 -#endif
15927 -
15928  #ifdef __cplusplus
15929  
15930  /* these names conflict with STL */
15931 diff -urNd -urNd ncurses-5.3/include/curses.wide ncurses-5.3.20030906.orig/include/curses.wide
15932 --- ncurses-5.3/include/curses.wide     Sat Aug 31 12:48:53 2002
15933 +++ ncurses-5.3.20030906.orig/include/curses.wide       Sun Jul 20 14:02:08 2003
15934 @@ -1,21 +1,23 @@
15935  
15936  #ifdef _XOPEN_SOURCE_EXTENDED
15937  
15938 -/* $Id: curses.wide,v 1.25 2002/08/31 17:48:53 tom Exp $ */
15939 +/* $Id: curses.wide,v 1.27 2003/06/07 21:59:37 tom Exp $ */
15940  
15941  extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
15942  
15943 -#define WACS_BSSB      (&_nc_wacs['l'])
15944 -#define WACS_SSBB      (&_nc_wacs['m'])
15945 -#define WACS_BBSS      (&_nc_wacs['k'])
15946 -#define WACS_SBBS      (&_nc_wacs['j'])
15947 -#define WACS_SBSS      (&_nc_wacs['u'])
15948 -#define WACS_SSSB      (&_nc_wacs['t'])
15949 -#define WACS_SSBS      (&_nc_wacs['v'])
15950 -#define WACS_BSSS      (&_nc_wacs['w'])
15951 -#define WACS_BSBS      (&_nc_wacs['q'])
15952 -#define WACS_SBSB      (&_nc_wacs['x'])
15953 -#define WACS_SSSS      (&_nc_wacs['n'])
15954 +#define NCURSES_WACS(c)        (&_nc_wacs[(unsigned char)c])
15955 +
15956 +#define WACS_BSSB      NCURSES_WACS('l')
15957 +#define WACS_SSBB      NCURSES_WACS('m')
15958 +#define WACS_BBSS      NCURSES_WACS('k')
15959 +#define WACS_SBBS      NCURSES_WACS('j')
15960 +#define WACS_SBSS      NCURSES_WACS('u')
15961 +#define WACS_SSSB      NCURSES_WACS('t')
15962 +#define WACS_SSBS      NCURSES_WACS('v')
15963 +#define WACS_BSSS      NCURSES_WACS('w')
15964 +#define WACS_BSBS      NCURSES_WACS('q')
15965 +#define WACS_SBSB      NCURSES_WACS('x')
15966 +#define WACS_SSSS      NCURSES_WACS('n')
15967  
15968  #define WACS_ULCORNER  WACS_BSSB
15969  #define WACS_LLCORNER  WACS_SSBB
15970 @@ -29,31 +31,31 @@
15971  #define WACS_VLINE     WACS_SBSB
15972  #define WACS_PLUS      WACS_SSSS
15973  
15974 -#define WACS_S1                (&_nc_wacs['o']) /* scan line 1 */
15975 -#define WACS_S9        (&_nc_wacs['s']) /* scan line 9 */
15976 -#define WACS_DIAMOND   (&_nc_wacs['`']) /* diamond */
15977 -#define WACS_CKBOARD   (&_nc_wacs['a']) /* checker board */
15978 -#define WACS_DEGREE    (&_nc_wacs['f']) /* degree symbol */
15979 -#define WACS_PLMINUS   (&_nc_wacs['g']) /* plus/minus */
15980 -#define WACS_BULLET    (&_nc_wacs['~']) /* bullet */
15981 +#define WACS_S1                NCURSES_WACS('o') /* scan line 1 */
15982 +#define WACS_S9        NCURSES_WACS('s') /* scan line 9 */
15983 +#define WACS_DIAMOND   NCURSES_WACS('`') /* diamond */
15984 +#define WACS_CKBOARD   NCURSES_WACS('a') /* checker board */
15985 +#define WACS_DEGREE    NCURSES_WACS('f') /* degree symbol */
15986 +#define WACS_PLMINUS   NCURSES_WACS('g') /* plus/minus */
15987 +#define WACS_BULLET    NCURSES_WACS('~') /* bullet */
15988  
15989         /* Teletype 5410v1 symbols */
15990 -#define WACS_LARROW    (&_nc_wacs[',']) /* arrow left */
15991 -#define WACS_RARROW    (&_nc_wacs['+']) /* arrow right */
15992 -#define WACS_DARROW    (&_nc_wacs['.']) /* arrow down */
15993 -#define WACS_UARROW    (&_nc_wacs['-']) /* arrow up */
15994 -#define WACS_BOARD     (&_nc_wacs['h']) /* board of squares */
15995 -#define WACS_LANTERN   (&_nc_wacs['i']) /* lantern symbol */
15996 -#define WACS_BLOCK     (&_nc_wacs['0']) /* solid square block */
15997 +#define WACS_LARROW    NCURSES_WACS(',') /* arrow left */
15998 +#define WACS_RARROW    NCURSES_WACS('+') /* arrow right */
15999 +#define WACS_DARROW    NCURSES_WACS('.') /* arrow down */
16000 +#define WACS_UARROW    NCURSES_WACS('-') /* arrow up */
16001 +#define WACS_BOARD     NCURSES_WACS('h') /* board of squares */
16002 +#define WACS_LANTERN   NCURSES_WACS('i') /* lantern symbol */
16003 +#define WACS_BLOCK     NCURSES_WACS('0') /* solid square block */
16004  
16005         /* ncurses extensions */
16006 -#define WACS_S3                (&_nc_wacs['p']) /* scan line 3 */
16007 -#define WACS_S7                (&_nc_wacs['r']) /* scan line 7 */
16008 -#define WACS_LEQUAL    (&_nc_wacs['y']) /* less/equal */
16009 -#define WACS_GEQUAL    (&_nc_wacs['z']) /* greater/equal */
16010 -#define WACS_PI                (&_nc_wacs['{']) /* Pi */
16011 -#define WACS_NEQUAL    (&_nc_wacs['|']) /* not equal */
16012 -#define WACS_STERLING  (&_nc_wacs['}']) /* UK pound sign */
16013 +#define WACS_S3                NCURSES_WACS('p') /* scan line 3 */
16014 +#define WACS_S7                NCURSES_WACS('r') /* scan line 7 */
16015 +#define WACS_LEQUAL    NCURSES_WACS('y') /* less/equal */
16016 +#define WACS_GEQUAL    NCURSES_WACS('z') /* greater/equal */
16017 +#define WACS_PI                NCURSES_WACS('{') /* Pi */
16018 +#define WACS_NEQUAL    NCURSES_WACS('|') /* not equal */
16019 +#define WACS_STERLING  NCURSES_WACS('}') /* UK pound sign */
16020  
16021  /*
16022   * Function prototypes for wide-character operations.
16023 @@ -129,7 +131,7 @@
16024  extern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */
16025  extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *);    /* missing */
16026  extern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, short, const void *);   /* implemented */
16027 -extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int);       /* missing */
16028 +extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int);       /* implemented */
16029  extern NCURSES_EXPORT(attr_t) term_attrs (void);                       /* implemented */
16030  extern NCURSES_EXPORT(int) unget_wch (const wchar_t);                  /* implemented */
16031  extern NCURSES_EXPORT(int) vid_attr (attr_t, short, void *);           /* implemented */
16032 diff -urNd -urNd ncurses-5.3/include/ncurses_defs ncurses-5.3.20030906.orig/include/ncurses_defs
16033 --- ncurses-5.3/include/ncurses_defs    Sat Aug 24 18:13:43 2002
16034 +++ ncurses-5.3.20030906.orig/include/ncurses_defs      Sun Jul 20 14:02:09 2003
16035 @@ -1,6 +1,6 @@
16036 -# $Id: ncurses_defs,v 1.15 2002/08/24 23:13:43 tom Exp $
16037 +# $Id: ncurses_defs,v 1.18 2003/07/05 15:14:30 tom Exp $
16038  ##############################################################################
16039 -# Copyright (c) 2000-2001,2002 Free Software Foundation, Inc.                #
16040 +# Copyright (c) 2000-2002,2003 Free Software Foundation, Inc.                #
16041  #                                                                            #
16042  # Permission is hereby granted, free of charge, to any person obtaining a    #
16043  # copy of this software and associated documentation files (the "Software"), #
16044 @@ -45,6 +45,7 @@
16045  GCC_UNUSED     /* nothing */
16046  HAVE_BIG_CORE
16047  HAVE_BSD_CGETENT
16048 +HAVE_BTOWC 
16049  HAVE_BUILTIN_H
16050  HAVE_DIRENT_H
16051  HAVE_ERRNO
16052 @@ -72,6 +73,7 @@
16053  HAVE_LINK
16054  HAVE_LOCALE_H
16055  HAVE_LONG_FILE_NAMES
16056 +HAVE_MBTOWC
16057  HAVE_MEMCCPY
16058  HAVE_MENU_H
16059  HAVE_MKSTEMP
16060 @@ -81,6 +83,7 @@
16061  HAVE_POLL
16062  HAVE_POLL_H
16063  HAVE_PURIFY
16064 +HAVE_PUTWC 
16065  HAVE_REGEXPR_H_FUNCS
16066  HAVE_REGEXP_H_FUNCS
16067  HAVE_REGEX_H_FUNCS
16068 @@ -93,6 +96,7 @@
16069  HAVE_SIGACTION
16070  HAVE_SIGVEC
16071  HAVE_SIZECHANGE
16072 +HAVE_SLK_COLOR
16073  HAVE_STRDUP
16074  HAVE_STRSTR
16075  HAVE_SYMLINK
16076 @@ -121,6 +125,8 @@
16077  HAVE_VFSCANF
16078  HAVE_VSNPRINTF
16079  HAVE_VSSCANF
16080 +HAVE_WCTOB 
16081 +HAVE_WCTOMB
16082  HAVE_WORKING_POLL
16083  HAVE_WRESIZE
16084  HAVE__DOSCAN
16085 @@ -160,6 +166,7 @@
16086  USE_STRSTREAM_VSCAN
16087  USE_STRSTREAM_VSCAN_CAST
16088  USE_SYMLINKS
16089 +USE_SYSMOUSE
16090  USE_TERMCAP
16091  USE_WIDEC_SUPPORT
16092  USE_XMC_SUPPORT
16093 diff -urNd -urNd ncurses-5.3/include/ncurses_dll.h ncurses-5.3.20030906.orig/include/ncurses_dll.h
16094 --- ncurses-5.3/include/ncurses_dll.h   Sat Dec  8 19:36:34 2001
16095 +++ ncurses-5.3.20030906.orig/include/ncurses_dll.h     Sun Jul 20 14:02:09 2003
16096 @@ -1,10 +1,14 @@
16097 -/* $Id: ncurses_dll.h,v 1.2 2001/12/09 01:36:34 tom Exp $ */
16098 +/* $Id: ncurses_dll.h,v 1.4 2003/07/19 18:44:32 Charles.Wilson Exp $ */
16099  
16100  #ifndef NCURSES_DLL_H_incl
16101  #define NCURSES_DLL_H_incl 1
16102  
16103 -#undef NCURSES_DLL     /* cygwin dll not implemented */
16104 -#define NCURSES_STATIC /* cygwin dll not implemented */
16105 +/* no longer needed on cygwin or mingw, thanks to auto-import       */
16106 +/* but this structure may be useful at some point for an MSVC build */
16107 +/* so, for now unconditionally define the important flags           */
16108 +/* "the right way" for proper static and dll+auto-import behavior   */
16109 +#undef NCURSES_DLL
16110 +#define NCURSES_STATIC
16111  
16112  #if defined(__CYGWIN__)
16113  #  if defined(NCURSES_DLL)
16114 @@ -14,8 +18,8 @@
16115  #  endif
16116  #  undef NCURSES_IMPEXP
16117  #  undef NCURSES_API
16118 -#  undef NCURSES_EXPORT(type)
16119 -#  undef NCURSES_EXPORT_VAR(type)
16120 +#  undef NCURSES_EXPORT
16121 +#  undef NCURSES_EXPORT_VAR
16122  #  if defined(NCURSES_DLL)
16123  /* building a DLL */
16124  #    define NCURSES_IMPEXP __declspec(dllexport)
16125 diff -urNd -urNd ncurses-5.3/include/tic.h ncurses-5.3.20030906.orig/include/tic.h
16126 --- ncurses-5.3/include/tic.h   Sat Oct 12 10:46:15 2002
16127 +++ ncurses-5.3.20030906.orig/include/tic.h     Fri Sep 12 16:41:41 2003
16128 @@ -1,5 +1,5 @@
16129  /****************************************************************************
16130 - * Copyright (c) 1998-2000,2001 Free Software Foundation, Inc.              *
16131 + * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
16132   *                                                                          *
16133   * Permission is hereby granted, free of charge, to any person obtaining a  *
16134   * copy of this software and associated documentation files (the            *
16135 @@ -32,7 +32,7 @@
16136   ****************************************************************************/
16137  
16138  /*
16139 - * $Id: tic.h,v 1.42 2002/10/12 15:46:15 tom Exp $
16140 + * $Id: tic.h,v 1.45 2003/08/02 23:54:19 tom Exp $
16141   *     tic.h - Global variables and structures for the terminfo
16142   *                     compiler.
16143   */
16144 @@ -203,8 +203,6 @@
16145         const char      *source;
16146  };
16147  
16148 -extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
16149 -
16150  extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[];
16151  extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[];
16152  
16153 @@ -217,7 +215,7 @@
16154  #define NOTFOUND       ((struct name_table_entry *) 0)
16155  
16156  /* out-of-band values for representing absent capabilities */
16157 -#define ABSENT_BOOLEAN         (-1)            /* 255 */
16158 +#define ABSENT_BOOLEAN         (char)(-1)      /* 255 */
16159  #define ABSENT_NUMERIC         (-1)
16160  #define ABSENT_STRING          (char *)0
16161  
16162 @@ -241,6 +239,7 @@
16163  #endif
16164  
16165  /* access.c */
16166 +extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *);
16167  extern NCURSES_EXPORT(char *) _nc_basename (char *);
16168  extern NCURSES_EXPORT(char *) _nc_rootname (char *);
16169  
16170 @@ -284,6 +283,13 @@
16171  extern NCURSES_EXPORT(char *) _nc_captoinfo (const char *, const char *, int const);
16172  extern NCURSES_EXPORT(char *) _nc_infotocap (const char *, const char *, int const);
16173  
16174 +/* lib_tparm.c */
16175 +#define NUM_PARM 9
16176 +
16177 +extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
16178 +
16179 +extern NCURSES_EXPORT(int) _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount);
16180 +
16181  /* lib_tputs.c */
16182  extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent;         /* Add one for every null sent */
16183  
16184 diff -urNd -urNd ncurses-5.3/man/MKterminfo.sh ncurses-5.3.20030906.orig/man/MKterminfo.sh
16185 --- ncurses-5.3/man/MKterminfo.sh       Sat Jun 29 15:04:28 2002
16186 +++ ncurses-5.3.20030906.orig/man/MKterminfo.sh Tue May 13 20:08:22 2003
16187 @@ -1,10 +1,10 @@
16188  #!/bin/sh
16189 -# $Id: MKterminfo.sh,v 1.10 2002/06/29 20:04:28 tom Exp $
16190 +# $Id: MKterminfo.sh,v 1.12 2003/01/11 21:42:12 tom Exp $
16191  #
16192  # MKterminfo.sh -- generate terminfo.5 from Caps tabular data
16193  #
16194  #***************************************************************************
16195 -# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
16196 +# Copyright (c) 1998,2002,2003 Free Software Foundation, Inc.              *
16197  #                                                                          *
16198  # Permission is hereby granted, free of charge, to any person obtaining a  *
16199  # copy of this software and associated documentation files (the            *
16200 @@ -69,11 +69,11 @@
16201  
16202  sed -n <$caps "\
16203  /%%-STOP-HERE-%%/q
16204 -/^#%/s///p
16205 +/^#%/s/#%//p
16206  /^#/d
16207 -s/[    ]\+/    /g
16208 +s/[    ][      ]*/     /g
16209  s/$/\ 5T}/
16210 -s/     [A-Z0-9_()\-]\+ [0-9\-]\+       [Y\-][B\-][C\-][G\-][EK\-]\**   /       T{\ 5/
16211 +s/     [A-Z0-9_()\-][A-Z0-9_()\-]*     [0-9\-][0-9\-]* [Y\-][B\-][C\-][G\-][EK\-]\**   /       T{\ 5/
16212  s/     bool    /       /p
16213  s/     num     /       /p
16214  s/     str     /       /p
16215 diff -urNd -urNd ncurses-5.3/man/captoinfo.1m ncurses-5.3.20030906.orig/man/captoinfo.1m
16216 --- ncurses-5.3/man/captoinfo.1m        Sat Aug 12 20:56:49 2000
16217 +++ ncurses-5.3.20030906.orig/man/captoinfo.1m  Tue May 13 20:08:22 2003
16218 @@ -1,6 +1,6 @@
16219  '\" t
16220  .\"***************************************************************************
16221 -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
16222 +.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
16223  .\"                                                                          *
16224  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16225  .\" copy of this software and associated documentation files (the            *
16226 @@ -27,14 +27,14 @@
16227  .\" authorization.                                                           *
16228  .\"***************************************************************************
16229  .\"
16230 -.\" $Id: captoinfo.1m,v 1.16 2000/08/13 01:56:49 tom Exp $
16231 +.\" $Id: captoinfo.1m,v 1.17 2003/05/11 00:32:53 tom Exp $
16232  .TH captoinfo 1M ""
16233  .ds n 5
16234  .ds d @TERMINFO@
16235  .SH NAME
16236  \fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
16237  .SH SYNOPSIS
16238 -\fBcaptoinfo\fR [\fB-v\fR\fIn\fR \fIwidth\fR]  [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
16239 +\fBcaptoinfo\fR [\fB\-v\fR\fIn\fR \fIwidth\fR]  [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR . . .
16240  .SH DESCRIPTION
16241  \fBcaptoinfo\fR looks in \fIfile\fR for \fBtermcap\fR descriptions.  For each
16242  one found, an equivalent \fBterminfo\fR description is written to standard
16243 @@ -47,18 +47,18 @@
16244  extracted from that file.  If the environment variable \fBTERMCAP\fR is not
16245  set, then the file \fB\*d\fR is read.
16246  .TP 5
16247 -\fB-v\fR
16248 +\fB\-v\fR
16249  print out tracing information on standard error as the program runs.
16250  .TP 5
16251 -\fB-V\fR
16252 +\fB\-V\fR
16253  print out the version of the program in use on standard error and exit.
16254  .TP 5
16255 -\fB-1\fR
16256 +\fB\-1\fR
16257  cause the fields to print out one to a line.  Otherwise, the fields
16258  will be printed several to a line to a maximum width of 60
16259  characters.
16260  .TP 5
16261 -\fB-w\fR
16262 +\fB\-w\fR
16263  change the output to \fIwidth\fR characters.
16264  .SH FILES
16265  .TP 20
16266 @@ -172,11 +172,11 @@
16267  capabilities \fBmeml\fR (memory lock) and \fBmemu\fR (memory unlock).
16268  These will be discarded with a warning message.
16269  .SH NOTES
16270 -This utility is actually a link to \fItic\fR(1M), running in \fI-I\fR mode.
16271 -You can use other \fItic\fR options such as \fB-f\fR and  \fB-x\fR.
16272 +This utility is actually a link to \fItic\fR(1M), running in \fI\-I\fR mode.
16273 +You can use other \fItic\fR options such as \fB\-f\fR and  \fB\-x\fR.
16274  
16275  The trace option isn't identical to SVr4's.  Under SVr4, instead of following
16276 -the -v with a trace level n, you repeat it n times.
16277 +the \fB\-v\fR with a trace level n, you repeat it n times.
16278  .SH SEE ALSO
16279  \fBcurses\fR(3X), \fB@INFOCMP@\fR(1M), \fBterminfo\fR(\*n)
16280  .SH AUTHOR
16281 diff -urNd -urNd ncurses-5.3/man/curs_addch.3x ncurses-5.3.20030906.orig/man/curs_addch.3x
16282 --- ncurses-5.3/man/curs_addch.3x       Sat Aug 10 17:12:36 2002
16283 +++ ncurses-5.3.20030906.orig/man/curs_addch.3x Tue May 13 20:08:22 2003
16284 @@ -1,6 +1,6 @@
16285  '\" t
16286  .\"***************************************************************************
16287 -.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
16288 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
16289  .\"                                                                          *
16290  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16291  .\" copy of this software and associated documentation files (the            *
16292 @@ -27,7 +27,7 @@
16293  .\" authorization.                                                           *
16294  .\"***************************************************************************
16295  .\"
16296 -.\" $Id: curs_addch.3x,v 1.20 2002/08/10 22:12:36 tom Exp $
16297 +.\" $Id: curs_addch.3x,v 1.21 2003/05/10 20:33:49 jmc Exp $
16298  .TH curs_addch 3X ""
16299  .SH NAME
16300  \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR,
16301 @@ -62,7 +62,7 @@
16302  edge of a window it does nothing.
16303  Newline does a \fBclrtoeol\fR,
16304  then moves the cursor to the window left margin on the next line,
16305 -scrolling the window if on the last line).
16306 +scrolling the window if on the last line.
16307  Tabs are considered to be at every eighth column.
16308  The tab interval may be altered by setting the \fBTABSIZE\fR variable.
16309  
16310 @@ -74,7 +74,7 @@
16311  Video attributes can be combined with a character argument passed to
16312  \fBaddch\fR or related functions by logical-ORing them into the character.
16313  (Thus, text, including attributes, can be copied from one place to another
16314 -using \fBinch\fR and \fBaddch\fR.).  See the \fBcurs_attr\fR(3X) page for
16315 +using \fBinch\fR and \fBaddch\fR.)  See the \fBcurs_attr\fR(3X) page for
16316  values of predefined video attribute constants that can be usefully OR'ed
16317  into characters.
16318  
16319 diff -urNd -urNd ncurses-5.3/man/curs_beep.3x ncurses-5.3.20030906.orig/man/curs_beep.3x
16320 --- ncurses-5.3/man/curs_beep.3x        Wed Mar 11 15:12:53 1998
16321 +++ ncurses-5.3.20030906.orig/man/curs_beep.3x  Tue May 13 20:08:22 2003
16322 @@ -1,5 +1,5 @@
16323  .\"***************************************************************************
16324 -.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
16325 +.\" Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
16326  .\"                                                                          *
16327  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16328  .\" copy of this software and associated documentation files (the            *
16329 @@ -26,7 +26,7 @@
16330  .\" authorization.                                                           *
16331  .\"***************************************************************************
16332  .\"
16333 -.\" $Id: curs_beep.3x,v 1.7 1998/03/11 21:12:53 juergen Exp $
16334 +.\" $Id: curs_beep.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
16335  .TH curs_beep 3X ""
16336  .SH NAME
16337  \fBbeep\fR, \fBflash\fR - \fBcurses\fR bell and screen flash routines
16338 @@ -45,7 +45,7 @@
16339  alert is possible, nothing happens.  Nearly all terminals have an audible alert
16340  (bell or beep), but only some can flash the screen.
16341  .SH RETURN VALUE
16342 -These routines return \fBOK\fR if they succeed in beeping or flashing, 
16343 +These routines return \fBOK\fR if they succeed in beeping or flashing,
16344  \fBERR\fR otherwise.
16345  .SH EXTENSIONS
16346  SVr4's beep and flash routines always returned \fBOK\fR, so it was not
16347 diff -urNd -urNd ncurses-5.3/man/curs_deleteln.3x ncurses-5.3.20030906.orig/man/curs_deleteln.3x
16348 --- ncurses-5.3/man/curs_deleteln.3x    Sat Nov 11 14:43:20 2000
16349 +++ ncurses-5.3.20030906.orig/man/curs_deleteln.3x      Tue May 13 20:08:22 2003
16350 @@ -1,5 +1,5 @@
16351  .\"***************************************************************************
16352 -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
16353 +.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
16354  .\"                                                                          *
16355  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16356  .\" copy of this software and associated documentation files (the            *
16357 @@ -26,7 +26,7 @@
16358  .\" authorization.                                                           *
16359  .\"***************************************************************************
16360  .\"
16361 -.\" $Id: curs_deleteln.3x,v 1.7 2000/11/11 20:43:20 Bernhard.Rosenkraenzer Exp $
16362 +.\" $Id: curs_deleteln.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
16363  .TH curs_deleteln 3X ""
16364  .SH NAME
16365  \fBdeleteln\fR,
16366 @@ -61,7 +61,7 @@
16367  with the one under the cursor), and move the remaining lines up.  The bottom
16368  \fIn\fR lines are cleared.  The current cursor position remains the same.
16369  
16370 -The \fBinsertln\fR and \fBwinsertln\fR routines, insert a blank line above the
16371 +The \fBinsertln\fR and \fBwinsertln\fR routines insert a blank line above the
16372  current line and the bottom line is lost.
16373  .SH RETURN VALUE
16374  All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4
16375 diff -urNd -urNd ncurses-5.3/man/curs_extend.3x ncurses-5.3.20030906.orig/man/curs_extend.3x
16376 --- ncurses-5.3/man/curs_extend.3x      Sat Feb 16 16:39:04 2002
16377 +++ ncurses-5.3.20030906.orig/man/curs_extend.3x        Tue May 13 20:08:22 2003
16378 @@ -1,5 +1,5 @@
16379  .\"***************************************************************************
16380 -.\" Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
16381 +.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
16382  .\"                                                                          *
16383  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16384  .\" copy of this software and associated documentation files (the            *
16385 @@ -28,7 +28,7 @@
16386  .\"
16387  .\" Author: Thomas E. Dickey <dickey@clark.net> 1999
16388  .\"
16389 -.\" $Id: curs_extend.3x,v 1.9 2002/02/16 22:39:04 tom Exp $
16390 +.\" $Id: curs_extend.3x,v 1.11 2003/05/11 00:32:53 tom Exp $
16391  .TH curs_extend 3X ""
16392  .SH NAME
16393  \fBcurses_version\fP,
16394 @@ -55,11 +55,11 @@
16395  is able to use user-defined or nonstandard names
16396  which may be compiled into the terminfo
16397  description, i.e., via the terminfo or termcap interfaces.
16398 -Normally these names are available for use, since the essential descision
16399 -is made by using the \fB-x\fP option of \fItic\fP to compile
16400 +Normally these names are available for use, since the essential decision
16401 +is made by using the \fB\-x\fP option of \fItic\fP to compile
16402  extended terminal definitions.
16403  However you can disable this feature
16404 -to ensure compatiblity with other implementations of curses
16405 +to ensure compatiblity with other implementations of curses.
16406  .SH PORTABILITY
16407  These routines are specific to ncurses.  They were not supported on
16408  Version 7, BSD or System V implementations.  It is recommended that
16409 diff -urNd -urNd ncurses-5.3/man/curs_get_wch.3x ncurses-5.3.20030906.orig/man/curs_get_wch.3x
16410 --- ncurses-5.3/man/curs_get_wch.3x     Sat May 18 16:48:53 2002
16411 +++ ncurses-5.3.20030906.orig/man/curs_get_wch.3x       Tue May 13 20:08:22 2003
16412 @@ -1,5 +1,5 @@
16413  .\"***************************************************************************
16414 -.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
16415 +.\" Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
16416  .\"                                                                          *
16417  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16418  .\" copy of this software and associated documentation files (the            *
16419 @@ -26,7 +26,7 @@
16420  .\" authorization.                                                           *
16421  .\"***************************************************************************
16422  .\"
16423 -.\" $Id: curs_get_wch.3x,v 1.3 2002/05/18 21:48:53 tom Exp $
16424 +.\" $Id: curs_get_wch.3x,v 1.5 2003/05/10 20:33:49 jmc Exp $
16425  .TH curs_get_wch 3X ""
16426  .SH NAME
16427  \fBget_wch\fR,
16428 @@ -37,13 +37,13 @@
16429  .SH SYNOPSIS
16430  \fB#include <curses.h>\fR
16431  .sp
16432 -\fBint get_wch(win_t *\fR\fIwch\fR\fB);\fR
16433 +\fBint get_wch(wint_t *\fR\fIwch\fR\fB);\fR
16434  .br
16435 -\fBint wget_wch(WINDOW *\fR\fIwin\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
16436 +\fBint wget_wch(WINDOW *\fR\fIwin\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
16437  .br
16438 -\fBint mvget_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
16439 +\fBint mvget_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
16440  .br
16441 -\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
16442 +\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
16443  .br
16444  \fBint unget_wch(const wchar_t \fR\fIwch\fR\fB);\fR
16445  .SH DESCRIPTION
16446 @@ -130,7 +130,7 @@
16447  Depending on the state of the tty driver when each character
16448  is typed, the program may produce undesirable results.
16449  .PP
16450 -All functions except \fBwget_wch\fR and \fBunget_wch\fR 
16451 +All functions except \fBwget_wch\fR and \fBunget_wch\fR
16452  may be macros.
16453  .SH RETURN VALUES
16454  When
16455 diff -urNd -urNd ncurses-5.3/man/curs_get_wstr.3x ncurses-5.3.20030906.orig/man/curs_get_wstr.3x
16456 --- ncurses-5.3/man/curs_get_wstr.3x    Sat May 18 16:48:15 2002
16457 +++ ncurses-5.3.20030906.orig/man/curs_get_wstr.3x      Sun Jul 20 14:02:09 2003
16458 @@ -1,5 +1,5 @@
16459  .\"***************************************************************************
16460 -.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
16461 +.\" Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
16462  .\"                                                                          *
16463  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16464  .\" copy of this software and associated documentation files (the            *
16465 @@ -26,7 +26,7 @@
16466  .\" authorization.                                                           *
16467  .\"***************************************************************************
16468  .\"
16469 -.\" $Id: curs_get_wstr.3x,v 1.2 2002/05/18 21:48:15 tom Exp $
16470 +.\" $Id: curs_get_wstr.3x,v 1.3 2003/07/05 11:15:28 tom Exp $
16471  .TH curs_get_wstr 3X ""
16472  .SH NAME
16473  \fBget_wstr\fR,
16474 @@ -151,6 +151,9 @@
16475  In the latter case,
16476  an ERR return without other data is treated as an end-of-file condition,
16477  and the returned array contains a \fBWEOF\fR followed by a null \fBwchar_t\fR.
16478 +.PP
16479 +X/Open curses documents these functions to pass an array of \fBwchar_t\fR,
16480 +but all of the vendors implement this using \fBwint_t\fR.
16481  .SH SEE ALSO
16482  Functions:
16483  \fBcurses\fR(3X),
16484 diff -urNd -urNd ncurses-5.3/man/curs_getcchar.3x ncurses-5.3.20030906.orig/man/curs_getcchar.3x
16485 --- ncurses-5.3/man/curs_getcchar.3x    Sat Mar 23 19:08:55 2002
16486 +++ ncurses-5.3.20030906.orig/man/curs_getcchar.3x      Tue May 13 20:08:22 2003
16487 @@ -1,5 +1,5 @@
16488  .\"***************************************************************************
16489 -.\" Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
16490 +.\" Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
16491  .\"                                                                          *
16492  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16493  .\" copy of this software and associated documentation files (the            *
16494 @@ -26,7 +26,7 @@
16495  .\" authorization.                                                           *
16496  .\"***************************************************************************
16497  .\"
16498 -.\" $Id: curs_getcchar.3x,v 1.6 2002/03/24 01:08:55 tom Exp $
16499 +.\" $Id: curs_getcchar.3x,v 1.7 2003/05/10 20:33:49 jmc Exp $
16500  .TH curs_getcchar 3X ""
16501  .SH NAME
16502  \fBgetcchar\fP,
16503 @@ -108,7 +108,7 @@
16504  The string must be L'\\0' terminated,
16505  contain at most one character with strictly positive width,
16506  which must be the first,
16507 -and contain no characters of negative width. 
16508 +and contain no characters of negative width.
16509  .SH NOTES
16510  .PP
16511  The \fIopts\fP argument is reserved for future use.
16512 diff -urNd -urNd ncurses-5.3/man/curs_getch.3x ncurses-5.3.20030906.orig/man/curs_getch.3x
16513 --- ncurses-5.3/man/curs_getch.3x       Sun Mar 17 08:36:21 2002
16514 +++ ncurses-5.3.20030906.orig/man/curs_getch.3x Tue May 13 20:08:22 2003
16515 @@ -1,6 +1,6 @@
16516  '\" t
16517  .\"***************************************************************************
16518 -.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
16519 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
16520  .\"                                                                          *
16521  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16522  .\" copy of this software and associated documentation files (the            *
16523 @@ -27,7 +27,7 @@
16524  .\" authorization.                                                           *
16525  .\"***************************************************************************
16526  .\"
16527 -.\" $Id: curs_getch.3x,v 1.21 2002/03/17 14:36:21 tom Exp $
16528 +.\" $Id: curs_getch.3x,v 1.22 2003/05/10 20:33:49 jmc Exp $
16529  .TH curs_getch 3X ""
16530  .SH NAME
16531  \fBgetch\fR,
16532 @@ -82,7 +82,7 @@
16533  that function key is returned instead of the raw characters.
16534  Possible function
16535  keys are defined in \fB<curses.h>\fR as macros with values outside the range
16536 -of 8-bit characters whose names begin with \fBKEY_.\fR Thus, a variable
16537 +of 8-bit characters whose names begin with \fBKEY_\fR. Thus, a variable
16538  intended to hold the return value of a function key must be of short size or
16539  larger.
16540  
16541 @@ -143,7 +143,7 @@
16542  KEY_SRESET/Soft (partial) reset
16543  KEY_RESET/Reset or hard reset
16544  KEY_PRINT/Print or copy
16545 -KEY_LL/Home down or bottom (lower left).
16546 +KEY_LL/Home down or bottom (lower left)
16547  KEY_A1/Upper left of keypad
16548  KEY_A3/Upper right of keypad
16549  KEY_B2/Center of keypad
16550 @@ -238,7 +238,7 @@
16551  treat these control keys specially (and ignore the terminfo), or
16552  use the terminfo definitions.
16553  \fBNcurses\fR uses the terminfo definition.
16554 -If it says that KEY_ENTER is control/M, \fBgetch\fR, will return KEY_ENTER
16555 +If it says that KEY_ENTER is control/M, \fBgetch\fR will return KEY_ENTER
16556  when you press control/M.
16557  
16558  When using \fBgetch\fR, \fBwgetch\fR, \fBmvgetch\fR, or
16559 diff -urNd -urNd ncurses-5.3/man/curs_getstr.3x ncurses-5.3.20030906.orig/man/curs_getstr.3x
16560 --- ncurses-5.3/man/curs_getstr.3x      Sat Apr 13 17:14:30 2002
16561 +++ ncurses-5.3.20030906.orig/man/curs_getstr.3x        Tue May 13 20:08:22 2003
16562 @@ -1,5 +1,5 @@
16563  .\"***************************************************************************
16564 -.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
16565 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
16566  .\"                                                                          *
16567  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16568  .\" copy of this software and associated documentation files (the            *
16569 @@ -26,7 +26,7 @@
16570  .\" authorization.                                                           *
16571  .\"***************************************************************************
16572  .\"
16573 -.\" $Id: curs_getstr.3x,v 1.11 2002/04/13 22:14:30 tom Exp $
16574 +.\" $Id: curs_getstr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
16575  .TH curs_getstr 3X ""
16576  .SH NAME
16577  \fBgetstr\fR,
16578 @@ -90,7 +90,7 @@
16579  
16580  SVr3 and early SVr4 curses implementations did not reject function keys;
16581  the SVr4.0 documentation claimed that "special keys" (such as function
16582 -keys, "home" key, "clear" key, \fIetc\fR.) are interpreted" without
16583 +keys, "home" key, "clear" key, \fIetc\fR.) are "interpreted", without
16584  giving details.  It lied.  In fact, the `character' value appended to the
16585  string by those implementations was predictable but not useful
16586  (being, in fact, the low-order eight bits of the key's KEY_ value).
16587 diff -urNd -urNd ncurses-5.3/man/curs_getyx.3x ncurses-5.3.20030906.orig/man/curs_getyx.3x
16588 --- ncurses-5.3/man/curs_getyx.3x       Sat Sep 21 14:00:38 2002
16589 +++ ncurses-5.3.20030906.orig/man/curs_getyx.3x Tue May 13 20:08:22 2003
16590 @@ -1,5 +1,5 @@
16591  .\"***************************************************************************
16592 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
16593 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
16594  .\"                                                                          *
16595  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16596  .\" copy of this software and associated documentation files (the            *
16597 @@ -26,17 +26,9 @@
16598  .\" authorization.                                                           *
16599  .\"***************************************************************************
16600  .\"
16601 -.\" $Id: curs_getyx.3x,v 1.8 2002/09/21 19:00:38 tom Exp $
16602 +.\" $Id: curs_getyx.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
16603  .TH curs_getyx 3X ""
16604  .SH NAME
16605 -.IX getbegx
16606 -.IX getbegy
16607 -.IX getcurx
16608 -.IX getcury
16609 -.IX getmaxx
16610 -.IX getmaxy
16611 -.IX getparx
16612 -.IX getpary
16613  \fBgetyx\fR,
16614  \fBgetparyx\fR,
16615  \fBgetbegyx\fR,
16616 @@ -64,7 +56,7 @@
16617  Like \fBgetyx\fR, the \fBgetbegyx\fR and \fBgetmaxyx\fR macros store
16618  the current beginning coordinates and size of the specified window.
16619  .SH RETURN VALUE
16620 -The return values of these macros are undefined (\fIi\fR.\fIe\fR.,
16621 +The return values of these macros are undefined (i.e.,
16622  they should not be used as the right-hand side of assignment statements).
16623  .SH NOTES
16624  All of these interfaces are macros.
16625 diff -urNd -urNd ncurses-5.3/man/curs_initscr.3x ncurses-5.3.20030906.orig/man/curs_initscr.3x
16626 --- ncurses-5.3/man/curs_initscr.3x     Sat Jul 20 09:51:04 2002
16627 +++ ncurses-5.3.20030906.orig/man/curs_initscr.3x       Tue May 13 20:08:22 2003
16628 @@ -1,5 +1,5 @@
16629  .\"***************************************************************************
16630 -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
16631 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
16632  .\"                                                                          *
16633  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16634  .\" copy of this software and associated documentation files (the            *
16635 @@ -26,7 +26,7 @@
16636  .\" authorization.                                                           *
16637  .\"***************************************************************************
16638  .\"
16639 -.\" $Id: curs_initscr.3x,v 1.11 2002/07/20 14:51:04 tom Exp $
16640 +.\" $Id: curs_initscr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
16641  .TH curs_initscr 3X ""
16642  .SH NAME
16643  \fBinitscr\fR,
16644 @@ -111,7 +111,7 @@
16645  
16646  Old versions of curses, e.g., BSD 4.4, may have returned a null pointer
16647  from \fBinitscr\fR when an error is detected, rather than exiting.
16648 -It is safe but redundant to check the return value of \fBinitscr\fR 
16649 +It is safe but redundant to check the return value of \fBinitscr\fR
16650  in XSI Curses.
16651  .SH SEE ALSO
16652  \fBcurses\fR(3X), \fBcurs_kernel\fR(3X), \fBcurs_refresh\fR(3X),
16653 diff -urNd -urNd ncurses-5.3/man/curs_inopts.3x ncurses-5.3.20030906.orig/man/curs_inopts.3x
16654 --- ncurses-5.3/man/curs_inopts.3x      Sat Aug 10 17:29:49 2002
16655 +++ ncurses-5.3.20030906.orig/man/curs_inopts.3x        Tue May 13 20:08:22 2003
16656 @@ -1,5 +1,5 @@
16657  .\"***************************************************************************
16658 -.\" Copyright (c) 1998,2001 Free Software Foundation, Inc.                   *
16659 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
16660  .\"                                                                          *
16661  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16662  .\" copy of this software and associated documentation files (the            *
16663 @@ -26,7 +26,7 @@
16664  .\" authorization.                                                           *
16665  .\"***************************************************************************
16666  .\"
16667 -.\" $Id: curs_inopts.3x,v 1.9 2002/08/10 22:29:49 tom Exp $
16668 +.\" $Id: curs_inopts.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
16669  .TH curs_inopts 3X ""
16670  .SH NAME
16671  \fBcbreak\fR, \fBnocbreak\fR, \fBecho\fR,
16672 @@ -163,9 +163,9 @@
16673  
16674  The \fBtimeout\fR and \fBwtimeout\fR routines set blocking or
16675  non-blocking read for a given window.  If \fIdelay\fR is negative,
16676 -blocking read is used (\fIi\fR.\fIe\fR., waits indefinitely for
16677 +blocking read is used (i.e., waits indefinitely for
16678  input).  If \fIdelay\fR is zero, then non-blocking read is used
16679 -(\fIi\fR.\fIe\fR., read returns \fBERR\fR if no input is waiting).  If
16680 +(i.e., read returns \fBERR\fR if no input is waiting).  If
16681  \fIdelay\fR is positive, then read blocks for \fIdelay\fR
16682  milliseconds, and returns \fBERR\fR if there is still no input.
16683  Hence, these routines provide the same functionality as \fBnodelay\fR,
16684 @@ -193,7 +193,7 @@
16685  AT&T curses implementations, in that the echo bit is cleared when curses
16686  initializes the terminal state.  BSD curses differed from this slightly; it
16687  left the echo bit on at initialization, but the BSD \fBraw\fR call turned it
16688 -off as a side-effect.  For best portability, set echo or noecho explicitly 
16689 +off as a side-effect.  For best portability, set echo or noecho explicitly
16690  just after initialization, even if your program remains in cooked mode.
16691  .SH NOTES
16692  Note that \fBecho\fR, \fBnoecho\fR, \fBhalfdelay\fR, \fBintrflush\fR,
16693 diff -urNd -urNd ncurses-5.3/man/curs_insch.3x ncurses-5.3.20030906.orig/man/curs_insch.3x
16694 --- ncurses-5.3/man/curs_insch.3x       Sat Jul  1 14:57:21 2000
16695 +++ ncurses-5.3.20030906.orig/man/curs_insch.3x Tue May 13 20:08:22 2003
16696 @@ -1,5 +1,5 @@
16697  .\"***************************************************************************
16698 -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
16699 +.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
16700  .\"                                                                          *
16701  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16702  .\" copy of this software and associated documentation files (the            *
16703 @@ -26,7 +26,7 @@
16704  .\" authorization.                                                           *
16705  .\"***************************************************************************
16706  .\"
16707 -.\" $Id: curs_insch.3x,v 1.7 2000/07/01 19:57:21 tom Exp $
16708 +.\" $Id: curs_insch.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
16709  .TH curs_insch 3X ""
16710  .SH NAME
16711  \fBinsch\fR,
16712 @@ -45,7 +45,7 @@
16713  \fBint mvwinsch(WINDOW *win, int y, int x, chtype ch);\fR
16714  .br
16715  .SH DESCRIPTION
16716 -These routines, insert the character \fIch\fR before the character under the
16717 +These routines insert the character \fIch\fR before the character under the
16718  cursor.  All characters to the right of the cursor are moved one space to the
16719  right, with the possibility of the rightmost character on the line being lost.
16720  The insertion operation does not change the cursor position.
16721 diff -urNd -urNd ncurses-5.3/man/curs_mouse.3x ncurses-5.3.20030906.orig/man/curs_mouse.3x
16722 --- ncurses-5.3/man/curs_mouse.3x       Sat Jul 20 09:52:14 2002
16723 +++ ncurses-5.3.20030906.orig/man/curs_mouse.3x Tue May 13 20:08:22 2003
16724 @@ -1,6 +1,6 @@
16725  '\" t
16726  .\"***************************************************************************
16727 -.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
16728 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
16729  .\"                                                                          *
16730  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16731  .\" copy of this software and associated documentation files (the            *
16732 @@ -27,7 +27,7 @@
16733  .\" authorization.                                                           *
16734  .\"***************************************************************************
16735  .\"
16736 -.\" $Id: curs_mouse.3x,v 1.20 2002/07/20 14:52:14 tom Exp $
16737 +.\" $Id: curs_mouse.3x,v 1.22 2003/05/10 20:33:49 jmc Exp $
16738  .TH curs_mouse 3X ""
16739  .SH NAME
16740  \fBgetmouse\fR, \fBungetmouse\fR,
16741 @@ -149,8 +149,8 @@
16742  to screen-relative coordinates due to the mechanism to reserve lines on top
16743  or bottom of the screen for other purposes (ripoff() call, see also slk_...
16744  functions).
16745 -If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers 
16746 -\fBpY, pX\fR must reference the coordinates of a location inside the window 
16747 +If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers
16748 +\fBpY, pX\fR must reference the coordinates of a location inside the window
16749  \fBwin\fR.
16750  They are converted to screen-relative coordinates and returned
16751  through the pointers.
16752 @@ -168,7 +168,7 @@
16753  Please notice, that the referenced coordinates
16754  are only replaced by the converted coordinates if the transformation was
16755  successful.
16756
16757 +
16758  The \fBmouseinterval\fR function sets the maximum time (in thousands of a
16759  second) that can elapse between press and release events for them to
16760  be recognized as a click.
16761 @@ -209,6 +209,14 @@
16762  \fBncurses\fR(3X) (and the \fBwmousemask\fR function will always
16763  return \fB0\fR).
16764  
16765 +If the terminfo entry contains a \fBXM\fR string,
16766 +this is used in the xterm mouse driver to control the
16767 +way the terminal is initialized for mouse operation.
16768 +The default, if \fBXM\fR is not found,
16769 +corresponds to private mode 1000 of xterm:
16770 +
16771 +    \\E[?1000%?%p1%{1}%=%th%el%;
16772 +
16773  The z member in the event structure is not presently used.
16774  It is intended
16775  for use with touch screens (which may be pressure-sensitive) or with
16776 diff -urNd -urNd ncurses-5.3/man/curs_outopts.3x ncurses-5.3.20030906.orig/man/curs_outopts.3x
16777 --- ncurses-5.3/man/curs_outopts.3x     Sat Oct 13 19:50:30 2001
16778 +++ ncurses-5.3.20030906.orig/man/curs_outopts.3x       Tue May 13 20:08:22 2003
16779 @@ -1,5 +1,5 @@
16780  .\"***************************************************************************
16781 -.\" Copyright (c) 1998,2001 Free Software Foundation, Inc.                   *
16782 +.\" Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
16783  .\"                                                                          *
16784  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16785  .\" copy of this software and associated documentation files (the            *
16786 @@ -26,7 +26,7 @@
16787  .\" authorization.                                                           *
16788  .\"***************************************************************************
16789  .\"
16790 -.\" $Id: curs_outopts.3x,v 1.17 2001/10/14 00:50:30 tom Exp $
16791 +.\" $Id: curs_outopts.3x,v 1.18 2003/05/10 20:33:49 jmc Exp $
16792  .TH curs_outopts 3X ""
16793  .SH NAME
16794  \fBclearok\fR, \fBidlok\fR, \fBidcok\fR, \fBimmedok\fR,
16795 @@ -93,7 +93,7 @@
16796  
16797  If \fBimmedok\fR is called with \fBTRUE as argument\fR, any change
16798  in the window image, such as the ones caused by \fBwaddch, wclrtobot, wscrl\fR,
16799 -\fIetc\fR., automatically cause a call to \fBwrefresh\fR.
16800 +etc., automatically cause a call to \fBwrefresh\fR.
16801  However, it may
16802  degrade performance considerably, due to repeated calls to \fBwrefresh\fR.
16803  It is disabled by default.
16804 @@ -165,7 +165,7 @@
16805  This will not work under
16806  ncurses.
16807  
16808 -Earlier System V curses implementations specified that with \fBscrollok\fR 
16809 +Earlier System V curses implementations specified that with \fBscrollok\fR
16810  enabled, any window modification triggering a scroll also forced a physical
16811  refresh.
16812  XSI Curses does not require this, and \fBncurses\fR avoids doing
16813 diff -urNd -urNd ncurses-5.3/man/curs_pad.3x ncurses-5.3.20030906.orig/man/curs_pad.3x
16814 --- ncurses-5.3/man/curs_pad.3x Tue Jul  4 17:38:13 2000
16815 +++ ncurses-5.3.20030906.orig/man/curs_pad.3x   Tue May 13 20:08:22 2003
16816 @@ -1,5 +1,5 @@
16817  .\"***************************************************************************
16818 -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
16819 +.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
16820  .\"                                                                          *
16821  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16822  .\" copy of this software and associated documentation files (the            *
16823 @@ -26,7 +26,7 @@
16824  .\" authorization.                                                           *
16825  .\"***************************************************************************
16826  .\"
16827 -.\" $Id: curs_pad.3x,v 1.9 2000/07/04 22:38:13 tom Exp $
16828 +.\" $Id: curs_pad.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
16829  .TH curs_pad 3X ""
16830  .SH NAME
16831  \fBnewpad\fR, \fBsubpad\fR, \fBprefresh\fR,
16832 @@ -53,7 +53,7 @@
16833  screen size, and is not necessarily associated with a particular part of the
16834  screen.  Pads can be used when a large window is needed, and only a part of the
16835  window will be on the screen at one time.  Automatic refreshes of pads
16836 -(\fIe\fR.\fIg\fR., from scrolling or echoing of input) do not occur.  It is not
16837 +(e.g., from scrolling or echoing of input) do not occur.  It is not
16838  legal to call \fBwrefresh\fR with a \fIpad\fR as an argument; the routines
16839  \fBprefresh\fR or \fBpnoutrefresh\fR should be called instead.  Note that these
16840  routines require additional parameters to specify the part of the pad to be
16841 @@ -84,7 +84,7 @@
16842  The \fBpechochar\fR routine is functionally equivalent to a call to \fBaddch\fR
16843  followed by a call to \fBrefresh\fR, a call to \fBwaddch\fR followed by a call
16844  to \fBwrefresh\fR, or a call to \fBwaddch\fR followed by a call to
16845 -\fBprefresh.\fR The knowledge that only a single character is being output is
16846 +\fBprefresh\fR. The knowledge that only a single character is being output is
16847  taken into consideration and, for non-control characters, a considerable
16848  performance gain might be seen by using these routines instead of their
16849  equivalents.  In the case of \fBpechochar\fR, the last location of the pad on
16850 @@ -95,7 +95,7 @@
16851  completion.
16852  
16853  Routines that return pointers return \fBNULL\fR on error, and set \fBerrno\fR
16854 -to \fBENOMEM\fR.  
16855 +to \fBENOMEM\fR.
16856  .SH NOTES
16857  Note that \fBpechochar\fR may be a macro.
16858  .SH PORTABILITY
16859 diff -urNd -urNd ncurses-5.3/man/curs_print.3x ncurses-5.3.20030906.orig/man/curs_print.3x
16860 --- ncurses-5.3/man/curs_print.3x       Sat Feb 16 16:39:04 2002
16861 +++ ncurses-5.3.20030906.orig/man/curs_print.3x Tue May 13 20:08:22 2003
16862 @@ -1,5 +1,5 @@
16863  .\"***************************************************************************
16864 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
16865 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
16866  .\"                                                                          *
16867  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16868  .\" copy of this software and associated documentation files (the            *
16869 @@ -26,7 +26,7 @@
16870  .\" authorization.                                                           *
16871  .\"***************************************************************************
16872  .\"
16873 -.\" $Id: curs_print.3x,v 1.5 2002/02/16 22:39:04 tom Exp $
16874 +.\" $Id: curs_print.3x,v 1.6 2003/05/10 20:33:49 jmc Exp $
16875  .TH curs_print 3X ""
16876  .SH NAME
16877  \fBmcprint\fR - ship binary data to printer
16878 @@ -46,7 +46,7 @@
16879  rule of thumb is to sleep for a second after shipping each 80-character line.
16880  
16881  .SH RETURN VALUE
16882 -The \fBmcprint\fR function returns \fBERR\fR if the write operation aborted 
16883 +The \fBmcprint\fR function returns \fBERR\fR if the write operation aborted
16884  for some reason.  In this case, errno will contain either an error associated
16885  with \fBwrite(2)\fR or one of the following:
16886  .TP 5
16887 diff -urNd -urNd ncurses-5.3/man/curs_printw.3x ncurses-5.3.20030906.orig/man/curs_printw.3x
16888 --- ncurses-5.3/man/curs_printw.3x      Sat Jul 20 10:01:43 2002
16889 +++ ncurses-5.3.20030906.orig/man/curs_printw.3x        Tue May 13 20:08:22 2003
16890 @@ -26,7 +26,7 @@
16891  .\" authorization.                                                           *
16892  .\"***************************************************************************
16893  .\"
16894 -.\" $Id: curs_printw.3x,v 1.12 2002/07/20 15:01:43 tom Exp $
16895 +.\" $Id: curs_printw.3x,v 1.13 2002/11/16 22:28:57 tom Exp $
16896  .TH curs_printw 3X ""
16897  .SH NAME
16898  \fBprintw\fR,
16899 @@ -37,17 +37,17 @@
16900  .SH SYNOPSIS
16901  \fB#include <curses.h>\fR
16902  
16903 -\fBint printw(char *fmt, ...);\fR
16904 +\fBint printw(const char *fmt, ...);\fR
16905  .br
16906 -\fBint wprintw(WINDOW *win, char *fmt, ...);\fR
16907 +\fBint wprintw(WINDOW *win, const char *fmt, ...);\fR
16908  .br
16909 -\fBint mvprintw(int y, int x, char *fmt, ...);\fR
16910 +\fBint mvprintw(int y, int x, const char *fmt, ...);\fR
16911  .br
16912 -\fBint mvwprintw(WINDOW *win, int y, int x, char *fmt, ...);\fR
16913 +\fBint mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);\fR
16914  .br
16915 -\fBint vwprintw(WINDOW *win, char *fmt, va_list varglist);\fR
16916 +\fBint vwprintw(WINDOW *win, const char *fmt, va_list varglist);\fR
16917  .br
16918 -\fBint vw_printw(WINDOW *win, char *fmt, va_list varglist);\fR
16919 +\fBint vw_printw(WINDOW *win, const char *fmt, va_list varglist);\fR
16920  .br
16921  .SH DESCRIPTION
16922  The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR
16923 diff -urNd -urNd ncurses-5.3/man/curs_scroll.3x ncurses-5.3.20030906.orig/man/curs_scroll.3x
16924 --- ncurses-5.3/man/curs_scroll.3x      Sat Oct 13 19:51:56 2001
16925 +++ ncurses-5.3.20030906.orig/man/curs_scroll.3x        Tue May 13 20:08:22 2003
16926 @@ -1,5 +1,5 @@
16927  .\"***************************************************************************
16928 -.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
16929 +.\" Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
16930  .\"                                                                          *
16931  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16932  .\" copy of this software and associated documentation files (the            *
16933 @@ -26,7 +26,7 @@
16934  .\" authorization.                                                           *
16935  .\"***************************************************************************
16936  .\"
16937 -.\" $Id: curs_scroll.3x,v 1.9 2001/10/14 00:51:56 tom Exp $
16938 +.\" $Id: curs_scroll.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
16939  .TH curs_scroll 3X ""
16940  .SH NAME
16941  \fBscroll\fR, \fBscrl\fR, \fBwscrl\fR - scroll a \fBcurses\fR window
16942 @@ -61,12 +61,12 @@
16943  .SH NOTES
16944  Note that \fBscrl\fR and \fBscroll\fR may be macros.
16945  
16946 -The SVr4 documentation says that the optimization of physically scrolling 
16947 +The SVr4 documentation says that the optimization of physically scrolling
16948  immediately if the scroll region is the entire screen "is" performed, not
16949  "may be" performed.
16950  This implementation deliberately does not guarantee
16951  that this will occur, to leave open the possibility of smarter
16952 -optimization of multiple scroll actions on the next update. 
16953 +optimization of multiple scroll actions on the next update.
16954  
16955  Neither the SVr4 nor the XSI documentation specify whether the current
16956  attribute or
16957 diff -urNd -urNd ncurses-5.3/man/curs_slk.3x ncurses-5.3.20030906.orig/man/curs_slk.3x
16958 --- ncurses-5.3/man/curs_slk.3x Sat Mar  3 15:05:41 2001
16959 +++ ncurses-5.3.20030906.orig/man/curs_slk.3x   Tue May 13 20:08:22 2003
16960 @@ -1,5 +1,5 @@
16961  .\"***************************************************************************
16962 -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
16963 +.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
16964  .\"                                                                          *
16965  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
16966  .\" copy of this software and associated documentation files (the            *
16967 @@ -26,7 +26,7 @@
16968  .\" authorization.                                                           *
16969  .\"***************************************************************************
16970  .\"
16971 -.\" $Id: curs_slk.3x,v 1.11 2001/03/03 21:05:41 Todd.C.Miller Exp $
16972 +.\" $Id: curs_slk.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
16973  .TH curs_slk 3X ""
16974  .SH NAME
16975  \fBslk_init\fR, \fBslk_set\fR, \fBslk_refresh\fR,
16976 @@ -77,7 +77,7 @@
16977  many terminals.  For those terminals that do not have soft labels,
16978  \fBcurses\fR takes over the bottom line of \fBstdscr\fR, reducing the size of
16979  \fBstdscr\fR and the variable \fBLINES\fR.  \fBcurses\fR standardizes on eight
16980 -labels of up to eight characters each. In addition to this, the ncurses 
16981 +labels of up to eight characters each. In addition to this, the ncurses
16982  implementation supports a mode where it simulates 12 labels of up to five
16983  characters each. This is most common for todays PC like enduser devices.
16984  Please note that ncurses simulates this mode by taking over up to two lines at
16985 @@ -94,10 +94,10 @@
16986  identify the key numbers easily.
16987  
16988  The \fBslk_set\fR routine requires \fIlabnum\fR to be a label number,
16989 -from \fB1\fR to \fB8\fR (resp. \fB12\fR); \fIlabel\fR must be the string 
16990 +from \fB1\fR to \fB8\fR (resp. \fB12\fR); \fIlabel\fR must be the string
16991  to be put on the label, up to eight (resp. five) characters in length.
16992  A null string or a null pointer sets up a blank label. \fIfmt\fR is either
16993 -\fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is  to be 
16994 +\fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is  to be
16995  left-justified, centered, or right-justified, respectively, within the
16996  label.
16997  
16998 @@ -109,7 +109,7 @@
16999  
17000  The \fBslk_clear\fR routine clears the soft labels from the screen.
17001  
17002 -The \fBslk_restore\fR routine, restores the soft labels to the screen
17003 +The \fBslk_restore\fR routine restores the soft labels to the screen
17004  after a \fBslk_clear\fR has been performed.
17005  
17006  The \fBslk_touch\fR routine forces all the soft labels to be output
17007 @@ -118,7 +118,7 @@
17008  The \fBslk_attron\fR, \fBslk_attrset\fR, \fBslk_attroff\fR and \fBslk_attr\fR
17009  routines correspond to \fBattron\fR, \fBattrset\fR, \fBattroff\fR and \fBattr_get\fR.
17010  They have an effect only if soft labels are simulated on the bottom line of
17011 -the screen.  The default highlight for soft keys is A_STANDOUT (as in 
17012 +the screen.  The default highlight for soft keys is A_STANDOUT (as in
17013  System V curses, which does not document this fact).
17014  
17015  The \fBslk_color\fR routine corresponds to \fBcolor_set\fR. It has an effect only
17016 diff -urNd -urNd ncurses-5.3/man/curs_termcap.3x ncurses-5.3.20030906.orig/man/curs_termcap.3x
17017 --- ncurses-5.3/man/curs_termcap.3x     Sat Feb 16 13:26:41 2002
17018 +++ ncurses-5.3.20030906.orig/man/curs_termcap.3x       Tue May 13 20:08:22 2003
17019 @@ -1,5 +1,5 @@
17020  .\"***************************************************************************
17021 -.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
17022 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
17023  .\"                                                                          *
17024  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17025  .\" copy of this software and associated documentation files (the            *
17026 @@ -26,7 +26,7 @@
17027  .\" authorization.                                                           *
17028  .\"***************************************************************************
17029  .\"
17030 -.\" $Id: curs_termcap.3x,v 1.16 2002/02/16 19:26:41 tom Exp $
17031 +.\" $Id: curs_termcap.3x,v 1.18 2003/02/08 22:25:47 tom Exp $
17032  .TH curs_termcap 3X ""
17033  .ds n 5
17034  .SH NAME
17035 @@ -130,6 +130,12 @@
17036  Because terminfo conventions for representing padding in string capabilities
17037  differ from termcap's, \fBtputs("50");\fR will put out a literal "50" rather
17038  than busy-waiting for 50 milliseconds.  Cope with it.
17039 +
17040 +Note that termcap has nothing analogous to terminfo's \fBsgr\fR string.
17041 +One consequence of this is that termcap applications assume \fRme\fR
17042 +(terminfo \fBsgr0\fR) does not reset the alternate character set.
17043 +This implementation checks for, and modifies the data shown to the
17044 +termcap interface to accommodate termcap's limitation in this respect.
17045  .SH PORTABILITY
17046  The XSI Curses standard, Issue 4 describes these functions.  However, they
17047  are marked TO BE WITHDRAWN and may be removed in future versions.
17048 diff -urNd -urNd ncurses-5.3/man/curs_terminfo.3x ncurses-5.3.20030906.orig/man/curs_terminfo.3x
17049 --- ncurses-5.3/man/curs_terminfo.3x    Sat Jul 20 11:05:19 2002
17050 +++ ncurses-5.3.20030906.orig/man/curs_terminfo.3x      Tue May 13 20:08:22 2003
17051 @@ -1,5 +1,5 @@
17052  .\"***************************************************************************
17053 -.\" Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
17054 +.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
17055  .\"                                                                          *
17056  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17057  .\" copy of this software and associated documentation files (the            *
17058 @@ -26,7 +26,7 @@
17059  .\" authorization.                                                           *
17060  .\"***************************************************************************
17061  .\"
17062 -.\" $Id: curs_terminfo.3x,v 1.16 2002/07/20 16:05:19 tom Exp $
17063 +.\" $Id: curs_terminfo.3x,v 1.17 2003/05/10 20:22:01 tom Exp $
17064  .TH curs_terminfo 3X ""
17065  .ds n 5
17066  .SH NAME
17067 @@ -108,7 +108,7 @@
17068  
17069  The header files \fBcurses.h\fR and \fBterm.h\fR should be included (in this
17070  order) to get the definitions for these strings, numbers, and flags.
17071 -Parameterized strings should be passed through \fBtparm\fR to instantiate them.  
17072 +Parameterized strings should be passed through \fBtparm\fR to instantiate them. 
17073  All \fBterminfo\fR strings [including the output of \fBtparm\fR] should be printed
17074  with \fBtputs\fR or \fBputp\fR.  Call the \fBreset_shell_mode\fR to restore the
17075  tty modes before exiting [see \fBcurs_kernel\fR(3X)].  Programs which use
17076 @@ -280,7 +280,7 @@
17077  actual terminal state, and that an application should touch and refresh
17078  the window before resuming normal curses calls.
17079  Both ncurses and System V Release 4 curses implement \fBmvcur\fR using
17080 -the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR. 
17081 +the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR.
17082  So though it is documented as a terminfo function,
17083  \fBmvcur\fR is really a curses function which is not well specified.
17084  .SH SEE ALSO
17085 diff -urNd -urNd ncurses-5.3/man/curs_util.3x ncurses-5.3.20030906.orig/man/curs_util.3x
17086 --- ncurses-5.3/man/curs_util.3x        Sun Sep  1 14:44:37 2002
17087 +++ ncurses-5.3.20030906.orig/man/curs_util.3x  Sun Jul 20 14:02:09 2003
17088 @@ -1,5 +1,5 @@
17089  .\"***************************************************************************
17090 -.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
17091 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
17092  .\"                                                                          *
17093  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17094  .\" copy of this software and associated documentation files (the            *
17095 @@ -26,7 +26,7 @@
17096  .\" authorization.                                                           *
17097  .\"***************************************************************************
17098  .\"
17099 -.\" $Id: curs_util.3x,v 1.9 2002/09/01 19:44:37 tom Exp $
17100 +.\" $Id: curs_util.3x,v 1.11 2003/07/19 19:59:56 tom Exp $
17101  .TH curs_util 3X ""
17102  .SH NAME
17103  \fBdelay_output\fR,
17104 @@ -44,7 +44,7 @@
17105  
17106  \fBchar *unctrl(chtype c);\fR
17107  .br
17108 -\fBchar *wunctrl(wchar_t w);\fR
17109 +\fBchar *wunctrl(cchar_t *c);\fR
17110  .br
17111  \fBchar *keyname(int c);\fR
17112  .br
17113 @@ -105,6 +105,7 @@
17114  The \fBdelay_output\fR routine inserts an \fIms\fR millisecond pause
17115  in output.  This routine should not be used extensively because
17116  padding characters are used rather than a CPU pause.
17117 +If no padding character is specified, this uses \fBnapms\fR to perform the delay.
17118  
17119  The \fBflushinp\fR routine throws away any typeahead that has been typed by the
17120  user and has not yet been read by the program.
17121 @@ -125,7 +126,10 @@
17122  terms.  The description here is adapted from the XSI Curses standard (which
17123  erroneously fails to describe the disabling of \fBcuu\fR).
17124  .SH SEE ALSO
17125 -\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_scr_dump\fR(3X).
17126 +\fBcurses\fR(3X),
17127 +\fBcurs_initscr\fR(3X),
17128 +\fBcurs_kernel\fR(3X),
17129 +\fBcurs_scr_dump\fR(3X).
17130  .\"#
17131  .\"# The following sets edit modes for GNU EMACS
17132  .\"# Local Variables:
17133 diff -urNd -urNd ncurses-5.3/man/curs_window.3x ncurses-5.3.20030906.orig/man/curs_window.3x
17134 --- ncurses-5.3/man/curs_window.3x      Sat Jul  1 15:08:37 2000
17135 +++ ncurses-5.3.20030906.orig/man/curs_window.3x        Tue May 13 20:08:22 2003
17136 @@ -1,5 +1,5 @@
17137  .\"***************************************************************************
17138 -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
17139 +.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
17140  .\"                                                                          *
17141  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17142  .\" copy of this software and associated documentation files (the            *
17143 @@ -26,7 +26,7 @@
17144  .\" authorization.                                                           *
17145  .\"***************************************************************************
17146  .\"
17147 -.\" $Id: curs_window.3x,v 1.9 2000/07/01 20:08:37 tom Exp $
17148 +.\" $Id: curs_window.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
17149  .TH curs_window 3X ""
17150  .SH NAME
17151  \fBnewwin\fR,
17152 @@ -142,7 +142,7 @@
17153  incompletely implemented, and not well tested.
17154  
17155  The System V curses documentation is very unclear about what \fBwsyncup\fR
17156 -and \fBwsyncdown\fR actually do.  It seems to imply that they are only 
17157 +and \fBwsyncdown\fR actually do.  It seems to imply that they are only
17158  supposed to touch exactly those lines that are affected by ancestor changes.
17159  The language here, and the behavior of the \fBcurses\fR implementation,
17160  is patterned on the XPG4 curses standard.  The weaker XPG4 spec may result
17161 diff -urNd -urNd ncurses-5.3/man/define_key.3x ncurses-5.3.20030906.orig/man/define_key.3x
17162 --- ncurses-5.3/man/define_key.3x       Sat Feb 16 16:39:52 2002
17163 +++ ncurses-5.3.20030906.orig/man/define_key.3x Sun Jul 20 14:02:08 2003
17164 @@ -1,5 +1,5 @@
17165  .\"***************************************************************************
17166 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
17167 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
17168  .\"                                                                          *
17169  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17170  .\" copy of this software and associated documentation files (the            *
17171 @@ -28,14 +28,14 @@
17172  .\"
17173  .\" Author: Thomas E. Dickey <dickey@clark.net> 1997
17174  .\"
17175 -.\" $Id: define_key.3x,v 1.8 2002/02/16 22:39:52 tom Exp $
17176 +.\" $Id: define_key.3x,v 1.9 2003/05/17 23:25:11 tom Exp $
17177  .TH define_key 3X ""
17178  .SH NAME
17179  \fBdefine_key\fP \- define a keycode
17180  .SH SYNOPSIS
17181  \fB#include <curses.h>\fP
17182  
17183 -\fBint define_key(char *definition, int keycode);\fP
17184 +\fBint define_key(const char *definition, int keycode);\fP
17185  .SH DESCRIPTION
17186  This is an extension to the curses library.
17187  It permits an application to define keycodes with their corresponding control
17188 diff -urNd -urNd ncurses-5.3/man/form_field.3x ncurses-5.3.20030906.orig/man/form_field.3x
17189 --- ncurses-5.3/man/form_field.3x       Sat Nov 28 19:05:52 1998
17190 +++ ncurses-5.3.20030906.orig/man/form_field.3x Tue May 13 20:08:22 2003
17191 @@ -1,6 +1,6 @@
17192  '\" t
17193  .\"***************************************************************************
17194 -.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
17195 +.\" Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
17196  .\"                                                                          *
17197  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17198  .\" copy of this software and associated documentation files (the            *
17199 @@ -27,7 +27,7 @@
17200  .\" authorization.                                                           *
17201  .\"***************************************************************************
17202  .\"
17203 -.\" $Id: form_field.3x,v 1.5 1998/11/29 01:05:52 Rick.Ohnemus Exp $
17204 +.\" $Id: form_field.3x,v 1.6 2003/05/10 20:33:49 jmc Exp $
17205  .TH form_field 3X ""
17206  .SH NAME
17207  \fBform_field\fR - make and break connections between fields and forms
17208 @@ -50,7 +50,7 @@
17209  
17210  The function \fBfield_count\fR returns the count of fields in \fIform\fR.
17211  
17212 -The function \fBmove_field\fR move the given field (which must be disconnected)
17213 +The function \fBmove_field\fR moves the given field (which must be disconnected)
17214  to a specified location on the screen.
17215  .SH RETURN VALUES
17216  The function \fBform_fields\fR returns \fBNULL\fR on error.
17217 diff -urNd -urNd ncurses-5.3/man/form_field_buffer.3x ncurses-5.3.20030906.orig/man/form_field_buffer.3x
17218 --- ncurses-5.3/man/form_field_buffer.3x        Sat Jan 19 16:48:23 2002
17219 +++ ncurses-5.3.20030906.orig/man/form_field_buffer.3x  Tue May 13 20:08:22 2003
17220 @@ -1,6 +1,6 @@
17221  '\" t
17222  .\"***************************************************************************
17223 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
17224 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
17225  .\"                                                                          *
17226  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17227  .\" copy of this software and associated documentation files (the            *
17228 @@ -27,7 +27,7 @@
17229  .\" authorization.                                                           *
17230  .\"***************************************************************************
17231  .\"
17232 -.\" $Id: form_field_buffer.3x,v 1.9 2002/01/19 22:48:23 tom Exp $
17233 +.\" $Id: form_field_buffer.3x,v 1.10 2003/05/10 20:22:01 tom Exp $
17234  .TH form_field_buffer 3X ""
17235  .SH NAME
17236  \fBform_field_buffer\fR - field buffer control
17237 @@ -50,7 +50,7 @@
17238  numbered buffers may be allocated by applications through the \fBnbuf\fR
17239  argument of (see \fBform_field_new\fR(3X)) but are not manipulated by the forms
17240  library.  The function \fBfield_buffer\fR returns the address of the buffer.
17241 -Please note that this buffer has always the length of the buffer, that means 
17242 +Please note that this buffer has always the length of the buffer, that means
17243  that it may typically contain trailing spaces. If you entered leading spaces
17244  the buffer may also contain them. If you want the raw data, you must write your
17245  own routine that copies the value out of the buffer and removes the leading
17246 diff -urNd -urNd ncurses-5.3/man/form_field_just.3x ncurses-5.3.20030906.orig/man/form_field_just.3x
17247 --- ncurses-5.3/man/form_field_just.3x  Sat Jan 19 16:48:41 2002
17248 +++ ncurses-5.3.20030906.orig/man/form_field_just.3x    Tue May 13 20:08:22 2003
17249 @@ -1,6 +1,6 @@
17250  '\" t
17251  .\"***************************************************************************
17252 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
17253 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
17254  .\"                                                                          *
17255  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17256  .\" copy of this software and associated documentation files (the            *
17257 @@ -27,7 +27,7 @@
17258  .\" authorization.                                                           *
17259  .\"***************************************************************************
17260  .\"
17261 -.\" $Id: form_field_just.3x,v 1.6 2002/01/19 22:48:41 tom Exp $
17262 +.\" $Id: form_field_just.3x,v 1.7 2003/05/10 20:33:49 jmc Exp $
17263  .TH form_field_just 3X ""
17264  .SH NAME
17265  \fBform_field_just\fR - retrieve field characteristics
17266 @@ -48,7 +48,7 @@
17267  The function \fBfield_just\fR returns one of: NO_JUSTIFICATION,
17268  JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
17269  
17270 -The function \fBset_field_just\fR return one of the following:
17271 +The function \fBset_field_just\fR returns one of the following:
17272  .TP 5
17273  \fBE_OK\fR
17274  The routine succeeded.
17275 diff -urNd -urNd ncurses-5.3/man/form_field_new.3x ncurses-5.3.20030906.orig/man/form_field_new.3x
17276 --- ncurses-5.3/man/form_field_new.3x   Sat Feb 16 16:39:52 2002
17277 +++ ncurses-5.3.20030906.orig/man/form_field_new.3x     Tue May 13 20:08:22 2003
17278 @@ -1,6 +1,6 @@
17279  '\" t
17280  .\"***************************************************************************
17281 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
17282 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
17283  .\"                                                                          *
17284  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17285  .\" copy of this software and associated documentation files (the            *
17286 @@ -27,7 +27,7 @@
17287  .\" authorization.                                                           *
17288  .\"***************************************************************************
17289  .\"
17290 -.\" $Id: form_field_new.3x,v 1.11 2002/02/16 22:39:52 tom Exp $
17291 +.\" $Id: form_field_new.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
17292  .TH form_field_new 3X ""
17293  .SH NAME
17294  \fBform_field_new\fR - create and destroy form fields
17295 @@ -84,7 +84,7 @@
17296  
17297  It may be unwise to count on the set of attributes copied by
17298  \fBdup_field\fR(3X) being portable; the System V forms library documents are
17299 -not very explicit on what gets copied and was not.
17300 +not very explicit about what gets copied and what doesn't.
17301  .SH AUTHORS
17302  Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric
17303  S. Raymond.
17304 diff -urNd -urNd ncurses-5.3/man/form_field_opts.3x ncurses-5.3.20030906.orig/man/form_field_opts.3x
17305 --- ncurses-5.3/man/form_field_opts.3x  Sat Nov 28 19:06:54 1998
17306 +++ ncurses-5.3.20030906.orig/man/form_field_opts.3x    Tue May 13 20:08:22 2003
17307 @@ -1,6 +1,6 @@
17308  '\" t
17309  .\"***************************************************************************
17310 -.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
17311 +.\" Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
17312  .\"                                                                          *
17313  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17314  .\" copy of this software and associated documentation files (the            *
17315 @@ -27,7 +27,7 @@
17316  .\" authorization.                                                           *
17317  .\"***************************************************************************
17318  .\"
17319 -.\" $Id: form_field_opts.3x,v 1.7 1998/11/29 01:06:54 Rick.Ohnemus Exp $
17320 +.\" $Id: form_field_opts.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
17321  .TH form_field_opts 3X ""
17322  .SH NAME
17323  \fBform_field_opts\fR - set and get field options
17324 @@ -58,7 +58,7 @@
17325  .TP 5
17326  O_VISIBLE
17327  The field is displayed.  If this option is off, display of the field is
17328 -suppressed,
17329 +suppressed.
17330  .TP 5
17331  O_ACTIVE
17332  The field is visited during processing.  If this option is off, the field will
17333 @@ -79,7 +79,7 @@
17334  The field is cleared whenever a character is entered at the first position.
17335  .TP 5
17336  O_AUTOSKIP
17337 -Skip to the next field when this one fills
17338 +Skip to the next field when this one fills.
17339  .TP 5
17340  O_NULLOK
17341  Allow a blank field.
17342 diff -urNd -urNd ncurses-5.3/man/form_field_validation.3x ncurses-5.3.20030906.orig/man/form_field_validation.3x
17343 --- ncurses-5.3/man/form_field_validation.3x    Sat Feb 16 16:39:52 2002
17344 +++ ncurses-5.3.20030906.orig/man/form_field_validation.3x      Tue May 13 20:08:22 2003
17345 @@ -1,5 +1,5 @@
17346  .\"***************************************************************************
17347 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
17348 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
17349  .\"                                                                          *
17350  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17351  .\" copy of this software and associated documentation files (the            *
17352 @@ -26,10 +26,10 @@
17353  .\" authorization.                                                           *
17354  .\"***************************************************************************
17355  .\"
17356 -.\" $Id: form_field_validation.3x,v 1.12 2002/02/16 22:39:52 tom Exp $
17357 +.\" $Id: form_field_validation.3x,v 1.14 2003/05/10 20:33:49 jmc Exp $
17358  .TH form_field_validation 3X ""
17359  .SH NAME
17360 -\fBform_field_validation\fR - data type validation for fields 
17361 +\fBform_field_validation\fR - data type validation for fields
17362  .SH SYNOPSIS
17363  \fB#include <form.h>\fR
17364  .br
17365 @@ -38,10 +38,25 @@
17366  FIELDTYPE *field_type(const FIELD *field);
17367  .br
17368  void *field_arg(const FIELD *field);
17369 +.sp
17370 +FIELDTYPE *TYPE_ALNUM;
17371 +.br
17372 +FIELDTYPE *TYPE_ALPHA;
17373 +.br
17374 +FIELDTYPE *TYPE_ENUM;
17375 +.br
17376 +FIELDTYPE *TYPE_INTEGER;
17377 +.br
17378 +FIELDTYPE *TYPE_NUMERIC;
17379 +.br
17380 +FIELDTYPE *TYPE_REGEXP;
17381 +.br
17382 +FIELDTYPE *TYPE_IPV4;
17383  .br
17384  .SH DESCRIPTION
17385  The function \fBset_field_type\fR declares a data type for a given form field.
17386 -This is the type checked by validation functions.  The types are as follows:
17387 +This is the type checked by validation functions.
17388 +The predefined types are as follows:
17389  .TP 5
17390  TYPE_ALNUM
17391  Alphanumeric data.  Requires a third \fBint\fR argument, a minimum field width.
17392 @@ -56,27 +71,29 @@
17393  match must be a unique one (if this flag is off, a prefix matches the first
17394  of any set of more than one list elements with that prefix). Please notice
17395  that the string list is not copied, only a reference to it is stored in the
17396 -field. So you should avoid to use a list that lives in automatic variables
17397 +field. So you should avoid using a list that lives in automatic variables
17398  on the stack.
17399  .TP 5
17400  TYPE_INTEGER
17401  Integer data, parsable to an integer by \fBatoi(3)\fR.  Requires a third
17402 -\fBint\fR argument controlling the precision, a fourth \fBlong\fR argument 
17403 +\fBint\fR argument controlling the precision, a fourth \fBlong\fR argument
17404  constraining minimum value, and a fifth \fBlong\fR constraining maximum value.
17405 -If the maximum value is less or equal the minimum value, the range is simply
17406 -ignored. On return the field buffer is formatted according to the \fBprintf\fR
17407 -format specification ".*ld", where the '*' is replaced by the precision argument.
17408 +If the maximum value is less than or equal to the minimum value, the range is
17409 +simply ignored. On return the field buffer is formatted according to the
17410 +\fBprintf\fR format specification ".*ld", where the '*' is replaced by the
17411 +precision argument.
17412  For details of the precision handling see \fBprintf's\fR man-page.
17413  .TP 5
17414  TYPE_NUMERIC
17415  Numeric data (may have a decimal-point part). Requires a third
17416  \fBint\fR argument controlling the precision, a fourth \fBdouble\fR
17417 -argument constraining minimum value, and a fifth \fBdouble\fR constraining 
17418 -maximum value. If your system supports locale's, the decimal point character
17419 +argument constraining minimum value, and a fifth \fBdouble\fR constraining
17420 +maximum value. If your system supports locales, the decimal point character
17421  to be used must be the one specified by your locale.
17422 -If the maximum value is less or equal the minimum value, the range is simply
17423 -ignored. On return the field buffer is formatted according to the \fBprintf\fR
17424 -format specification ".*f", where the '*' is replaced by the precision argument.
17425 +If the maximum value is less than or equal to the minimum value, the range is
17426 +simply ignored. On return the field buffer is formatted according to the
17427 +\fBprintf\fR format specification ".*f", where the '*' is replaced by the
17428 +precision argument.
17429  For details of the precision handling see \fBprintf's\fR man-page.
17430  .TP 5
17431  TYPE_REGEXP
17432 @@ -96,7 +113,7 @@
17433  numbers between 0 and 255. Trailing blanks in the buffer are ignored. The address
17434  itself is not validated. Please note that this is an ncurses extension. This
17435  field type may not be available in other curses implementations.
17436 -
17437 +.PP
17438  It is possible to set up new programmer-defined field types.  See the
17439  \fBform_fieldtype\fR(3X) manual page.
17440  .SH RETURN VALUE
17441 diff -urNd -urNd ncurses-5.3/man/form_fieldtype.3x ncurses-5.3.20030906.orig/man/form_fieldtype.3x
17442 --- ncurses-5.3/man/form_fieldtype.3x   Sat Aug  4 15:36:25 2001
17443 +++ ncurses-5.3.20030906.orig/man/form_fieldtype.3x     Tue May 13 20:08:22 2003
17444 @@ -1,6 +1,6 @@
17445  '\" t
17446  .\"***************************************************************************
17447 -.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
17448 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
17449  .\"                                                                          *
17450  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17451  .\" copy of this software and associated documentation files (the            *
17452 @@ -27,7 +27,7 @@
17453  .\" authorization.                                                           *
17454  .\"***************************************************************************
17455  .\"
17456 -.\" $Id: form_fieldtype.3x,v 1.9 2001/08/04 20:36:25 William.Setzer Exp $
17457 +.\" $Id: form_fieldtype.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
17458  .TH form_fieldtype 3X ""
17459  .SH NAME
17460  \fBform_fieldtype\fR - define validation-field types
17461 @@ -57,7 +57,7 @@
17462  .SH DESCRIPTION
17463  The function \fBnew_fieldtype\fR creates a new field type usable for data
17464  validation.  You supply it with \fIfield_check\fR, a predicate to check the
17465 -validity of an entered data string whenever the user attempt to leave a field.
17466 +validity of an entered data string whenever the user attempts to leave a field.
17467  The (FIELD *) argument is passed in so the validation predicate can see the
17468  field's buffer, sizes and other attributes; the second argument is an
17469  argument-block structure, about which more below.
17470 @@ -69,22 +69,31 @@
17471  The function \fBfree_fieldtype\fR frees the space allocated for a given
17472  validation type.
17473  
17474 -The function \fBset_fieldtype\fR associates three storage-management functions
17475 -with a field type.  The \fImak_arg\fR function is automatically applied to the
17476 +The function \fBset_fieldtype_arg\fR associates three storage-management functions
17477 +with a field type.
17478 +The \fImake_arg\fR function is automatically applied to the
17479  list of arguments you give \fBset_field_type\fR when attaching validation
17480  to a field; its job is to bundle these into an allocated argument-block
17481 -object which can later be passed to validation predicated.  The other two
17482 -hook arguments should copy and free argument-block structures.  They will
17483 -be used by the forms-driver code. You must supply the \fImak_arg\fR function,
17484 -the other two are optional, you may supply NULL for them. In this case it
17485 -is assumed, that \fImak_arg\fR doesn't allocate memory but simply loads the
17486 +object which can later be passed to validation predicated.
17487 +The other two hook arguments should copy and free argument-block structures.
17488 +They will be used by the forms-driver code.
17489 +You must supply the \fImake_arg\fR function,
17490 +the other two are optional, you may supply NULL for them.
17491 +In this case it is assumed
17492 +that \fImake_arg\fR does not allocate memory but simply loads the
17493  argument into a single scalar value.
17494  
17495 +The function \fBlink_fieldtype\fR creates
17496 +a new field type from the two given types.
17497 +They are connected by an logical 'OR'.
17498 +
17499  The form driver requests \fBREQ_NEXT_CHOICE\fR and \fBREQ_PREV_CHOICE\fR assume
17500  that the possible values of a field form an ordered set, and provide the forms
17501 -user with a way to move through the set.  The \fBset_fieldtype_choice\fR
17502 +user with a way to move through the set.
17503 +The \fBset_fieldtype_choice\fR
17504  function allows forms programmers to define successor and predecessor functions
17505 -for the field type.  These functions take the field pointer and an
17506 +for the field type.
17507 +These functions take the field pointer and an
17508  argument-block structure as arguments.
17509  .SH RETURN VALUE
17510  The pointer-valued routines return NULL on error.
17511 diff -urNd -urNd ncurses-5.3/man/infocmp.1m ncurses-5.3.20030906.orig/man/infocmp.1m
17512 --- ncurses-5.3/man/infocmp.1m  Sat Oct  5 16:22:21 2002
17513 +++ ncurses-5.3.20030906.orig/man/infocmp.1m    Tue May 13 20:08:22 2003
17514 @@ -1,6 +1,6 @@
17515  '\" t
17516  .\"***************************************************************************
17517 -.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
17518 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
17519  .\"                                                                          *
17520  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17521  .\" copy of this software and associated documentation files (the            *
17522 @@ -27,14 +27,14 @@
17523  .\" authorization.                                                           *
17524  .\"***************************************************************************
17525  .\"
17526 -.\" $Id: infocmp.1m,v 1.30 2002/10/05 21:22:21 tom Exp $
17527 +.\" $Id: infocmp.1m,v 1.33 2003/05/11 00:32:53 tom Exp $
17528  .TH infocmp 1M ""
17529  .ds n 5
17530  .ds d @TERMINFO@
17531  .SH NAME
17532  \fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions
17533  .SH SYNOPSIS
17534 -\fBinfocmp\fR [\fB-\
17535 +\fBinfocmp\fR [\fB\-\
17536  1\
17537  C\
17538  E\
17539 @@ -58,9 +58,9 @@
17540  u\
17541  \fR]
17542  .br
17543 -      [\fB-v\fR \fIn\fR] [\fB-s d\fR| \fBi\fR| \fBl\fR| \fBc\fR] [\fB-R \fR\fBsubset\fR]
17544 +      [\fB\-v\fR \fIn\fR] [\fB\-s d\fR| \fBi\fR| \fBl\fR| \fBc\fR] [\fB\-R \fR\fBsubset\fR]
17545  .br
17546 -      [\fB-w\fR\ \fIwidth\fR] [\fB-A\fR\ \fIdirectory\fR] [\fB-B\fR\ \fIdirectory\fR]
17547 +      [\fB\-w\fR\ \fIwidth\fR] [\fB\-A\fR\ \fIdirectory\fR] [\fB\-B\fR\ \fIdirectory\fR]
17548  .br
17549        [\fItermname\fR...]
17550  .SH DESCRIPTION
17551 @@ -72,9 +72,9 @@
17552  string fields.
17553  .SS Default Options
17554  If no options are specified and zero or one \fItermnames\fR are specified, the
17555 -\fB-I\fR option will be assumed.  If more than one \fItermname\fR is specified,
17556 -the \fB-d\fR option will be assumed.
17557 -.SS Comparison Options [-d] [-c] [-n]
17558 +\fB\-I\fR option will be assumed.  If more than one \fItermname\fR is specified,
17559 +the \fB\-d\fR option will be assumed.
17560 +.SS Comparison Options [\-d] [\-c] [\-n]
17561  \fBinfocmp\fR compares the \fBterminfo\fR description of the first terminal
17562  \fItermname\fR with each of the descriptions given by the entries for the other
17563  terminal's \fItermnames\fR.  If a capability is defined for only one of the
17564 @@ -82,35 +82,35 @@
17565  \fBF\fR for boolean variables, \fB-1\fR for integer variables, and \fBNULL\fR
17566  for string variables.
17567  
17568 -The \fB-d\fR option produces a list of each capability that is different
17569 +The \fB\-d\fR option produces a list of each capability that is different
17570  between two entries.  This option is useful to show the difference between two
17571  entries, created by different people, for the same or similar terminals.
17572  
17573 -The \fB-c\fR option produces a list of each capability that is common between
17574 +The \fB\-c\fR option produces a list of each capability that is common between
17575  two entries.  Capabilities that are not set are ignored.  This option can be
17576 -used as a quick check to see if the \fB-u\fR option is worth using.
17577 +used as a quick check to see if the \fB\-u\fR option is worth using.
17578  
17579 -The \fB-n\fR option produces a list of each capability that is in neither
17580 +The \fB\-n\fR option produces a list of each capability that is in neither
17581  entry.  If no \fItermnames\fR are given, the environment variable \fBTERM\fR
17582  will be used for both of the \fItermnames\fR.  This can be used as a quick
17583  check to see if anything was left out of a description.
17584 -.SS Source Listing Options [-I] [-L] [-C] [-r]
17585 -The \fB-I\fR, \fB-L\fR, and \fB-C\fR options will produce a source listing for
17586 +.SS Source Listing Options [\-I] [\-L] [\-C] [\-r]
17587 +The \fB\-I\fR, \fB\-L\fR, and \fB\-C\fR options will produce a source listing for
17588  each terminal named.
17589  
17590  .TS
17591  center tab(/) ;
17592  l l .
17593 -\fB-I\fR/use the \fBterminfo\fR names
17594 -\fB-L\fR/use the long C variable name listed in <\fBterm.h\fR>
17595 -\fB-C\fR/use the \fBtermcap\fR names
17596 -\fB-r\fR/when using \fB-C\fR, put out all capabilities in \fBtermcap\fR form
17597 +\fB\-I\fR/use the \fBterminfo\fR names
17598 +\fB\-L\fR/use the long C variable name listed in <\fBterm.h\fR>
17599 +\fB\-C\fR/use the \fBtermcap\fR names
17600 +\fB\-r\fR/when using \fB\-C\fR, put out all capabilities in \fBtermcap\fR form
17601  .TE
17602  
17603  If no \fItermnames\fR are given, the environment variable \fBTERM\fR will be
17604  used for the terminal name.
17605  
17606 -The source produced by the \fB-C\fR option may be used directly as a
17607 +The source produced by the \fB\-C\fR option may be used directly as a
17608  \fBtermcap\fR entry, but not all parameterized strings can be changed to
17609  the \fBtermcap\fR format.  \fBinfocmp\fR will attempt to convert most of the
17610  parameterized information, and anything not converted will be plainly marked in
17611 @@ -123,7 +123,7 @@
17612  All \fBtermcap\fR variables no longer supported by \fBterminfo\fR, but which
17613  are derivable from other \fBterminfo\fR variables, will be output.  Not all
17614  \fBterminfo\fR capabilities will be translated; only those variables which were
17615 -part of \fBtermcap\fR will normally be output.  Specifying the \fB-r\fR option
17616 +part of \fBtermcap\fR will normally be output.  Specifying the \fB\-r\fR option
17617  will take off this restriction, allowing all capabilities to be output in
17618  \fItermcap\fR form.
17619  
17620 @@ -151,8 +151,8 @@
17621  \fB%p1%?%'x'%>%t%p1%'y'%+%;/%>xy\fR/concept
17622  \fB%p2\fR is printed before \fB%p1/%r\fR/hp
17623  .TE
17624 -.SS Use= Option [-u]
17625 -The \fB-u\fR option produces a \fBterminfo\fR source description of the first
17626 +.SS Use= Option [\-u]
17627 +The \fB\-u\fR option produces a \fBterminfo\fR source description of the first
17628  terminal \fItermname\fR which is relative to the sum of the descriptions given
17629  by the entries for the other terminals \fItermnames\fR.  It does this by
17630  analyzing the differences between the first \fItermname\fR and the other
17631 @@ -187,29 +187,29 @@
17632  the compilation time, is specifying extra \fBuse=\fR fields that are
17633  superfluous.  \fBinfocmp\fR will flag any other \fItermname use=\fR fields that
17634  were not needed.
17635 -.SS Changing Databases [-A \fIdirectory\fR] [-B \fIdirectory\fR]
17636 +.SS Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR]
17637  The location of the compiled \fBterminfo\fR database is taken from the
17638  environment variable \fBTERMINFO\fR .  If the variable is not defined, or the
17639  terminal is not found in that location, the system \fBterminfo\fR database,
17640 -in \fB@TERMINFO@\fR, will be used.  The options \fB-A\fR
17641 -and \fB-B\fR may be used to override this location.  The \fB-A\fR option will
17642 -set \fBTERMINFO\fR for the first \fItermname\fR and the \fB-B\fR option will
17643 +in \fB@TERMINFO@\fR, will be used.  The options \fB\-A\fR
17644 +and \fB\-B\fR may be used to override this location.  The \fB\-A\fR option will
17645 +set \fBTERMINFO\fR for the first \fItermname\fR and the \fB\-B\fR option will
17646  set \fBTERMINFO\fR for the other \fItermnames\fR.  With this, it is possible to
17647  compare descriptions for a terminal with the same name located in two different
17648  databases.  This is useful for comparing descriptions for the same terminal
17649  created by different people.
17650  .SS Other Options
17651  .TP 5
17652 -\fB-1\fR
17653 +\fB\-1\fR
17654  causes the fields to be printed out one to a line.  Otherwise,
17655  the fields will be printed several to a line to a maximum width
17656  of 60 characters.
17657  .TP
17658 -\fB-a\fR
17659 +\fB\-a\fR
17660  tells \fBinfocmp\fP to retain commented-out capabilities rather than discarding
17661  them.  Capabilities are commented by prefixing them with a period.
17662  .TP 5
17663 -\fB-E\fR
17664 +\fB\-E\fR
17665  Dump the capabilities of the given terminal as tables, needed in
17666  the C initializer for a
17667  TERMTYPE structure (the terminal capability structure in the \fB<term.h>\fR).
17668 @@ -218,17 +218,17 @@
17669  The tables are all declared static, and are named according to the type
17670  and the name of the corresponding terminal entry.
17671  .sp
17672 -Before ncurses 5.0, the split between the \fB\-e\fP and \fB\-E\fP 
17673 +Before ncurses 5.0, the split between the \fB\-e\fP and \fB\-E\fP
17674  options was not needed; but support for extended names required making
17675  the arrays of terminal capabilities separate from the TERMTYPE structure.
17676  .TP 5
17677 -\fB-e\fR
17678 +\fB\-e\fR
17679  Dump the capabilities of the given terminal as a C initializer for a
17680  TERMTYPE structure (the terminal capability structure in the \fB<term.h>\fR).
17681  This option is useful for preparing versions of the curses library hardwired
17682  for a given terminal type.
17683  .TP 5
17684 -\fB-F\fR
17685 +\fB\-F\fR
17686  compare terminfo files.  This assumes that two following arguments are
17687  filenames.  The files are searched for pairwise matches between
17688  entries, with two entries considered to match if any of their names do.
17689 @@ -237,21 +237,21 @@
17690  with exactly one match it includes a difference report.  Normally,
17691  to reduce the volume of the report, use references are
17692  not resolved before looking for differences, but resolution can be forced
17693 -by also specifying \fB-r\fR.
17694 +by also specifying \fB\-r\fR.
17695  .TP 5
17696 -\fB-f\fR
17697 +\fB\-f\fR
17698  Display complex terminfo strings which contain if/then/else/endif expressions
17699  indented for readability.
17700  .TP 5
17701 -\fB-G\fR
17702 +\fB\-G\fR
17703  Display constant literals in decimal form
17704  rather than their character equivalents.
17705  .TP 5
17706 -\fB-g\fR
17707 +\fB\-g\fR
17708  Display constant character literals in quoted form
17709  rather than their decimal equivalents.
17710  .TP 5
17711 -\fB-i\fR
17712 +\fB\-i\fR
17713  Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset
17714  (\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry.  For each string, the
17715  code tries to analyze it into actions in terms of the other capabilities in the
17716 @@ -302,17 +302,17 @@
17717  
17718  An SGR0 designates an empty highlight sequence (equivalent to {SGR:NORMAL}).
17719  .TP 5
17720 -\bB-l\fR
17721 +\fB\-l\fR
17722  Set output format to terminfo.
17723  .TP 5
17724 -\fB-p\fR
17725 +\fB\-p\fR
17726  Ignore padding specifications when comparing strings.
17727  .TP 5
17728 -\fB-q\fR
17729 +\fB\-q\fR
17730  Make the comparison listing shorter by omitting subheadings, and using
17731  "-" for absent capabilities, "@" for canceled rather than "NULL".
17732  .TP 5
17733 -\fB-R\fR\fIsubset\fR
17734 +\fB\-R\fR\fIsubset\fR
17735  Restrict output to a given subset.  This option is for use with archaic
17736  versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
17737  the full set of SVR4/XSI Curses terminfo; and variants such as AIX
17738 @@ -321,8 +321,8 @@
17739  details.  You can also choose the subset "BSD" which selects only capabilities
17740  with termcap equivalents recognized by 4.4BSD.
17741  .TP
17742 -\fB-s \fR\fI[d|i|l|c]\fR
17743 -The \fB-s\fR option sorts the fields within each type according to the argument
17744 +\fB\-s \fR\fI[d|i|l|c]\fR
17745 +The \fB\-s\fR option sorts the fields within each type according to the argument
17746  below:
17747  .br
17748  .RS 5
17749 @@ -340,30 +340,30 @@
17750  sort by the \fItermcap\fR name.
17751  .RE
17752  .IP
17753 -If the \fB-s\fR option is not given, the fields printed out will be
17754 +If the \fB\-s\fR option is not given, the fields printed out will be
17755  sorted alphabetically by the \fBterminfo\fR name within each type,
17756 -except in the case of the \fB-C\fR or the \fB-L\fR options, which cause the
17757 +except in the case of the \fB\-C\fR or the \fB\-L\fR options, which cause the
17758  sorting to be done by the \fBtermcap\fR name or the long C variable
17759  name, respectively.
17760  .TP 5
17761 -\fB-T\fR
17762 +\fB\-T\fR
17763  eliminates size-restrictions on the generated text.
17764  This is mainly useful for testing and analysis, since the compiled
17765  descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
17766  .TP
17767 -\fB-t\fR
17768 +\fB\-t\fR
17769  tells \fBtic\fP to discard commented-out capabilities.
17770  Normally when translating from terminfo to termcap,
17771  untranslatable capabilities are commented-out.
17772  .TP 5
17773 -\fB-V\fR
17774 +\fB\-V\fR
17775  reports the version of ncurses which was used in this program, and exits.
17776  .TP 5
17777 -\fB-v\fR \fIn\fR
17778 +\fB\-v\fR \fIn\fR
17779  prints out tracing information on standard error as the program runs.
17780  Higher values of n induce greater verbosity.
17781  .TP 5
17782 -\fB-w\fR \fIwidth\fR
17783 +\fB\-w\fR \fIwidth\fR
17784  changes the output to \fIwidth\fR characters.
17785  .SH FILES
17786  .TP 20
17787 @@ -371,28 +371,28 @@
17788  Compiled terminal description database.
17789  .SH EXTENSIONS
17790  The
17791 -\fB-E\fR,
17792 -\fB-F\fR,
17793 -\fB-G\fR,
17794 -\fB-R\fR,
17795 -\fB-T\fR,
17796 -\fB-V\fR,
17797 -\fB-a\fR,
17798 -\fB-e\fR,
17799 -\fB-f\fR,
17800 -\fB-g\fR,
17801 -\fB-i\fR,
17802 -\fB-l\fR,
17803 -\fB-p\fR,
17804 -\fB-q\fR and
17805 -\fB-t\fR
17806 +\fB\-E\fR,
17807 +\fB\-F\fR,
17808 +\fB\-G\fR,
17809 +\fB\-R\fR,
17810 +\fB\-T\fR,
17811 +\fB\-V\fR,
17812 +\fB\-a\fR,
17813 +\fB\-e\fR,
17814 +\fB\-f\fR,
17815 +\fB\-g\fR,
17816 +\fB\-i\fR,
17817 +\fB\-l\fR,
17818 +\fB\-p\fR,
17819 +\fB\-q\fR and
17820 +\fB\-t\fR
17821  options are not supported in SVr4 curses.
17822  
17823 -The \fB-r\fR option's notion of `termcap' capabilities is System V Release 4's.
17824 +The \fB\-r\fR option's notion of `termcap' capabilities is System V Release 4's.
17825  Actual BSD curses versions will have a more restricted set.  To see only the
17826 -4.4BSD set, use -r -RBSD.
17827 +4.4BSD set, use \fB\-r\fR \fB\-RBSD\fR.
17828  .SH BUGS
17829 -The -F option of \fBinfocmp\fR(1M) should be a \fBtoe\fR(1M) mode.
17830 +The \fB\-F\fR option of \fBinfocmp\fR(1M) should be a \fBtoe\fR(1M) mode.
17831  .SH SEE ALSO
17832  \fBinfocmp\fR(1M), \fBcaptoinfo\fR(1M), \fBinfotocap\fR(1M),
17833  \fBtic\fR(1M), \fBtoe\fR(1M),
17834 diff -urNd -urNd ncurses-5.3/man/infotocap.1m ncurses-5.3.20030906.orig/man/infotocap.1m
17835 --- ncurses-5.3/man/infotocap.1m        Sat Aug 12 20:56:03 2000
17836 +++ ncurses-5.3.20030906.orig/man/infotocap.1m  Tue May 13 20:08:22 2003
17837 @@ -1,6 +1,6 @@
17838  '\" t
17839  .\"***************************************************************************
17840 -.\" Copyright (c) 1999,2000 Free Software Foundation, Inc.                   *
17841 +.\" Copyright (c) 1999-2000,2003 Free Software Foundation, Inc.              *
17842  .\"                                                                          *
17843  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17844  .\" copy of this software and associated documentation files (the            *
17845 @@ -27,40 +27,40 @@
17846  .\" authorization.                                                           *
17847  .\"***************************************************************************
17848  .\"
17849 -.\" $Id: infotocap.1m,v 1.3 2000/08/13 01:56:03 tom Exp $
17850 +.\" $Id: infotocap.1m,v 1.4 2003/05/11 00:32:53 tom Exp $
17851  .TH infotocap 1M ""
17852  .ds n 5
17853  .ds d @TERMINFO@
17854  .SH NAME
17855  \fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description
17856  .SH SYNOPSIS
17857 -\fBinfotocap\fR [\fB-v\fR\fIn\fR \fIwidth\fR]  [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
17858 +\fBinfotocap\fR [\fB\-v\fR\fIn\fR \fIwidth\fR]  [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR . . .
17859  .SH DESCRIPTION
17860  \fBinfotocap\fR looks in \fIfile\fR for \fBterminfo\fR descriptions.  For each
17861  one found, an equivalent \fBtermcap\fR description is written to standard
17862  output.  Terminfo \fBuse\fR capabilities are translated directly to termcap
17863  \fBtc\fR capabilities.
17864  .TP 5
17865 -\fB-v\fR
17866 +\fB\-v\fR
17867  print out tracing information on standard error as the program runs.
17868  .TP 5
17869 -\fB-V\fR
17870 +\fB\-V\fR
17871  print out the version of the program in use on standard error and exit.
17872  .TP 5
17873 -\fB-1\fR
17874 +\fB\-1\fR
17875  cause the fields to print out one to a line.  Otherwise, the fields
17876  will be printed several to a line to a maximum width of 60
17877  characters.
17878  .TP 5
17879 -\fB-w\fR
17880 +\fB\-w\fR
17881  change the output to \fIwidth\fR characters.
17882  .SH FILES
17883  .TP 20
17884  \*d
17885  Compiled terminal description database.
17886  .SH NOTES
17887 -This utility is actually a link to \fItic\fR(1M), running in \fI-C\fR mode.
17888 -You can use other \fItic\fR options such as \fB-f\fR and  \fB-x\fR.
17889 +This utility is actually a link to \fItic\fR(1M), running in \fI\-C\fR mode.
17890 +You can use other \fItic\fR options such as \fB\-f\fR and  \fB\-x\fR.
17891  .SH SEE ALSO
17892  \fBcurses\fR(3X),
17893  \fBtic\fR(1M),
17894 diff -urNd -urNd ncurses-5.3/man/key_defined.3x ncurses-5.3.20030906.orig/man/key_defined.3x
17895 --- ncurses-5.3/man/key_defined.3x      Wed Dec 31 18:00:00 1969
17896 +++ ncurses-5.3.20030906.orig/man/key_defined.3x        Sun Jul 20 14:02:08 2003
17897 @@ -0,0 +1,60 @@
17898 +.\"***************************************************************************
17899 +.\" Copyright (c) 2003 Free Software Foundation, Inc.                        *
17900 +.\"                                                                          *
17901 +.\" Permission is hereby granted, free of charge, to any person obtaining a  *
17902 +.\" copy of this software and associated documentation files (the            *
17903 +.\" "Software"), to deal in the Software without restriction, including      *
17904 +.\" without limitation the rights to use, copy, modify, merge, publish,      *
17905 +.\" distribute, distribute with modifications, sublicense, and/or sell       *
17906 +.\" copies of the Software, and to permit persons to whom the Software is    *
17907 +.\" furnished to do so, subject to the following conditions:                 *
17908 +.\"                                                                          *
17909 +.\" The above copyright notice and this permission notice shall be included  *
17910 +.\" in all copies or substantial portions of the Software.                   *
17911 +.\"                                                                          *
17912 +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
17913 +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
17914 +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
17915 +.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
17916 +.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
17917 +.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
17918 +.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
17919 +.\"                                                                          *
17920 +.\" Except as contained in this notice, the name(s) of the above copyright   *
17921 +.\" holders shall not be used in advertising or otherwise to promote the     *
17922 +.\" sale, use or other dealings in this Software without prior written       *
17923 +.\" authorization.                                                           *
17924 +.\"***************************************************************************
17925 +.\"
17926 +.\" Author: Thomas E. Dickey 2003
17927 +.\"
17928 +.\" $Id: key_defined.3x,v 1.2 2003/05/17 23:24:45 tom Exp $
17929 +.TH key_defined 3X ""
17930 +.SH NAME
17931 +\fBdefine_key\fP \- define a keycode
17932 +.SH SYNOPSIS
17933 +\fB#include <curses.h>\fP
17934 +
17935 +\fBint key_defined(const char *definition);\fP
17936 +.SH DESCRIPTION
17937 +This is an extension to the curses library.
17938 +It permits an application to determine if a string is currently bound
17939 +to any keycode.
17940 +.SH RETURN VALUE
17941 +If the string is bound to a keycode, its value (greater than zero) is returned.
17942 +If no keycode is bound, zero is returned.
17943 +If the string conflicts with longer strings which are bound to keys, -1 is returned.
17944 +.SH PORTABILITY
17945 +These routines are specific to ncurses.  They were not supported on
17946 +Version 7, BSD or System V implementations.  It is recommended that
17947 +any code depending on them be conditioned using NCURSES_VERSION.
17948 +.SH SEE ALSO
17949 +\fBdefine_key\fR(3X).
17950 +.SH AUTHOR
17951 +Thomas Dickey.
17952 +.\"#
17953 +.\"# The following sets edit modes for GNU EMACS
17954 +.\"# Local Variables:
17955 +.\"# mode:nroff
17956 +.\"# fill-column:79
17957 +.\"# End:
17958 diff -urNd -urNd ncurses-5.3/man/keybound.3x ncurses-5.3.20030906.orig/man/keybound.3x
17959 --- ncurses-5.3/man/keybound.3x Sat Feb 16 16:30:36 2002
17960 +++ ncurses-5.3.20030906.orig/man/keybound.3x   Tue May 13 20:08:22 2003
17961 @@ -1,5 +1,5 @@
17962  .\"***************************************************************************
17963 -.\" Copyright (c) 1999,2002 Free Software Foundation, Inc.                   *
17964 +.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
17965  .\"                                                                          *
17966  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
17967  .\" copy of this software and associated documentation files (the            *
17968 @@ -28,7 +28,7 @@
17969  .\"
17970  .\" Author: Thomas E. Dickey <dickey@clark.net> 1999
17971  .\"
17972 -.\" $Id: keybound.3x,v 1.3 2002/02/16 22:30:36 tom Exp $
17973 +.\" $Id: keybound.3x,v 1.4 2003/03/08 19:08:33 tom Exp $
17974  .TH keyok 3X ""
17975  .SH NAME
17976  \fBkeybound\fP \- return definition of keycode
17977 @@ -41,9 +41,12 @@
17978  It permits an application to determine the string which is defined
17979  in the terminfo for specific keycodes.
17980  .SH RETURN VALUE
17981 -The keycode must be greater than zero, else NULL is returned.
17982 +The \fIkeycode\fP parameter must be greater than zero, else NULL is returned.
17983  If it does not correspond to a defined key, then NULL is returned.
17984 -Otherwise, the function returns a string, which must be freed by the caller.
17985 +The \fIcount\fP parameter is used to allow the application to iterate
17986 +through multiple definitions, counting from zero.
17987 +When successful,
17988 +the function returns a string which must be freed by the caller.
17989  .SH PORTABILITY
17990  These routines are specific to ncurses.  They were not supported on
17991  Version 7, BSD or System V implementations.  It is recommended that
17992 diff -urNd -urNd ncurses-5.3/man/make_sed.sh ncurses-5.3.20030906.orig/man/make_sed.sh
17993 --- ncurses-5.3/man/make_sed.sh Wed Feb 11 06:13:48 1998
17994 +++ ncurses-5.3.20030906.orig/man/make_sed.sh   Tue May 13 20:08:22 2003
17995 @@ -1,7 +1,7 @@
17996  #!/bin/sh
17997 -# $Id: make_sed.sh,v 1.5 1998/02/11 12:13:48 tom Exp $
17998 +# $Id: make_sed.sh,v 1.6 2003/01/11 22:23:11 tom Exp $
17999  ##############################################################################
18000 -# Copyright (c) 1998 Free Software Foundation, Inc.                          #
18001 +# Copyright (c) 1998,2003 Free Software Foundation, Inc.                     #
18002  #                                                                            #
18003  # Permission is hereby granted, free of charge, to any person obtaining a    #
18004  # copy of this software and associated documentation files (the "Software"), #
18005 @@ -47,7 +47,7 @@
18006  rm -f $UPPER $SCRIPT $RESULT
18007  trap "rm -f $COL.* $INPUT $UPPER $SCRIPT $RESULT" 0 1 2 5 15
18008  fgrep -v \# $1 | \
18009 -sed    -e 's/[ ]\+/    /g' >$INPUT
18010 +sed    -e 's/[ ][      ]*/     /g' >$INPUT
18011  
18012  for F in 1 2 3 4
18013  do
18014 diff -urNd -urNd ncurses-5.3/man/man_db.renames ncurses-5.3.20030906.orig/man/man_db.renames
18015 --- ncurses-5.3/man/man_db.renames      Sat Apr 13 16:49:08 2002
18016 +++ ncurses-5.3.20030906.orig/man/man_db.renames        Sun Jul 20 14:02:08 2003
18017 @@ -1,4 +1,4 @@
18018 -# $Id: man_db.renames,v 0.31 2002/04/13 21:49:08 tom Exp $
18019 +# $Id: man_db.renames,v 0.32 2003/05/31 17:27:11 tom Exp $
18020  # Manual-page renamings for the man_db program
18021  #
18022  # Files:
18023 @@ -89,6 +89,7 @@
18024  infotocap.1m                   infotocap.1
18025  keybound.3x                    keybound.3ncurses
18026  keyok.3x                       keyok.3ncurses
18027 +key_defined.3x                 key_defined.3ncurses
18028  menu.3x                                menu.3menu
18029  menu_attributes.3x             attributes.3menu
18030  menu_cursor.3x                 cursor.3menu
18031 diff -urNd -urNd ncurses-5.3/man/manlinks.sed ncurses-5.3.20030906.orig/man/manlinks.sed
18032 --- ncurses-5.3/man/manlinks.sed        Sat Sep 21 14:02:03 2002
18033 +++ ncurses-5.3.20030906.orig/man/manlinks.sed  Sun Jul 20 14:02:08 2003
18034 @@ -1,6 +1,6 @@
18035 -# $Id: manlinks.sed,v 1.10 2002/09/21 19:02:03 tom Exp $
18036 +# $Id: manlinks.sed,v 1.11 2003/05/24 18:57:33 tom Exp $
18037  ##############################################################################
18038 -# Copyright (c) 2000,2002 Free Software Foundation, Inc.                     #
18039 +# Copyright (c) 2000-2002,2003 Free Software Foundation, Inc.                #
18040  #                                                                            #
18041  # Permission is hereby granted, free of charge, to any person obtaining a    #
18042  # copy of this software and associated documentation files (the "Software"), #
18043 @@ -29,6 +29,8 @@
18044  # Given a manpage (nroff) as input, writes a list of the names that are
18045  # listed in the "NAME" section, i.e., the names that we would like to use
18046  # as aliases for the manpage -T.Dickey
18047 +#
18048 +# eliminate formatting controls that get in the way
18049  /^'\\"/d
18050  /\.\\"/d
18051  /^\.br/d
18052 @@ -36,11 +38,18 @@
18053  s/^\.IX//
18054  s/\\f.//g
18055  s/[:,]/ /g
18056 +#
18057 +# eliminate unnecessary whitespace, convert multiple blanks to single space
18058  s/^[   ][      ]*//
18059  s/[    ][      ]*$//
18060  s/[    ][      ]*/ /g
18061 +#
18062 +# convert ".SH" into a more manageable form
18063  s/\.SH[        ][      ]*/.SH_(/
18064  #
18065 +# in ".SH NAME"
18066 +# change "\-" to "-", eliminate text after "-", and split the remaining lines
18067 +# at each space, making a list of names:
18068  /^\.SH_(NAME/,/^\.SH_(SYNOPSIS/{
18069  s/\\-.*/ -/
18070  / -/{
18071 @@ -54,16 +63,39 @@
18072  s/ /\
18073  /g
18074  }
18075 +#
18076 +# in ".SH SYNOPSIS"
18077 +# remove any line that does not contain a '(', since we only want functions.
18078 +# then strip off return-type of each function.
18079 +# finally, remove the parameter list, which begins with a '('.
18080  /^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
18081 -       /^#/d
18082         /^[^(]*$/d
18083 +       # reduce
18084 +       #       .B "int add_wch( const cchar_t *\fIwch\fB );"
18085 +       # to
18086 +       #       add_wch( const cchar_t *\fIwch\fB );"
18087         s/^\([^ (]* [^ (]* [*]*\)//g
18088         s/^\([^ (]* [*]*\)//g
18089 +       # trim blanks in case we have
18090 +       #       void (*) (FORM *) field_init(const FORM *form);
18091 +       s/) (/)(/g
18092 +       # reduce stuff like
18093 +       #       void (*)(FORM *) field_init(const FORM *form);
18094 +       # to
18095 +       #       field_init(const FORM *form);
18096 +       s/^\(([^)]*)\)\(([^)]*)\)*[ ]*//g
18097 +       # rename marker temporarily
18098         s/\.SH_(/.SH_/
18099 -       s/(.*//
18100 +       # kill lines with ");", and trim off beginning of argument list.
18101 +       s/[()].*//
18102 +       # rename marker back
18103         s/\.SH_/.SH_(/
18104  }
18105 +#
18106 +# delete ".SH DESCRIPTION" and following lines
18107  /^\.SH_(DESCRIPTION/,${
18108         d
18109  }
18110 +#
18111 +# delete any remaining directives
18112  /^\./d
18113 diff -urNd -urNd ncurses-5.3/man/menu_driver.3x ncurses-5.3.20030906.orig/man/menu_driver.3x
18114 --- ncurses-5.3/man/menu_driver.3x      Sat Feb 16 16:40:59 2002
18115 +++ ncurses-5.3.20030906.orig/man/menu_driver.3x        Tue May 13 20:08:22 2003
18116 @@ -1,5 +1,5 @@
18117  .\"***************************************************************************
18118 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
18119 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
18120  .\"                                                                          *
18121  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
18122  .\" copy of this software and associated documentation files (the            *
18123 @@ -26,7 +26,7 @@
18124  .\" authorization.                                                           *
18125  .\"***************************************************************************
18126  .\"
18127 -.\" $Id: menu_driver.3x,v 1.10 2002/02/16 22:40:59 tom Exp $
18128 +.\" $Id: menu_driver.3x,v 1.11 2003/05/10 20:22:01 tom Exp $
18129  .TH menu_driver 3X ""
18130  .SH NAME
18131  \fBmenu_driver\fR - command-processing loop of the menu system
18132 @@ -115,10 +115,10 @@
18133  is generated and \fBE_UNKNOWN_COMMAND\fR is returned. This return value makes
18134  sense, because a double click usually means that an item-specific action should
18135  be returned. It's exactly the purpose of this return value to signal that an
18136 -application specific command should be executed. If a translation 
18137 +application specific command should be executed. If a translation
18138  into a request was done, \fBmenu_driver\fR returns the result of this request.
18139  If you clicked outside the user window or the mouse event couldn't be translated
18140 -into a menu request an \fBE_REQUEST_DENIED\fR is returned. 
18141 +into a menu request an \fBE_REQUEST_DENIED\fR is returned.
18142  .PP
18143  If the second argument is neither printable ASCII nor one of the above
18144  pre-defined menu requests or KEY_MOUSE, the drive assumes it is an application-specific
18145 diff -urNd -urNd ncurses-5.3/man/menu_pattern.3x ncurses-5.3.20030906.orig/man/menu_pattern.3x
18146 --- ncurses-5.3/man/menu_pattern.3x     Sat Feb 16 16:40:59 2002
18147 +++ ncurses-5.3.20030906.orig/man/menu_pattern.3x       Tue May 13 20:08:22 2003
18148 @@ -1,5 +1,5 @@
18149  .\"***************************************************************************
18150 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
18151 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
18152  .\"                                                                          *
18153  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
18154  .\" copy of this software and associated documentation files (the            *
18155 @@ -26,7 +26,7 @@
18156  .\" authorization.                                                           *
18157  .\"***************************************************************************
18158  .\"
18159 -.\" $Id: menu_pattern.3x,v 1.7 2002/02/16 22:40:59 tom Exp $
18160 +.\" $Id: menu_pattern.3x,v 1.8 2003/05/10 20:22:01 tom Exp $
18161  .TH menu_pattern 3X ""
18162  .SH NAME
18163  \fBmenu_pattern\fR - get and set a menu's pattern buffer
18164 @@ -44,7 +44,7 @@
18165  
18166  The function \fBset_menu_pattern\fR sets the pattern buffer for the given menu
18167  and tries to find the first matching item.  If it succeeds, that item becomes
18168 -current; if not, the current item does not change.  
18169 +current; if not, the current item does not change. 
18170  
18171  The function \fBmenu_pattern\fR returns the pattern buffer of the given
18172  \fImenu\fR.
18173 diff -urNd -urNd ncurses-5.3/man/ncurses.3x ncurses-5.3.20030906.orig/man/ncurses.3x
18174 --- ncurses-5.3/man/ncurses.3x  Sat Aug 10 16:56:07 2002
18175 +++ ncurses-5.3.20030906.orig/man/ncurses.3x    Tue May 13 20:08:22 2003
18176 @@ -1,6 +1,6 @@
18177  '\" t
18178  .\"***************************************************************************
18179 -.\" Copyright (c) 1998,1999,2001,2002 Free Software Foundation, Inc.         *
18180 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
18181  .\"                                                                          *
18182  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
18183  .\" copy of this software and associated documentation files (the            *
18184 @@ -27,7 +27,7 @@
18185  .\" authorization.                                                           *
18186  .\"***************************************************************************
18187  .\"
18188 -.\" $Id: ncurses.3x,v 1.63 2002/08/10 21:56:07 tom Exp $
18189 +.\" $Id: ncurses.3x,v 1.66 2003/05/11 00:32:53 tom Exp $
18190  .hy 0
18191  .TH ncurses 3X ""
18192  .ds n 5
18193 @@ -322,6 +322,7 @@
18194  is_linetouched/\fBcurs_touch\fR(3X)
18195  is_wintouched/\fBcurs_touch\fR(3X)
18196  isendwin/\fBcurs_initscr\fR(3X)
18197 +key_defined/\fBkey_defined\fR(3X)*
18198  key_name/\fBcurs_util\fR(3X)
18199  keybound/\fBkeybound\fR(3X)*
18200  keyname/\fBcurs_util\fR(3X)
18201 @@ -614,9 +615,9 @@
18202  otherwise noted in the routine descriptions.
18203  
18204  All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR,
18205 -\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, \fBgetmaxyx\fR.  The return
18206 +\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR.  The return
18207  values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and
18208 -\fBgetmaxyx\fR are undefined (\fIi\fR.\fIe\fR., these should not be used as the
18209 +\fBgetmaxyx\fR are undefined (i.e., these should not be used as the
18210  right-hand side of assignment statements).
18211  
18212  Routines that return pointers return \fBNULL\fR on error.
18213 @@ -629,7 +630,7 @@
18214  The debugging library checks this environment symbol when the application
18215  has redirected output to a file.
18216  The symbol's numeric value is used for the baudrate.
18217 -If no value is found \fBncurses\fR uses 9600.
18218 +If no value is found, \fBncurses\fR uses 9600.
18219  This allows testers to construct repeatable test-cases
18220  that take into account costs that depend on baudrate.
18221  .TP 5
18222 @@ -784,7 +785,7 @@
18223  .RS
18224  .TP 3
18225  -
18226 -the last directory to which \fBncurses\fR wrote, if any, is searched first.
18227 +the last directory to which \fBncurses\fR wrote, if any, is searched first
18228  .TP 3
18229  -
18230  the directory specified by the TERMINFO symbol
18231 @@ -828,7 +829,7 @@
18232  \fBterminfo\fR(\*n) and related pages whose names begin "curs_" for detailed routine
18233  descriptions.
18234  .SH EXTENSIONS
18235 -The \fBncurses\fR library can be compiled with an option (\fB-DUSE_GETCAP\fR)
18236 +The \fBncurses\fR library can be compiled with an option (\fB\-DUSE_GETCAP\fR)
18237  that falls back to the old-style /etc/termcap file if the terminal setup code
18238  cannot find a terminfo entry corresponding to \fBTERM\fR.  Use of this feature
18239  is not recommended, as it essentially includes an entire termcap compiler in
18240 @@ -848,6 +849,7 @@
18241  of terminals by allowing the application designer to define additional
18242  key sequences at runtime.
18243  See the \fBdefine_key\fR(3X)
18244 +\fBkey_defined\fR(3X),
18245  and \fBkeyok\fR(3X) manual pages for details.
18246  
18247  The \fBncurses\fR library can exploit the capabilities of terminals which
18248 diff -urNd -urNd ncurses-5.3/man/panel.3x ncurses-5.3.20030906.orig/man/panel.3x
18249 --- ncurses-5.3/man/panel.3x    Sat Aug 12 20:56:47 2000
18250 +++ ncurses-5.3.20030906.orig/man/panel.3x      Sun Jul 20 14:02:08 2003
18251 @@ -1,5 +1,5 @@
18252  .\"***************************************************************************
18253 -.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
18254 +.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
18255  .\"                                                                          *
18256  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
18257  .\" copy of this software and associated documentation files (the            *
18258 @@ -26,7 +26,7 @@
18259  .\" authorization.                                                           *
18260  .\"***************************************************************************
18261  .\"
18262 -.\" $Id: panel.3x,v 1.10 2000/08/13 01:56:47 tom Exp $
18263 +.\" $Id: panel.3x,v 1.11 2003/05/17 22:44:09 jmc Exp $
18264  .TH panel 3X ""
18265  .ds n 5
18266  .ds d @TERMINFO@
18267 @@ -77,7 +77,7 @@
18268  of the stack.
18269  .P
18270  A window is associated with every panel. The panel routines enable
18271 -you to create, move, hides, and show panels, as well as position a
18272 +you to create, move, hide, and show panels, as well as position a
18273  panel at any desired location in the stack.
18274  .P
18275  Panel routines are a functional layer added to \fBcurses\fR(3X), make only
18276 diff -urNd -urNd ncurses-5.3/man/term.5 ncurses-5.3.20030906.orig/man/term.5
18277 --- ncurses-5.3/man/term.5      Sat Aug 10 16:59:37 2002
18278 +++ ncurses-5.3.20030906.orig/man/term.5        Tue May 13 20:08:22 2003
18279 @@ -1,5 +1,5 @@
18280  .\"***************************************************************************
18281 -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
18282 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
18283  .\"                                                                          *
18284  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
18285  .\" copy of this software and associated documentation files (the            *
18286 @@ -26,7 +26,7 @@
18287  .\" authorization.                                                           *
18288  .\"***************************************************************************
18289  .\"
18290 -.\" $Id: term.5,v 1.14 2002/08/10 21:59:37 tom Exp $
18291 +.\" $Id: term.5,v 1.15 2003/05/10 20:33:49 jmc Exp $
18292  .TH TERM 5
18293  .ds n 5
18294  .ds d @TERMINFO@
18295 @@ -56,7 +56,7 @@
18296  or sign extension are made.
18297  .PP
18298  The compiled file is created with the
18299 -.I tic 
18300 +.I tic
18301  program, and read by the routine
18302  .IR setupterm .
18303  The file is divided into six parts:
18304 @@ -84,7 +84,7 @@
18305  and the second byte contains the most significant 8 bits.
18306  (Thus, the value represented is 256*second+first.)
18307  The value \-1 is represented by the two bytes 0377, 0377; other negative
18308 -values are illegal. This value generally 
18309 +values are illegal. This value generally
18310  means that the corresponding capability is missing from this terminal.
18311  Note that this format corresponds to the hardware of the \s-1VAX\s+1
18312  and \s-1PDP\s+1-11 (that is, little-endian machines).
18313 @@ -160,12 +160,12 @@
18314  ADM-3, a popular though rather stupid early terminal:
18315  .nf
18316  .sp
18317 -adm3a|lsi adm3a, 
18318 -        am, 
18319 -        cols#80, lines#24, 
18320 -        bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J, 
18321 -        cuf1=^L, cup=\\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, 
18322 -        home=^^, ind=^J, 
18323 +adm3a|lsi adm3a,
18324 +        am,
18325 +        cols#80, lines#24,
18326 +        bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J,
18327 +        cuf1=^L, cup=\\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
18328 +        home=^^, ind=^J,
18329  .sp
18330  .ft CW
18331  \s-20000  1a 01 10 00 02 00 03 00  82 00 31 00 61 64 6d 33  ........ ..1.adm3
18332 diff -urNd -urNd ncurses-5.3/man/term.7 ncurses-5.3.20030906.orig/man/term.7
18333 --- ncurses-5.3/man/term.7      Sat Apr 20 11:50:47 2002
18334 +++ ncurses-5.3.20030906.orig/man/term.7        Tue May 13 20:08:22 2003
18335 @@ -1,5 +1,5 @@
18336  .\"***************************************************************************
18337 -.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
18338 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
18339  .\"                                                                          *
18340  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
18341  .\" copy of this software and associated documentation files (the            *
18342 @@ -26,7 +26,7 @@
18343  .\" authorization.                                                           *
18344  .\"***************************************************************************
18345  .\"
18346 -.\" $Id: term.7,v 1.13 2002/04/20 16:50:47 tom Exp $
18347 +.\" $Id: term.7,v 1.14 2003/05/10 20:33:49 jmc Exp $
18348  .TH TERM 7
18349  .ds n 5
18350  .ds d @TERMINFO@
18351 @@ -96,7 +96,7 @@
18352  First, choose a root name.  The root will consist of a lower-case letter
18353  followed by up to seven lower-case letters or digits.  You need to avoid using
18354  punctuation characters in root names, because they are used and interpreted as
18355 -filenames and shell meta-characters (such as !, $, *, ? etc.) embedded in them
18356 +filenames and shell meta-characters (such as !, $, *, ?, etc.) embedded in them
18357  may cause odd and unhelpful behavior.  The slash (/), or any other character
18358  that may be interpreted by anyone's file system (\e, $, [, ]), is especially
18359  dangerous (terminfo is platform-independent, and choosing names with special
18360 @@ -136,29 +136,29 @@
18361  attributes.
18362  .TP 5
18363  -am
18364 -Enable auto-margin (right-margin wraparound)
18365 +Enable auto-margin (right-margin wraparound).
18366  .TP 5
18367  -m
18368 -Mono mode - suppress color support
18369 +Mono mode - suppress color support.
18370  .TP 5
18371  -na
18372  No arrow keys - termcap ignores arrow keys which are actually there on the
18373  terminal, so the user can use the arrow keys locally.
18374  .TP 5
18375  -nam
18376 -No auto-margin - suppress am capability
18377 +No auto-margin - suppress am capability.
18378  .TP 5
18379  -nl
18380 -No labels - suppress soft labels
18381 +No labels - suppress soft labels.
18382  .TP 5
18383  -nsl
18384 -No status line - suppress status line
18385 +No status line - suppress status line.
18386  .TP 5
18387  -pp
18388  Has a printer port which is used.
18389  .TP 5
18390  -rv
18391 -Terminal in reverse video mode (black on white)
18392 +Terminal in reverse video mode (black on white).
18393  .TP 5
18394  -s
18395  Enable status line.
18396 @@ -190,10 +190,10 @@
18397  compiled terminal capability data base
18398  .TP 5
18399  /etc/inittab
18400 -tty line initialization (AT&T-like UNIXes).
18401 +tty line initialization (AT&T-like UNIXes)
18402  .TP 5
18403  /etc/ttys
18404 -tty line initialization (BSD-like UNIXes).
18405 +tty line initialization (BSD-like UNIXes)
18406  .SH SEE ALSO
18407  \fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBterm\fR(\*n).
18408  .\"#
18409 diff -urNd -urNd ncurses-5.3/man/terminfo.tail ncurses-5.3.20030906.orig/man/terminfo.tail
18410 --- ncurses-5.3/man/terminfo.tail       Sat Apr 20 11:49:33 2002
18411 +++ ncurses-5.3.20030906.orig/man/terminfo.tail Tue May 13 20:08:22 2003
18412 @@ -1,4 +1,4 @@
18413 -.\" $Id: terminfo.tail,v 1.35 2002/04/20 16:49:33 tom Exp $
18414 +.\" $Id: terminfo.tail,v 1.38 2003/01/05 22:47:05 tom Exp $
18415  .\" Beginning of terminfo.tail file
18416  .ps +1
18417  .PP
18418 @@ -311,42 +311,81 @@
18419  to manipulate it.
18420  Typically a sequence will push one of the
18421  parameters onto the stack and then print it in some format.
18422 -Often more complex operations are necessary.
18423 +Print (e.g., "%d") is a special case.
18424 +Other operations, including "%t" pop their operand from the stack.
18425 +It is noted that more complex operations are often necessary,
18426 +e.g., in the \fBsgr\fP string.
18427  .PP
18428  The \fB%\fR encodings have the following meanings:
18429  .PP
18430 -.DT
18431 -.nf
18432 -.ta .5i 1.5i
18433 -       \s-1%%  outputs `%'
18434 -       %\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP
18435 -               as in \fBprintf\fP, flags are [-+#] and space
18436 -       %c      print pop() like %c in printf()
18437 -       %s      print pop() like %s in printf()
18438 -
18439 -       %p[1-9] push \fIi\fP'th parm
18440 -       %P[a-z] set dynamic variable [a-z] to pop()
18441 -       %g[a-z] get dynamic variable [a-z] and push it
18442 -       %P[A-Z] set static variable [a-z] to pop()
18443 -       %g[A-Z] get static variable [a-z] and push it
18444 -       %'\fIc\fP'      char constant \fIc\fP
18445 -       %{\fInn\fP}     integer constant \fInn\fP
18446 -       %l      push strlen(pop)
18447 -
18448 -       %+ %- %* %/ %m
18449 -               arithmetic (%m is mod): push(pop() op pop())
18450 -       %& %| %^        bit operations: push(pop() op pop())
18451 -       %= %> %<        logical operations: push(pop() op pop())
18452 -       %A, %O  logical and & or operations (for conditionals)
18453 -       %! %~   unary operations push(op pop())
18454 -       %i      add 1 to first two parameters (for ANSI terminals)
18455 -
18456 -       %? expr %t thenpart %e elsepart %;
18457 -               if-then-else, %e elsepart is optional.
18458 -               else-if's are possible a la Algol 68:
18459 -               %? 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 %;
18460 -\s+1           c\di\u are conditions, b\di\u are bodies.
18461 -.fi
18462 +.TP 5
18463 +\s-1%%
18464 +outputs `%'
18465 +.TP
18466 +%\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP
18467 +as in \fBprintf\fP, flags are [-+#] and space
18468 +.TP
18469 +%c
18470 +print pop() like %c in \fBprintf\fP
18471 +.TP
18472 +%s
18473 +print pop() like %s in \fBprintf\fP
18474 +.TP
18475 +%p[1-9]
18476 +push \fIi\fP'th parameter
18477 +.TP
18478 +%P[a-z]
18479 +set dynamic variable [a-z] to pop()
18480 +.TP
18481 +%g[a-z]
18482 +get dynamic variable [a-z] and push it
18483 +.TP
18484 +%P[A-Z]
18485 +set static variable [a-z] to pop()
18486 +.TP
18487 +%g[A-Z]
18488 +get static variable [a-z] and push it
18489 +.IP
18490 +The terms "static" and "dynamic" are misleading.
18491 +Historically, these are simply two different sets of variables,
18492 +whose values are not reset between calls to \fBtparm\fP.
18493 +However, that fact is not documented in other implementations.
18494 +Relying on it will adversely impact portability to other implementations.
18495 +.TP
18496 +%'\fIc\fP'
18497 +char constant \fIc\fP
18498 +.TP
18499 +%{\fInn\fP}
18500 +integer constant \fInn\fP
18501 +.TP
18502 +%l
18503 +push strlen(pop)
18504 +.TP
18505 +%+ %- %* %/ %m
18506 +arithmetic (%m is mod): push(pop() op pop())
18507 +.TP
18508 +%& %| %^
18509 +bit operations: push(pop() op pop())
18510 +.TP
18511 +%= %> %<
18512 +logical operations: push(pop() op pop())
18513 +.TP
18514 +%A, %O
18515 +logical and & or operations (for conditionals)
18516 +.TP
18517 +%! %~
18518 +unary operations push(op pop())
18519 +.TP
18520 +%i
18521 +add 1 to first two parameters (for ANSI terminals)
18522 +.TP
18523 +%? \fIexpr\fP %t \fIthenpart\fP %e \fIelsepart\fP %;
18524 +if-then-else, %e \fIelsepart\fP is optional.
18525 +else-if's are possible a la Algol 68:
18526 +.br
18527 +%? 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 %;
18528 +.br
18529 +c\di\u are conditions, b\di\u are bodies.
18530  .PP
18531  Binary operations are in postfix form with the operands in the usual order.
18532  That is, to get x-5 one would use "%gx%{5}%-".
18533 @@ -1170,7 +1209,7 @@
18534  .PP
18535  The \fBsetaf\fR/\fBsetab\fR and \fBsetf\fR/\fBsetb\fR capabilities take a
18536  single numeric argument each.
18537 -Argument values 0-7 are portably defined as
18538 +Argument values 0-7 of \fBsetaf\fR/\fBsetab\fR are portably defined as
18539  follows (the middle column is the symbolic #define available in the header for
18540  the \fBcurses\fR or \fBncurses\fR libraries).
18541  The terminal hardware is free to
18542 @@ -1192,6 +1231,25 @@
18543  white  \fBCOLOR_WHITE\fR       7       max,max,max
18544  .TE
18545  .PP
18546 +The argument values of \fBsetf\fR/\fBsetb\fR historically correspond to
18547 +a different mapping, i.e.,
18548 +.TS H
18549 +center;
18550 +l c c c
18551 +l l n l.
18552 +\fBColor       #define         Value   RGB\fR
18553 +black  \fBCOLOR_BLACK\fR       0       0, 0, 0
18554 +blue   \fBCOLOR_BLUE\fR        1       0,0,max
18555 +green  \fBCOLOR_GREEN\fR       2       0,max,0
18556 +cyan   \fBCOLOR_CYAN\fR        3       0,max,max
18557 +red    \fBCOLOR_RED\ \fR       4       max,0,0
18558 +magenta        \fBCOLOR_MAGENTA\fR     5       max,0,max
18559 +yellow \fBCOLOR_YELLOW\fR      6       max,max,0
18560 +white  \fBCOLOR_WHITE\fR       7       max,max,max
18561 +.TE
18562 +It is important to not confuse the two sets of color capabilities;
18563 +otherwise red/blue will be interchanged on the display.
18564 +.PP
18565  On an HP-like terminal, use \fBscp\fR with a color-pair number parameter to set
18566  which color pair is current.
18567  .PP
18568 diff -urNd -urNd ncurses-5.3/man/tic.1m ncurses-5.3.20030906.orig/man/tic.1m
18569 --- ncurses-5.3/man/tic.1m      Sat Oct  5 15:06:13 2002
18570 +++ ncurses-5.3.20030906.orig/man/tic.1m        Tue May 13 20:08:22 2003
18571 @@ -1,5 +1,5 @@
18572  .\"***************************************************************************
18573 -.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
18574 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
18575  .\"                                                                          *
18576  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
18577  .\" copy of this software and associated documentation files (the            *
18578 @@ -26,7 +26,7 @@
18579  .\" authorization.                                                           *
18580  .\"***************************************************************************
18581  .\"
18582 -.\" $Id: tic.1m,v 1.33 2002/10/05 20:06:13 tom Exp $
18583 +.\" $Id: tic.1m,v 1.35 2003/05/11 00:32:53 tom Exp $
18584  .TH tic 1M ""
18585  .ds n 5
18586  .ds d @TERMINFO@
18587 @@ -52,11 +52,11 @@
18588  t\
18589  x\
18590  \fR]
18591 -[\fB-e\fR \fInames\fR]
18592 -[\fB-o\fR \fIdir\fR]
18593 -[\fB-R\fR \fIsubset\fR]
18594 -[\fB-v\fR[\fIn\fR]]
18595 -[\fB-w\fR[\fIn\fR]]
18596 +[\fB\-e\fR \fInames\fR]
18597 +[\fB\-o\fR \fIdir\fR]
18598 +[\fB\-R\fR \fIsubset\fR]
18599 +[\fB\-v\fR[\fIn\fR]]
18600 +[\fB\-w\fR[\fIn\fR]]
18601  \fIfile\fR
18602  .br
18603  .SH DESCRIPTION
18604 @@ -78,31 +78,31 @@
18605  directory first, look at \fI$HOME/.terminfo\fR if TERMINFO is not set, and
18606  finally look in \fI\*d\fR.
18607  .TP
18608 -\fB-1\fR
18609 +\fB\-1\fR
18610  restricts the output to a single column
18611  .TP
18612 -\fB-a\fR
18613 +\fB\-a\fR
18614  tells \fBtic\fP to retain commented-out capabilities rather than discarding
18615  them.  Capabilities are commented by prefixing them with a period.
18616 -This sets the \fB-x\fR option, because it treats the commented-out
18617 +This sets the \fB\-x\fR option, because it treats the commented-out
18618  entries as user-defined names.
18619  .TP
18620 -\fB-C\fR
18621 -Force source translation to termcap format.  Note: this differs from the -C
18622 +\fB\-C\fR
18623 +Force source translation to termcap format.  Note: this differs from the \fB\-C\fR
18624  option of \fIinfocmp\fR(1M) in that it does not merely translate capability
18625  names, but also translates terminfo strings to termcap format.  Capabilities
18626  that are not translatable are left in the entry under their terminfo names
18627  but commented out with two preceding dots.
18628  .TP
18629 -\fB-c\fR
18630 +\fB\-c\fR
18631  tells \fBtic\fP to only check \fIfile\fR for errors, including syntax problems and
18632 -bad use links.  If you specify \fB-C\fR (\fB-I\fR) with this option, the code
18633 +bad use links.  If you specify \fB\-C\fR (\fB\-I\fR) with this option, the code
18634  will print warnings about entries which, after use resolution, are more than
18635  1023 (4096) bytes long.  Due to a fixed buffer length in older termcap
18636  libraries (and a documented limit in terminfo), these entries may cause core
18637  dumps.
18638  .TP
18639 -\fB-e \fR\fInames\fR
18640 +\fB\-e \fR\fInames\fR
18641  Limit writes and translations to the following comma-separated list of
18642  terminals.
18643  If any name or alias of a terminal matches one of the names in
18644 @@ -110,32 +110,32 @@
18645  Otherwise no output will be generated for it.
18646  The option value is interpreted as a file containing the list if it
18647  contains a '/'.
18648 -(Note: depending on how tic was compiled, this option may require -I or -C.)
18649 +(Note: depending on how tic was compiled, this option may require \fB\-I\fR or \fB\-C\fR.)
18650  .TP
18651 -\fB-f\fR
18652 +\fB\-f\fR
18653  Display complex terminfo strings which contain if/then/else/endif expressions
18654  indented for readability.
18655  .TP
18656 -\fB-G\fR
18657 +\fB\-G\fR
18658  Display constant literals in decimal form
18659  rather than their character equivalents.
18660  .TP
18661 -\fB-g\fR
18662 +\fB\-g\fR
18663  Display constant character literals in quoted form
18664  rather than their decimal equivalents.
18665  .TP
18666 -\fB-I\fR
18667 +\fB\-I\fR
18668  Force source translation to terminfo format.
18669  .TP
18670 -\fB-L\fR
18671 +\fB\-L\fR
18672  Force source translation to terminfo format
18673  using the long C variable names listed in <\fBterm.h\fR>
18674  .TP
18675 -\fB-N\fR
18676 -Disable smart defaults.  
18677 -Normally, when translating from termcap to terminfo, the compiler makes 
18678 +\fB\-N\fR
18679 +Disable smart defaults. 
18680 +Normally, when translating from termcap to terminfo, the compiler makes
18681  a number of assumptions about the defaults of string capabilities
18682 -\fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR, 
18683 +\fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR,
18684  \fBcursor_down\fR, \fBscroll_forward\fR, \fBtab\fR, \fBnewline\fR,
18685  \fBkey_backspace\fR, \fBkey_left\fR, and \fBkey_down\fR, then attempts
18686  to use obsolete termcap capabilities to deduce correct values.  It also
18687 @@ -143,42 +143,42 @@
18688  This option forces a more literal translation that also preserves the
18689  obsolete capabilities.
18690  .TP
18691 -\fB-o\fR\fIdir\fR
18692 +\fB\-o\fR\fIdir\fR
18693  Write compiled entries to given directory.  Overrides the TERMINFO environment
18694  variable.
18695  .TP
18696 -\fB-R\fR\fIsubset\fR
18697 +\fB\-R\fR\fIsubset\fR
18698  Restrict output to a given subset.  This option is for use with archaic
18699  versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
18700  the full set of SVR4/XSI Curses terminfo; and outright broken ports like AIX 3.x
18701  that have their own extensions incompatible with SVr4/XSI.  Available subsets
18702  are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see \fBterminfo\fR(\*n) for details.
18703  .TP
18704 -\fB-r\fR
18705 +\fB\-r\fR
18706  Force entry resolution (so there are no remaining tc capabilities) even
18707  when doing translation to termcap format.  This may be needed if you are
18708  preparing a termcap file for a termcap library (such as GNU termcap through
18709  version 1.3 or BSD termcap through 4.3BSD) that does not handle multiple
18710  tc capabilities per entry.
18711  .TP
18712 -\fB-s\fR
18713 +\fB\-s\fR
18714  Summarize the compile by showing the directory into which entries
18715  are written, and the number of entries which are compiled.
18716  .TP
18717 -\fB-T\fR
18718 +\fB\-T\fR
18719  eliminates size-restrictions on the generated text.
18720  This is mainly useful for testing and analysis, since the compiled
18721  descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
18722  .TP
18723 -\fB-t\fR
18724 +\fB\-t\fR
18725  tells \fBtic\fP to discard commented-out capabilities.
18726  Normally when translating from terminfo to termcap,
18727  untranslatable capabilities are commented-out.
18728  .TP
18729 -\fB-V\fR
18730 +\fB\-V\fR
18731  reports the version of ncurses which was used in this program, and exits.
18732  .TP
18733 -\fB-v\fR\fIn\fR
18734 +\fB\-v\fR\fIn\fR
18735  specifies that (verbose) output be written to standard error trace
18736  information showing \fBtic\fR's progress.  The optional integer
18737  \fIn\fR is a number from 1 to 10, inclusive, indicating the desired
18738 @@ -186,10 +186,10 @@
18739  level is 1.  If \fIn\fR is specified and greater than 1, the level of
18740  detail is increased.
18741  .TP
18742 -\fB-w\fR\fIn\fR
18743 +\fB\-w\fR\fIn\fR
18744  specifies the width of the output.
18745  .TP
18746 -\fB-x\fR
18747 +\fB\-x\fR
18748  Treat unknown capabilities as user-defined.
18749  That is, if you supply a capability name which \fBtic\fP does not recognize,
18750  it will infer its type (boolean, number or string) from the syntax and
18751 @@ -274,25 +274,25 @@
18752  error messages, and can be parsed by GNU Emacs's compile facility.
18753  
18754  The
18755 -\fB-C\fR,
18756 -\fB-G\fR,
18757 -\fB-I\fR,
18758 -\fB-N\fR,
18759 -\fB-R\fR,
18760 -\fB-T\fR,
18761 -\fB-V\fR,
18762 -\fB-a\fR,
18763 -\fB-e\fR,
18764 -\fB-f\fR,
18765 -\fB-g\fR,
18766 -\fB-o\fR,
18767 -\fB-r\fR,
18768 -\fB-s\fR,
18769 -\fB-t\fR and 
18770 -\fB-x\fR
18771 +\fB\-C\fR,
18772 +\fB\-G\fR,
18773 +\fB\-I\fR,
18774 +\fB\-N\fR,
18775 +\fB\-R\fR,
18776 +\fB\-T\fR,
18777 +\fB\-V\fR,
18778 +\fB\-a\fR,
18779 +\fB\-e\fR,
18780 +\fB\-f\fR,
18781 +\fB\-g\fR,
18782 +\fB\-o\fR,
18783 +\fB\-r\fR,
18784 +\fB\-s\fR,
18785 +\fB\-t\fR and
18786 +\fB\-x\fR
18787  options
18788  are not supported under SVr4.
18789 -The SVr4 -c mode does not report bad use links.
18790 +The SVr4 \fB\-c\fR mode does not report bad use links.
18791  
18792  System V does not compile entries to or read entries from your
18793  \fI$HOME/.terminfo\fR directory unless TERMINFO is explicitly set to it.
18794 diff -urNd -urNd ncurses-5.3/man/toe.1m ncurses-5.3.20030906.orig/man/toe.1m
18795 --- ncurses-5.3/man/toe.1m      Sat Aug 19 13:51:05 2000
18796 +++ ncurses-5.3.20030906.orig/man/toe.1m        Tue May 13 20:08:22 2003
18797 @@ -1,5 +1,5 @@
18798  .\"***************************************************************************
18799 -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
18800 +.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
18801  .\"                                                                          *
18802  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
18803  .\" copy of this software and associated documentation files (the            *
18804 @@ -26,45 +26,45 @@
18805  .\" authorization.                                                           *
18806  .\"***************************************************************************
18807  .\"
18808 -.\" $Id: toe.1m,v 1.10 2000/08/19 18:51:05 tom Exp $
18809 +.\" $Id: toe.1m,v 1.12 2003/05/11 00:32:53 tom Exp $
18810  .TH toe 1M ""
18811  .ds n 5
18812  .ds d @TERMINFO@
18813  .SH NAME
18814  \fBtoe\fR - table of (terminfo) entries
18815  .SH SYNOPSIS
18816 -\fBtoe\fR [\fB-v\fR[\fIn\fR]] [\fB-huUV\fR] \fIfile...\fR
18817 +\fBtoe\fR [\fB\-v\fR[\fIn\fR]] [\fB\-huUV\fR] \fIfile...\fR
18818  .br
18819  .SH DESCRIPTION
18820  .PP
18821  With no options, \fBtoe\fR lists all available terminal types by primary name
18822  with descriptions.  File arguments specify the directories to be scanned; if no
18823  such arguments are given, your default terminfo directory is scanned.  If you
18824 -also specify the -h option, a directory header will be issued as each
18825 -directory is entered. 
18826 +also specify the \fB\-h\fR option, a directory header will be issued as each
18827 +directory is entered.
18828  .PP
18829  There are other options intended for use by terminfo file maintainers:
18830  .TP
18831 -\fB-u\fR \fIfile\fR
18832 +\fB\-u\fR \fIfile\fR
18833  says to issue a report on dependencies in the given file. This report condenses
18834  the `use' relation: each line consists of the primary name of a terminal that
18835  has use capabilities, followed by a colon, followed by the
18836  whitespace-separated primary names of all terminals which occur in those use
18837  capabilities, followed by a newline
18838  .TP
18839 -\fB-U\fR \fIfile\fR
18840 +\fB\-U\fR \fIfile\fR
18841  says to issue a report on reverse dependencies in the given file. This report
18842  reverses the `use' relation: each line consists of the primary name of a
18843  terminal that occurs in use capabilities, followed by a colon, followed by the
18844  whitespace-separated primary names of all terminals which depend on it,
18845  followed by a newline.
18846  .TP
18847 -\fB-v\fR\fIn\fR
18848 +\fB\-v\fR\fIn\fR
18849  specifies that (verbose) output be written to standard error trace
18850  information showing \fBtoe\fR's progress.  The optional integer
18851  \fIn\fR is a number from 1 to 10, interpreted as for \fBtic\fR(1).
18852  .TP 5
18853 -\fB-V\fR
18854 +\fB\-V\fR
18855  reports the version of ncurses which was used in this program, and exits.
18856  .SH FILES
18857  .TP 5
18858 diff -urNd -urNd ncurses-5.3/man/tput.1 ncurses-5.3.20030906.orig/man/tput.1
18859 --- ncurses-5.3/man/tput.1      Sat Oct 12 08:53:20 2002
18860 +++ ncurses-5.3.20030906.orig/man/tput.1        Tue May 13 20:08:22 2003
18861 @@ -1,6 +1,6 @@
18862  '\" t
18863  .\"***************************************************************************
18864 -.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
18865 +.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
18866  .\"                                                                          *
18867  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
18868  .\" copy of this software and associated documentation files (the            *
18869 @@ -27,24 +27,24 @@
18870  .\" authorization.                                                           *
18871  .\"***************************************************************************
18872  .\"
18873 -.\" $Id: tput.1,v 1.18 2002/10/12 13:53:20 tom Exp $
18874 +.\" $Id: tput.1,v 1.20 2003/05/11 00:32:53 tom Exp $
18875  .TH tput 1 ""
18876  .ds d @TERMINFO@
18877  .ds n 1
18878  .SH NAME
18879  \fBtput\fR, \fBreset\fR - initialize a terminal or query terminfo database
18880  .SH SYNOPSIS
18881 -\fBtput\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
18882 +\fBtput\fR [\fB\-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
18883  .br
18884 -\fBtput\fR [\fB-T\fR\fItype\fR] \fBinit\fR
18885 +\fBtput\fR [\fB\-T\fR\fItype\fR] \fBinit\fR
18886  .br
18887 -\fBtput\fR [\fB-T\fR\fItype\fR] \fBreset\fR
18888 +\fBtput\fR [\fB\-T\fR\fItype\fR] \fBreset\fR
18889  .br
18890 -\fBtput\fR [\fB-T\fR\fItype\fR] \fBlongname\fR
18891 +\fBtput\fR [\fB\-T\fR\fItype\fR] \fBlongname\fR
18892  .br
18893 -\fBtput -S\fR  \fB<<\fR
18894 +\fBtput \-S\fR  \fB<<\fR
18895  .br
18896 -\fBtput -V\fR
18897 +\fBtput \-V\fR
18898  .br
18899  .SH DESCRIPTION
18900  The \fBtput\fR utility uses the \fBterminfo\fR database to make the
18901 @@ -62,10 +62,10 @@
18902  For a complete list of capabilities
18903  and the \fIcapname\fR associated with each, see \fBterminfo\fR(\*n).
18904  .TP
18905 -\fB-T\fR\fItype\fR
18906 +\fB\-T\fR\fItype\fR
18907  indicates the \fItype\fR of terminal.  Normally this option is
18908  unnecessary, because the default is taken from the environment
18909 -variable \fBTERM\fR.  If \fB-T\fR is specified, then the shell
18910 +variable \fBTERM\fR.  If \fB\-T\fR is specified, then the shell
18911  variables \fBLINES\fR and \fBCOLUMNS\fR will be ignored,and the
18912  operating system will not be queried for the actual screen size.
18913  .TP
18914 @@ -83,14 +83,14 @@
18915  \fBtput\fR uses a table to decide which to pass as strings.
18916  Normally \fBtput\fR uses \fBtparm\fR (3X) to perform the substitution.
18917  If no parameters are given for the attribute,
18918 -\fBtput\fR writes the string without performing the substitution. 
18919 +\fBtput\fR writes the string without performing the substitution.
18920  .TP
18921 -\fB-S\fR
18922 +\fB\-S\fR
18923  allows more than one capability per invocation of \fBtput\fR.  The
18924  capabilities must be passed to \fBtput\fR from the standard input
18925  instead of from the command line (see example).
18926  Only one \fIcapname\fR is allowed per line.
18927 -The \fB-S\fR option changes the
18928 +The \fB\-S\fR option changes the
18929  meaning of the \fB0\fR and \fB1\fR boolean and string exit codes (see the
18930  EXIT CODES section).
18931  .IP
18932 @@ -98,12 +98,12 @@
18933  to decide whether to use \fBtparm\fR (3X),
18934  and how to interpret the parameters.
18935  .TP
18936 -\fB-V\fR
18937 +\fB\-V\fR
18938  reports the version of ncurses which was used in this program, and exits.
18939  .TP
18940  \fBinit\fR
18941  If the \fBterminfo\fR database is present and an entry for the user's
18942 -terminal exists (see \fB-T\fR\fItype\fR, above), the following will
18943 +terminal exists (see \fB\-T\fR\fItype\fR, above), the following will
18944  occur: (1) if present, the terminal's initialization strings will be
18945  output (\fBis1\fR, \fBis2\fR, \fBis3\fR, \fBif\fR, \fBiprog\fR), (2)
18946  any delays (e.g., newline) specified in the entry will be set in the
18947 @@ -122,7 +122,7 @@
18948  .TP
18949  \fBlongname\fR
18950  If the \fBterminfo\fR database is present and an entry for the
18951 -user's terminal exists (see \fB-T\fR\fItype\fR above), then the long name
18952 +user's terminal exists (see \fB\-T\fR\fItype\fR above), then the long name
18953  of the terminal will be put out.  The long name is the last
18954  name in the first line of the terminal's description in the
18955  \fBterminfo\fR database [see \fBterm\fR(5)].
18956 @@ -139,7 +139,7 @@
18957  the environmental variable \fBTERM\fR has been exported, as
18958  illustrated on the \fBprofile\fR(5) manual page.
18959  .TP 5
18960 -\fBtput -T5620 reset\fR
18961 +\fBtput \-T5620 reset\fR
18962  Reset an AT&T 5620 terminal, overriding the type of
18963  terminal in the environmental variable \fBTERM\fR.
18964  .TP 5
18965 @@ -154,7 +154,7 @@
18966  \fBtput cols\fR
18967  Print the number of columns for the current terminal.
18968  .TP 5
18969 -\fBtput -T450 cols\fR
18970 +\fBtput \-T450 cols\fR
18971  Print the number of columns for the 450 terminal.
18972  .TP 5
18973  \fBbold=`tput smso` offbold=`tput rmso`\fR
18974 @@ -178,7 +178,7 @@
18975  variable \fBTERM\fR.
18976  .PP
18977  .RS 5
18978 -\fBtput -S <<!\fR
18979 +\fBtput \-S <<!\fR
18980  .br
18981  \fB> clear\fR
18982  .br
18983 @@ -213,7 +213,7 @@
18984  information, see the "Tabs and Initialization"
18985  section of \fBterminfo\fR(5)
18986  .SH EXIT CODES
18987 -If the \fB-S\fR option is used,
18988 +If the \fB\-S\fR option is used,
18989  \fBtput\fR checks for errors from each line,
18990  and if any errors are found, will set the exit code to 4 plus the
18991  number of lines with errors.
18992 @@ -221,7 +221,7 @@
18993  No indication of which line failed can be given so
18994  exit code \fB1\fR will never appear.  Exit codes \fB2\fR, \fB3\fR, and
18995  \fB4\fR retain their usual interpretation.
18996 -If the \fB-S\fR option is not used,
18997 +If the \fB\-S\fR option is not used,
18998  the exit code depends on the type of \fIcapname\fR:
18999  .RS 5
19000  .TP
19001 @@ -241,7 +241,7 @@
19002  whether or not \fIcapname\fR is defined for this terminal \fItype\fR.
19003  To determine if \fIcapname\fR is defined for this terminal \fItype\fR,
19004  the user must test the value written to standard output.
19005 -A value of \fB-1\fR
19006 +A value of \fB\-1\fR
19007  means that \fIcapname\fR is not defined for this terminal \fItype\fR.
19008  .TP
19009  .I other
19010 @@ -262,17 +262,17 @@
19011  \fB0\fR        T{
19012  (\fIcapname\fR is a numeric variable that is not specified in the
19013  \fBterminfo\fR(\*n) database for this terminal type, e.g.
19014 -\fBtput -T450 lines\fR and \fBtput -T2621 xmc\fR)
19015 +\fBtput \-T450 lines\fR and \fBtput \-T2621 xmc\fR)
19016  T}
19017  \fB1\fR        no error message is printed, see the \fBEXIT CODES\fR section.
19018  \fB2\fR        usage error
19019  \fB3\fR        unknown terminal \fItype\fR or no \fBterminfo\fR database
19020  \fB4\fR        unknown \fBterminfo\fR capability \fIcapname\fR
19021 -\fB>4\fR       error occurred in -S
19022 +\fB>4\fR       error occurred in \-S
19023  =
19024  .TE
19025  .SH PORTABILITY
19026 -The \fBlongname\fR and \fB-S\fR options, and the parameter-substitution
19027 +The \fBlongname\fR and \fB\-S\fR options, and the parameter-substitution
19028  features used in the \fBcup\fR example, are not supported in BSD curses or in
19029  AT&T/USL curses before SVr4.
19030  .SH SEE ALSO
19031 diff -urNd -urNd ncurses-5.3/man/tset.1 ncurses-5.3.20030906.orig/man/tset.1
19032 --- ncurses-5.3/man/tset.1      Sat Sep  9 15:33:07 2000
19033 +++ ncurses-5.3.20030906.orig/man/tset.1        Tue May 13 20:08:22 2003
19034 @@ -1,5 +1,5 @@
19035  .\"***************************************************************************
19036 -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
19037 +.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
19038  .\"                                                                          *
19039  .\" Permission is hereby granted, free of charge, to any person obtaining a  *
19040  .\" copy of this software and associated documentation files (the            *
19041 @@ -26,14 +26,14 @@
19042  .\" authorization.                                                           *
19043  .\"***************************************************************************
19044  .\"
19045 -.\" $Id: tset.1,v 1.12 2000/09/09 20:33:07 tom Exp $
19046 +.\" $Id: tset.1,v 1.13 2003/05/11 00:32:53 tom Exp $
19047  .TH tset 1 ""
19048  .SH NAME
19049  \fBtset\fR, \fBreset\fR - terminal initialization
19050  .SH SYNOPSIS
19051 -tset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
19052 +tset [\-IQVqrs] [\-] [\-e \fIch\fR] [\-i \fIch\fR] [\-k \fIch\fR] [\-m \fImapping\fR] [\fIterminal\fR]
19053  .br
19054 -reset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
19055 +reset [\-IQVqrs] [\-] [\-e \fIch\fR] [\-i \fIch\fR] [\-k \fIch\fR] [\-m \fImapping\fR] [\fIterminal\fR]
19056  .SH DESCRIPTION
19057  \&\fBTset\fR initializes terminals.
19058  \fBTset\fR first determines the type of terminal that you are using.
19059 @@ -50,7 +50,7 @@
19060  .PP
19061  4. The default terminal type, ``unknown''.
19062  .PP
19063 -If the terminal type was not specified on the command-line, the -m
19064 +If the terminal type was not specified on the command-line, the \fB\-m\fR
19065  option mappings are then applied (see below for more information).
19066  Then, if the terminal type begins with a question mark (``?''), the
19067  user is prompted for confirmation of the terminal type.  An empty
19068 @@ -81,50 +81,50 @@
19069  .PP
19070  The options are as follows:
19071  .TP 5
19072 --q
19073 +.B \-q
19074  The terminal type is displayed to the standard output, and the terminal is
19075  not initialized in any way.  The option `-' by itself is equivalent but
19076  archaic.
19077 -.TP 5
19078 --e
19079 +.TP
19080 +.B \-e
19081  Set the erase character to \fIch\fR.
19082 -.TP 5
19083 --I
19084 +.TP
19085 +.B \-I
19086  Do not send the terminal or tab initialization strings to the terminal.
19087 -.TP 5
19088 --Q
19089 +.TP
19090 +.B \-Q
19091  Don't display any values for the erase, interrupt and line kill characters.
19092  .TP
19093 -\fB-V\fR
19094 +.B \-V
19095  reports the version of ncurses which was used in this program, and exits.
19096 -.TP 5
19097 --i
19098 +.TP
19099 +.B \-i
19100  Set the interrupt character to \fIch\fR.
19101 -.TP 5
19102 --k
19103 +.TP
19104 +.B \-k
19105  Set the line kill character to \fIch\fR.
19106 -.TP 5
19107 --m
19108 +.TP
19109 +.B \-m
19110  Specify a mapping from a port type to a terminal.
19111  See below for more information.
19112 -.TP 5
19113 --r
19114 +.TP
19115 +.B \-r
19116  Print the terminal type to the standard error output.
19117 -.TP 5
19118 --s
19119 +.TP
19120 +.B \-s
19121  Print the sequence of shell commands to initialize the environment variable
19122  \fBTERM\fR to the standard output.
19123  See the section below on setting the environment for details.
19124  .PP
19125 -The arguments for the -e, -i, and -k
19126 +The arguments for the \fB-e\fR, \fB-i\fR, and \fB-k\fR
19127  options may either be entered as actual characters or by using the `hat'
19128  notation, i.e. control-h may be specified as ``^H'' or ``^h''.
19129  .SH SETTING THE ENVIRONMENT
19130  It is often desirable to enter the terminal type and information about
19131  the terminal's capabilities into the shell's environment.
19132 -This is done using the -s option.
19133 +This is done using the \fB\-s\fR option.
19134  .PP
19135 -When the -s option is specified, the commands to enter the information
19136 +When the \fB\-s\fR option is specified, the commands to enter the information
19137  into the shell's environment are written to the standard output.  If
19138  the \fBSHELL\fR environmental variable ends in ``csh'', the commands
19139  are for \fBcsh\fR, otherwise, they are for \fBsh\fR.
19140 @@ -132,7 +132,7 @@
19141  \fBnoglob\fR, leaving it unset.  The following line in the \fB.login\fR
19142  or \fB.profile\fR files will initialize the environment correctly:
19143  
19144 -    eval \`tset -s options ... \`
19145 +    eval \`tset \-s options ... \`
19146  
19147  .SH TERMINAL TYPE MAPPING
19148  When the terminal is not hardwired into the system (or the current
19149 @@ -142,13 +142,13 @@
19150  When \fBtset\fR is used in a startup script it is often desirable to
19151  provide information about the type of terminal used on such ports.
19152  .PP
19153 -The purpose of the -m option is to map
19154 +The purpose of the \fB\-m\fR option is to map
19155  from some set of conditions to a terminal type, that is, to
19156  tell \fBtset\fR
19157  ``If I'm on this port at a particular speed, guess that I'm on that
19158  kind of terminal''.
19159  .PP
19160 -The argument to the -m option consists of an optional port type, an
19161 +The argument to the \fB\-m\fR option consists of an optional port type, an
19162  optional operator, an optional baud rate specification, an optional
19163  colon (``:'') character and a terminal type.  The port type is a
19164  string (delimited by either the operator or the colon character).  The
19165 @@ -159,7 +159,7 @@
19166  of the standard error output (which should be the control terminal).
19167  The terminal type is a string.
19168  .PP
19169 -If the terminal type is not specified on the command line, the -m
19170 +If the terminal type is not specified on the command line, the \fB\-m\fR
19171  mappings are applied to the terminal type.  If the port type and baud
19172  rate match the mapping, the terminal type specified in the mapping
19173  replaces the current type.  If more than one mapping is specified, the
19174 @@ -174,16 +174,16 @@
19175  .PP
19176  If no baud rate is specified, the terminal type will match any baud rate.
19177  If no port type is specified, the terminal type will match any port type.
19178 -For example, \fB-m dialup:vt100 -m :?xterm\fR
19179 +For example, \fB\-m dialup:vt100 \-m :?xterm\fR
19180  will cause any dialup port, regardless of baud rate, to match the terminal
19181  type vt100, and any non-dialup port type to match the terminal type ?xterm.
19182  Note, because of the leading question mark, the user will be
19183  queried on a default port as to whether they are actually using an xterm
19184  terminal.
19185  .PP
19186 -No whitespace characters are permitted in the -m option argument.
19187 +No whitespace characters are permitted in the \fB\-m\fR option argument.
19188  Also, to avoid problems with meta-characters, it is suggested that the
19189 -entire -m option argument be placed within single quote characters,
19190 +entire \fB\-m\fR option argument be placed within single quote characters,
19191  and that \fBcsh\fR users insert a backslash character (``\e'') before
19192  any exclamation marks (``!'').
19193  .SH HISTORY
19194 @@ -197,30 +197,33 @@
19195  \fBtset\fR's most important use).  This implementation behaves like 4.4BSD
19196  tset, with a few exceptions specified here.
19197  .PP
19198 -The -S option of BSD tset no longer works; it prints an error message to stderr
19199 -and dies.  The -s option only sets \fBTERM\fR, not \fBTERMCAP\fP.  Both these
19200 +The \fB\-S\fR option of BSD tset no longer works; it prints an error message to stderr
19201 +and dies.  The \fB\-s\fR option only sets \fBTERM\fR, not \fBTERMCAP\fP.  Both these
19202  changes are because the \fBTERMCAP\fR variable is no longer supported under
19203 -terminfo-based \fBncurses\fR, which makes \fBtset -S\fR useless (we made it die
19204 +terminfo-based \fBncurses\fR, which makes \fBtset \-S\fR useless (we made it die
19205  noisily rather than silently induce lossage).
19206  .PP
19207  There was an undocumented 4.4BSD feature that invoking tset via a link named
19208  `TSET` (or via any other name beginning with an upper-case letter) set the
19209  terminal to use upper-case only.  This feature has been omitted.
19210  .PP
19211 -The -A, -E, -h, -u and -v options were deleted from the \fBtset\fR
19212 -utility in 4.4BSD. None of them were documented in 4.3BSD and all are
19213 -of limited utility at best. The -a, -d, and -p options are similarly
19214 +The \fB\-A\fR, \fB\-E\fR, \fB\-h\fR, \fB\-u\fR and \fB\-v\fR
19215 +options were deleted from the \fBtset\fR
19216 +utility in 4.4BSD.
19217 +None of them were documented in 4.3BSD and all are
19218 +of limited utility at best.
19219 +The \fB\-a\fR, -\fB\d\fR, and -\fB\p\fR options are similarly
19220  not documented or useful, but were retained as they appear to be in
19221  widespread use.  It is strongly recommended that any usage of these
19222 -three options be changed to use the -m option instead.  The
19223 --n option remains, but has no effect.  The -adnp options are therefore
19224 +three options be changed to use the \fB\-m\fR option instead.  The
19225 +-n option remains, but has no effect.  The \fB\-adnp\fR options are therefore
19226  omitted from the usage summary above.
19227  .PP
19228 -It is still permissible to specify the -e, -i, and -k options without
19229 +It is still permissible to specify the \fB\-e\fR, \fB\-i\fR, and \fB\-k\fR options without
19230  arguments, although it is strongly recommended that such usage be fixed to
19231  explicitly specify the character.
19232  .PP
19233 -As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the -Q
19234 +As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the \fB\-Q\fR
19235  option.  Also, the interaction between the - option and the \fIterminal\fR
19236  argument in some historic implementations of \fBtset\fR has been removed.
19237  .SH ENVIRONMENT
19238 @@ -230,7 +233,7 @@
19239  .TP 5
19240  /etc/ttys
19241  system port name to terminal type mapping database (BSD versions only).
19242 -.TP 5
19243 +.TP
19244  @TERMINFO@
19245  terminal capability database
19246  .SH SEE ALSO
19247 diff -urNd -urNd ncurses-5.3/menu/Makefile.in ncurses-5.3.20030906.orig/menu/Makefile.in
19248 --- ncurses-5.3/menu/Makefile.in        Sat Jan 19 19:49:17 2002
19249 +++ ncurses-5.3.20030906.orig/menu/Makefile.in  Fri Sep 12 16:42:40 2003
19250 @@ -1,6 +1,6 @@
19251 -# $Id: Makefile.in,v 1.36 2002/01/20 01:49:17 tom Exp $
19252 +# $Id: Makefile.in,v 1.40 2003/08/23 23:25:32 tom Exp $
19253  ##############################################################################
19254 -# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
19255 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
19256  #                                                                            #
19257  # Permission is hereby granted, free of charge, to any person obtaining a    #
19258  # copy of this software and associated documentation files (the "Software"), #
19259 @@ -55,6 +55,11 @@
19260  includedir     = @includedir@
19261  
19262  LIBTOOL                = @LIBTOOL@
19263 +LIBTOOL_CLEAN  = @LIB_CLEAN@
19264 +LIBTOOL_COMPILE        = @LIB_COMPILE@
19265 +LIBTOOL_LINK   = @LIB_LINK@
19266 +LIBTOOL_INSTALL        = @LIB_INSTALL@
19267 +LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
19268  
19269  INSTALL                = @INSTALL@
19270  INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
19271 @@ -71,8 +76,7 @@
19272  CPP            = @CPP@
19273  CFLAGS         = @CFLAGS@
19274  
19275 -CPPFLAGS       = @CPPFLAGS@ \
19276 -                 -DHAVE_CONFIG_H 
19277 +CPPFLAGS       = -DHAVE_CONFIG_H @CPPFLAGS@
19278  
19279  CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
19280  
19281 @@ -84,7 +88,7 @@
19282  
19283  CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
19284  
19285 -LINK           = $(LIBTOOL) $(CC)
19286 +LINK           = $(LIBTOOL_LINK) $(CC)
19287  LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
19288  
19289  SHLIB_DIRS     = -L../lib
19290 @@ -97,7 +101,7 @@
19291  REL_VERSION    = @cf_cv_rel_version@
19292  ABI_VERSION    = @cf_cv_abi_version@
19293  
19294 -RANLIB         = @RANLIB@
19295 +RANLIB         = @LIB_PREP@
19296  
19297  IMPORT_LIB     = @IMPORT_LIB@
19298  SHARED_LIB     = @SHARED_LIB@
19299 diff -urNd -urNd ncurses-5.3/misc/csort ncurses-5.3.20030906.orig/misc/csort
19300 --- ncurses-5.3/misc/csort      Wed Dec 31 18:00:00 1969
19301 +++ ncurses-5.3.20030906.orig/misc/csort        Tue May 13 20:08:22 2003
19302 @@ -0,0 +1,36 @@
19303 +#!/bin/sh
19304 +# $Id: csort,v 1.2 2002/10/19 21:42:09 tom Exp $
19305 +##############################################################################
19306 +# Copyright (c) 2002 Free Software Foundation, Inc.                          #
19307 +#                                                                            #
19308 +# Permission is hereby granted, free of charge, to any person obtaining a    #
19309 +# copy of this software and associated documentation files (the "Software"), #
19310 +# to deal in the Software without restriction, including without limitation  #
19311 +# the rights to use, copy, modify, merge, publish, distribute, distribute    #
19312 +# with modifications, sublicense, and/or sell copies of the Software, and to #
19313 +# permit persons to whom the Software is furnished to do so, subject to the  #
19314 +# following conditions:                                                      #
19315 +#                                                                            #
19316 +# The above copyright notice and this permission notice shall be included in #
19317 +# all copies or substantial portions of the Software.                        #
19318 +#                                                                            #
19319 +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
19320 +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
19321 +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
19322 +# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
19323 +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
19324 +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
19325 +# DEALINGS IN THE SOFTWARE.                                                  #
19326 +#                                                                            #
19327 +# Except as contained in this notice, the name(s) of the above copyright     #
19328 +# holders shall not be used in advertising or otherwise to promote the sale, #
19329 +# use or other dealings in this Software without prior written               #
19330 +# authorization.                                                             #
19331 +##############################################################################
19332 +#
19333 +# override anything that might cause 'sort' to do the wrong thing...
19334 +LANG=C;                export LANG
19335 +LANGUAGE=C;    export LANGUAGE
19336 +LC_ALL=C;      export LC_ALL
19337 +LC_CTYPE=C;    export LC_CTYPE
19338 +sort $*
19339 diff -urNd -urNd ncurses-5.3/misc/emx.src ncurses-5.3.20030906.orig/misc/emx.src
19340 --- ncurses-5.3/misc/emx.src    Sat Aug 26 21:16:08 2000
19341 +++ ncurses-5.3.20030906.orig/misc/emx.src      Tue May 13 20:08:22 2003
19342 @@ -1,4 +1,4 @@
19343 -# $Id: emx.src,v 1.7 2000/08/27 02:16:08 jmcoopr Exp $
19344 +# $Id: emx.src,v 1.8 2003/01/26 01:17:55 tom Exp $
19345  # This is a reformatted copy of the terminfo source for OS/2 EMX from
19346  # Juan Jose Garcia Ripoll <worm@arrakis.es>.
19347  # http://www.arrakis.es/~worm/
19348 @@ -85,6 +85,7 @@
19349         smpch=\E[11m,
19350         smso=\E[7m,
19351         smul=\E[4m,
19352 +       use=klone+acs,
19353  
19354  # Highlight controls corresponding to the ANSI.SYS standard.  *All*
19355  # console drivers for Intel boxes obey these.  Does not assume \E[11m will
19356 @@ -103,6 +104,7 @@
19357         smacs=\E[12m,
19358         smso=\E[7m,
19359         smul=\E[4m,
19360 +       use=klone+acs,
19361  
19362  # ANSI.SYS color control.
19363  # The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
19364 @@ -113,8 +115,17 @@
19365         op=\E[37;40m,
19366         setab=\E[4%p1%dm,
19367         setaf=\E[3%p1%dm,
19368 -       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
19369 -       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
19370 +
19371 +# This is better than klone+color, it doesn't assume white-on-black as the
19372 +# default color pair,  but many `ANSI' terminals don't grok the <op> cap.
19373 +ecma+color|color control for ECMA-48-compatible terminals,
19374 +       AX,
19375 +       colors#8,
19376 +       ncv#3,
19377 +       pairs#64,
19378 +       op=\E[39;49m,
19379 +       setab=\E[4%p1%dm,
19380 +       setaf=\E[3%p1%dm,
19381  
19382  #### ANSI/ECMA-48 terminals and terminal emulators
19383  #
19384 @@ -209,7 +220,9 @@
19385  # no_color_video to inform the application that standout(1), underline(2)
19386  # reverse(4) and invisible(64) don't work with color.
19387  emx-base|DOS special keys,
19388 +       bce,
19389         bw,
19390 +       it#8,
19391         ncv#71,
19392         bel=^G,
19393         ka1=\0G,
19394 @@ -293,7 +306,7 @@
19395  #      me      <->     sgr0    turn off all atributes
19396  #
19397  # On my terminal, \E[4m looks dim.
19398 -ansi|ANSI.SYS color,
19399 +ansi-emx|ANSI.SYS color,
19400         blink=\E[5m,
19401         bold=\E[1m,
19402         kmous=\E[M,
19403 @@ -319,17 +332,17 @@
19404         smul=\E[1;31;47m,
19405         use=emx-base,
19406  os2|OS/2-emx ANSI.SYS,
19407 -       cuu=\E[%p1%dA,
19408 -       cuu1=\E[A,
19409 +       cub=\E[%p1%dD,
19410 +       cub1=\E[D,
19411         cud=\E[%p1%dB,
19412         cud1=\E[B,
19413         cuf=\E[%p1%dC,
19414         cuf1=\E[C,
19415 -       cub=\E[%p1%dD,
19416 -       cub1=\E[D,
19417 -       sc=\E[s,
19418 +       cuu=\E[%p1%dA,
19419 +       cuu1=\E[A,
19420         rc=\E[u,
19421 -       use=ansi,
19422 +       sc=\E[s,
19423 +       use=ansi-emx,
19424         use=mono,
19425  mono|ANSI.SYS mono,
19426         blink=\E[5m,
19427 @@ -353,7 +366,7 @@
19428         smul=\E[1;31;40m,
19429         use=mono,
19430  # nice colors for Emacs (white on blue, mode line white on cyan)
19431 -ansi-color-2|ANSI.SYS color 2,
19432 +ansi-color-2-emx|ANSI.SYS color 2,
19433         rmcup=\E[0m,
19434         rmso=\E[0;37;44m,
19435         rmul=\E[0m,
19436 @@ -361,9 +374,9 @@
19437         smcup=\E[0;37;44m,
19438         smso=\E[1;37;46m,
19439         smul=\E[1;31;40m,
19440 -       use=ansi,
19441 +       use=ansi-emx,
19442  # nice colors for Emacs (white on black, mode line black on cyan)
19443 -ansi-color-3|ANSI.SYS color 3,
19444 +ansi-color-3-emx|ANSI.SYS color 3,
19445         rmcup=\E[0m,
19446         rmso=\E[0m,
19447         rmul=\E[0m,
19448 @@ -371,7 +384,7 @@
19449         smcup=\E[0m,
19450         smso=\E[30;46m,
19451         smul=\E[1;31;40m,
19452 -       use=ansi,
19453 +       use=ansi-emx,
19454  
19455  #### X terminal emulators
19456  #
19457 @@ -437,7 +450,7 @@
19458  # xterm's internal mouse-tracking facility; ncurses will interpret the
19459  # following three bytes of mouse status information.
19460  # From: Eric S. Raymond <esr@snark.thyrsus.com> 14 Dec 1995
19461 -xterm|vs100|xterm terminal emulator (X11R6 Window System),
19462 +xterm-r6|xterm terminal emulator (X11R6 Window System),
19463         am,
19464         km,
19465         mir,
19466 @@ -488,7 +501,15 @@
19467         kf10=\E[21~,
19468         kf11=\E[23~,
19469         kf12=\E[24~,
19470 +       kf13=\E[25~,
19471 +       kf14=\E[26~,
19472 +       kf15=\E[28~,
19473 +       kf16=\E[29~,
19474 +       kf17=\E[31~,
19475 +       kf18=\E[32~,
19476 +       kf19=\E[33~,
19477         kf2=\E[12~,
19478 +       kf20=\E[34~,
19479         kf3=\E[13~,
19480         kf4=\E[14~,
19481         kf5=\E[15~,
19482 @@ -496,6 +517,7 @@
19483         kf7=\E[18~,
19484         kf8=\E[19~,
19485         kf9=\E[20~,
19486 +       kfnd=\E[1~,
19487         khome=\EO\0,
19488         kich1=\E[2~,
19489         kmous=\E[M,
19490 @@ -545,6 +567,7 @@
19491         sc=\E7,
19492         tsl=\E[?E\E[?%i%dT,
19493         use=xterm,
19494 +       use=ecma+color,
19495  
19496  # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
19497  xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
19498 @@ -758,7 +781,6 @@
19499         cup=\EE%p1%d;%p2%d;,
19500         cuu=\Ep-%p1%d;,
19501         cuu1=\EA,
19502 -       cvvis=\Ea,
19503         dch=\EI%p1%d;,
19504         dch1=\EI1;,
19505         dl=\ER%p1%d;,
19506 @@ -816,10 +838,21 @@
19507         rmso=\ES,
19508         rmul=\ES,
19509         rs2=\ES\Es0;\Er0;,
19510 -       setab=\Es%i%p1%d; setaf=\Er%i%p1%d;,
19511 +       setab=\Es%i%p1%d;,
19512 +       setaf=\Er%i%p1%d;,
19513         sgr0=\ES,
19514         smacs=\0,
19515         smir=\EY,
19516         smso=\ES\ET,
19517         smul=\ES\EV,
19518         tbc=\Ej,
19519 +###############################################################################
19520 +# Aliases which conflict with terminfo.src
19521 +ansi|ANSI.SYS color,
19522 +       use=ansi-emx,
19523 +ansi-color-2|ANSI.SYS color 2,
19524 +       use=ansi-color-2-emx,
19525 +ansi-color-3|ANSI.SYS color 3,
19526 +       use=ansi-color-3-emx,
19527 +xterm|vs100|xterm terminal emulator (X11R6 Window System),
19528 +       use=xterm-r6,
19529 diff -urNd -urNd ncurses-5.3/misc/run_tic.in ncurses-5.3.20030906.orig/misc/run_tic.in
19530 --- ncurses-5.3/misc/run_tic.in Sat Oct 13 19:44:33 2001
19531 +++ ncurses-5.3.20030906.orig/misc/run_tic.in   Fri Sep 12 16:42:59 2003
19532 @@ -1,6 +1,6 @@
19533  #!@SHELL@
19534  ##############################################################################
19535 -# Copyright (c) 1998,2000 Free Software Foundation, Inc.                     #
19536 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
19537  #                                                                            #
19538  # Permission is hereby granted, free of charge, to any person obtaining a    #
19539  # copy of this software and associated documentation files (the "Software"), #
19540 @@ -29,7 +29,7 @@
19541  #
19542  # Author: Thomas E. Dickey 1996,2000
19543  #
19544 -# $Id: run_tic.in,v 1.11 2001/10/14 00:44:33 tom Exp $
19545 +# $Id: run_tic.in,v 1.15 2003/09/06 22:31:44 Dan.Kegel Exp $
19546  # This script is used to install terminfo.src using tic.  We use a script
19547  # because the path checking is too awkward to do in a makefile.
19548  #
19549 @@ -62,10 +62,14 @@
19550  # on the host's copy of tic to compile the terminfo database.
19551  if test "$THAT_CC" = "$THIS_CC" ; then
19552  case "$PATH" in
19553 -:*) PATH=../progs:${DESTDIR}$bindir$PATH ;;
19554 -*) PATH=../progs:${DESTDIR}$bindir:$PATH ;;
19555 +:*) PATH=../progs:../lib:${DESTDIR}$bindir$PATH ;;
19556 +*) PATH=../progs:../lib:${DESTDIR}$bindir:$PATH ;;
19557  esac
19558  export PATH
19559 +SHLIB="sh $srcdir/shlib"
19560 +else
19561 +# Cross-compiling, so don't set PATH or run shlib.
19562 +SHLIB=
19563  fi
19564  
19565  #
19566 @@ -81,7 +85,7 @@
19567  umask 022
19568  
19569  # Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo.
19570 -TICDIR=`echo $TERMINFO | sed -e 's@/share/@/lib/@'`
19571 +TICDIR=`echo $TERMINFO | sed -e 's%/share/%/lib/%'`
19572  
19573  # Remove the old terminfo stuff; we don't care if it existed before, and it
19574  # would generate a lot of confusing error messages if we tried to overwrite it.
19575 @@ -91,11 +95,11 @@
19576  
19577  # If we're not installing into /usr/share/, we'll have to adjust the location
19578  # of the tabset files in terminfo.src (which are in a parallel directory).
19579 -TABSET=`echo $ticdir | sed -e 's@/terminfo$@/tabset@'`
19580 +TABSET=`echo $ticdir | sed -e 's%/terminfo$%/tabset%'`
19581  if test "x$TABSET" != "x/usr/share/tabset" ; then
19582         echo '** adjusting tabset paths'
19583         TMP=${TMPDIR-/tmp}/$$
19584 -       sed -e s:/usr/share/tabset:$TABSET:g $source >$TMP
19585 +       sed -e s%/usr/share/tabset%$TABSET%g $source >$TMP
19586         trap "rm -f $TMP" 0 1 2 5 15
19587         source=$TMP
19588  fi
19589 @@ -111,7 +115,7 @@
19590         problems for older ncurses applications.
19591  
19592  EOF
19593 -if ( $srcdir/shlib tic$suffix -s -o $TERMINFO $source )
19594 +if ( $SHLIB tic$suffix -s -o $TERMINFO $source )
19595  then
19596         echo '** built new '$TERMINFO
19597  else
19598 @@ -140,13 +144,15 @@
19599                 cd ${DESTDIR}$prefix
19600                 # Construct a symbolic link that only assumes $ticdir has the
19601                 # same $prefix as the other installed directories.
19602 -               RELATIVE=`echo $ticdir|sed -e 's:^'$prefix'/::'`
19603 +               RELATIVE=`echo $ticdir|sed -e 's%^'$prefix'/%%'`
19604                 if test "$RELATIVE" != "$ticdir" ; then
19605 -                       RELATIVE=../`echo $ticdir|sed -e 's:^'$prefix'/::' -e 's:^/::'`
19606 +                       RELATIVE=../`echo $ticdir|sed -e 's%^'$prefix'/%%' -e 's%^/%%'`
19607                 fi
19608                 if ( @LN_S@ $RELATIVE $TICDIR )
19609                 then
19610 -                       echo '** linked '$TICDIR' for compatibility'
19611 +                       echo '** sym-linked '$TICDIR' for compatibility'
19612 +               else
19613 +                       echo '** could not sym-link '$TICDIR' for compatibility'
19614                 fi
19615         fi
19616  fi
19617 diff -urNd -urNd ncurses-5.3/misc/shlib ncurses-5.3.20030906.orig/misc/shlib
19618 --- ncurses-5.3/misc/shlib      Sat May 20 18:01:17 2000
19619 +++ ncurses-5.3.20030906.orig/misc/shlib        Sun Jul 20 14:02:09 2003
19620 @@ -29,7 +29,7 @@
19621  #
19622  # Author: Thomas E. Dickey <dickey@clark.net> 1996
19623  #
19624 -# $Id: shlib,v 1.6 2000/05/20 23:01:17 tom Exp $
19625 +# $Id: shlib,v 1.7 2003/07/19 22:58:14 tom Exp $
19626  # Use this script as a wrapper when running executables linked to shared
19627  # libraries on systems that use the $LD_LIBRARY_PATH variable and don't embed
19628  # the soname's path within the linked executable (such as IRIX), e.g,
19629 @@ -84,4 +84,11 @@
19630         fi
19631         export LD_LIBRARY_PATH
19632  fi
19633 +
19634 +# cygwin doesn't use LD_LIBRARY_PATH, but does use PATH
19635 +if test -n "$PATHEXT" ; then
19636 +       PATH=$LD_LIBRARY_PATH:$PATH;
19637 +       export PATH
19638 +fi
19639 +
19640  eval "$*"
19641 diff -urNd -urNd ncurses-5.3/misc/terminfo.src ncurses-5.3.20030906.orig/misc/terminfo.src
19642 --- ncurses-5.3/misc/terminfo.src       Sat Oct  5 13:40:53 2002
19643 +++ ncurses-5.3.20030906.orig/misc/terminfo.src Sun Jul 20 14:02:09 2003
19644 @@ -10,7 +10,7 @@
19645  #
19646  #------------------------------------------------------------------------------
19647  #      Version 10.2.1
19648 -#      $Date: 2002/10/05 18:40:53 $
19649 +#      $Date: 2003/07/19 19:44:24 $
19650  #      terminfo syntax
19651  #
19652  #      Eric S. Raymond         (current maintainer)
19653 @@ -562,7 +562,7 @@
19654  #
19655  # This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
19656  # documentation (except for the keyboard key reassignment feature, which
19657 -# doen't fit the <pfkey> model well).  The klone+acs sequences were valid
19658 +# doesn't fit the <pfkey> model well).  The klone+acs sequences were valid
19659  # though undocumented.  The <pfkey> capability is untested but should work for
19660  # keys F1-F10 (%p1 values outside this range will yield unpredictable results).
19661  # From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 7 1995
19662 @@ -1468,7 +1468,9 @@
19663         kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W, 
19664         kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r, 
19665         kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m, 
19666 -       rmso=\2330m, rmul=\2330m, sgr0=\2330m, 
19667 +       rmso=\2330m, rmul=\2330m, 
19668 +       sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, 
19669 +       sgr0=\2330m, 
19670  
19671  # NetBSD "wscons" emulator in vt220 mode
19672  # These are micro-minimal and probably need to be redone for real
19673 @@ -1484,7 +1486,7 @@
19674  # DECstation/pmax.
19675  rcons|BSD rasterconsole, 
19676         use=sun-il, 
19677 -# Color version of above. Color currenly only provided by NetBSD.
19678 +# Color version of above. Color currently only provided by NetBSD.
19679  rcons-color|BSD rasterconsole with ANSI color, 
19680         bce, 
19681         colors#8, pairs#64, 
19682 @@ -1809,6 +1811,44 @@
19683  #  |        $Op        |  $On    |         |
19684  #  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
19685  #
19686 +# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the
19687 +# terminfo guidelines.  That is a compromise used to assign the remaining
19688 +# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
19689 +# support:
19690 +vt100+keypad|dec vt100 numeric keypad no fkeys, 
19691 +       ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn, 
19692 +vt100+pfkeys|dec vt100 numeric keypad, 
19693 +       kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
19694 +       use=vt100+keypad, 
19695 +vt100+fnkeys|dec vt100 numeric keypad, 
19696 +       kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, 
19697 +       kf9=\EOw, use=vt100+pfkeys, 
19698 +#
19699 +# A better adaptation to modern keyboards such as the PC's, which have a dozen
19700 +# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
19701 +# use the 5-key arrangement to model the arrow keys as suggested in the
19702 +# terminfo guidelines:
19703 +#   _______________________________________
19704 +#  |   PF1   |   PF2   |   PF3   |   PF4   |
19705 +#  |   $OP   |   $OQ   |   $OR   |   $OS   |
19706 +#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
19707 +#  |    7         8         9         -    |
19708 +#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
19709 +#  |_ka1__K1_|_________|_ka3__K3_|_________|
19710 +#  |    4    |    5    |    6    |    ,    |
19711 +#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
19712 +#  |_________|_kb2__K2_|_________|_________|
19713 +#  |    1    |    2    |    3    |         |
19714 +#  |   $Oq   |   $Or   |   $Os   |  enter  |
19715 +#  |_kc1__K4_|_________|_kc3__K5_|  $OM    |
19716 +#  |         0         |   .     |         |
19717 +#  |        $Op        |  $On    |         |
19718 +#  |___________________|_________|_kent_@8_|
19719 +#
19720 +vt220+keypad|dec vt220 numeric keypad, 
19721 +       ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, kent=\EOM, 
19722 +       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
19723 +#
19724  # And here, for those of you with orphaned VT100s lacking documentation, is
19725  # a description of the soft switches invoked when you do `Set Up'.
19726  # 
19727 @@ -1853,17 +1893,15 @@
19728         cuf=\E[%p1%dC, cuf1=\E[C$<2>, 
19729         cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, 
19730         cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, 
19731 -       enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq, 
19732 -       ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, 
19733 -       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy, 
19734 -       kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, 
19735 -       kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8, 
19736 +       enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, 
19737 +       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, 
19738         rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
19739         rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, 
19740         rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
19741         sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, 
19742         sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
19743         smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
19744 +       use=vt100+fnkeys, 
19745  vt100nam|vt100-nam|vt100 no automargins, 
19746         am@, xenl@, use=vt100-am, 
19747  vt100-vb|dec vt100 (w/advanced video) & no beep, 
19748 @@ -2132,22 +2170,21 @@
19749         home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, 
19750         il1=\E[L, ind=\ED, 
19751         is2=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
19752 -       ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=\177, kc1=\EOq, kc3=\EOs, 
19753 -       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
19754 -       kdch1=\E[3~, kel=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~, 
19755 -       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
19756 -       kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
19757 -       kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, 
19758 -       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
19759 -       khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I, kpp=\E[5~, 
19760 -       kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i, 
19761 -       nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt300, 
19762 -       ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, 
19763 -       rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
19764 +       kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
19765 +       kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~, 
19766 +       kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
19767 +       kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
19768 +       kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, 
19769 +       kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I, 
19770 +       kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i, 
19771 +       mc5=\E[?5i, nel=\EE, rc=\E8, rev=\E[7m, 
19772 +       rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B, 
19773 +       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, 
19774 +       rmul=\E[m, 
19775         rs2=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
19776         sc=\E7, sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, 
19777         smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
19778 -       tsl=\E[1$}\E[H\E[K, 
19779 +       tsl=\E[1$}\E[H\E[K, use=vt220+keypad, 
19780  vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy, 
19781         am@, 
19782         is2=\E>\E[?3l\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H, 
19783 @@ -2584,6 +2621,13 @@
19784         dch=\E[%p1%dP, ich=\E[%p1%d@, use=ecma+color, 
19785         use=ms-vt100, 
19786  
19787 +# a minimal subset of a vt100 (compare with "news-unk).
19788 +tt|tkterm|Don Libes' tk text widget terminal emulator, 
19789 +       clear=\E[H\E[J, cr=^M, cuf1=\E[C, cup=\E[%p1%d;%p2%dH, 
19790 +       cuu1=\E[A, ind=^J, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
19791 +       kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, rmso=\E[m, 
19792 +       smso=\E[7m, 
19793 +
19794  #### X terminal emulators
19795  #
19796  # You can add the following line to your .Xdefaults to change the terminal type
19797 @@ -2691,9 +2735,8 @@
19798         ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, 
19799         il1=\E[L, ind=^J, 
19800         is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, 
19801 -       ka1=\EOw, ka3=\EOu, kb2=\EOy, kbeg=\EOE, kbs=^H, kc1=\EOq, 
19802 -       kc3=\EOs, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
19803 -       kdch1=\177, kend=\EOF, kent=\EOM, kf1=\E[11~, kf10=\E[21~, 
19804 +       kbeg=\EOE, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
19805 +       kcuu1=\EOA, kdch1=\177, kend=\EOF, kf1=\E[11~, kf10=\E[21~, 
19806         kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
19807         kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
19808         kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, 
19809 @@ -2710,7 +2753,7 @@
19810         sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h, 
19811         smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, 
19812         tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
19813 -       vpa=\E[%i%p1%dd, use=ecma+color, 
19814 +       vpa=\E[%i%p1%dd, use=ecma+color, use=vt220+keypad, 
19815  
19816  # This is the stock xterm entry supplied with XFree86 3.3, which uses VT100
19817  # codes for F1-F4 except while in VT220 mode.
19818 @@ -2752,8 +2795,8 @@
19819  
19820  xterm-xfree86|xterm-new|xterm terminal emulator (XFree86 4.0 Window System), 
19821         npc, 
19822 -       kDC=\E[3;2~, kEND=\EO2F, kHOM=\EO2H, kIC=\E[2;2~, 
19823 -       kLFT=\EO2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\EO2C, 
19824 +       kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~, 
19825 +       kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C, 
19826         kb2=\EOE, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
19827         kcuu1=\EOA, kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~, 
19828         kf11=\E[23~, kf12=\E[24~, kf13=\EO2P, kf14=\EO2Q, 
19829 @@ -2819,6 +2862,14 @@
19830  xterm-88color|xterm with 88 colors, 
19831         colors#88, pairs#88, use=xterm-256color, 
19832  
19833 +# These two are used to demonstrate the any-event mouse support, i.e., by
19834 +# using an extended name "XM" which tells ncurses to put the terminal into
19835 +# a special mode when initializing the xterm mouse.
19836 +xterm-1002|testing xterm-mouse, 
19837 +       XM=\E[?1002%?%p1%{1}%=%th%el%;, use=xterm-xfree86, 
19838 +xterm-1003|testing xterm-mouse, 
19839 +       XM=\E[?1003%?%p1%{1}%=%th%el%;, use=xterm-xfree86, 
19840 +
19841  # This is another variant, for XFree86 4.0 xterm (T.Dickey)
19842  # This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
19843  # To use it, your decTerminalID resource must be set to 200 or above.
19844 @@ -2895,15 +2946,14 @@
19845  #      + uses DEC-style control sequences for the application keypad.
19846  #        
19847  xterm-vt220|XFree86 xterm emulating vt220, 
19848 -       ka1=\EOw, ka3=\EOy, kbeg=\EOu, kc1=\EOq, kc3=\EOs, kcbt=\E[Z, 
19849 -       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[4~, 
19850 -       kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 
19851 -       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, 
19852 -       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, 
19853 -       kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, 
19854 -       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, 
19855 -       kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, 
19856 -       use=xterm-basic, 
19857 +       kbeg=\EOu, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
19858 +       kcuu1=\EOA, kend=\E[4~, kf10=\E[21~, kf11=\E[23~, 
19859 +       kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
19860 +       kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
19861 +       kf20=\E[34~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, 
19862 +       kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, 
19863 +       kmous=\E[M, knp=\E[6~, kpp=\E[5~, use=xterm-basic, 
19864 +       use=vt220+keypad, 
19865  
19866  xterm-vt52|XFree86 xterm emulating dec vt52, 
19867         cols#80, it#8, lines#24, 
19868 @@ -2951,7 +3001,7 @@
19869  #  -- MATSUMOTO Shoji)
19870  kterm|kterm kanji terminal emulator (X window system), 
19871         eslok, hs, 
19872 -       acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
19873 +       acsc=++\,\,--..00ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
19874         csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs=, fsl=\E[?F, 
19875         kmous=\E[M, rc=\E8, rmacs=\E(B, sc=\E7, smacs=\E(0, 
19876         tsl=\E[?E\E[?%i%dT, use=xterm-r6, use=ecma+color, 
19877 @@ -2981,9 +3031,8 @@
19878         dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, 
19879         el=\E[K, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I, 
19880         ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, 
19881 -       is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, ka1=\EOw, ka3=\EOy, 
19882 -       kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\EOD, kcud1=\EOB, 
19883 -       kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kent=\EOM, kf1=\E[11~, 
19884 +       is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, kbs=^H, kcub1=\EOD, 
19885 +       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kf1=\E[11~, 
19886         kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, 
19887         kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, 
19888         kf8=\E[19~, kf9=\E[20~, khome=\E[7~, kich1=\E[2~, 
19889 @@ -2995,7 +3044,7 @@
19890         sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
19891         sgr0=\E[m, smacs=^N, smam=\E[?7h, 
19892         smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m, 
19893 -       smul=\E[4m, use=ecma+color, 
19894 +       smul=\E[4m, use=ecma+color, use=vt220+keypad, 
19895  
19896  # The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of
19897  # xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support
19898 @@ -3005,7 +3054,9 @@
19899  #
19900  # Redhat Linux 6.x distributes XFree86 xterm as "nxterm", which uses bce
19901  # colors; note that this is not compatible with the 5.2 version.
19902 -nxterm|xterm-color|generic color xterm, 
19903 +# csw (2002-05-15): make xterm-color primary instead of nxterm, to 
19904 +#   match XFree86's xterm.terminfo usage and prevent circular links
19905 +xterm-color|nxterm|generic color xterm, 
19906         ncv@, 
19907         op=\E[m, use=xterm-r6, use=klone+color, 
19908  
19909 @@ -3146,10 +3197,9 @@
19910         il=\E[%p1%dL, il1=\E[L, ind=^J, is1=\E[?47l\E=\E[?1l, 
19911         is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, 
19912         kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$, 
19913 -       kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^H, 
19914 -       kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, 
19915 -       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^, 
19916 -       kend=\E[8~, kent=\EOM, kf1=\E[11~, kf10=\E[21~, 
19917 +       kPRV=\E[5$, kRIT=\E[c, kbs=^H, kcbt=\E[Z, kcub1=\E[D, 
19918 +       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, 
19919 +       kel=\E[8\^, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, 
19920         kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
19921         kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
19922         kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, 
19923 @@ -3162,10 +3212,22 @@
19924         rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>, 
19925         s0ds=\E(B, s1ds=\E(0, sc=\E7, sgr0=\E[0m\017, smacs=^N, 
19926         smcup=\E7\E[?47h, smir=\E[4h, smkx=\E=, smso=\E[7m, 
19927 -       smul=\E[4m, tbc=\E[3g, 
19928 +       smul=\E[4m, tbc=\E[3g, use=vt220+keypad, 
19929  rxvt|rxvt terminal emulator (X Window System), 
19930         ncv@, 
19931 -       sgr0=\E[m\017, use=rxvt-basic, use=ecma+color, 
19932 +       cvvis=\E[?25h, hpa=\E[%i%p1%dG, kf0=\E[21~, 
19933 +       sgr0=\E[m\017, vpa=\E[%i%p1%dd, use=rxvt-basic, 
19934 +       use=ecma+color, 
19935 +rxvt-color|rxvt terminal emulator (X Window System), 
19936 +       use=rxvt, 
19937 +rxvt-xpm|rxvt terminal emulator (X Window System), 
19938 +       use=rxvt, 
19939 +rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin, 
19940 +       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, 
19941 +       use=rxvt, 
19942 +rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin, 
19943 +       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, 
19944 +       use=rxvt-cygwin, 
19945  
19946  # This variant is supposed to work with rxvt 2.7.7 when compiled with
19947  # NO_BRIGHTCOLOR defined.  rxvt needs more work...
19948 @@ -3227,19 +3289,17 @@
19949         dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, 
19950         el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY, 
19951         home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, 
19952 -       il=\E[%p1%dL, il1=\E[L, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr, 
19953 -       kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, 
19954 -       kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kent=\EOM, kf0=\EOy, 
19955 -       kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, 
19956 -       kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, 
19957 -       kf9=\EOX, khome=\E[H, kmous=\E[^_, knp=\E[U, kpp=\E[V, 
19958 -       rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, rmacs=^O, 
19959 -       rmcup=\E@0\E[?4r, rmso=\E[m, 
19960 +       il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, 
19961 +       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy, 
19962 +       kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU, 
19963 +       kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_, 
19964 +       knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, 
19965 +       rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m, 
19966         rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, 
19967         rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
19968         sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
19969         sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1, 
19970 -       smso=\E[7m, tbc=\E[3g, 
19971 +       smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys, 
19972  
19973  xtermc|xterm terminal emulator (color), 
19974         colors#8, ncv#7, pairs#64, 
19975 @@ -3332,7 +3392,7 @@
19976  # print interface, ANSI X3.64 colour escape sequences, etc.  Newsgroup postings
19977  # indicate that it emulates more than one terminal, but incompletely.
19978  # 
19979 -# This is dapted from a FreeBSD bug-report by Daniel Rudy <dcrudy@pacbell.net>
19980 +# This is adapted from a FreeBSD bug-report by Daniel Rudy <dcrudy@pacbell.net>
19981  # It is based on vt102's entry, with some subtle differences, but also
19982  #      has status line
19983  #      supports ANSI colors (except for 'op' string)
19984 @@ -3349,19 +3409,71 @@
19985         dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, 
19986         dsl=\E[?E, ed=\E[J, el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, 
19987         fsl=\E[?F, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, 
19988 -       ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, ka1=\EOq, 
19989 -       ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, 
19990 -       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy, 
19991 -       kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, 
19992 -       kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, op=\E[100m, rc=\E8, 
19993 -       rev=\E[7m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8, 
19994 -       rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
19995 +       ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, 
19996 +       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOy, 
19997 +       kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, 
19998 +       op=\E[100m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, 
19999 +       rmcup=\E[2J\E[?47l\E8, rmkx=\E[?1l\E>, rmso=\E[m, 
20000 +       rmul=\E[m, 
20001         rs2=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H, 
20002         sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
20003         sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
20004         sgr0=\E[m\017, smacs=^N, smcup=\E7\E[?47h, 
20005         smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
20006 -       tsl=\E[?E\E[?%i%p1%dT, 
20007 +       tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys, 
20008 +
20009 +### MTERM
20010 +#
20011 +# This application is available by email from <mouse@Rodents.Montreal.QC.CA>.
20012 +#
20013 +# "mterm -type ansi" sets $TERM to "ansi"
20014 +mterm-ansi|ANSI emulation, 
20015 +       am, bw, mir, msgr, 
20016 +       it#8, 
20017 +       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
20018 +       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, 
20019 +       cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, 
20020 +       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
20021 +       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, 
20022 +       dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, 
20023 +       el=\E[K, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, 
20024 +       il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS, 
20025 +       invis=\E[8m, is2=\E)0\017, kbs=^H, nel=\EE, rev=\E[7m, 
20026 +       ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmir=\E[4l, rmso=\E[27m, 
20027 +       rmul=\E[24m, sgr0=\E[m, smacs=^N, smir=\E[4h, smso=\E[7m, 
20028 +       smul=\E[4m, vpa=\E[%i%p1%dd, 
20029 +# mterm normally sets $TERM to "mterm"
20030 +mterm|mouse-sun|Der Mouse term, 
20031 +       am, bw, mir, 
20032 +       it#8, 
20033 +       bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^N, cuf1=^S, 
20034 +       cup=\006%p1%d.%p2%d., cuu1=^X, dch1=^Y, dl1=^K, ed=^B, el=^C, 
20035 +       home=^P, ht=^I, il1=^A, ind=^U, kbs=^H, ll=^R, nel=^M^U, ri=^W, 
20036 +       rmir=^O, rmso=^T, smir=^Q, smso=^V, 
20037 +# "mterm -type decansi" sets $TERM to "decansi"
20038 +decansi|ANSI emulation with DEC compatibility hacks, 
20039 +       am, mir, msgr, xenl, 
20040 +       colors#8, it#8, pairs#64, 
20041 +       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
20042 +       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
20043 +       clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, 
20044 +       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, 
20045 +       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, 
20046 +       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
20047 +       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, 
20048 +       dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, enacs=\E(B\E)0, 
20049 +       home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, il=\E[%p1%dL, 
20050 +       il1=\E[L, ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, 
20051 +       is2=\E)0\E[r\017, kbs=^H, kcub1=\EOD, kcud1=\EOB, 
20052 +       kcuf1=\EOC, kcuu1=\EOA, nel=\EE, op=\E[0m, rc=\E8, rev=\E[7m, 
20053 +       ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, 
20054 +       rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, sc=\E7, 
20055 +       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
20056 +       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%;, 
20057 +       sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h, 
20058 +       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u6=\E[%i%d;%dR, 
20059 +       u7=\E[6n, vpa=\E[%i%p1%dd, 
20060 +
20061  #### MGR
20062  #
20063  # MGR is a Bell Labs window system lighter-weight than X.
20064 @@ -3467,11 +3579,18 @@
20065         kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
20066         kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
20067         khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, 
20068 -       nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmir=\E[4l, 
20069 -       rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec, sc=\E7, 
20070 -       sgr0=\E[m, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=, 
20071 -       smso=\E[3m, smul=\E[4m, tbc=\E[3g, E0=\E(B, S0=\E(%p1%c, 
20072 +       nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, 
20073 +       rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, 
20074 +       rmul=\E[24m, rs2=\Ec, sc=\E7, sgr0=\E[m, smacs=^N, 
20075 +       smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[3m, 
20076 +       smul=\E[4m, tbc=\E[3g, E0=\E(B, S0=\E(%p1%c, 
20077         use=ecma+color, 
20078 +# The bce and status-line entries are from screen 3.9.13 (and require some
20079 +# changes to .screenrc).
20080 +screen-bce|VT 100/ANSI X3.64 virtual terminal with bce, 
20081 +       bce, use=screen, 
20082 +screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line, 
20083 +       dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen, 
20084  
20085  # Read the fine manpage:
20086  #       When  screen  tries  to  figure  out  a  terminal name for
20087 @@ -3508,9 +3627,11 @@
20088  screen.xterm-r6|screen customized for X11R6 xterm, 
20089         bw, use=xterm-r6, 
20090  # Color applications running in screen and TeraTerm do not play well together
20091 -# on Solaris.
20092 +# on Solaris because Sun's curses implementation gets confused.
20093  screen.teraterm|disable ncv in teraterm, 
20094 -       ncv#127, use=screen, 
20095 +       ncv#127, 
20096 +       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, 
20097 +       use=screen, 
20098  
20099  screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols, 
20100         cols#132, use=screen, 
20101 @@ -3631,7 +3752,7 @@
20102  #### Pilot Pro Palm-Top
20103  #
20104  # Termcap for Top Gun Telnet and SSH on the Palm Pilot.
20105 -# http://www.isaac.cs.berkeley.edu/pilot/tgtelnet.html
20106 +# http://www.ai/~iang/TGssh/
20107  pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional, 
20108         OTbs, am, xenl, 
20109         cols#39, lines#16, 
20110 @@ -3763,6 +3884,9 @@
20111  sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history, 
20112         lines#35, 
20113         rmcup=\E[>4h, smcup=\E[>4l, use=sun, 
20114 +sun-type4|Sun Workstation console with type 4 keyboard, 
20115 +       kcub1=\E[217z, kcud1=\E[221z, kcuf1=\E[219z, 
20116 +       kcuu1=\E[215z, use=sun-il, 
20117  
20118  #### Iris consoles
20119  #
20120 @@ -4032,62 +4156,79 @@
20121  #### Non-Unix Consoles
20122  #
20123  
20124 +### EMX termcap.dat compatibility modes
20125 +#
20126 +# Keypad:      Home=\0G        Up=\0H  PrPag=\0I
20127 +#              ka1,kh          kcuu1           kpp,ka3
20128 +#
20129 +#              Left=\0K        5=\0L           Right=\0M
20130 +#              kcub1           kb2             kcuf1
20131 +#
20132 +#              End=\0O         Down=\0P        NxPag=\0Q
20133 +#              kc1,kend        kcud1           kc3,knp
20134 +#
20135 +#              Ins=\0R         Del=\0S
20136 +#              kich1           kdch1
20137 +#
20138 +# On keyboard with 12 function keys,
20139 +#      shifted f-keys: F13-F24
20140 +#      control f-keys: F25-F36
20141 +#      alt f-keys:     F37-F48
20142 +# The shift/control/alt keys do not modify each other, but alt overrides both,
20143 +# and control overrides shift.
20144 +#
20145 +# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the
20146 +# no_color_video to inform the application that standout(1), underline(2)
20147 +# reverse(4) and invisible(64) don't work with color.
20148 +emx-base|DOS special keys, 
20149 +       bce, bw, 
20150 +       it#8, ncv#71, 
20151 +       bel=^G, ka1=\0G, ka3=\0I, kb2=\0L, kbs=^H, kc1=\0O, kc3=\0Q, 
20152 +       kcbt=\0^O, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, 
20153 +       kdch1=\0S, kend=\0O, kf1=\0;, kf10=\0D, kf11=\0\205, 
20154 +       kf12=\0\206, kf13=\0T, kf14=\0U, kf15=\0V, kf16=\0W, 
20155 +       kf17=\0X, kf18=\0Y, kf19=\0Z, kf2=\0<, kf20=\0[, kf21=\0\\, 
20156 +       kf22=\0], kf23=\0\207, kf24=\0\210, kf25=\0\^, kf26=\0_, 
20157 +       kf27=\0`, kf28=\0a, kf29=\0b, kf3=\0=, kf30=\0c, kf31=\0d, 
20158 +       kf32=\0e, kf33=\0f, kf34=\0g, kf35=\0\211, kf36=\0\212, 
20159 +       kf37=\0h, kf38=\0i, kf39=\0j, kf4=\0>, kf40=\0k, kf41=\0l, 
20160 +       kf42=\0m, kf43=\0n, kf44=\0o, kf45=\0p, kf46=\0q, 
20161 +       kf47=\0\213, kf48=\0\214, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, 
20162 +       kf9=\0C, khome=\0G, kich1=\0R, knp=\0Q, kpp=\0I, 
20163 +       use=ansi.sys, 
20164 +
20165  # Except for the "-emx" suffixes, these are as distributed with EMX 0.9b,
20166  # a Unix-style environment used on OS/2.  (Note that the suffix makes some
20167  # names longer than 14 characters, the nominal maximum).
20168  #
20169  # Removed: rmacs=\E[10m, smacs=\E[11m, because OS/2 does not implement acs.
20170  ansi-emx|ANSI.SYS color, 
20171 -       am, bce, eo, mir, msgr, xenl, xon, 
20172 +       am, bce, eo, mir, msgr, xon, 
20173         colors#8, cols#80, it#8, lines#25, pairs#64, 
20174         bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
20175         clear=\E[1;33;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, 
20176         cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
20177         dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, 
20178         home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J, 
20179 -       kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, 
20180 -       kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, kf5=\0?, kf6=\0@, 
20181 -       kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, kich1=\0R, kll=\0O, 
20182 -       knp=\0Q, kpp=\0I, kspd=^Z, nel=^M^J, rev=\E[5;37;41m, 
20183 -       rmir=\E[4l, rmpch=\E[10m, rmso=\E[0;44m\E[1;33m, 
20184 -       rmul=\E[0;44m\E[1;33m, rs1=\Ec, setab=\E[4%p1%dm, 
20185 -       setaf=\E[3%p1%dm, sgr0=\E[0m\E[1;33;44m, smir=\E[4h, 
20186 -       smpch=\E[11m, smso=\E[0;31;47m, smul=\E[1;31;44m, 
20187 -       tbc=\E[3g, u8=\E[?6c, u9=\E[c, 
20188 +       kb2=\E[G, kbs=^H, kf0=\0D, kll=\0O, kspd=^Z, nel=^M^J, 
20189 +       rev=\E[5;37;41m, rmir=\E[4l, rmpch=\E[10m, 
20190 +       rmso=\E[0;44m\E[1;33m, rmul=\E[0;44m\E[1;33m, rs1=\Ec, 
20191 +       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
20192 +       sgr0=\E[0m\E[1;33;44m, smir=\E[4h, smpch=\E[11m, 
20193 +       smso=\E[0;31;47m, smul=\E[1;31;44m, tbc=\E[3g, u8=\E[?6c, 
20194 +       u9=\E[c, use=emx-base, 
20195 +# nice colors for Emacs (white on blue, mode line white on cyan)
20196  ansi-color-2-emx|ANSI.SYS color 2, 
20197 -       am, bce, eo, mir, msgr, xenl, xon, 
20198 -       colors#8, cols#80, it#8, lines#25, pairs#64, 
20199 -       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
20200 -       clear=\E[0;37;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, 
20201 -       cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
20202 -       dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, 
20203 -       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J, 
20204 -       kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, 
20205 -       kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, kf5=\0?, kf6=\0@, 
20206 -       kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, kich1=\0R, kll=\0O, 
20207 -       knp=\0Q, kpp=\0I, kspd=^Z, nel=^M^J, rev=\E[1;37;46m, 
20208 -       rmir=\E[4l, rmpch=\E[10m, rmso=\E[0;37;44m, 
20209 -       rmul=\E[0;37;44m, rs1=\Ec, setab=\E[4%p1%dm, 
20210 -       setaf=\E[3%p1%dm, sgr0=\E[0;37;44m, smir=\E[4h, 
20211 -       smpch=\E[11m, smso=\E[1;37;46m, smul=\E[1;36;44m, 
20212 -       tbc=\E[3g, u8=\E[?6c, u9=\E[c, 
20213 +       clear=\E[0;37;44m\E[H\E[J, rev=\E[1;37;46m, 
20214 +       rmso=\E[0;37;44m, rmul=\E[0;37;44m, rs1=\Ec, 
20215 +       setaf=\E[3%p1%dm, sgr0=\E[0;37;44m, smso=\E[1;37;46m, 
20216 +       smul=\E[1;36;44m, use=ansi-emx, 
20217 +# nice colors for Emacs (white on black, mode line black on cyan)
20218  ansi-color-3-emx|ANSI.SYS color 3, 
20219 -       am, bce, eo, mir, msgr, xenl, xon, 
20220 -       colors#8, cols#80, it#8, lines#25, pairs#64, 
20221 -       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
20222 -       clear=\E[0;37;40m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, 
20223 -       cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
20224 -       dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, 
20225 -       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J, 
20226 -       kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, 
20227 -       kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, kf5=\0?, kf6=\0@, 
20228 -       kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, kich1=\0R, kll=\0O, 
20229 -       knp=\0Q, kpp=\0I, kspd=^Z, nel=^M^J, rev=\E[1;37;46m, 
20230 -       rmir=\E[4l, rmpch=\E[10m, rmso=\E[0;37;40m, 
20231 -       rmul=\E[0;37;40m, rs1=\Ec, setab=\E[4%p1%dm, 
20232 -       setaf=\E[3%p1%dm, sgr0=\E[0;10m, smir=\E[4h, 
20233 -       smpch=\E[11m, smso=\E[1;37;46m, smul=\E[0;36;40m, 
20234 -       tbc=\E[3g, u8=\E[?6c, u9=\E[c, 
20235 +       clear=\E[0;37;40m\E[H\E[J, rev=\E[1;37;46m, 
20236 +       rmso=\E[0;37;40m, rmul=\E[0;37;40m, rs1=\Ec, 
20237 +       setaf=\E[3%p1%dm, sgr0=\E[0;10m, smso=\E[1;37;46m, 
20238 +       smul=\E[0;36;40m, use=ansi-emx, 
20239  mono-emx|stupid monochrome ansi terminal with only one kind of emphasis, 
20240         am, 
20241         cols#80, it#8, lines#24, 
20242 @@ -4117,31 +4258,112 @@
20243  # I've indicated which of these were and which I used.
20244  # Cheers, earnie_boyd@yahoo.com
20245  # several changes based on running with tack and comparing with older entry -TD
20246 +# more changes from csw:
20247 +#   add    cbt   [backtab]
20248 +#   remove eo    [erase overstrike with blank]
20249 +#   change clear was \E[H\E[J  now \E[2J  (faster?)
20250 +#   remove cols
20251 +#   remove lines
20252 +#   remove ncv#3 [colors collide with highlights, bitmask] not applicable
20253 +#                to MSDOS box?
20254 +#   add    cub   [cursor back param] 
20255 +#   add    cuf   [cursor forward param]
20256 +#   add    cuu   [cursor up param]
20257 +#   add    cud   [cursor down param]
20258 +#   add    hs    [has status line]
20259 +#   add    fsl   [return from status line]
20260 +#   add    tsl   [go to status line]
20261 +#   add    smacs [Start alt charset] (not sure if this works)
20262 +#   add    rmacs [End alt charset]   (ditto)
20263 +#   add    smcup [enter_ca_mode] (save console; thanks Corinna)
20264 +#   add    rmcup [exit_ca_mode]  (restore console; thanks Corinna)
20265 +#   add    kb2   [center of keypad]
20266 +#   add    u8    [user string 8] \E[?6c
20267 +#   add    el    [clear to end of line] \E[K
20268 +# Notes:
20269 +#   cnorm [make cursor normal] not implemented
20270 +#   flash [flash] not implemented
20271 +#   blink [blink] not implemented very usefully in cygwin? \E[5m
20272 +#   dim   [dim] not implemented very usefully in cygwin? \E[2m
20273 +#   cub1  [cursor back 1] typically \E[D, but ^H is faster?
20274 +#   kNXT  [shifted next key] not implemented
20275 +#   kPRV  [shifted prev key] not implemented
20276 +#   khome [home key] really is \E[1~ NOT \E[H
20277 +#   tbc   [clear tab stops] not implemented
20278 +#   xenl  [newline ignnored after 80 cols] messes up last line? Ehud Karni
20279 +#   smpch [Start PC charset] is \E[11m, same as smacs
20280 +#   rmpch [End PC charset] is \E[10m, same as rmacs
20281 +#   mir   [move in insert mode] fails in tack?
20282 +#   bce   [back color erase] causes problems with change background color?
20283 +#   cvvis [make cursor very visible] causes a stackdump when testing with
20284 +#         testcurs using the output option? \E[?25h\E[?8c
20285 +#   civis [make cursor invisible] causes everything to stackdump? \E[?25l\E[?1c
20286 +#   ech   [erase characters param] broken \E[%p1%dX
20287 +#   kcbt  [back-tab key] not implemented in cygwin?  \E[Z
20288  cygwin|ansi emulation for Cygwin, 
20289 -       am, eo, in, msgr, xon, 
20290 -       colors#8, cols#80, it#8, lines#25, ncv#3, pairs#64, 
20291 +       am, hs, in, msgr, xon, 
20292 +       colors#8, it#8, pairs#64, 
20293         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, 
20294 -       bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, cub1=^H, 
20295 -       cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
20296 -       dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, 
20297 -       el=\E[K, el1=\E[1K, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, 
20298 -       hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, 
20299 -       ind=^J, invis=\E[8m, kbs=^H, kcub1=\E[D, kcud1=\E[B, 
20300 -       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, 
20301 +       bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, cr=^M, 
20302 +       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, 
20303 +       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
20304 +       cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, 
20305 +       dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, fsl=^G, 
20306 +       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, 
20307 +       ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, 
20308 +       kb2=\E[G, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, 
20309 +       kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, 
20310         kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, 
20311         kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, 
20312         kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, 
20313         kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, 
20314         kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, 
20315         knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m, 
20316 -       rc=\E8, rev=\E[7m, ri=\EM, rmir=\E[4l, rmpch=\E[10m, 
20317 +       rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, 
20318 +       rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmpch=\E[10m, 
20319         rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, 
20320         setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
20321         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, 
20322 -       sgr0=\E[0;10m, smir=\E[4h, smpch=\E[11m, smso=\E[7m, 
20323 -       smul=\E[4m, u6=\E[%i%d;%dR, u7=\E[6n, u9=\E[c, 
20324 +       sgr0=\E[0;10m, smacs=\E11m, smcup=\E7\E[?47h, smir=\E[4h, 
20325 +       smpch=\E[11m, smso=\E[7m, smul=\E[4m, tsl=\E];, 
20326 +       u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c, 
20327         vpa=\E[%i%p1%dd, 
20328  
20329 +# I've supplied this so that you can help test new values and add other
20330 +# features.  Cheers, earnie_boyd@yahoo.com.
20331 +#
20332 +# Some features are from pcansi.  The op value is from linux.  Function-keys
20333 +# are from linux.  These have been tested not to cause problems.  xenl was in
20334 +# this list, but DOES cause problems so it has been removed
20335 +cygwinDBG|Debug Version for Cygwin, 
20336 +       am, eo, mir, msgr, xon, 
20337 +       colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64, 
20338 +       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, 
20339 +       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, 
20340 +       cnorm=\E[?25h, cr=^M, cub=\E[%p1%dD, cub1=\E[D, 
20341 +       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, 
20342 +       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
20343 +       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, 
20344 +       dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, 
20345 +       flash=\E[?5h\E[?5l$<200/>, home=\E[H, hpa=\E[%i%p1%dG, 
20346 +       ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, 
20347 +       il1=\E[L, ind=^J, invis=\E[8m, kNXT=\E[6$, kPRV=\E[5$, 
20348 +       kb2=\E[G, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, 
20349 +       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, 
20350 +       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, 
20351 +       kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, 
20352 +       kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, 
20353 +       kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, 
20354 +       kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, 
20355 +       knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m, 
20356 +       rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, rmir=\E[4l, 
20357 +       rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7, 
20358 +       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
20359 +       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, 
20360 +       sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smso=\E[7m, 
20361 +       smul=\E[4m, tbc=\E[2g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, 
20362 +       u9=\E[c, vpa=\E[%i%p1%dd, 
20363 +
20364  # This entry fits the Windows NT console when the _POSIX_TERM environment
20365  # variable is set to 'on'.  While the Windows NT POSIX console is seldom used,
20366  # the Telnet client supplied with both the Windows for WorkGroup 3.11 TCP/IP
20367 @@ -6939,9 +7161,8 @@
20368         ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>, 
20369         ind=\n$<2>, ip=$<1>, 
20370         is1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h, 
20371 -       is2=\E>\E(B\E)0\017, is3=\E[m, ka1=\EOw, ka3=\EOy, 
20372 -       kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, kcud1=\E[B, 
20373 -       kcuf1=\E[C, kcuu1=\E[A, kdl1=\E[M, kel=\E[K, kent=\EOM, 
20374 +       is2=\E>\E(B\E)0\017, is3=\E[m, kbs=^H, kcub1=\E[D, 
20375 +       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdl1=\E[M, kel=\E[K, 
20376         kf1=\E[?5i, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 
20377         kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, 
20378         kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[?3i, 
20379 @@ -6956,7 +7177,7 @@
20380         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%;, 
20381         sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, 
20382         smkx=\E[?1l\E[?7h\E=, smso=\E[1t\E[7m, smul=\E[2t\E[4m, 
20383 -       tbc=\E[3g, tsl=\E[>\,\001, 
20384 +       tbc=\E[3g, tsl=\E[>\,\001, use=vt220+keypad, 
20385  #
20386  #      This terminal description uses the non-hidden attribute mode
20387  #      (with magic cookie).
20388 @@ -7008,23 +7229,22 @@
20389         ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>, 
20390         ind=\n$<3>, invis=\E[8m, ip=$<3>, is1=\E[62;1"p\E[?5W, 
20391         is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>, 
20392 -       is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu, 
20393 -       kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, kcud1=\E[B, 
20394 -       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kent=\EOM, kf1=\EOP, 
20395 -       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, 
20396 -       kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, 
20397 -       kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, 
20398 -       kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
20399 -       kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, kich1=\E[2~, 
20400 -       knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, 
20401 -       lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, 
20402 -       ri=\EM$<3>, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, 
20403 -       rmso=\E[m, rmul=\E[m, rs1=\E[13l\E[3l\E!p, 
20404 -       rs2=\E[35h\E[?3l$<70>, rs3=\E[?5l, sc=\E7, 
20405 +       is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcub1=\E[D, kcud1=\E[B, 
20406 +       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf10=\E[21~, 
20407 +       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
20408 +       kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
20409 +       kf19=\E[33~, kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, 
20410 +       kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, 
20411 +       khome=\E[26~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, 
20412 +       kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, 
20413 +       mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<3>, 
20414 +       rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, 
20415 +       rmul=\E[m, rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>, 
20416 +       rs3=\E[?5l, sc=\E7, 
20417         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%;, 
20418         sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, 
20419         smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
20420 -       tsl=\E[40h\E7\E[25;%i%p1%dH, 
20421 +       tsl=\E[40h\E7\E[25;%i%p1%dH, use=vt220+keypad, 
20422  #
20423  #      Wyse 85 with visual bell.
20424  wy85-vb|wyse85-vb|wyse 85 with visible bell, 
20425 @@ -7113,25 +7333,24 @@
20426         ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, il1=\E[L$<3>, 
20427         ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W, 
20428         is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h, 
20429 -       is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu, 
20430 -       kbs=^H, kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, 
20431 -       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kent=\EOM, 
20432 -       kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 
20433 -       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, 
20434 -       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, 
20435 -       kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~, 
20436 -       kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, 
20437 -       khome=\E[26~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, 
20438 -       kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, 
20439 -       mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<2>, 
20440 -       rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, rmkx=\E>, 
20441 -       rmso=\E[27m, rmul=\E[24m, 
20442 +       is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D, 
20443 +       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, 
20444 +       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, 
20445 +       kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, 
20446 +       kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, 
20447 +       kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
20448 +       kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, kich1=\E[2~, 
20449 +       knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, 
20450 +       lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, 
20451 +       ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, 
20452 +       rmkx=\E>, rmso=\E[27m, rmul=\E[24m, 
20453         rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l, 
20454         rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7, 
20455         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%;, 
20456         sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q, 
20457         smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, 
20458         tbc=\E[3g, tsl=\E7\E[99;%i%p1%dH, vpa=\E[%i%p1%dd, 
20459 +       use=vt220+keypad, 
20460  #
20461  #      Wyse 185 with 24 data lines and top status (terminal status)
20462  wy185-24|wyse185-24|wyse 185 with 24 data lines, 
20463 @@ -7322,16 +7541,14 @@
20464  #      Function key set for the VT-320 (and wy85) compatible keyboard
20465  #
20466  wy370-105k|Wyse 370 with 105 key keyboard, 
20467 -       ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, 
20468 -       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
20469 -       kdch1=\E[3~, kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, 
20470 -       kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
20471 -       kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
20472 -       kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, 
20473 -       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, 
20474 +       kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
20475 +       kdch1=\E[3~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 
20476 +       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, 
20477 +       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, 
20478 +       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, 
20479         khlp=\E[28~, khome=\E[26~, kich1=\E[2~, knp=\E[6~, 
20480         kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, 
20481 -       use=wy370-nk, 
20482 +       use=wy370-nk, use=vt220+keypad, 
20483  #
20484  #      Function key set for the PC compatible keyboard
20485  #
20486 @@ -7435,26 +7652,24 @@
20487         hts=\EH, ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, 
20488         il1=\E[L$<3>, ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W, 
20489         is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h, 
20490 -       is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOu, kb2=\EOy, 
20491 -       kbs=^H, kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, 
20492 +       is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D, 
20493         kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, ked=\E[1~, 
20494 -       kel=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, 
20495 +       kel=\E[4~, kent=\EOM, kf10=\E[21~, kf11=\E[23~, 
20496         kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
20497         kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
20498 -       kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, 
20499 -       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, 
20500 -       khlp=\E[28~, khome=\E[26~, kich1=\E[2~, knp=\E[6~, 
20501 -       kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, 
20502 -       mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, 
20503 -       ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, 
20504 -       rmso=\E[m, rmul=\E[24m, 
20505 +       kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, 
20506 +       kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, 
20507 +       kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, 
20508 +       lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, 
20509 +       rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, 
20510 +       rmcup=\E[ R, rmir=\E[4l, rmso=\E[m, rmul=\E[24m, 
20511         rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l, 
20512         rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7, 
20513         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%;, 
20514         sgr0=\E[m\017, smacs=^N, smam=\E[?7h, 
20515         smcup=\E[ Q\E[?67;8h, smir=\E[4h, smso=\E[7m, smul=\E[4m, 
20516         tbc=\E[3g, tsl=\E[2$~\E[1$}\E[%i%p1%d`, 
20517 -       vpa=\E[%i%p1%dd, 
20518 +       vpa=\E[%i%p1%dd, use=vt220+keypad, 
20519  #
20520  #       Wyse 520 with 24 data lines and status (terminal status)
20521  wy520-24|wyse520-24|wyse 520 with 24 data lines, 
20522 @@ -7976,17 +8191,15 @@
20523         cup=\E[%i%p1%d;%p2%dH$<5>, cuu1=\E[A$<2>, dch1=\E[P, 
20524         dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, 
20525         enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ich1=\E[@, 
20526 -       il1=\E[L, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H, 
20527 -       kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
20528 -       kcuu1=\EOA, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\EOx, 
20529 -       kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv, 
20530 -       kf8=\EOl, kf9=\EOw, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, 
20531 -       rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>, 
20532 +       il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
20533 +       kcuu1=\EOA, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, 
20534 +       rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>, 
20535         rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, 
20536         sc=\E7, 
20537         sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, 
20538         sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
20539         smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
20540 +       use=vt100+fnkeys, 
20541  
20542  # 
20543  # Teletype Model 5420 -- A souped up 5410, with multiple windows,
20544 @@ -11380,16 +11593,14 @@
20545         cuu1=\E[A$<2>, dch1=\E~W, dl1=\E~R, ed=\E[J$<50>, 
20546         el=\E[K$<3>, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, 
20547         ht=^I, hts=\EH, ich1=\E~Q, il1=\E~E, ind=^J, is1=\E~)\E~ea, 
20548 -       ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, 
20549 -       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, 
20550 -       kf0=\EOy, kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
20551 -       kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8, 
20552 -       rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
20553 +       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
20554 +       rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
20555         rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, 
20556         rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
20557         sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, 
20558         sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
20559         smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
20560 +       use=vt100+fnkeys, 
20561  ts100-ctxt|falco ts-100 saving context, 
20562         rmcup=\E~_b, smcup=\E~_d\E[2J, use=ts100, 
20563  
20564 @@ -13192,19 +13403,17 @@
20565         il1=\E[L$<5>, ind=\ED$<5>, indn=\E[%p1%dE$<5>, 
20566         invis=\E[8m, 
20567         is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, 
20568 -       ka1=\EOw, ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs, 
20569 -       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
20570 -       kdch1=\E[3~, kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, 
20571 -       kf4=\EOS, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, knp=\E[6~, 
20572 -       kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, nel=\EE$<5>, rc=\E8, 
20573 -       rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l, 
20574 +       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
20575 +       kdch1=\E[3~, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, 
20576 +       knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, nel=\EE$<5>, 
20577 +       rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l, 
20578         rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m, 
20579         rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, 
20580         sc=\E7, 
20581         sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, 
20582         sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h, 
20583         smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g, 
20584 -       tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, 
20585 +       tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, use=vt220+keypad, 
20586  ncr260vt100wan|NCR 2900_260 vt100 wide mode ansi kybd, 
20587         cols#132, 
20588         cup=\E[%i%p1%d;%p2%dH$<30>, 
20589 @@ -13242,15 +13451,14 @@
20590         ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>, 
20591         ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m, 
20592         is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, 
20593 -       ka1=\EOw, ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs, 
20594 -       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
20595 -       kdch1=\E[3~, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\E[21~, 
20596 -       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
20597 -       kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
20598 -       kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, 
20599 -       kf22=\E[32~, kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, 
20600 -       kf26=\E[1~, kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, 
20601 -       kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~, 
20602 +       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
20603 +       kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~, 
20604 +       kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
20605 +       kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
20606 +       kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, 
20607 +       kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, 
20608 +       kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, kf30=\E[5~, 
20609 +       kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~, 
20610         kf35=\E[10~, kf4=\EOS, kf5=\E[M, kf6=\E[17~, kf7=\E[18~, 
20611         kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, 
20612         kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, 
20613 @@ -13263,6 +13471,7 @@
20614         sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, 
20615         smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, 
20616         tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, 
20617 +       use=vt220+keypad, 
20618  ncr260vt200wan|NCR 2900_260 vt200 wide mode ansi kybd, 
20619         cols#132, 
20620         cup=\E[%i%p1%d;%p2%dH$<30>, 
20621 @@ -13298,27 +13507,27 @@
20622         ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>, 
20623         ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m, 
20624         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>, 
20625 -       ka1=\EOw, ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs, 
20626 -       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
20627 -       kdch1=\E[3~, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\E[21~, 
20628 -       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
20629 -       kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, 
20630 -       kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, 
20631 -       kf22=\E[32~, kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, 
20632 -       kf26=\E[1~, kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, 
20633 -       kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~, 
20634 -       kf35=\E[10~, kf4=\EOS, kf5=\E[M, kf6=\E[17~, kf7=\E[18~, 
20635 -       kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, 
20636 -       kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, 
20637 -       mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, 
20638 -       ri=\EM$<5>, rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l, 
20639 -       rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, 
20640 +       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
20641 +       kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~, 
20642 +       kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
20643 +       kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
20644 +       kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, kf23=\E[33~, 
20645 +       kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, kf27=\E[2~, 
20646 +       kf28=\E[3~, kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, 
20647 +       kf33=\E[8~, kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~, 
20648 +       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, 
20649 +       khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, 
20650 +       krdo=\E[29~, kslt=\E[4~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, 
20651 +       nel=\EE, rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=\017$<20>, 
20652 +       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, 
20653 +       rmul=\E[24m, 
20654         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>, 
20655         sc=\E7, 
20656         sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, 
20657         sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, 
20658         smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, 
20659         tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, 
20660 +       use=vt220+keypad, 
20661  ncr260vt300wan|NCR 2900_260 vt300 wide mode ansi kybd, 
20662         cols#132, 
20663         cup=\E[%i%p1%d;%p2%dH$<30>, 
20664 @@ -13406,7 +13615,7 @@
20665  #
20666  ncr260wy350pp|NCR 2900_260 wyse 350, 
20667         am, bw, hs, km, mc5i, mir, msgr, xon, 
20668 -       colors#16, cols#80, lines#24, ncv#33, nlab#32, xmc#1, 
20669 +       colors#16, cols#80, lines#24, ncv#33, nlab#32, pairs#16, xmc#1, 
20670         acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, 
20671         cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, 
20672         cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, 
20673 @@ -14005,17 +14214,15 @@
20674         cuf=\E[%p1%dC, cuf1=\E[C$<2>, 
20675         cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, 
20676         cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, 
20677 -       enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq, 
20678 -       ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, 
20679 -       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy, 
20680 -       kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, 
20681 -       kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8, 
20682 +       enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, 
20683 +       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, 
20684         rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
20685         rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, 
20686         rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
20687         sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, 
20688         sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
20689         smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
20690 +       use=vt100+fnkeys, 
20691  
20692  # Tektronix 4105 from BRL
20693  # The following setup modes are assumed for normal operation:
20694 @@ -14831,15 +15038,14 @@
20695         cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
20696         dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, 
20697         home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, 
20698 -       ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=\177, kc1=\EOp, kc3=\EOn, 
20699 -       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, 
20700 -       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, 
20701 -       ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
20702 +       kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
20703 +       kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, 
20704 +       rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
20705         rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
20706         sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m, 
20707         sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, 
20708         smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, 
20709 -       u8=\E[?1;2c, u9=\E[c, 
20710 +       u8=\E[?1;2c, u9=\E[c, use=vt100+pfkeys, 
20711  
20712  nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset, 
20713         acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
20714 @@ -15026,14 +15232,14 @@
20715         cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, 
20716         cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
20717         cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K, 
20718 -       el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq, 
20719 -       ka3=\EOs, kb2=\EOr, kbs=\177, kc1=\EOp, kc3=\EOn, kcub1=\EOD, 
20720 -       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, rev=\E[7m, 
20721 -       ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
20722 -       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
20723 +       el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=\177, 
20724 +       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, 
20725 +       rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, 
20726 +       rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, 
20727 +       sc=\E7, 
20728         sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, 
20729         sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, 
20730 -       smul=\E[4m, tbc=\E[3g, 
20731 +       smul=\E[4m, tbc=\E[3g, use=vt100+keypad, 
20732  
20733  xnuppc+c|Darwin PowerPC Console ANSI color support, 
20734         colors#8, ncv#32, pairs#64, 
20735 @@ -17642,7 +17848,7 @@
20736  # respectively, to be able to restore them when color changes
20737  # (because any color change turns off ALL attributes)
20738  # 3. <bold> and <rev> sequences alternate modes,
20739 -# rather then simply  entering them.  Thus we have to check the
20740 +# rather than simply  entering them.  Thus we have to check the
20741  # static register B and H to determine the status, before sending the 
20742  # escape sequence.
20743  # 4. <sgr0> now must set the status of all 3 register (A,B,H) to zero
20744 @@ -17744,15 +17950,12 @@
20745         cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, 
20746         cuu1=\E[A$<2>, dl1=\E[M$<99>, ed=\E[J$<50>, el=\E[K$<3>, 
20747         el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, 
20748 -       il1=\E[L$<99>, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H, 
20749 -       kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, 
20750 -       kcuu1=\EOA, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\EOx, 
20751 -       kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv, 
20752 -       kf8=\EOl, kf9=\EOw, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
20753 +       il1=\E[L$<99>, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, 
20754 +       kcuf1=\EOC, kcuu1=\EOA, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
20755         rmkx=\E[?1l\E>, rmso=\E[m\s, 
20756         rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m, 
20757         smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m\s, 
20758 -       tbc=\E[3g, 
20759 +       tbc=\E[3g, use=vt100+fnkeys, 
20760  
20761  # The official PC terminal emulator program of the AT&T Product Centers.
20762  # Note - insert mode commented out - doesn't seem to work on AT&T PC.
20763 @@ -18325,12 +18528,12 @@
20764  # (T) ECMA-48 calls this "Partial Line Forward" but retains the PLD
20765  # abbreviation.
20766  #
20767 -# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLD
20768 +# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLU
20769  # abbreviation.
20770  #
20771  # (V) ECMA-48 calls this "Reverse Line Feed" but retains the RI abbreviation.
20772  #
20773 -# (W) RM/SM modes are as follows: 1 = Guarder Area Transfer Mode (GATM), 
20774 +# (W) RM/SM modes are as follows: 1 = Guarded Area Transfer Mode (GATM), 
20775  # 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM), 
20776  # 4 = Insertion Replacement Mode, 5 = Status Report Transfer Mode (SRTM),
20777  # 6 = Erasure Mode (ERM), 7 = Line Editing Mode (LEM), 8 = Bi-Directional
20778 @@ -19536,9 +19739,46 @@
20779  #      * scaled the linux-c terminfo entry to match linux-c-nc, i.e., the
20780  #        r/g/b parameters of initc are in the range 0 to 1000 -TD
20781  #
20782 -# 2002-1005
20783 +# 2002-10-05
20784  #      * minor fix for scale-factor of linux-c and linux-c-nc -TD
20785  #
20786 +# 2002-11-09
20787 +#      * split-out vt100+keypad and vt220+keypad, fix interchanged ka3/kb2
20788 +#        in the latter -TD
20789 +#
20790 +# 2002-11-16
20791 +#      * add entries for mterm (mterm, mterm-ansi, decansi) -TD
20792 +#      * ncr260wy350pp has only 16 color pairs -TD
20793 +#      * add sun-type4 from NetBSD -TD
20794 +#      * update xterm-xfree86 to current (patch 170) -TD
20795 +#      * add screen-bce, screen-s entries -TD
20796 +#      * add xterm-1002, xterm-1003 entries -TD
20797 +#
20798 +# 2003-01-11
20799 +#      * update homepage for Top Gun Telnet/SSH
20800 +#
20801 +# 2003-01-25
20802 +#      * reduce duplication in emx entries, added emx-base -TD
20803 +#
20804 +# 2003-05-24
20805 +#      * corrected acs for screen.teraterm -TD
20806 +#      * add tkterm entry -TD
20807 +#
20808 +# 2003-07-15
20809 +#      * cygwin changes from Charles Wilson:
20810 +#        misc/terminfo.src (nxterm|xterm-color): make xterm-color
20811 +#        primary instead of nxterm, to match XFree86's xterm.terminfo
20812 +#        usage and to prevent circular links.
20813 +#        (rxvt): add additional codes from rxvt.org.
20814 +#        (rxvt-color): new alias
20815 +#        (rxvt-xpm): new alias
20816 +#        (rxvt-cygwin): like rxvt, but with special acsc codes.
20817 +#        (rxvt-cygwin-native): ditto.  rxvt may be run under XWindows, or
20818 +#        with a "native" MSWin GUI.  Each takes different acsc codes,
20819 +#        which are both different from the "normal" rxvt's acsc.
20820 +#        (cygwin): cygwin-in-cmd.exe window.  Lots of fixes.
20821 +#        (cygwinDBG): ditto.
20822 +#
20823  # The following sets edit modes for GNU EMACS.
20824  # Local Variables:
20825  # fill-prefix:"\t"
20826 diff -urNd -urNd ncurses-5.3/mk-1st.awk ncurses-5.3.20030906.orig/mk-1st.awk
20827 --- ncurses-5.3/mk-1st.awk      Sat Apr 20 12:32:47 2002
20828 +++ ncurses-5.3.20030906.orig/mk-1st.awk        Fri Sep 12 16:42:40 2003
20829 @@ -1,4 +1,4 @@
20830 -# $Id: mk-1st.awk,v 1.55 2002/04/20 17:32:47 tom Exp $
20831 +# $Id: mk-1st.awk,v 1.60 2003/08/30 20:48:52 tom Exp $
20832  ##############################################################################
20833  # Copyright (c) 1998,2000,2002 Free Software Foundation, Inc.                #
20834  #                                                                            #
20835 @@ -27,7 +27,7 @@
20836  # authorization.                                                             #
20837  ##############################################################################
20838  #
20839 -# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,2000
20840 +# Author: Thomas E. Dickey 1996,1997,2000,2002
20841  #
20842  # Generate list of objects for a given model library
20843  # Variables:
20844 @@ -38,7 +38,7 @@
20845  #      MODEL (e.g., "DEBUG", uppercase; toupper is not portable)
20846  #      depend (optional dependencies for all objects, e.g, ncurses_cfg.h)
20847  #      subset ("none", "base", "base+ext_funcs" or "termlib")
20848 -#      target (cross-compile target, if any)
20849 +#      host (cross-compile host, if any)
20850  #      ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable)
20851  #      ShlibVerInfix ("yes" or "no", determines location of version #)
20852  #      DoLinks ("yes", "reverse" or "no", flag to add symbolic links)
20853 @@ -110,7 +110,7 @@
20854                         if (using == 0) {
20855                                 if (found == 0) {
20856                                         print  ""
20857 -                                       print  "# generated by mk-1st.awk"
20858 +                                       printf "# generated by mk-1st.awk (subset=%s)\n", subset
20859                                         print  ""
20860                                 }
20861                                 using = 1
20862 @@ -162,8 +162,8 @@
20863                         if ( MODEL == "SHARED" )
20864                         {
20865                                 if (ShlibVerInfix == "cygdll") {
20866 -                                       abi_name = sprintf("%s%s$(ABI_VERSION)%s", prefix, name, suffix);
20867 -                                       rel_name = sprintf("%s%s$(REL_VERSION)%s", prefix, name, suffix);
20868 +                                       abi_name = sprintf("%s%s$(ABI_VERSION)%s", "cyg", name, suffix);
20869 +                                       rel_name = sprintf("%s%s$(REL_VERSION)%s", "cyg", name, suffix);
20870                                         imp_name = sprintf("%s%s%s.a", prefix, name, suffix);
20871                                 } else if (ShlibVerInfix == "yes") {
20872                                         abi_name = sprintf("%s%s.$(ABI_VERSION)%s", prefix, name, suffix);
20873 @@ -194,7 +194,7 @@
20874                                         print "\t-@rm -f $@";
20875                                 }
20876                                 if ( subset == "termlib") {
20877 -                                       printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(TINFO_LIST)\n", OBJS
20878 +                                       printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(TINFO_LIST) $(LDFLAGS)\n", OBJS
20879                                 } else {
20880                                         printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(SHLIB_LIST) $(LDFLAGS)\n", OBJS
20881                                 }
20882 @@ -233,9 +233,15 @@
20883  
20884                                 if ( overwrite == "yes" && name == "ncurses" )
20885                                 {
20886 -                                       ovr_name = sprintf("libcurses%s", suffix)
20887 -                                       printf "\t@echo linking %s to %s\n", end_name, ovr_name
20888 -                                       printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name
20889 +                                       if ( ShlibVer == "cygdll" ) {
20890 +                                               ovr_name = sprintf("libcurses%s.a", suffix)
20891 +                                               printf "\t@echo linking %s to %s\n", imp_name, ovr_name
20892 +                                               printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, imp_name, ovr_name
20893 +                                       } else {
20894 +                                               ovr_name = sprintf("libcurses%s", suffix)
20895 +                                               printf "\t@echo linking %s to %s\n", end_name, ovr_name
20896 +                                               printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name
20897 +                                       }
20898                                 }
20899                                 if ( ldconfig != "" ) {
20900                                         printf "\t- test -z \"$(DESTDIR)\" && %s\n", ldconfig
20901 @@ -257,7 +263,11 @@
20902                                         removelinks("$(DESTDIR)$(libdir)")
20903                                         if ( overwrite == "yes" && name == "ncurses" )
20904                                         {
20905 -                                               ovr_name = sprintf("libcurses%s", suffix)
20906 +                                               if ( ShlibVer == "cygdll" ) {
20907 +                                                       ovr_name = sprintf("libcurses%s.a", suffix)
20908 +                                               } else {
20909 +                                                       ovr_name = sprintf("libcurses%s", suffix)
20910 +                                               }
20911                                                 printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", ovr_name
20912                                         }
20913                                 }
20914 @@ -277,19 +287,19 @@
20915                                 }
20916                                 end_name = lib_name;
20917                                 printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
20918 -                               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
20919 +                               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
20920                                 print  ""
20921                                 print  "install \\"
20922                                 print  "install.libs \\"
20923                                 printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name
20924                                 printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name
20925 -                               printf "\tcd ../lib; $(LIBTOOL) $(INSTALL_DATA) %s $(DESTDIR)$(libdir)\n", lib_name
20926 +                               printf "\tcd ../lib; $(LIBTOOL_INSTALL) $(INSTALL) %s $(DESTDIR)$(libdir)\n", lib_name
20927                                 print  ""
20928                                 print  "uninstall \\"
20929                                 print  "uninstall.libs \\"
20930                                 printf "uninstall.%s ::\n", name
20931                                 printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name
20932 -                               printf "\t-@$(LIBTOOL) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name
20933 +                               printf "\t-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name
20934                         }
20935                         else
20936                         {
20937 @@ -297,7 +307,7 @@
20938                                 printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
20939                                 printf "\t$(AR) $(AR_OPTS) $@ $?\n"
20940                                 printf "\t$(RANLIB) $@\n"
20941 -                               if ( target == "vxworks" )
20942 +                               if ( host == "vxworks" )
20943                                 {
20944                                         printf "\t$(LD) $(LD_OPTS) $? -o $(@:.a=.o)\n"
20945                                 }
20946 @@ -314,7 +324,7 @@
20947                                         printf "\t(cd $(DESTDIR)$(libdir) && $(LN_S) libncurses.a libcurses.a)\n"
20948                                 }
20949                                 printf "\t$(RANLIB) $(DESTDIR)$(libdir)/%s\n", lib_name
20950 -                               if ( target == "vxworks" )
20951 +                               if ( host == "vxworks" )
20952                                 {
20953                                         printf "\t@echo installing ../lib/lib%s.o as $(DESTDIR)$(libdir)/lib%s.o\n", name, name
20954                                         printf "\t$(INSTALL_DATA) ../lib/lib%s.o $(DESTDIR)$(libdir)/lib%s.o\n", name, name
20955 @@ -330,7 +340,7 @@
20956                                         printf "\t@echo linking libcurses.a to libncurses.a\n"
20957                                         printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n"
20958                                 }
20959 -                               if ( target == "vxworks" )
20960 +                               if ( host == "vxworks" )
20961                                 {
20962                                         printf "\t@echo uninstalling $(DESTDIR)$(libdir)/lib%s.o\n", name
20963                                         printf "\t-@rm -f $(DESTDIR)$(libdir)/lib%s.o\n", name
20964 @@ -343,7 +353,7 @@
20965                         print "mostlyclean::"
20966                         printf "\t-rm -f $(%s_OBJS)\n", OBJS
20967                         if ( MODEL == "LIBTOOL" ) {
20968 -                               printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
20969 +                               printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:.o=.lo)\n", OBJS
20970                         }
20971                 }
20972                 else if ( found == 2 )
20973 @@ -352,13 +362,13 @@
20974                         print "mostlyclean::"
20975                         printf "\t-rm -f $(%s_OBJS)\n", OBJS
20976                         if ( MODEL == "LIBTOOL" ) {
20977 -                               printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
20978 +                               printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:.o=.lo)\n", OBJS
20979                         }
20980                         print ""
20981                         print "clean ::"
20982                         printf "\t-rm -f $(%s_OBJS)\n", OBJS
20983                         if ( MODEL == "LIBTOOL" ) {
20984 -                               printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
20985 +                               printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:.o=.lo)\n", OBJS
20986                         }
20987                 }
20988         }
20989 diff -urNd -urNd ncurses-5.3/mk-2nd.awk ncurses-5.3.20030906.orig/mk-2nd.awk
20990 --- ncurses-5.3/mk-2nd.awk      Sat Oct 14 12:57:02 2000
20991 +++ ncurses-5.3.20030906.orig/mk-2nd.awk        Fri Sep 12 16:42:40 2003
20992 @@ -1,6 +1,6 @@
20993 -# $Id: mk-2nd.awk,v 1.13 2000/10/14 17:57:02 Johnny.C.Lam Exp $
20994 +# $Id: mk-2nd.awk,v 1.14 2003/08/30 20:59:40 tom Exp $
20995  ##############################################################################
20996 -# Copyright (c) 1998 Free Software Foundation, Inc.                          #
20997 +# Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.                #
20998  #                                                                            #
20999  # Permission is hereby granted, free of charge, to any person obtaining a    #
21000  # copy of this software and associated documentation files (the "Software"), #
21001 @@ -100,9 +100,9 @@
21002                                         dir = $3 "/"
21003                                         sub("^\\$\\(srcdir\\)/","",dir);
21004                                         sub("^\\./","",dir);
21005 -                                       printf "\t%scd ../%s; $(LIBTOOL) $(%s) $(CFLAGS_%s) -c ../%s/%s%s%s", atsign, model, compile, MODEL, name, dir, $1, suffix
21006 +                                       printf "\t%scd ../%s; $(LIBTOOL_COMPILE) $(%s) $(CFLAGS_%s) -c ../%s/%s%s%s", atsign, model, compile, MODEL, name, dir, $1, suffix
21007                                 } else
21008 -                                       printf "\t%scd ../%s; $(LIBTOOL) $(%s) $(CFLAGS_%s) -c %s/%s%s", atsign, model, compile, MODEL, $3, $1, suffix
21009 +                                       printf "\t%scd ../%s; $(LIBTOOL_COMPILE) $(%s) $(CFLAGS_%s) -c %s/%s%s", atsign, model, compile, MODEL, $3, $1, suffix
21010                         } else {
21011                                 printf "%s", $1
21012                                 for (n = 2; n <= NF; n++) printf " %s", $n
21013 diff -urNd -urNd ncurses-5.3/ncurses/Makefile.in ncurses-5.3.20030906.orig/ncurses/Makefile.in
21014 --- ncurses-5.3/ncurses/Makefile.in     Sat Jun 29 17:36:25 2002
21015 +++ ncurses-5.3.20030906.orig/ncurses/Makefile.in       Fri Sep 12 16:42:40 2003
21016 @@ -1,6 +1,6 @@
21017 -# $Id: Makefile.in,v 1.84 2002/06/29 22:36:25 tom Exp $
21018 +# $Id: Makefile.in,v 1.89 2003/08/23 23:25:48 tom Exp $
21019  ##############################################################################
21020 -# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
21021 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
21022  #                                                                            #
21023  # Permission is hereby granted, free of charge, to any person obtaining a    #
21024  # copy of this software and associated documentation files (the "Software"), #
21025 @@ -27,7 +27,7 @@
21026  # authorization.                                                             #
21027  ##############################################################################
21028  #
21029 -# Author: Thomas E. Dickey 1996-2001
21030 +# Author: Thomas E. Dickey 1996-2002
21031  #
21032  # Makefile for ncurses source code.
21033  #
21034 @@ -65,6 +65,11 @@
21035  datadir                = @datadir@
21036  
21037  LIBTOOL                = @LIBTOOL@
21038 +LIBTOOL_CLEAN  = @LIB_CLEAN@
21039 +LIBTOOL_COMPILE        = @LIB_COMPILE@
21040 +LIBTOOL_LINK   = @LIB_LINK@
21041 +LIBTOOL_INSTALL        = @LIB_INSTALL@
21042 +LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
21043  
21044  INSTALL                = @INSTALL@
21045  INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
21046 @@ -86,10 +91,10 @@
21047  
21048  CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
21049  
21050 -HOSTCC         = @BUILD_CC@
21051 -HOSTCCFLAGS    = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @BUILD_CFLAGS@ @BUILD_CPPFLAGS@
21052 -HOSTLDFLAGS    = @BUILD_LDFLAGS@
21053 -HOSTLIBS       = @BUILD_LIBS@
21054 +BUILD_CC       = @BUILD_CC@
21055 +BUILD_CCFLAGS  = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @BUILD_CPPFLAGS@ @BUILD_CFLAGS@
21056 +BUILD_LDFLAGS  = @BUILD_LDFLAGS@
21057 +BUILD_LIBS     = @BUILD_LIBS@
21058  
21059  CFLAGS_LIBTOOL = $(CCFLAGS)
21060  CFLAGS_NORMAL  = $(CCFLAGS)
21061 @@ -113,7 +118,7 @@
21062  REL_VERSION    = @cf_cv_rel_version@
21063  ABI_VERSION    = @cf_cv_abi_version@
21064  
21065 -RANLIB         = @RANLIB@
21066 +RANLIB         = @LIB_PREP@
21067  
21068  IMPORT_LIB     = @IMPORT_LIB@
21069  SHARED_LIB     = @SHARED_LIB@
21070 @@ -189,12 +194,12 @@
21071  make_keys$x : \
21072                 $(tinfo)/make_keys.c \
21073                 names.c
21074 -       $(HOSTCC) -o $@ $(HOSTCCFLAGS) $(tinfo)/make_keys.c $(HOSTLDFLAGS) $(HOSTLIBS)
21075 +       $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
21076  
21077  make_hash$x : \
21078                 $(tinfo)/comp_hash.c \
21079                 ../include/hashsize.h
21080 -       $(HOSTCC) -o $@ $(HOSTCCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(HOSTLDFLAGS) $(HOSTLIBS)
21081 +       $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
21082  
21083  expanded.c : $(serial)/MKexpanded.sh
21084         sh $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
21085 diff -urNd -urNd ncurses-5.3/ncurses/base/MKlib_gen.sh ncurses-5.3.20030906.orig/ncurses/base/MKlib_gen.sh
21086 --- ncurses-5.3/ncurses/base/MKlib_gen.sh       Sat Sep 28 10:02:11 2002
21087 +++ ncurses-5.3.20030906.orig/ncurses/base/MKlib_gen.sh Tue May 13 20:08:22 2003
21088 @@ -2,10 +2,10 @@
21089  #
21090  # MKlib_gen.sh -- generate sources from curses.h macro definitions
21091  #
21092 -# ($Id: MKlib_gen.sh,v 1.20 2002/09/28 15:02:11 tom Exp $)
21093 +# ($Id: MKlib_gen.sh,v 1.22 2003/02/22 19:58:07 tom Exp $)
21094  #
21095  ##############################################################################
21096 -# Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.                #
21097 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
21098  #                                                                            #
21099  # Permission is hereby granted, free of charge, to any person obtaining a    #
21100  # copy of this software and associated documentation files (the "Software"), #
21101 @@ -82,19 +82,19 @@
21102         cat >$ED1 <<EOF1
21103  /^extern.*implemented/{
21104         h
21105 -       s/^.*implemented:\([^   *]*\).*/P_#if_USE_\1_SUPPORT/p
21106 +       s/^.*implemented:\([^   *]*\).*/P_POUNDCif_USE_\1_SUPPORT/p
21107         g
21108         s/^extern \([^;]*\);.*/\1/p
21109         g
21110 -       s/^.*implemented:\([^   *]*\).*/P_#endif/p
21111 +       s/^.*implemented:\([^   *]*\).*/P_POUNDCendif/p
21112  }
21113  /^extern.*generated/{
21114         h
21115 -       s/^.*generated:\([^     *]*\).*/P_#if_USE_\1_SUPPORT/p
21116 +       s/^.*generated:\([^     *]*\).*/P_POUNDCif_USE_\1_SUPPORT/p
21117         g
21118         s/^extern \([^;]*\);.*/\1/p
21119         g
21120 -       s/^.*generated:\([^     *]*\).*/P_#endif/p
21121 +       s/^.*generated:\([^     *]*\).*/P_POUNDCendif/p
21122  }
21123  EOF1
21124  else
21125 @@ -102,11 +102,11 @@
21126         cat >$ED1 <<EOF1
21127  /^extern.*${ALL}/{
21128         h
21129 -       s/^.*${ALL}:\([^        *]*\).*/P_#if_USE_\1_SUPPORT/p
21130 +       s/^.*${ALL}:\([^        *]*\).*/P_POUNDCif_USE_\1_SUPPORT/p
21131         g
21132         s/^extern \([^;]*\);.*/\1/p
21133         g
21134 -       s/^.*${ALL}:\([^        *]*\).*/P_#endif/p
21135 +       s/^.*${ALL}:\([^        *]*\).*/P_POUNDCendif/p
21136  }
21137  EOF1
21138  fi
21139 @@ -134,13 +134,14 @@
21140         s/)/ z)/
21141         s/\.\.\. z)/...)/
21142  :nc
21143 -       /(/s// ( /
21144 +       s/(/ ( /
21145         s/)/ )/
21146  EOF2
21147  
21148  cat >$ED3 <<EOF3
21149  /^P_/{
21150 -       s/^P_#if_/#if /
21151 +       s/^P_POUNDCif_/#if /
21152 +       s/^P_POUNDCendif/#endif/
21153         s/^P_//
21154         b done
21155  }
21156 @@ -151,7 +152,7 @@
21157         s/ )/)/g
21158         s/ gen_/ /
21159         s/^M_/#undef /
21160 -       /^%%/s//        /
21161 +       /^%%/s/%%/      /
21162  :done
21163  EOF3
21164  
21165 @@ -175,12 +176,12 @@
21166  BEGIN  {
21167                 skip=0;
21168         }
21169 -/^P_#if/ {
21170 +/^P_POUNDCif/ {
21171                 print "\n"
21172                 print $0
21173                 skip=0;
21174  }
21175 -/^P_#endif/ {
21176 +/^P_POUNDCendif/ {
21177                 print $0
21178                 skip=1;
21179  }
21180 diff -urNd -urNd ncurses-5.3/ncurses/base/define_key.c ncurses-5.3.20030906.orig/ncurses/base/define_key.c
21181 --- ncurses-5.3/ncurses/base/define_key.c       Sat Dec  9 20:43:26 2000
21182 +++ ncurses-5.3.20030906.orig/ncurses/base/define_key.c Sun Jul 20 14:02:08 2003
21183 @@ -1,5 +1,5 @@
21184  /****************************************************************************
21185 - * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
21186 + * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
21187   *                                                                          *
21188   * Permission is hereby granted, free of charge, to any person obtaining a  *
21189   * copy of this software and associated documentation files (the            *
21190 @@ -32,11 +32,10 @@
21191  
21192  #include <curses.priv.h>
21193  
21194 -MODULE_ID("$Id: define_key.c,v 1.6 2000/12/10 02:43:26 tom Exp $")
21195 +MODULE_ID("$Id: define_key.c,v 1.8 2003/05/17 23:28:05 tom Exp $")
21196  
21197  NCURSES_EXPORT(int)
21198 -define_key
21199 -(char *str, int keycode)
21200 +define_key(const char *str, int keycode)
21201  {
21202      int code = ERR;
21203  
21204 @@ -49,8 +48,12 @@
21205                 code = OK;
21206         }
21207         if (str != 0) {
21208 -           (void) _nc_add_to_try(&(SP->_keytry), str, keycode);
21209 -           code = OK;
21210 +           if (key_defined(str) == 0) {
21211 +               (void) _nc_add_to_try(&(SP->_keytry), str, keycode);
21212 +               code = OK;
21213 +           } else {
21214 +               code = ERR;
21215 +           }
21216         }
21217      } else {
21218         while (_nc_remove_string(&(SP->_keytry), str))
21219 diff -urNd -urNd ncurses-5.3/ncurses/base/key_defined.c ncurses-5.3.20030906.orig/ncurses/base/key_defined.c
21220 --- ncurses-5.3/ncurses/base/key_defined.c      Wed Dec 31 18:00:00 1969
21221 +++ ncurses-5.3.20030906.orig/ncurses/base/key_defined.c        Sun Jul 20 14:02:08 2003
21222 @@ -0,0 +1,76 @@
21223 +/****************************************************************************
21224 + * Copyright (c) 2003 Free Software Foundation, Inc.                        *
21225 + *                                                                          *
21226 + * Permission is hereby granted, free of charge, to any person obtaining a  *
21227 + * copy of this software and associated documentation files (the            *
21228 + * "Software"), to deal in the Software without restriction, including      *
21229 + * without limitation the rights to use, copy, modify, merge, publish,      *
21230 + * distribute, distribute with modifications, sublicense, and/or sell       *
21231 + * copies of the Software, and to permit persons to whom the Software is    *
21232 + * furnished to do so, subject to the following conditions:                 *
21233 + *                                                                          *
21234 + * The above copyright notice and this permission notice shall be included  *
21235 + * in all copies or substantial portions of the Software.                   *
21236 + *                                                                          *
21237 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
21238 + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
21239 + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
21240 + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
21241 + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
21242 + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
21243 + * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
21244 + *                                                                          *
21245 + * Except as contained in this notice, the name(s) of the above copyright   *
21246 + * holders shall not be used in advertising or otherwise to promote the     *
21247 + * sale, use or other dealings in this Software without prior written       *
21248 + * authorization.                                                           *
21249 + ****************************************************************************/
21250 +
21251 +/****************************************************************************
21252 + *  Author: Thomas E. Dickey, 2003                                          *
21253 + ****************************************************************************/
21254 +
21255 +#include <curses.priv.h>
21256 +
21257 +MODULE_ID("$Id: key_defined.c,v 1.3 2003/05/17 23:12:27 tom Exp $")
21258 +
21259 +static int
21260 +find_definition(struct tries *tree, const char *str)
21261 +{
21262 +    struct tries *ptr;
21263 +    int result = 0;
21264 +
21265 +    if (str != 0 && *str != '\0') {
21266 +       for (ptr = tree; ptr != 0; ptr = ptr->sibling) {
21267 +           if (UChar(*str) == UChar(ptr->ch)) {
21268 +               if (str[1] == '\0' && ptr->child != 0) {
21269 +                   result = -1;
21270 +               } else if ((result = find_definition(ptr->child, str + 1)) == 0) {
21271 +                   result = ptr->value;
21272 +               } else if (str[1] == '\0') {
21273 +                   result = -1;
21274 +               }
21275 +           }
21276 +           if (result != 0)
21277 +               break;
21278 +       }
21279 +    }
21280 +    return (result);
21281 +}
21282 +
21283 +/*
21284 + * Returns the keycode associated with the given string.  If none is found,
21285 + * return 0.  If the string is only a prefix to other strings, return -1.
21286 + */
21287 +NCURSES_EXPORT(int)
21288 +key_defined(const char *str)
21289 +{
21290 +    int code = ERR;
21291 +
21292 +    T((T_CALLED("key_defined(%s)"), _nc_visbuf(str)));
21293 +    if (SP != 0 && str != 0) {
21294 +       code = find_definition(SP->_keytry, str);
21295 +    }
21296 +
21297 +    returnCode(code);
21298 +}
21299 diff -urNd -urNd ncurses-5.3/ncurses/base/keybound.c ncurses-5.3.20030906.orig/ncurses/base/keybound.c
21300 --- ncurses-5.3/ncurses/base/keybound.c Sat Dec  9 20:43:26 2000
21301 +++ ncurses-5.3.20030906.orig/ncurses/base/keybound.c   Tue May 13 20:08:22 2003
21302 @@ -1,5 +1,5 @@
21303  /****************************************************************************
21304 - * Copyright (c) 1999,2000 Free Software Foundation, Inc.                   *
21305 + * Copyright (c) 1999-2000,2003 Free Software Foundation, Inc.              *
21306   *                                                                          *
21307   * Permission is hereby granted, free of charge, to any person obtaining a  *
21308   * copy of this software and associated documentation files (the            *
21309 @@ -32,7 +32,7 @@
21310  
21311  #include <curses.priv.h>
21312  
21313 -MODULE_ID("$Id: keybound.c,v 1.3 2000/12/10 02:43:26 tom Exp $")
21314 +MODULE_ID("$Id: keybound.c,v 1.4 2003/03/08 19:39:31 tom Exp $")
21315  
21316  /*
21317   * Returns the count'th string definition which is associated with the
21318 @@ -42,5 +42,6 @@
21319  NCURSES_EXPORT(char *)
21320  keybound(int code, int count)
21321  {
21322 -    return _nc_expand_try(SP->_key_ok, code, &count, 0);
21323 +    T((T_CALLED("keybound(%d,%d)"), code, count));
21324 +    returnPtr(_nc_expand_try(SP->_keytry, code, &count, 0));
21325  }
21326 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_addch.c ncurses-5.3.20030906.orig/ncurses/base/lib_addch.c
21327 --- ncurses-5.3/ncurses/base/lib_addch.c        Sat Sep 28 12:48:13 2002
21328 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_addch.c  Fri Sep 12 16:42:10 2003
21329 @@ -1,5 +1,5 @@
21330  /****************************************************************************
21331 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
21332 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
21333   *                                                                          *
21334   * Permission is hereby granted, free of charge, to any person obtaining a  *
21335   * copy of this software and associated documentation files (the            *
21336 @@ -36,7 +36,7 @@
21337  #include <curses.priv.h>
21338  #include <ctype.h>
21339  
21340 -MODULE_ID("$Id: lib_addch.c,v 1.68 2002/09/28 17:48:13 tom Exp $")
21341 +MODULE_ID("$Id: lib_addch.c,v 1.77 2003/08/17 00:09:05 tom Exp $")
21342  
21343  /*
21344   * Ugly microtweaking alert.  Everything from here to end of module is
21345 @@ -68,7 +68,7 @@
21346         AddAttr(ch, (a & COLOR_MASK(AttrOf(ch))));
21347      }
21348  
21349 -    TR(TRACE_VIRTPUT, ("bkg = %s, attrs = %s -> ch = %s",
21350 +    TR(TRACE_VIRTPUT, ("render_char bkg %s, attrs %s -> ch %s",
21351                        _tracech_t2(1, CHREF(win->_nc_bkgd)),
21352                        _traceattr(win->_attrs),
21353                        _tracech_t2(3, CHREF(ch))));
21354 @@ -99,15 +99,21 @@
21355  #define CHECK_POSITION(win, x, y)      /* nothing */
21356  #endif
21357  
21358 -static inline int
21359 +static
21360 +#if !USE_WIDEC_SUPPORT         /* cannot be inline if it is recursive */
21361 +  inline
21362 +#endif
21363 +int
21364  waddch_literal(WINDOW *win, NCURSES_CH_T ch)
21365  {
21366      int x;
21367 +    int y;
21368      struct ldat *line;
21369  
21370      x = win->_curx;
21371 +    y = win->_cury;
21372  
21373 -    CHECK_POSITION(win, x, win->_cury);
21374 +    CHECK_POSITION(win, x, y);
21375  
21376      /*
21377       * If we're trying to add a character at the lower-right corner more
21378 @@ -122,20 +128,65 @@
21379  #endif
21380  
21381      ch = render_char(win, ch);
21382 -    TR(TRACE_VIRTPUT, ("win attr = %s", _traceattr(win->_attrs)));
21383  
21384 -    line = win->_line + win->_cury;
21385 +    line = win->_line + y;
21386  
21387      CHANGED_CELL(line, x);
21388  
21389      /*
21390 +     * Build up multibyte characters until we have a wide-character.
21391 +     */
21392 +    if_WIDEC({
21393 +       if (WINDOW_EXT(win, addch_used) == 0 && Charable(ch)) {
21394 +           WINDOW_EXT(win, addch_used) = 0;
21395 +       } else {
21396 +           char *buffer = WINDOW_EXT(win, addch_work);
21397 +           int len;
21398 +           mbstate_t state;
21399 +           wchar_t result;
21400 +
21401 +           if ((WINDOW_EXT(win, addch_used) != 0) &&
21402 +               (WINDOW_EXT(win, addch_x) != x ||
21403 +                WINDOW_EXT(win, addch_y) != y)) {
21404 +               /* discard the incomplete multibyte character */
21405 +               WINDOW_EXT(win, addch_used) = 0;
21406 +           }
21407 +           WINDOW_EXT(win, addch_x) = x;
21408 +           WINDOW_EXT(win, addch_y) = y;
21409 +
21410 +           memset(&state, 0, sizeof(state));
21411 +           buffer[WINDOW_EXT(win, addch_used)] = CharOf(ch);
21412 +           WINDOW_EXT(win, addch_used) += 1;
21413 +           buffer[WINDOW_EXT(win, addch_used)] = '\0';
21414 +           if ((len = mbrtowc(&result,
21415 +                              buffer,
21416 +                              WINDOW_EXT(win, addch_used), &state)) > 0) {
21417 +               attr_t attrs = AttrOf(ch);
21418 +               SetChar(ch, result, attrs);
21419 +               WINDOW_EXT(win, addch_used) = 0;
21420 +           } else {
21421 +               if (len == -1) {
21422 +                   /*
21423 +                    * An error occurred.  We could either discard everything,
21424 +                    * or assume that the error was in the previous input.
21425 +                    * Try the latter.
21426 +                    */
21427 +                   TR(TRACE_VIRTPUT, ("Alert! mbrtowc returns error"));
21428 +                   buffer[0] = CharOf(ch);
21429 +                   WINDOW_EXT(win, addch_used) = 1;
21430 +               }
21431 +               return OK;
21432 +           }
21433 +       }
21434 +    });
21435 +
21436 +    /*
21437       * Handle non-spacing characters
21438       */
21439      if_WIDEC({
21440         if (wcwidth(CharOf(ch)) == 0) {
21441             int i;
21442 -           int y;
21443 -           if ((x > 0 && ((y = win->_cury) >= 0))
21444 +           if ((x > 0 && y >= 0)
21445                 || ((y = win->_cury - 1) >= 0 &&
21446                     (x = win->_maxx) > 0)) {
21447                 wchar_t *chars = (win->_line[y].text[x - 1].chars);
21448 @@ -154,8 +205,18 @@
21449       * Provide for multi-column characters
21450       */
21451      if_WIDEC({
21452 -       if (wcwidth(CharOf(ch)) > 1)
21453 +       int len = wcwidth(CharOf(ch));
21454 +       while (len-- > 1) {
21455 +           if (x + (len - 1) > win->_maxx) {
21456 +               NCURSES_CH_T blank = NewChar2(BLANK_TEXT, BLANK_ATTR);
21457 +               AddAttr(blank, AttrOf(ch));
21458 +               if (waddch_literal(win, blank) != ERR)
21459 +                   return waddch_literal(win, ch);
21460 +               return ERR;
21461 +           }
21462             AddAttr(line->text[x++], WA_NAC);
21463 +           TR(TRACE_VIRTPUT, ("added NAC %d", x - 1));
21464 +       }
21465      }
21466    testwrapping:
21467      );
21468 @@ -330,14 +391,30 @@
21469  NCURSES_EXPORT(int)
21470  wadd_wch(WINDOW *win, const cchar_t * wch)
21471  {
21472 +    PUTC_DATA;
21473 +    int n;
21474      int code = ERR;
21475  
21476      TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wadd_wch(%p, %s)"), win,
21477                                       _tracech_t(wch)));
21478  
21479 -    if (win && (waddch_nosync(win, *wch) != ERR)) {
21480 -       _nc_synchook(win);
21481 -       code = OK;
21482 +    if (win != 0) {
21483 +       PUTC_INIT;
21484 +       while (PUTC_i < CCHARW_MAX) {
21485 +           if ((PUTC_ch = wch->chars[PUTC_i++]) == L'\0')
21486 +               break;
21487 +           if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) {
21488 +               code = ERR;
21489 +               break;
21490 +           }
21491 +           for (n = 0; n < PUTC_n; n++) {
21492 +               if ((code = waddch(win, UChar(PUTC_buf[n]))) == ERR) {
21493 +                   break;
21494 +               }
21495 +           }
21496 +           if (code == ERR)
21497 +               break;
21498 +       }
21499      }
21500  
21501      TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code));
21502 @@ -347,18 +424,32 @@
21503  NCURSES_EXPORT(int)
21504  wecho_wchar(WINDOW *win, const cchar_t * wch)
21505  {
21506 +    PUTC_DATA;
21507 +    int n;
21508      int code = ERR;
21509  
21510      TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wecho_wchar(%p, %s)"), win,
21511                                       _tracech_t(wch)));
21512  
21513 -    if (win && (waddch_nosync(win, *wch) != ERR)) {
21514 -       bool save_immed = win->_immed;
21515 -       win->_immed = TRUE;
21516 -       _nc_synchook(win);
21517 -       win->_immed = save_immed;
21518 -       code = OK;
21519 +    if (win != 0) {
21520 +       PUTC_INIT;
21521 +       while (PUTC_i < CCHARW_MAX) {
21522 +           if ((PUTC_ch = wch->chars[PUTC_i++]) == L'\0')
21523 +               break;
21524 +           if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) {
21525 +               code = ERR;
21526 +               break;
21527 +           }
21528 +           for (n = 0; n < PUTC_n; n++) {
21529 +               if ((code = wechochar(win, UChar(PUTC_buf[n]))) == ERR) {
21530 +                   break;
21531 +               }
21532 +           }
21533 +           if (code == ERR)
21534 +               break;
21535 +       }
21536      }
21537 +
21538      TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code));
21539      return (code);
21540  }
21541 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_addstr.c ncurses-5.3.20030906.orig/ncurses/base/lib_addstr.c
21542 --- ncurses-5.3/ncurses/base/lib_addstr.c       Sat Oct  5 19:25:25 2002
21543 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_addstr.c Sun Jul 20 14:02:09 2003
21544 @@ -1,5 +1,5 @@
21545  /****************************************************************************
21546 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
21547 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
21548   *                                                                          *
21549   * Permission is hereby granted, free of charge, to any person obtaining a  *
21550   * copy of this software and associated documentation files (the            *
21551 @@ -29,6 +29,10 @@
21552  /****************************************************************************
21553   *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
21554   *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
21555 + *                                                                          *
21556 + *  Rewritten 2001-2002 to support wide-characters by                       *
21557 + *     Sven Verdoolaege                                                    *
21558 + *     Thomas Dickey                                                       *
21559   ****************************************************************************/
21560  
21561  /*
21562 @@ -40,53 +44,13 @@
21563  
21564  #include <curses.priv.h>
21565  
21566 -MODULE_ID("$Id: lib_addstr.c,v 1.34 2002/10/06 00:25:25 tom Exp $")
21567 -
21568 -#if USE_WIDEC_SUPPORT
21569 -#define CONV_DATA   mbstate_t state; wchar_t cached; int clen = 0
21570 -#define CONV_INIT   memset (&state, '\0', sizeof (state)); cached = (wchar_t)WEOF
21571 -#define NEXT_CHAR(s,ch, n)                                             \
21572 -    {                                                                  \
21573 -       int len, i = 0;                                                 \
21574 -       memset(&ch, 0, sizeof(cchar_t));                                \
21575 -       if (cached != (wchar_t) WEOF) {                                 \
21576 -           ch.chars[i++] = cached;                                     \
21577 -           cached = (wchar_t) WEOF;                                    \
21578 -           n -= clen;                                                  \
21579 -           s += clen;                                                  \
21580 -       }                                                               \
21581 -       for (; i < CCHARW_MAX && n > 0; ++i) {                          \
21582 -           if ((len = mbrtowc(&ch.chars[i], s, n, &state)) < 0) {      \
21583 -               code = ERR;                                             \
21584 -               break;                                                  \
21585 -           }                                                           \
21586 -           if (i == 0 || wcwidth(ch.chars[i]) == 0) {                  \
21587 -               n -= len;                                               \
21588 -               s += len;                                               \
21589 -           } else {                                                    \
21590 -               cached = ch.chars[i];                                   \
21591 -               clen = len;                                             \
21592 -               ch.chars[i] = L'\0';                                    \
21593 -               break;                                                  \
21594 -           }                                                           \
21595 -       }                                                               \
21596 -       if (code == ERR)                                                \
21597 -           break;                                                      \
21598 -    }
21599 -#else
21600 -#define CONV_DATA
21601 -#define CONV_INIT
21602 -#define NEXT_CHAR(s,ch, n)                                             \
21603 -    ch = *s++;                                                         \
21604 -    --n
21605 -#endif
21606 +MODULE_ID("$Id: lib_addstr.c,v 1.38 2003/07/05 19:45:21 tom Exp $")
21607  
21608  NCURSES_EXPORT(int)
21609  waddnstr(WINDOW *win, const char *astr, int n)
21610  {
21611 -    unsigned const char *str = (unsigned const char *) astr;
21612 +    const char *str = astr;
21613      int code = ERR;
21614 -    CONV_DATA;
21615  
21616      T((T_CALLED("waddnstr(%p,%s,%d)"), win, _nc_visbufn(astr, n), n));
21617  
21618 @@ -97,11 +61,10 @@
21619             n = (int) strlen(astr);
21620  
21621         TR(TRACE_VIRTPUT, ("str is not null, length = %d", n));
21622 -       CONV_INIT;
21623 -       while ((n > 0) && (*str != '\0')) {
21624 +       while ((n-- > 0) && (*str != '\0')) {
21625             NCURSES_CH_T ch;
21626 -           TR(TRACE_VIRTPUT, ("*str = %#x", *str));
21627 -           NEXT_CHAR(str, ch, n);
21628 +           TR(TRACE_VIRTPUT, ("*str = %#o", UChar(*str)));
21629 +           SetChar(ch, UChar(*str++), A_NORMAL);
21630             if (_nc_waddch_nosync(win, ch) == ERR) {
21631                 code = ERR;
21632                 break;
21633 @@ -114,7 +77,7 @@
21634  }
21635  
21636  NCURSES_EXPORT(int)
21637 -waddchnstr(WINDOW *win, const chtype * astr, int n)
21638 +waddchnstr(WINDOW *win, const chtype *astr, int n)
21639  {
21640      NCURSES_SIZE_T y = win->_cury;
21641      NCURSES_SIZE_T x = win->_curx;
21642 @@ -155,7 +118,7 @@
21643  
21644  #if USE_WIDEC_SUPPORT
21645  
21646 -int
21647 +NCURSES_EXPORT(int)
21648  _nc_wchstrlen(const cchar_t * s)
21649  {
21650      int result = 0;
21651 @@ -217,9 +180,8 @@
21652  waddnwstr(WINDOW *win, const wchar_t * str, int n)
21653  {
21654      int code = ERR;
21655 -    int i;
21656  
21657 -    T((T_CALLED("waddnwstr(%p,%s,%d)"), win, _nc_viswbufn(str,n), n));
21658 +    T((T_CALLED("waddnwstr(%p,%s,%d)"), win, _nc_viswbufn(str, n), n));
21659  
21660      if (win && (str != 0)) {
21661         TR(TRACE_VIRTPUT | TRACE_ATTRS, ("... current %s", _traceattr(win->_attrs)));
21662 @@ -230,16 +192,9 @@
21663         TR(TRACE_VIRTPUT, ("str is not null, length = %d", n));
21664         while ((n-- > 0) && (*str != L('\0'))) {
21665             NCURSES_CH_T ch;
21666 -           TR(TRACE_VIRTPUT, ("*str[0] = %#lx", *str));
21667 +           TR(TRACE_VIRTPUT, ("*str[0] = %#lx", (unsigned long) *str));
21668             SetChar(ch, *str++, A_NORMAL);
21669 -           i = 1;
21670 -           while (i < CCHARW_MAX && n > 0 && (*str != L('\0'))
21671 -                  && wcwidth(*str) == 0) {
21672 -               TR(TRACE_VIRTPUT, ("*str[%d] = %#lx", i, *str));
21673 -               ch.chars[i++] = *str++;
21674 -               --n;
21675 -           }
21676 -           if (_nc_waddch_nosync(win, ch) == ERR) {
21677 +           if (wadd_wch(win, &ch) == ERR) {
21678                 code = ERR;
21679                 break;
21680             }
21681 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_bkgd.c ncurses-5.3.20030906.orig/ncurses/base/lib_bkgd.c
21682 --- ncurses-5.3/ncurses/base/lib_bkgd.c Sun Sep 22 15:30:32 2002
21683 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_bkgd.c   Sun Jul 20 14:02:09 2003
21684 @@ -33,7 +33,7 @@
21685  
21686  #include <curses.priv.h>
21687  
21688 -MODULE_ID("$Id: lib_bkgd.c,v 1.29 2002/09/22 20:30:32 tom Exp $")
21689 +MODULE_ID("$Id: lib_bkgd.c,v 1.30 2003/07/05 16:46:49 tom Exp $")
21690  
21691  /*
21692   * Set the window's background information.
21693 @@ -70,7 +70,7 @@
21694             int tmp;
21695  
21696             wgetbkgrnd(win, &wch);
21697 -           tmp = wctob(CharOf(wch));
21698 +           tmp = _nc_to_char(CharOf(wch));
21699  
21700             win->_bkgd = ((tmp == EOF) ? ' ' : (chtype) tmp) | AttrOf(wch);
21701         }
21702 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_freeall.c ncurses-5.3.20030906.orig/ncurses/base/lib_freeall.c
21703 --- ncurses-5.3/ncurses/base/lib_freeall.c      Sat Jul 27 19:35:25 2002
21704 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_freeall.c        Fri Sep 12 16:41:56 2003
21705 @@ -1,5 +1,5 @@
21706  /****************************************************************************
21707 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
21708 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
21709   *                                                                          *
21710   * Permission is hereby granted, free of charge, to any person obtaining a  *
21711   * copy of this software and associated documentation files (the            *
21712 @@ -39,7 +39,7 @@
21713  extern int malloc_errfd;       /* FIXME */
21714  #endif
21715  
21716 -MODULE_ID("$Id: lib_freeall.c,v 1.20 2002/07/28 00:35:25 tom Exp $")
21717 +MODULE_ID("$Id: lib_freeall.c,v 1.25 2003/08/09 21:32:53 tom Exp $")
21718  
21719  /*
21720   * Free all ncurses data.  This is used for testing only (there's no practical
21721 @@ -51,8 +51,10 @@
21722      WINDOWLIST *p, *q;
21723      char *s;
21724  
21725 +    T((T_CALLED("_nc_freeall()")));
21726  #if NO_LEAKS
21727      _nc_free_tparm();
21728 +    FreeAndNull(_nc_oldnums);
21729  #endif
21730      if (SP != 0) {
21731         while (_nc_windows != 0) {
21732 @@ -82,24 +84,37 @@
21733         _nc_free_termtype(&(cur_term->type));
21734         free(cur_term);
21735      }
21736 +    _nc_free_entries(_nc_head);
21737  
21738      if ((s = _nc_home_terminfo()) != 0)
21739         free(s);
21740 +
21741 +    (void) _nc_printf_string(0, 0);
21742  #ifdef TRACE
21743      (void) _nc_trace_buf(-1, 0);
21744  #endif
21745 +
21746  #if HAVE_LIBDBMALLOC
21747      malloc_dump(malloc_errfd);
21748  #elif HAVE_LIBDMALLOC
21749  #elif HAVE_PURIFY
21750      purify_all_inuse();
21751  #endif
21752 +    returnVoid;
21753  }
21754  
21755  NCURSES_EXPORT(void)
21756  _nc_free_and_exit(int code)
21757  {
21758 +    char *last_setbuf = (SP != 0) ? SP->_setbuf : 0;
21759 +
21760      _nc_freeall();
21761 +#ifdef TRACE
21762 +    trace(0);                  /* close trace file, freeing its setbuf */
21763 +    free(_nc_varargs("?", 0));
21764 +#endif
21765 +    fclose(stdout);
21766 +    FreeIfNeeded(last_setbuf);
21767      exit(code);
21768  }
21769  
21770 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_getch.c ncurses-5.3.20030906.orig/ncurses/base/lib_getch.c
21771 --- ncurses-5.3/ncurses/base/lib_getch.c        Sat Sep  7 12:17:59 2002
21772 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_getch.c  Sun Jul 20 14:02:08 2003
21773 @@ -40,7 +40,7 @@
21774  
21775  #include <curses.priv.h>
21776  
21777 -MODULE_ID("$Id: lib_getch.c,v 1.67 2002/09/07 17:17:59 tom Exp $")
21778 +MODULE_ID("$Id: lib_getch.c,v 1.71 2003/05/17 23:49:28 tom Exp $")
21779  
21780  #include <fifo_defs.h>
21781  
21782 @@ -53,6 +53,32 @@
21783  #define TWAIT_MASK 3
21784  #endif
21785  
21786 +/*
21787 + * Check for mouse activity, returning nonzero if we find any.
21788 + */
21789 +static int
21790 +check_mouse_activity(int delay EVENTLIST_2nd(_nc_eventlist * evl))
21791 +{
21792 +    int rc;
21793 +
21794 +#if USE_SYSMOUSE
21795 +    if ((SP->_mouse_type == M_SYSMOUSE)
21796 +       && (SP->_sysmouse_head < SP->_sysmouse_tail)) {
21797 +       return 2;
21798 +    }
21799 +#endif
21800 +    rc = _nc_timed_wait(TWAIT_MASK, delay, (int *) 0 EVENTLIST_2nd(evl));
21801 +#if USE_SYSMOUSE
21802 +    if ((SP->_mouse_type == M_SYSMOUSE)
21803 +       && (SP->_sysmouse_head < SP->_sysmouse_tail)
21804 +       && (rc == 0)
21805 +       && (errno == EINTR)) {
21806 +       rc |= 2;
21807 +    }
21808 +#endif
21809 +    return rc;
21810 +}
21811 +
21812  static inline int
21813  fifo_peek(void)
21814  {
21815 @@ -88,7 +114,7 @@
21816  {
21817      int n;
21818      int ch = 0;
21819 -    int mask;
21820 +    int mask = 0;
21821  
21822      (void) mask;
21823      if (tail == -1)
21824 @@ -101,11 +127,11 @@
21825  
21826  #ifdef NCURSES_WGETCH_EVENTS
21827      if (evl
21828 -#if USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
21829 +#if USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE
21830         || (SP->_mouse_fd >= 0)
21831  #endif
21832         ) {
21833 -       mask = _nc_timed_wait(TWAIT_MASK, -1, (int *) 0, evl);
21834 +       mask = check_mouse_activity(-1 EVENTLIST_2nd(evl));
21835      } else
21836         mask = 0;
21837  
21838 @@ -114,18 +140,32 @@
21839         ungetch(KEY_EVENT);
21840         return KEY_EVENT;
21841      }
21842 -#elif USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
21843 -    if (SP->_mouse_fd >= 0)
21844 -       mask = _nc_timed_wait(TWAIT_MASK, -1, (int *) 0 EVENTLIST_2nd(evl));
21845 +#elif USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE
21846 +    if (SP->_mouse_fd >= 0) {
21847 +       mask = check_mouse_activity(-1 EVENTLIST_2nd(evl));
21848 +    }
21849  #endif
21850  
21851 -#if USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
21852 +#if USE_GPM_SUPPORT || USE_EMX_MOUSE
21853      if ((SP->_mouse_fd >= 0) && (mask & 2)) {
21854         SP->_mouse_event(SP);
21855         ch = KEY_MOUSE;
21856         n = 1;
21857      } else
21858  #endif
21859 +#if USE_SYSMOUSE
21860 +       if ((SP->_mouse_type == M_SYSMOUSE)
21861 +           && (SP->_sysmouse_head < SP->_sysmouse_tail)) {
21862 +       SP->_mouse_event(SP);
21863 +       ch = KEY_MOUSE;
21864 +       n = 1;
21865 +    } else if ((SP->_mouse_type == M_SYSMOUSE)
21866 +              && (mask <= 0) && errno == EINTR) {
21867 +       SP->_mouse_event(SP);
21868 +       ch = KEY_MOUSE;
21869 +       n = 1;
21870 +    } else
21871 +#endif
21872      {                          /* Can block... */
21873         unsigned char c2 = 0;
21874         n = read(SP->_ifd, &c2, 1);
21875 @@ -214,13 +254,19 @@
21876       * stuff its contents in the FIFO queue, and pop off
21877       * the first character to return it.
21878       */
21879 -    if (head == -1 && !SP->_raw && !SP->_cbreak) {
21880 +    if (head == -1 &&
21881 +       !SP->_notty &&
21882 +       !SP->_raw &&
21883 +       !SP->_cbreak &&
21884 +       !SP->_called_wgetch) {
21885         char buf[MAXCOLUMNS], *sp;
21886         int rc;
21887  
21888         TR(TRACE_IEVENT, ("filling queue in cooked mode"));
21889  
21890 +       SP->_called_wgetch = TRUE;
21891         rc = wgetnstr(win, buf, MAXCOLUMNS);
21892 +       SP->_called_wgetch = FALSE;
21893  
21894         /* ungetch in reverse order */
21895  #ifdef NCURSES_WGETCH_EVENTS
21896 @@ -265,10 +311,7 @@
21897         TR(TRACE_IEVENT, ("delay is %d milliseconds", delay));
21898  
21899         if (head == -1) {       /* fifo is empty */
21900 -           int rc = _nc_timed_wait(TWAIT_MASK,
21901 -                                   delay,
21902 -                                   (int *) 0
21903 -                                   EVENTLIST_2nd(evl));
21904 +           int rc = check_mouse_activity(delay EVENTLIST_2nd(evl));
21905  
21906  #ifdef NCURSES_WGETCH_EVENTS
21907             if (rc & 4) {
21908 @@ -308,10 +351,8 @@
21909                 break;
21910         } while
21911             (ch == KEY_MOUSE
21912 -            && (((rc = _nc_timed_wait(TWAIT_MASK,
21913 -                                      SP->_maxclick,
21914 -                                      (int *) 0
21915 -                                      EVENTLIST_2nd(evl))) != 0
21916 +            && (((rc = check_mouse_activity(SP->_maxclick
21917 +                                            EVENTLIST_2nd(evl))) != 0
21918                   && !(rc & 4))
21919                  || !SP->_mouse_parse(runcount)));
21920  #ifdef NCURSES_WGETCH_EVENTS
21921 @@ -513,14 +554,11 @@
21922             int rc;
21923  
21924             TR(TRACE_IEVENT, ("waiting for rest of sequence"));
21925 -           rc = _nc_timed_wait(TWAIT_MASK,
21926 -                               timeleft,
21927 -                               &timeleft
21928 -                               EVENTLIST_2nd(evl));
21929 +           rc = check_mouse_activity(timeleft EVENTLIST_2nd(evl));
21930  #ifdef NCURSES_WGETCH_EVENTS
21931             if (rc & 4) {
21932                 TR(TRACE_IEVENT, ("interrupted by a user event"));
21933 -               /* FIXME Should have preserved timeleft for reusal... */
21934 +               /* FIXME Should have preserved remainder timeleft for reusal... */
21935                 peek = head;    /* Restart interpreting later */
21936                 return KEY_EVENT;
21937             }
21938 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_insch.c ncurses-5.3.20030906.orig/ncurses/base/lib_insch.c
21939 --- ncurses-5.3/ncurses/base/lib_insch.c        Sat Jun  9 18:47:38 2001
21940 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_insch.c  Tue May 13 20:08:22 2003
21941 @@ -1,5 +1,5 @@
21942  /****************************************************************************
21943 - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
21944 + * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
21945   *                                                                          *
21946   * Permission is hereby granted, free of charge, to any person obtaining a  *
21947   * copy of this software and associated documentation files (the            *
21948 @@ -29,6 +29,8 @@
21949  /****************************************************************************
21950   *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
21951   *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
21952 + *     and: Sven Verdoolaege                                                *
21953 + *     and: Thomas E. Dickey                                                *
21954   ****************************************************************************/
21955  
21956  /*
21957 @@ -39,29 +41,98 @@
21958  */
21959  
21960  #include <curses.priv.h>
21961 +#include <ctype.h>
21962  
21963 -MODULE_ID("$Id: lib_insch.c,v 1.15 2001/06/09 23:47:38 skimo Exp $")
21964 +MODULE_ID("$Id: lib_insch.c,v 1.18 2002/11/23 21:41:05 tom Exp $")
21965 +
21966 +/*
21967 + * Insert the given character, updating the current location to simplify
21968 + * inserting a string.
21969 + */
21970 +void
21971 +_nc_insert_ch(WINDOW *win, chtype ch)
21972 +{
21973 +    NCURSES_CH_T wch;
21974 +    int count;
21975 +
21976 +    switch (ch) {
21977 +    case '\t':
21978 +       for (count = (TABSIZE - (win->_curx % TABSIZE)); count > 0; count--)
21979 +           _nc_insert_ch(win, ' ');
21980 +       break;
21981 +    case '\n':
21982 +    case '\r':
21983 +    case '\b':
21984 +       SetChar2(wch, ch);
21985 +       _nc_waddch_nosync(win, wch);
21986 +       break;
21987 +    default:
21988 +       if (is7bits(ch) && iscntrl(ch)) {
21989 +           _nc_insert_ch(win, '^');
21990 +           _nc_insert_ch(win, '@' + (ch));
21991 +       } else if (win->_curx <= win->_maxx) {
21992 +           struct ldat *line = &(win->_line[win->_cury]);
21993 +           NCURSES_CH_T *end = &(line->text[win->_curx]);
21994 +           NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
21995 +           NCURSES_CH_T *temp2 = temp1 - 1;
21996 +
21997 +           SetChar2(wch, ch);
21998 +
21999 +           CHANGED_TO_EOL(line, win->_curx, win->_maxx);
22000 +           while (temp1 > end)
22001 +               *temp1-- = *temp2--;
22002 +
22003 +           *temp1 = _nc_render(win, wch);
22004 +
22005 +           win->_curx++;
22006 +       }
22007 +       break;
22008 +    }
22009 +}
22010  
22011  NCURSES_EXPORT(int)
22012  winsch(WINDOW *win, chtype c)
22013  {
22014 +    NCURSES_SIZE_T oy;
22015 +    NCURSES_SIZE_T ox;
22016      int code = ERR;
22017  
22018      T((T_CALLED("winsch(%p, %s)"), win, _tracechtype(c)));
22019  
22020 -    if (win) {
22021 -       struct ldat *line = &(win->_line[win->_cury]);
22022 -       NCURSES_CH_T *end = &(line->text[win->_curx]);
22023 -       NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
22024 -       NCURSES_CH_T *temp2 = temp1 - 1;
22025 -       NCURSES_CH_T wch;
22026 -       SetChar2(wch, c);
22027 +    if (win != 0) {
22028 +       oy = win->_cury;
22029 +       ox = win->_curx;
22030  
22031 -       CHANGED_TO_EOL(line, win->_curx, win->_maxx);
22032 -       while (temp1 > end)
22033 -           *temp1-- = *temp2--;
22034 +       _nc_insert_ch(win, c);
22035  
22036 -       *temp1 = _nc_render(win, wch);
22037 +       win->_curx = ox;
22038 +       win->_cury = oy;
22039 +       _nc_synchook(win);
22040 +       code = OK;
22041 +    }
22042 +    returnCode(code);
22043 +}
22044 +
22045 +NCURSES_EXPORT(int)
22046 +winsnstr(WINDOW *win, const char *s, int n)
22047 +{
22048 +    int code = ERR;
22049 +    NCURSES_SIZE_T oy;
22050 +    NCURSES_SIZE_T ox;
22051 +    const unsigned char *str = (const unsigned char *) s;
22052 +    const unsigned char *cp;
22053 +
22054 +    T((T_CALLED("winsnstr(%p,%s,%d)"), win, _nc_visbufn(s, n), n));
22055 +
22056 +    if (win != 0 && str != 0) {
22057 +       oy = win->_cury;
22058 +       ox = win->_curx;
22059 +       for (cp = str; *cp && (n <= 0 || (cp - str) < n); cp++) {
22060 +           _nc_insert_ch(win, (chtype) UChar(*cp));
22061 +       }
22062 +       win->_curx = ox;
22063 +       win->_cury = oy;
22064 +       _nc_synchook(win);
22065         code = OK;
22066      }
22067      returnCode(code);
22068 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_insdel.c ncurses-5.3.20030906.orig/ncurses/base/lib_insdel.c
22069 --- ncurses-5.3/ncurses/base/lib_insdel.c       Tue Dec 18 19:10:49 2001
22070 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_insdel.c Fri Sep 12 16:41:24 2003
22071 @@ -1,5 +1,5 @@
22072  /****************************************************************************
22073 - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
22074 + * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
22075   *                                                                          *
22076   * Permission is hereby granted, free of charge, to any person obtaining a  *
22077   * copy of this software and associated documentation files (the            *
22078 @@ -42,14 +42,14 @@
22079  
22080  #include <curses.priv.h>
22081  
22082 -MODULE_ID("$Id: lib_insdel.c,v 1.11 2001/12/19 01:10:49 tom Exp $")
22083 +MODULE_ID("$Id: lib_insdel.c,v 1.12 2003/07/26 22:40:06 tom Exp $")
22084  
22085  NCURSES_EXPORT(int)
22086  winsdelln(WINDOW *win, int n)
22087  {
22088      int code = ERR;
22089  
22090 -    T((T_CALLED("winsdel(%p,%d)"), win, n));
22091 +    T((T_CALLED("winsdelln(%p,%d)"), win, n));
22092  
22093      if (win) {
22094         if (n != 0) {
22095 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_mouse.c ncurses-5.3.20030906.orig/ncurses/base/lib_mouse.c
22096 --- ncurses-5.3/ncurses/base/lib_mouse.c        Sat Sep 28 11:08:58 2002
22097 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_mouse.c  Sun Jul 20 14:02:08 2003
22098 @@ -1,5 +1,5 @@
22099  /****************************************************************************
22100 - * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
22101 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
22102   *                                                                          *
22103   * Permission is hereby granted, free of charge, to any person obtaining a  *
22104   * copy of this software and associated documentation files (the            *
22105 @@ -29,6 +29,7 @@
22106  /****************************************************************************
22107   *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
22108   *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
22109 + *     and: Thomas E. Dickey 1996-2003                                      *
22110   ****************************************************************************/
22111  
22112  /*
22113 @@ -74,7 +75,11 @@
22114  #endif
22115  
22116  #include <curses.priv.h>
22117 +
22118 +MODULE_ID("$Id: lib_mouse.c,v 1.67 2003/05/31 22:18:18 tom Exp $")
22119 +
22120  #include <term.h>
22121 +#include <tic.h>
22122  
22123  #if USE_GPM_SUPPORT
22124  #ifndef LINT                   /* don't need this for llib-lncurses */
22125 @@ -84,18 +89,33 @@
22126  #endif
22127  #endif
22128  
22129 -MODULE_ID("$Id: lib_mouse.c,v 1.61 2002/09/28 16:08:58 tom Exp $")
22130 +#if USE_SYSMOUSE
22131 +#undef buttons                 /* symbol conflict in consio.h */
22132 +#undef mouse_info              /* symbol conflict in consio.h */
22133 +#include <osreldate.h>
22134 +#if (__FreeBSD_version >= 400017)
22135 +#include <sys/consio.h>
22136 +#include <sys/fbio.h>
22137 +#else
22138 +#include <machine/console.h>
22139 +#endif
22140 +#endif /* use_SYSMOUSE */
22141  
22142  #define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
22143  
22144 -#define INVALID_EVENT  -1
22145 +#define        MASK_RELEASE(x)         ((001 << (6 * ((x) - 1))))
22146 +#define        MASK_PRESS(x)           ((002 << (6 * ((x) - 1))))
22147 +#define        MASK_CLICK(x)           ((004 << (6 * ((x) - 1))))
22148 +#define        MASK_DOUBLE_CLICK(x)    ((010 << (6 * ((x) - 1))))
22149 +#define        MASK_TRIPLE_CLICK(x)    ((020 << (6 * ((x) - 1))))
22150 +#define        MASK_RESERVED_EVENT(x)  ((040 << (6 * ((x) - 1))))
22151  
22152 -static int mousetype;
22153 -#define M_XTERM                -1      /* use xterm's mouse tracking? */
22154 -#define M_NONE         0       /* no mouse device */
22155 -#define M_GPM          1       /* use GPM */
22156 -#define M_QNX          2       /* QNX mouse on console */
22157 -#define M_QNX_TERM     3       /* QNX mouse on pterm/xterm (using qansi-m) */
22158 +#define BUTTON_CLICKED  (BUTTON1_CLICKED  | BUTTON2_CLICKED  | BUTTON3_CLICKED)
22159 +#define BUTTON_PRESSED  (BUTTON1_PRESSED  | BUTTON2_PRESSED  | BUTTON3_PRESSED)
22160 +#define BUTTON_RELEASED (BUTTON1_RELEASED | BUTTON2_RELEASED | BUTTON3_RELEASED)
22161 +
22162 +#define INVALID_EVENT  -1
22163 +#define NORMAL_EVENT   0
22164  
22165  #if USE_GPM_SUPPORT
22166  #ifndef LINT
22167 @@ -117,7 +137,11 @@
22168   */
22169  static MEVENT events[EV_MAX];  /* hold the last mouse event seen */
22170  static MEVENT *eventp = events;        /* next free slot in event queue */
22171 +
22172 +#undef  NEXT
22173  #define NEXT(ep)       ((ep == events + EV_MAX - 1) ? events : ep + 1)
22174 +
22175 +#undef  PREV
22176  #define PREV(ep)       ((ep == events) ? events + EV_MAX - 1 : ep - 1)
22177  
22178  #ifdef TRACE
22179 @@ -135,7 +159,7 @@
22180  }
22181  #endif
22182  
22183 -#ifdef USE_EMX_MOUSE
22184 +#if USE_EMX_MOUSE
22185  
22186  #  define TOP_ROW          0
22187  #  define LEFT_COL         0
22188 @@ -229,31 +253,110 @@
22189      mouse_activated = state;
22190  }
22191  
22192 +#endif /* USE_EMX_MOUSE */
22193 +
22194 +#if USE_SYSMOUSE
22195 +static void
22196 +handle_sysmouse(int sig GCC_UNUSED)
22197 +{
22198 +    struct mouse_info the_mouse;
22199 +    MEVENT *work;
22200 +
22201 +    the_mouse.operation = MOUSE_GETINFO;
22202 +    if (SP != 0
22203 +       && SP->_mouse_fd >= 0
22204 +       && SP->_sysmouse_tail < FIFO_SIZE
22205 +       && ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse) != -1) {
22206 +
22207 +       if (SP->_sysmouse_head > SP->_sysmouse_tail) {
22208 +           SP->_sysmouse_tail = 0;
22209 +           SP->_sysmouse_head = 0;
22210 +       }
22211 +       work = &(SP->_sysmouse_fifo[SP->_sysmouse_tail]);
22212 +       memset(work, 0, sizeof(*work));
22213 +       work->id = NORMAL_EVENT;        /* there's only one mouse... */
22214 +
22215 +       SP->_sysmouse_old_buttons = SP->_sysmouse_new_buttons;
22216 +       SP->_sysmouse_new_buttons = the_mouse.u.data.buttons & 0x7;
22217 +
22218 +       if (SP->_sysmouse_new_buttons) {
22219 +           if (SP->_sysmouse_new_buttons & 1)
22220 +               work->bstate |= BUTTON1_PRESSED;
22221 +           if (SP->_sysmouse_new_buttons & 2)
22222 +               work->bstate |= BUTTON2_PRESSED;
22223 +           if (SP->_sysmouse_new_buttons & 4)
22224 +               work->bstate |= BUTTON3_PRESSED;
22225 +       } else {
22226 +           if (SP->_sysmouse_old_buttons & 1)
22227 +               work->bstate |= BUTTON1_RELEASED;
22228 +           if (SP->_sysmouse_old_buttons & 2)
22229 +               work->bstate |= BUTTON2_RELEASED;
22230 +           if (SP->_sysmouse_old_buttons & 4)
22231 +               work->bstate |= BUTTON3_RELEASED;
22232 +       }
22233 +
22234 +       /* for cosmetic bug in syscons.c on FreeBSD 3.[34] */
22235 +       the_mouse.operation = MOUSE_HIDE;
22236 +       ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse);
22237 +       the_mouse.operation = MOUSE_SHOW;
22238 +       ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse);
22239 +
22240 +       /*
22241 +        * We're only interested if the button is pressed or released.
22242 +        * FIXME: implement continuous event-tracking.
22243 +        */
22244 +       if (SP->_sysmouse_new_buttons != SP->_sysmouse_old_buttons) {
22245 +           SP->_sysmouse_tail += 1;
22246 +       }
22247 +       work->x = the_mouse.u.data.x / SP->_sysmouse_char_width;
22248 +       work->y = the_mouse.u.data.y / SP->_sysmouse_char_height;
22249 +    }
22250 +}
22251  #endif
22252  
22253  static int initialized;
22254  
22255  static void
22256 +init_xterm_mouse(void)
22257 +{
22258 +    SP->_mouse_type = M_XTERM;
22259 +    SP->_mouse_xtermcap = tigetstr("XM");
22260 +    if (!VALID_STRING(SP->_mouse_xtermcap))
22261 +       SP->_mouse_xtermcap = "\033[?1000%?%p1%{1}%=%th%el%;";
22262 +}
22263 +
22264 +#if !USE_EMX_MOUSE
22265 +static void
22266 +enable_xterm_mouse(int enable)
22267 +{
22268 +    putp(tparm(SP->_mouse_xtermcap, enable));
22269 +}
22270 +#endif /* !USE_EMX_MOUSE */
22271 +
22272 +static void
22273  initialize_mousetype(void)
22274  {
22275      static const char *xterm_kmous = "\033[M";
22276  
22277      /* Try gpm first, because gpm may be configured to run in xterm */
22278  #if USE_GPM_SUPPORT
22279 -    /* GPM: initialize connection to gpm server */
22280 -    gpm_connect.eventMask = GPM_DOWN | GPM_UP;
22281 -    gpm_connect.defaultMask = ~(gpm_connect.eventMask | GPM_HARD);
22282 -    gpm_connect.minMod = 0;
22283 -    gpm_connect.maxMod = ~((1 << KG_SHIFT) | (1 << KG_SHIFTL) | (1 << KG_SHIFTR));
22284 -    if (Gpm_Open(&gpm_connect, 0) >= 0) {      /* returns the file-descriptor */
22285 -       mousetype = M_GPM;
22286 -       SP->_mouse_fd = gpm_fd;
22287 -       return;
22288 +    /* GPM does printf's without checking if stdout is a terminal */
22289 +    if (isatty(fileno(stdout))) {
22290 +       /* GPM: initialize connection to gpm server */
22291 +       gpm_connect.eventMask = GPM_DOWN | GPM_UP;
22292 +       gpm_connect.defaultMask = ~(gpm_connect.eventMask | GPM_HARD);
22293 +       gpm_connect.minMod = 0;
22294 +       gpm_connect.maxMod = ~((1 << KG_SHIFT) | (1 << KG_SHIFTL) | (1 << KG_SHIFTR));
22295 +       if (Gpm_Open(&gpm_connect, 0) >= 0) {   /* returns the file-descriptor */
22296 +           SP->_mouse_type = M_GPM;
22297 +           SP->_mouse_fd = gpm_fd;
22298 +           return;
22299 +       }
22300      }
22301  #endif
22302  
22303      /* OS/2 VIO */
22304 -#ifdef USE_EMX_MOUSE
22305 +#if USE_EMX_MOUSE
22306      if (!mouse_thread
22307         && strstr(cur_term->type.term_names, "xterm") == 0
22308         && key_mouse) {
22309 @@ -287,22 +390,87 @@
22310                 printf("mouse thread error %d=%#x", rc, rc);
22311                 return;
22312             } else {
22313 -               mousetype = M_XTERM;
22314 +               SP->_mouse_type = M_XTERM;
22315                 return;
22316             }
22317         }
22318      }
22319  #endif
22320  
22321 +#if USE_SYSMOUSE
22322 +    {
22323 +       struct mouse_info the_mouse;
22324 +       char *the_device = 0;
22325 +
22326 +       if (isatty(SP->_ifd))
22327 +           the_device = ttyname(SP->_ifd);
22328 +       if (the_device == 0)
22329 +           the_device = "/dev/tty";
22330 +
22331 +       SP->_mouse_fd = open(the_device, O_RDWR);
22332 +
22333 +       if (SP->_mouse_fd >= 0) {
22334 +           /*
22335 +            * sysmouse does not have a usable user interface for obtaining
22336 +            * mouse events.  The logical way to proceed (reading data on a
22337 +            * stream) only works if one opens the device as root.  Even in
22338 +            * that mode, careful examination shows we lose events
22339 +            * occasionally.  The interface provided for user programs is to
22340 +            * establish a signal handler.  really.
22341 +            *
22342 +            * Take over SIGUSR2 for this purpose since SIGUSR1 is more
22343 +            * likely to be used by an application.  getch() will have to
22344 +            * handle the misleading EINTR's.
22345 +            */
22346 +           signal(SIGUSR2, SIG_IGN);
22347 +           the_mouse.operation = MOUSE_MODE;
22348 +           the_mouse.u.mode.mode = 0;
22349 +           the_mouse.u.mode.signal = SIGUSR2;
22350 +           if (ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse) != -1) {
22351 +               signal(SIGUSR2, handle_sysmouse);
22352 +               the_mouse.operation = MOUSE_SHOW;
22353 +               ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse);
22354 +
22355 +#if defined(FBIO_MODEINFO) || defined(CONS_MODEINFO)   /* FreeBSD > 2.x */
22356 +               {
22357 +#ifndef FBIO_GETMODE           /* FreeBSD 3.x */
22358 +#define FBIO_GETMODE    CONS_GET
22359 +#define FBIO_MODEINFO   CONS_MODEINFO
22360 +#endif /* FBIO_GETMODE */
22361 +                   video_info_t the_video;
22362 +
22363 +                   if (ioctl(SP->_mouse_fd,
22364 +                             FBIO_GETMODE,
22365 +                             &the_video.vi_mode) != -1
22366 +                       && ioctl(SP->_mouse_fd,
22367 +                                FBIO_MODEINFO,
22368 +                                &the_video) != -1) {
22369 +                       SP->_sysmouse_char_width = the_video.vi_cwidth;
22370 +                       SP->_sysmouse_char_height = the_video.vi_cheight;
22371 +                   }
22372 +               }
22373 +#endif /* defined(FBIO_MODEINFO) || defined(CONS_MODEINFO) */
22374 +
22375 +               if (SP->_sysmouse_char_width <= 0)
22376 +                   SP->_sysmouse_char_width = 8;
22377 +               if (SP->_sysmouse_char_height <= 0)
22378 +                   SP->_sysmouse_char_height = 16;
22379 +               SP->_mouse_type = M_SYSMOUSE;
22380 +               return;
22381 +           }
22382 +       }
22383 +    }
22384 +#endif /* USE_SYSMOUSE */
22385 +
22386      /* we know how to recognize mouse events under "xterm" */
22387      if (key_mouse != 0) {
22388         if (!strcmp(key_mouse, xterm_kmous)) {
22389 -           mousetype = M_XTERM;
22390 +           init_xterm_mouse();
22391             return;
22392         }
22393      } else if (strstr(cur_term->type.term_names, "xterm") != 0) {
22394         (void) _nc_add_to_try(&(SP->_keytry), xterm_kmous, KEY_MOUSE);
22395 -       mousetype = M_XTERM;
22396 +       init_xterm_mouse();
22397         return;
22398      }
22399  }
22400 @@ -323,7 +491,7 @@
22401  
22402         initialize_mousetype();
22403  
22404 -       T(("_nc_mouse_init() set mousetype to %d", mousetype));
22405 +       T(("_nc_mouse_init() set mousetype to %d", SP->_mouse_type));
22406      }
22407  }
22408  
22409 @@ -334,74 +502,113 @@
22410  static bool
22411  _nc_mouse_event(SCREEN * sp GCC_UNUSED)
22412  {
22413 -#if USE_GPM_SUPPORT
22414 -    /* GPM: query server for event, return TRUE if we find one */
22415 -    Gpm_Event ev;
22416 +    bool result = FALSE;
22417  
22418 -    if (Gpm_GetEvent(&ev) == 1) {
22419 -       eventp->id = 0;         /* there's only one mouse... */
22420 +    switch (SP->_mouse_type) {
22421 +    case M_XTERM:
22422 +       /* xterm: never have to query, mouse events are in the keyboard stream */
22423 +#if USE_EMX_MOUSE
22424 +       {
22425 +           char kbuf[3];
22426  
22427 -       eventp->bstate = 0;
22428 -       switch (ev.type & 0x0f) {
22429 -       case (GPM_DOWN):
22430 -           if (ev.buttons & GPM_B_LEFT)
22431 -               eventp->bstate |= BUTTON1_PRESSED;
22432 -           if (ev.buttons & GPM_B_MIDDLE)
22433 -               eventp->bstate |= BUTTON2_PRESSED;
22434 -           if (ev.buttons & GPM_B_RIGHT)
22435 -               eventp->bstate |= BUTTON3_PRESSED;
22436 -           break;
22437 -       case (GPM_UP):
22438 -           if (ev.buttons & GPM_B_LEFT)
22439 -               eventp->bstate |= BUTTON1_RELEASED;
22440 -           if (ev.buttons & GPM_B_MIDDLE)
22441 -               eventp->bstate |= BUTTON2_RELEASED;
22442 -           if (ev.buttons & GPM_B_RIGHT)
22443 -               eventp->bstate |= BUTTON3_RELEASED;
22444 -           break;
22445 -       default:
22446 -           break;
22447 +           int i, res = read(M_FD(sp), &kbuf, 3);      /* Eat the prefix */
22448 +           if (res != 3)
22449 +               printf("Got %d chars instead of 3 for prefix.\n", res);
22450 +           for (i = 0; i < res; i++) {
22451 +               if (kbuf[i] != key_mouse[i])
22452 +                   printf("Got char %d instead of %d for prefix.\n",
22453 +                          (int) kbuf[i], (int) key_mouse[i]);
22454 +           }
22455 +           result = TRUE;
22456         }
22457 +#endif /* USE_EMX_MOUSE */
22458 +       break;
22459  
22460 -       eventp->x = ev.x - 1;
22461 -       eventp->y = ev.y - 1;
22462 -       eventp->z = 0;
22463 +#if USE_GPM_SUPPORT
22464 +    case M_GPM:
22465 +       {
22466 +           /* query server for event, return TRUE if we find one */
22467 +           Gpm_Event ev;
22468  
22469 -       /* bump the next-free pointer into the circular list */
22470 -       eventp = NEXT(eventp);
22471 -       return (TRUE);
22472 -    }
22473 +           if (Gpm_GetEvent(&ev) == 1) {
22474 +               /* there's only one mouse... */
22475 +               eventp->id = NORMAL_EVENT;
22476 +
22477 +               eventp->bstate = 0;
22478 +               switch (ev.type & 0x0f) {
22479 +               case (GPM_DOWN):
22480 +                   if (ev.buttons & GPM_B_LEFT)
22481 +                       eventp->bstate |= BUTTON1_PRESSED;
22482 +                   if (ev.buttons & GPM_B_MIDDLE)
22483 +                       eventp->bstate |= BUTTON2_PRESSED;
22484 +                   if (ev.buttons & GPM_B_RIGHT)
22485 +                       eventp->bstate |= BUTTON3_PRESSED;
22486 +                   break;
22487 +               case (GPM_UP):
22488 +                   if (ev.buttons & GPM_B_LEFT)
22489 +                       eventp->bstate |= BUTTON1_RELEASED;
22490 +                   if (ev.buttons & GPM_B_MIDDLE)
22491 +                       eventp->bstate |= BUTTON2_RELEASED;
22492 +                   if (ev.buttons & GPM_B_RIGHT)
22493 +                       eventp->bstate |= BUTTON3_RELEASED;
22494 +                   break;
22495 +               default:
22496 +                   break;
22497 +               }
22498 +
22499 +               eventp->x = ev.x - 1;
22500 +               eventp->y = ev.y - 1;
22501 +               eventp->z = 0;
22502 +
22503 +               /* bump the next-free pointer into the circular list */
22504 +               eventp = NEXT(eventp);
22505 +               result = TRUE;
22506 +           }
22507 +       }
22508 +       break;
22509  #endif
22510  
22511 -#ifdef USE_EMX_MOUSE
22512 -    {
22513 -       char kbuf[3];
22514 +#if USE_SYSMOUSE
22515 +    case M_SYSMOUSE:
22516 +       if (SP->_sysmouse_head < SP->_sysmouse_tail) {
22517 +           *eventp = SP->_sysmouse_fifo[SP->_sysmouse_head];
22518  
22519 -       int i, res = read(M_FD(sp), &kbuf, 3);  /* Eat the prefix */
22520 -       if (res != 3)
22521 -           printf("Got %d chars instead of 3 for prefix.\n", res);
22522 -       for (i = 0; i < res; i++) {
22523 -           if (kbuf[i] != key_mouse[i])
22524 -               printf("Got char %d instead of %d for prefix.\n",
22525 -                      (int) kbuf[i], (int) key_mouse[i]);
22526 +           /*
22527 +            * Point the fifo-head to the next possible location.  If there
22528 +            * are none, reset the indices.  This may be interrupted by the
22529 +            * signal handler, doing essentially the same reset.
22530 +            */
22531 +           SP->_sysmouse_head += 1;
22532 +           if (SP->_sysmouse_head == SP->_sysmouse_tail) {
22533 +               SP->_sysmouse_tail = 0;
22534 +               SP->_sysmouse_head = 0;
22535 +           }
22536 +
22537 +           /* bump the next-free pointer into the circular list */
22538 +           eventp = NEXT(eventp);
22539 +           result = TRUE;
22540         }
22541 -       return TRUE;
22542 +       break;
22543 +#endif /* USE_SYSMOUSE */
22544 +
22545 +    case M_NONE:
22546 +       break;
22547      }
22548 -#endif /* USE_EMX_MOUSE */
22549  
22550 -    /* xterm: never have to query, mouse events are in the keyboard stream */
22551 -    return (FALSE);            /* no event waiting */
22552 +    return result;             /* true if we found an event */
22553  }
22554  
22555  static bool
22556  _nc_mouse_inline(SCREEN * sp)
22557  /* mouse report received in the keyboard stream -- parse its info */
22558  {
22559 +    bool result = FALSE;
22560 +
22561      TR(MY_TRACE, ("_nc_mouse_inline() called"));
22562  
22563 -    if (mousetype == M_XTERM) {
22564 +    if (SP->_mouse_type == M_XTERM) {
22565         unsigned char kbuf[4];
22566 -       MEVENT *prev;
22567 +       mmask_t prev;
22568         size_t grabbed;
22569         int res;
22570  
22571 @@ -438,7 +645,7 @@
22572         for (grabbed = 0; grabbed < 3; grabbed += res) {
22573  
22574             /* For VIO mouse we add extra bit 64 to disambiguate button-up. */
22575 -#ifdef USE_EMX_MOUSE
22576 +#if USE_EMX_MOUSE
22577             res = read(M_FD(sp) >= 0 ? M_FD(sp) : sp->_ifd, &kbuf, 3);
22578  #else
22579             res = read(sp->_ifd, kbuf + grabbed, 3 - grabbed);
22580 @@ -451,59 +658,65 @@
22581         TR(TRACE_IEVENT,
22582            ("_nc_mouse_inline sees the following xterm data: '%s'", kbuf));
22583  
22584 -       eventp->id = 0;         /* there's only one mouse... */
22585 +       /* there's only one mouse... */
22586 +       eventp->id = NORMAL_EVENT;
22587  
22588         /* processing code goes here */
22589         eventp->bstate = 0;
22590 +       prev = PREV(eventp)->bstate;
22591 +
22592 +#if USE_EMX_MOUSE
22593 +#define PRESS_POSITION(n) \
22594 +       eventp->bstate = MASK_PRESS(n); \
22595 +       if (kbuf[0] & 0x40) \
22596 +           eventp->bstate = MASK_RELEASE(n)
22597 +#else
22598 +#define PRESS_POSITION(n) \
22599 +       eventp->bstate = (prev & MASK_PRESS(n) \
22600 +                       ? REPORT_MOUSE_POSITION \
22601 +                       : MASK_PRESS(n))
22602 +#endif
22603 +
22604         switch (kbuf[0] & 0x3) {
22605         case 0x0:
22606 -           eventp->bstate = BUTTON1_PRESSED;
22607 -#ifdef USE_EMX_MOUSE
22608 -           if (kbuf[0] & 0x40)
22609 -               eventp->bstate = BUTTON1_RELEASED;
22610 -#endif
22611 +           PRESS_POSITION(1);
22612             break;
22613  
22614         case 0x1:
22615 -           eventp->bstate = BUTTON2_PRESSED;
22616 -#ifdef USE_EMX_MOUSE
22617 -           if (kbuf[0] & 0x40)
22618 -               eventp->bstate = BUTTON2_RELEASED;
22619 -#endif
22620 +           PRESS_POSITION(2);
22621             break;
22622  
22623         case 0x2:
22624 -           eventp->bstate = BUTTON3_PRESSED;
22625 -#ifdef USE_EMX_MOUSE
22626 -           if (kbuf[0] & 0x40)
22627 -               eventp->bstate = BUTTON3_RELEASED;
22628 -#endif
22629 +           PRESS_POSITION(3);
22630             break;
22631  
22632         case 0x3:
22633             /*
22634 -            * Release events aren't reported for individual buttons,
22635 -            * just for the button set as a whole...
22636 -            */
22637 -           eventp->bstate =
22638 -               (BUTTON1_RELEASED |
22639 -                BUTTON2_RELEASED |
22640 -                BUTTON3_RELEASED);
22641 -           /*
22642 -            * ...however, because there are no kinds of mouse events under
22643 -            * xterm that can intervene between press and release, we can
22644 -            * deduce which buttons were actually released by looking at the
22645 -            * previous event.
22646 +            * Release events aren't reported for individual buttons, just for
22647 +            * the button set as a whole.  However, because there are normally
22648 +            * no mouse events under xterm that intervene between press and
22649 +            * release, we can infer the button actually released by looking at
22650 +            * the previous event.
22651              */
22652 -           prev = PREV(eventp);
22653 -           if (!(prev->bstate & BUTTON1_PRESSED))
22654 -               eventp->bstate &= ~BUTTON1_RELEASED;
22655 -           if (!(prev->bstate & BUTTON2_PRESSED))
22656 -               eventp->bstate &= ~BUTTON2_RELEASED;
22657 -           if (!(prev->bstate & BUTTON3_PRESSED))
22658 -               eventp->bstate &= ~BUTTON3_RELEASED;
22659 +           if (prev & (BUTTON_PRESSED | BUTTON_RELEASED)) {
22660 +               eventp->bstate = BUTTON_RELEASED;
22661 +               if (!(prev & BUTTON1_PRESSED))
22662 +                   eventp->bstate &= ~BUTTON1_RELEASED;
22663 +               if (!(prev & BUTTON2_PRESSED))
22664 +                   eventp->bstate &= ~BUTTON2_RELEASED;
22665 +               if (!(prev & BUTTON3_PRESSED))
22666 +                   eventp->bstate &= ~BUTTON3_RELEASED;
22667 +           } else {
22668 +               /*
22669 +                * XFree86 xterm will return a stream of release-events to
22670 +                * let the application know where the mouse is going, if the
22671 +                * private mode 1002 or 1003 is enabled.
22672 +                */
22673 +               eventp->bstate = REPORT_MOUSE_POSITION;
22674 +           }
22675             break;
22676         }
22677 +       result = (eventp->bstate & REPORT_MOUSE_POSITION) ? TRUE : FALSE;
22678  
22679         if (kbuf[0] & 4) {
22680             eventp->bstate |= BUTTON_SHIFT;
22681 @@ -529,7 +742,7 @@
22682  #endif
22683      }
22684  
22685 -    return (FALSE);
22686 +    return (result);
22687  }
22688  
22689  static void
22690 @@ -542,16 +755,16 @@
22691  
22692      if (on) {
22693  
22694 -       switch (mousetype) {
22695 +       switch (SP->_mouse_type) {
22696         case M_XTERM:
22697  #if NCURSES_EXT_FUNCS
22698             keyok(KEY_MOUSE, on);
22699  #endif
22700             TPUTS_TRACE("xterm mouse initialization");
22701 -#ifdef USE_EMX_MOUSE
22702 +#if USE_EMX_MOUSE
22703             server_state(1);
22704  #else
22705 -           putp("\033[?1000h");
22706 +           enable_xterm_mouse(1);
22707  #endif
22708             break;
22709  #if USE_GPM_SUPPORT
22710 @@ -559,6 +772,13 @@
22711             SP->_mouse_fd = gpm_fd;
22712             break;
22713  #endif
22714 +#if USE_SYSMOUSE
22715 +       case M_SYSMOUSE:
22716 +           signal(SIGUSR2, handle_sysmouse);
22717 +           break;
22718 +#endif
22719 +       case M_NONE:
22720 +           return;
22721         }
22722         /* Make runtime binding to cut down on object size of applications that
22723          * do not use the mouse (e.g., 'clear').
22724 @@ -571,19 +791,26 @@
22725  
22726      } else {
22727  
22728 -       switch (mousetype) {
22729 +       switch (SP->_mouse_type) {
22730         case M_XTERM:
22731             TPUTS_TRACE("xterm mouse deinitialization");
22732 -#ifdef USE_EMX_MOUSE
22733 +#if USE_EMX_MOUSE
22734             server_state(0);
22735  #else
22736 -           putp("\033[?1000l");
22737 +           enable_xterm_mouse(0);
22738  #endif
22739             break;
22740  #if USE_GPM_SUPPORT
22741         case M_GPM:
22742             break;
22743  #endif
22744 +#if USE_SYSMOUSE
22745 +       case M_SYSMOUSE:
22746 +           signal(SIGUSR2, SIG_IGN);
22747 +           break;
22748 +#endif
22749 +       case M_NONE:
22750 +           return;
22751         }
22752      }
22753      _nc_flush();
22754 @@ -631,7 +858,7 @@
22755            ("_nc_mouse_parse: returning simple mouse event %s at slot %ld",
22756             _tracemouse(prev),
22757             (long) (prev - events)));
22758 -       return (prev->id >= 0)
22759 +       return (prev->id >= NORMAL_EVENT)
22760             ? ((prev->bstate & eventmask) ? TRUE : FALSE)
22761             : FALSE;
22762      }
22763 @@ -657,7 +884,7 @@
22764         merge = FALSE;
22765         for (ep = runp; (next = NEXT(ep)) != eventp; ep = next) {
22766             if (ep->x == next->x && ep->y == next->y
22767 -               && (ep->bstate & (BUTTON1_PRESSED | BUTTON2_PRESSED | BUTTON3_PRESSED))
22768 +               && (ep->bstate & BUTTON_PRESSED)
22769                 && (!(ep->bstate & BUTTON1_PRESSED)
22770                     == !(next->bstate & BUTTON1_RELEASED))
22771                 && (!(ep->bstate & BUTTON2_PRESSED)
22772 @@ -729,10 +956,8 @@
22773                     continue;
22774  
22775                 /* merge click events forward */
22776 -               if ((ep->bstate &
22777 -                    (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))
22778 -                   && (follower->bstate &
22779 -                       (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
22780 +               if ((ep->bstate & BUTTON_CLICKED)
22781 +                   && (follower->bstate & BUTTON_CLICKED)) {
22782                     if ((eventmask & BUTTON1_DOUBLE_CLICKED)
22783                         && (follower->bstate & BUTTON1_CLICKED)) {
22784                         follower->bstate &= ~BUTTON1_CLICKED;
22785 @@ -760,8 +985,7 @@
22786                      (BUTTON1_DOUBLE_CLICKED
22787                       | BUTTON2_DOUBLE_CLICKED
22788                       | BUTTON3_DOUBLE_CLICKED))
22789 -                   && (follower->bstate &
22790 -                       (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
22791 +                   && (follower->bstate & BUTTON_CLICKED)) {
22792                     if ((eventmask & BUTTON1_TRIPLE_CLICKED)
22793                         && (follower->bstate & BUTTON1_CLICKED)) {
22794                         follower->bstate &= ~BUTTON1_CLICKED;
22795 @@ -831,7 +1055,7 @@
22796  {
22797      TR(MY_TRACE, ("_nc_mouse_wrap() called"));
22798  
22799 -    switch (mousetype) {
22800 +    switch (SP->_mouse_type) {
22801      case M_XTERM:
22802         if (eventmask)
22803             mouse_activate(FALSE);
22804 @@ -841,6 +1065,13 @@
22805      case M_GPM:
22806         break;
22807  #endif
22808 +#if USE_SYSMOUSE
22809 +    case M_SYSMOUSE:
22810 +       mouse_activate(FALSE);
22811 +       break;
22812 +#endif
22813 +    case M_NONE:
22814 +       break;
22815      }
22816  }
22817  
22818 @@ -850,11 +1081,27 @@
22819  {
22820      TR(MY_TRACE, ("_nc_mouse_resume() called"));
22821  
22822 -    /* xterm: re-enable reporting */
22823 -    if (mousetype == M_XTERM && eventmask)
22824 -       mouse_activate(TRUE);
22825 +    switch (SP->_mouse_type) {
22826 +    case M_XTERM:
22827 +       /* xterm: re-enable reporting */
22828 +       if (eventmask)
22829 +           mouse_activate(TRUE);
22830 +       break;
22831  
22832 -    /* GPM: reclaim our event set */
22833 +#if USE_GPM_SUPPORT
22834 +    case M_GPM:
22835 +       /* GPM: reclaim our event set */
22836 +       break;
22837 +#endif
22838 +
22839 +#if USE_SYSMOUSE
22840 +    case M_SYSMOUSE:
22841 +       mouse_activate(TRUE);
22842 +       break;
22843 +#endif
22844 +    case M_NONE:
22845 +       break;
22846 +    }
22847  }
22848  
22849  /**************************************************************************
22850 @@ -869,7 +1116,7 @@
22851  {
22852      T((T_CALLED("getmouse(%p)"), aevent));
22853  
22854 -    if (aevent && (mousetype != M_NONE)) {
22855 +    if (aevent && (SP->_mouse_type != M_NONE)) {
22856         /* compute the current-event pointer */
22857         MEVENT *prev = PREV(eventp);
22858  
22859 @@ -917,14 +1164,14 @@
22860         returnBits(0);
22861  
22862      _nc_mouse_init();
22863 -    if (mousetype != M_NONE) {
22864 +    if (SP->_mouse_type != M_NONE) {
22865         eventmask = newmask &
22866 -           (BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT
22867 -            | BUTTON1_PRESSED | BUTTON1_RELEASED | BUTTON1_CLICKED
22868 +           (REPORT_MOUSE_POSITION | BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT
22869 +            | BUTTON_PRESSED
22870 +            | BUTTON_RELEASED
22871 +            | BUTTON_CLICKED
22872              | BUTTON1_DOUBLE_CLICKED | BUTTON1_TRIPLE_CLICKED
22873 -            | BUTTON2_PRESSED | BUTTON2_RELEASED | BUTTON2_CLICKED
22874              | BUTTON2_DOUBLE_CLICKED | BUTTON2_TRIPLE_CLICKED
22875 -            | BUTTON3_PRESSED | BUTTON3_RELEASED | BUTTON3_CLICKED
22876              | BUTTON3_DOUBLE_CLICKED | BUTTON3_TRIPLE_CLICKED);
22877  
22878         mouse_activate(eventmask != 0);
22879 @@ -977,7 +1224,7 @@
22880  NCURSES_EXPORT(int)
22881  _nc_has_mouse(void)
22882  {
22883 -    return (mousetype == M_NONE ? 0 : 1);
22884 +    return (SP->_mouse_type == M_NONE ? 0 : 1);
22885  }
22886  
22887  NCURSES_EXPORT(bool)
22888 @@ -1010,5 +1257,3 @@
22889      }
22890      returnBool(result);
22891  }
22892 -
22893 -/* lib_mouse.c ends here */
22894 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_newterm.c ncurses-5.3.20030906.orig/ncurses/base/lib_newterm.c
22895 --- ncurses-5.3/ncurses/base/lib_newterm.c      Sat Oct 12 10:24:08 2002
22896 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_newterm.c        Tue May 13 20:08:22 2003
22897 @@ -47,7 +47,7 @@
22898  #include <term.h>              /* clear_screen, cup & friends, cur_term */
22899  #include <tic.h>
22900  
22901 -MODULE_ID("$Id: lib_newterm.c,v 1.56 2002/10/12 15:24:08 tom Exp $")
22902 +MODULE_ID("$Id: lib_newterm.c,v 1.57 2002/10/20 00:10:56 Philippe.Blain Exp $")
22903  
22904  #ifndef ONLCR                  /* Allows compilation under the QNX 4.2 OS */
22905  #define ONLCR 0
22906 @@ -119,13 +119,6 @@
22907      if (filter_mode) {
22908         LINES = 1;
22909  
22910 -       if (VALID_NUMERIC(init_tabs))
22911 -           TABSIZE = init_tabs;
22912 -       else
22913 -           TABSIZE = 8;
22914 -
22915 -       T(("TABSIZE = %d", TABSIZE));
22916 -
22917         clear_screen = 0;
22918         cursor_down = parm_down_cursor = 0;
22919         cursor_address = 0;
22920 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_printw.c ncurses-5.3.20030906.orig/ncurses/base/lib_printw.c
22921 --- ncurses-5.3/ncurses/base/lib_printw.c       Sat Oct  5 17:52:21 2002
22922 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_printw.c Tue May 13 20:08:22 2003
22923 @@ -1,5 +1,5 @@
22924  /****************************************************************************
22925 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
22926 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
22927   *                                                                          *
22928   * Permission is hereby granted, free of charge, to any person obtaining a  *
22929   * copy of this software and associated documentation files (the            *
22930 @@ -39,10 +39,10 @@
22931  
22932  #include <curses.priv.h>
22933  
22934 -MODULE_ID("$Id: lib_printw.c,v 1.13 2002/10/05 22:52:21 tom Exp $")
22935 +MODULE_ID("$Id: lib_printw.c,v 1.15 2003/02/08 20:50:13 tom Exp $")
22936  
22937  NCURSES_EXPORT(int)
22938 -printw(NCURSES_CONST char *fmt,...)
22939 +printw(const char *fmt,...)
22940  {
22941      va_list argp;
22942      int code;
22943 @@ -62,7 +62,7 @@
22944  }
22945  
22946  NCURSES_EXPORT(int)
22947 -wprintw(WINDOW *win, NCURSES_CONST char *fmt,...)
22948 +wprintw(WINDOW *win, const char *fmt,...)
22949  {
22950      va_list argp;
22951      int code;
22952 @@ -82,7 +82,7 @@
22953  }
22954  
22955  NCURSES_EXPORT(int)
22956 -mvprintw(int y, int x, NCURSES_CONST char *fmt,...)
22957 +mvprintw(int y, int x, const char *fmt,...)
22958  {
22959      va_list argp;
22960      int code;
22961 @@ -103,7 +103,7 @@
22962  }
22963  
22964  NCURSES_EXPORT(int)
22965 -mvwprintw(WINDOW *win, int y, int x, NCURSES_CONST char *fmt,...)
22966 +mvwprintw(WINDOW *win, int y, int x, const char *fmt,...)
22967  {
22968      va_list argp;
22969      int code;
22970 @@ -124,7 +124,7 @@
22971  }
22972  
22973  NCURSES_EXPORT(int)
22974 -vwprintw(WINDOW *win, NCURSES_CONST char *fmt, va_list argp)
22975 +vwprintw(WINDOW *win, const char *fmt, va_list argp)
22976  {
22977      char *buf;
22978      int code = ERR;
22979 @@ -134,9 +134,6 @@
22980  
22981      if ((buf = _nc_printf_string(fmt, argp)) != 0) {
22982         code = waddstr(win, buf);
22983 -#if USE_SAFE_SPRINTF
22984 -       free(buf);
22985 -#endif
22986      }
22987      returnCode(code);
22988  }
22989 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_scroll.c ncurses-5.3.20030906.orig/ncurses/base/lib_scroll.c
22990 --- ncurses-5.3/ncurses/base/lib_scroll.c       Tue Dec 18 19:06:55 2001
22991 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_scroll.c Fri Sep 12 16:41:24 2003
22992 @@ -1,5 +1,5 @@
22993  /****************************************************************************
22994 - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
22995 + * Copyright (c) 1998,2001,2003 Free Software Foundation, Inc.              *
22996   *                                                                          *
22997   * Permission is hereby granted, free of charge, to any person obtaining a  *
22998   * copy of this software and associated documentation files (the            *
22999 @@ -27,7 +27,7 @@
23000   ****************************************************************************/
23001  
23002  /****************************************************************************
23003 - *  Author: Thomas E. Dickey 1996-2001                                      *
23004 + *  Author: Thomas E. Dickey 1996-2003                                      *
23005   *     and: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
23006   *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
23007   ****************************************************************************/
23008 @@ -43,7 +43,7 @@
23009  
23010  #include <curses.priv.h>
23011  
23012 -MODULE_ID("$Id: lib_scroll.c,v 1.23 2001/12/19 01:06:55 tom Exp $")
23013 +MODULE_ID("$Id: lib_scroll.c,v 1.24 2003/07/26 23:25:26 tom Exp $")
23014  
23015  NCURSES_EXPORT(void)
23016  _nc_scroll_window(WINDOW *win, int const n, NCURSES_SIZE_T const top,
23017 @@ -77,24 +77,15 @@
23018      /* shift n lines downwards */
23019      if (n < 0) {
23020         limit = top - n;
23021 -       if (limit > win->_maxy)
23022 -           limit = win->_maxy;
23023 -       for (line = bottom; line >= limit; line--) {
23024 -           if (line + n >= 0) {
23025 -               TR(TRACE_MOVE, ("...copying %d to %d", line + n, line));
23026 -               memcpy(win->_line[line].text,
23027 -                      win->_line[line + n].text,
23028 -                      to_copy);
23029 -               if_USE_SCROLL_HINTS(win->_line[line].oldindex =
23030 -                                   win->_line[line + n].oldindex);
23031 -           } else {
23032 -               TR(TRACE_MOVE, ("...filling %d", line));
23033 -               for (j = 0; j <= win->_maxx; j++)
23034 -                   win->_line[line].text[j] = blank;
23035 -               if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX);
23036 -           }
23037 +       for (line = bottom; line >= limit && line >= 0; line--) {
23038 +           TR(TRACE_MOVE, ("...copying %d to %d", line + n, line));
23039 +           memcpy(win->_line[line].text,
23040 +                  win->_line[line + n].text,
23041 +                  to_copy);
23042 +           if_USE_SCROLL_HINTS(win->_line[line].oldindex =
23043 +                               win->_line[line + n].oldindex);
23044         }
23045 -       for (line = top; line < limit; line++) {
23046 +       for (line = top; line < limit && line <= win->_maxy; line++) {
23047             TR(TRACE_MOVE, ("...filling %d", line));
23048             for (j = 0; j <= win->_maxx; j++)
23049                 win->_line[line].text[j] = blank;
23050 @@ -105,25 +96,14 @@
23051      /* shift n lines upwards */
23052      if (n > 0) {
23053         limit = bottom - n;
23054 -       if (limit < 0)
23055 -           limit = 0;
23056 -       for (line = top; line <= limit; line++) {
23057 -           if (line + n <= win->_maxy) {
23058 -               TR(TRACE_MOVE, ("...copying %d to %d", line + n, line));
23059 -               memcpy(win->_line[line].text,
23060 -                      win->_line[line + n].text,
23061 -                      to_copy);
23062 -               if_USE_SCROLL_HINTS(win->_line[line].oldindex =
23063 -                                   win->_line[line + n].oldindex);
23064 -           } else {
23065 -               TR(TRACE_MOVE, ("...filling %d", line));
23066 -               for (j = 0; j <= win->_maxx; j++)
23067 -                   win->_line[line].text[j] = blank;
23068 -               if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX);
23069 -           }
23070 +       for (line = top; line <= limit && line <= win->_maxy; line++) {
23071 +           memcpy(win->_line[line].text,
23072 +                  win->_line[line + n].text,
23073 +                  to_copy);
23074 +           if_USE_SCROLL_HINTS(win->_line[line].oldindex =
23075 +                               win->_line[line + n].oldindex);
23076         }
23077 -       for (line = bottom; line > limit; line--) {
23078 -           TR(TRACE_MOVE, ("...filling %d", line));
23079 +       for (line = bottom; line > limit && line >= 0; line--) {
23080             for (j = 0; j <= win->_maxx; j++)
23081                 win->_line[line].text[j] = blank;
23082             if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX);
23083 @@ -142,11 +122,9 @@
23084         returnCode(ERR);
23085      }
23086  
23087 -    if (n == 0)
23088 -       returnCode(OK);
23089 -
23090 -    _nc_scroll_window(win, n, win->_regtop, win->_regbottom, win->_nc_bkgd);
23091 -
23092 -    _nc_synchook(win);
23093 +    if (n != 0) {
23094 +       _nc_scroll_window(win, n, win->_regtop, win->_regbottom, win->_nc_bkgd);
23095 +       _nc_synchook(win);
23096 +    }
23097      returnCode(OK);
23098  }
23099 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_set_term.c ncurses-5.3.20030906.orig/ncurses/base/lib_set_term.c
23100 --- ncurses-5.3/ncurses/base/lib_set_term.c     Sat Sep 14 17:48:00 2002
23101 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_set_term.c       Fri Sep 12 16:41:56 2003
23102 @@ -1,5 +1,5 @@
23103  /****************************************************************************
23104 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
23105 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
23106   *                                                                          *
23107   * Permission is hereby granted, free of charge, to any person obtaining a  *
23108   * copy of this software and associated documentation files (the            *
23109 @@ -43,7 +43,7 @@
23110  #include <term.h>              /* cur_term */
23111  #include <tic.h>
23112  
23113 -MODULE_ID("$Id: lib_set_term.c,v 1.71 2002/09/14 22:48:00 tom Exp $")
23114 +MODULE_ID("$Id: lib_set_term.c,v 1.78 2003/08/09 20:41:12 tom Exp $")
23115  
23116  NCURSES_EXPORT(SCREEN *)
23117  set_term(SCREEN * screenp)
23118 @@ -61,7 +61,6 @@
23119      stdscr = SP->_stdscr;
23120      COLORS = SP->_color_count;
23121      COLOR_PAIRS = SP->_pair_count;
23122 -    memcpy(acs_map, SP->_acs_map, sizeof(SP->_acs_map[0]) * ACS_LEN);
23123  
23124      T((T_RETURN("%p"), oldSP));
23125      return (oldSP);
23126 @@ -84,6 +83,7 @@
23127  delscreen(SCREEN * sp)
23128  {
23129      SCREEN **scan = &_nc_screen_chain;
23130 +    int i;
23131  
23132      T((T_CALLED("delscreen(%p)"), sp));
23133  
23134 @@ -100,8 +100,13 @@
23135      (void) _nc_freewin(sp->_stdscr);
23136  
23137      if (sp->_slk != 0) {
23138 -       FreeIfNeeded(sp->_slk->ent);
23139 -       FreeIfNeeded(sp->_slk->buffer);
23140 +       if (sp->_slk->ent != 0) {
23141 +           for (i = 0; i < sp->_slk->labcnt; ++i) {
23142 +               FreeIfNeeded(sp->_slk->ent[i].ent_text);
23143 +               FreeIfNeeded(sp->_slk->ent[i].form_text);
23144 +           }
23145 +           free(sp->_slk->ent);
23146 +       }
23147         free(sp->_slk);
23148         sp->_slk = 0;
23149      }
23150 @@ -204,7 +209,7 @@
23151  #endif
23152  
23153  NCURSES_EXPORT(int)
23154 -_nc_setupscreen(short slines, short const scolumns, FILE * output)
23155 +_nc_setupscreen(short slines, short const scolumns, FILE *output)
23156  /* OS-independent screen initializations */
23157  {
23158      int bottom_stolen = 0;
23159 @@ -377,8 +382,15 @@
23160      _nc_init_acs();
23161  #if USE_WIDEC_SUPPORT
23162      _nc_init_wacs();
23163 +
23164 +    SP->_screen_acs_fix = (_nc_unicode_locale() && _nc_locale_breaks_acs());
23165 +    {
23166 +       char *env = _nc_get_locale();
23167 +       SP->_posix_locale = ((env == 0)
23168 +                            || !strcmp(env, "C")
23169 +                            || !strcmp(env, "POSIX"));
23170 +    }
23171  #endif
23172 -    memcpy(SP->_acs_map, acs_map, sizeof(chtype) * ACS_LEN);
23173  
23174      _nc_idcok = TRUE;
23175      _nc_idlok = FALSE;
23176 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slk.c ncurses-5.3.20030906.orig/ncurses/base/lib_slk.c
23177 --- ncurses-5.3/ncurses/base/lib_slk.c  Sat Sep 28 12:46:40 2002
23178 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_slk.c    Sun Jul 20 14:02:08 2003
23179 @@ -1,5 +1,5 @@
23180  /****************************************************************************
23181 - * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
23182 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
23183   *                                                                          *
23184   * Permission is hereby granted, free of charge, to any person obtaining a  *
23185   * copy of this software and associated documentation files (the            *
23186 @@ -41,7 +41,7 @@
23187  #include <ctype.h>
23188  #include <term.h>              /* num_labels, label_*, plab_norm */
23189  
23190 -MODULE_ID("$Id: lib_slk.c,v 1.24 2002/09/28 17:46:40 tom Exp $")
23191 +MODULE_ID("$Id: lib_slk.c,v 1.28 2003/05/24 21:10:28 tom Exp $")
23192  
23193  /*
23194   * We'd like to move these into the screen context structure, but cannot,
23195 @@ -64,12 +64,26 @@
23196         wmove(win, 0, 0);
23197  
23198         for (i = 0; i < SP->_slk->maxlab; i++) {
23199 -           mvwprintw(win, 0, SP->_slk->ent[i].x, "F%d", i + 1);
23200 +           mvwprintw(win, 0, SP->_slk->ent[i].ent_x, "F%d", i + 1);
23201         }
23202      }
23203  }
23204  
23205  /*
23206 + * Free any memory related to soft labels, return an error.
23207 + */
23208 +static int
23209 +slk_failed(void)
23210 +{
23211 +    if (SP->_slk) {
23212 +       FreeIfNeeded(SP->_slk->ent);
23213 +       free(SP->_slk);
23214 +       SP->_slk = (SLK *) 0;
23215 +    }
23216 +    return ERR;
23217 +}
23218 +
23219 +/*
23220   * Initialize soft labels.
23221   * Called from newterm()
23222   */
23223 @@ -78,19 +92,26 @@
23224  {
23225      int i, x;
23226      int res = OK;
23227 -    char *p;
23228      unsigned max_length;
23229  
23230 -    T(("slk_initialize()"));
23231 +    T((T_CALLED("_nc_slk_initialize()")));
23232  
23233      if (SP->_slk) {            /* we did this already, so simply return */
23234 -       return (OK);
23235 +       returnCode(OK);
23236      } else if ((SP->_slk = typeCalloc(SLK, 1)) == 0)
23237 -       return (ERR);
23238 +       returnCode(ERR);
23239  
23240      SP->_slk->ent = NULL;
23241 -    SP->_slk->buffer = NULL;
23242 -    SP->_slk->attr = A_STANDOUT;
23243 +
23244 +    /*
23245 +     * If we use colors, vidputs() will suppress video attributes that conflict
23246 +     * with colors.  In that case, we're still guaranteed that "reverse" would
23247 +     * work.
23248 +     */
23249 +    if ((no_color_video & 1) == 0)
23250 +       SP->_slk->attr = A_STANDOUT;
23251 +    else
23252 +       SP->_slk->attr = A_REVERSE;
23253  
23254      SP->_slk->maxlab = ((num_labels > 0)
23255                         ? num_labels
23256 @@ -106,19 +127,19 @@
23257         || SP->_slk->labcnt <= 0
23258         || (SP->_slk->ent = typeCalloc(slk_ent,
23259                                        (unsigned) SP->_slk->labcnt)) == NULL)
23260 -       goto exception;
23261 +       returnCode(slk_failed());
23262  
23263      max_length = SP->_slk->maxlen;
23264 -    p = SP->_slk->buffer = (char *) calloc((unsigned) (2 * SP->_slk->labcnt),
23265 -                                          (1 + max_length));
23266 -    if (SP->_slk->buffer == NULL)
23267 -       goto exception;
23268 -
23269      for (i = 0; i < SP->_slk->labcnt; i++) {
23270 -       SP->_slk->ent[i].text = p;
23271 -       p += (1 + max_length);
23272 -       SP->_slk->ent[i].form_text = p;
23273 -       p += (1 + max_length);
23274 +
23275 +       if ((SP->_slk->ent[i].ent_text = (char *)_nc_doalloc(0, max_length + 1)) == 0)
23276 +           returnCode(slk_failed());
23277 +       memset(SP->_slk->ent[i].ent_text, 0, max_length + 1);
23278 +
23279 +       if ((SP->_slk->ent[i].form_text = (char *)_nc_doalloc(0, max_length + 1)) == 0)
23280 +           returnCode(slk_failed());
23281 +       memset(SP->_slk->ent[i].form_text, 0, max_length + 1);
23282 +
23283         memset(SP->_slk->ent[i].form_text, ' ', max_length);
23284         SP->_slk->ent[i].visible = (i < SP->_slk->maxlab);
23285      }
23286 @@ -129,7 +150,7 @@
23287             gap = 1;
23288  
23289         for (i = x = 0; i < SP->_slk->maxlab; i++) {
23290 -           SP->_slk->ent[i].x = x;
23291 +           SP->_slk->ent[i].ent_x = x;
23292             x += max_length;
23293             x += (i == 3 || i == 7) ? gap : 1;
23294         }
23295 @@ -141,7 +162,7 @@
23296             if (gap < 1)
23297                 gap = 1;
23298             for (i = x = 0; i < SP->_slk->maxlab; i++) {
23299 -               SP->_slk->ent[i].x = x;
23300 +               SP->_slk->ent[i].ent_x = x;
23301                 x += max_length;
23302                 x += (i == 3) ? gap : 1;
23303             }
23304 @@ -153,24 +174,17 @@
23305                 if (gap < 1)
23306                     gap = 1;
23307                 for (i = x = 0; i < SP->_slk->maxlab; i++) {
23308 -                   SP->_slk->ent[i].x = x;
23309 +                   SP->_slk->ent[i].ent_x = x;
23310                     x += max_length;
23311                     x += (i == 2 || i == 4) ? gap : 1;
23312                 }
23313             } else
23314 -               goto exception;
23315 +               returnCode(slk_failed());
23316         }
23317      }
23318      SP->_slk->dirty = TRUE;
23319      if ((SP->_slk->win = stwin) == NULL) {
23320 -      exception:
23321 -       if (SP->_slk) {
23322 -           FreeIfNeeded(SP->_slk->buffer);
23323 -           FreeIfNeeded(SP->_slk->ent);
23324 -           free(SP->_slk);
23325 -           SP->_slk = (SLK *) 0;
23326 -           res = (ERR);
23327 -       }
23328 +       returnCode(slk_failed());
23329      }
23330  
23331      /* We now reset the format so that the next newterm has again
23332 @@ -179,7 +193,7 @@
23333       */
23334      SP->slk_format = _nc_slk_format;
23335      _nc_slk_format = 0;
23336 -    return (res);
23337 +    returnCode(res);
23338  }
23339  
23340  /*
23341 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slklab.c ncurses-5.3.20030906.orig/ncurses/base/lib_slklab.c
23342 --- ncurses-5.3/ncurses/base/lib_slklab.c       Sat Dec  9 20:43:27 2000
23343 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_slklab.c Tue May 13 20:08:22 2003
23344 @@ -1,5 +1,5 @@
23345  /****************************************************************************
23346 - * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
23347 + * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
23348   *                                                                          *
23349   * Permission is hereby granted, free of charge, to any person obtaining a  *
23350   * copy of this software and associated documentation files (the            *
23351 @@ -38,7 +38,7 @@
23352   */
23353  #include <curses.priv.h>
23354  
23355 -MODULE_ID("$Id: lib_slklab.c,v 1.6 2000/12/10 02:43:27 tom Exp $")
23356 +MODULE_ID("$Id: lib_slklab.c,v 1.7 2003/03/29 22:53:48 tom Exp $")
23357  
23358  NCURSES_EXPORT(char *)
23359  slk_label(int n)
23360 @@ -47,5 +47,5 @@
23361  
23362      if (SP == NULL || SP->_slk == NULL || n < 1 || n > SP->_slk->labcnt)
23363         returnPtr(0);
23364 -    returnPtr(SP->_slk->ent[n - 1].text);
23365 +    returnPtr(SP->_slk->ent[n - 1].ent_text);
23366  }
23367 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slkrefr.c ncurses-5.3.20030906.orig/ncurses/base/lib_slkrefr.c
23368 --- ncurses-5.3/ncurses/base/lib_slkrefr.c      Sat Dec  9 20:43:27 2000
23369 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_slkrefr.c        Tue May 13 20:08:22 2003
23370 @@ -1,5 +1,5 @@
23371  /****************************************************************************
23372 - * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
23373 + * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
23374   *                                                                          *
23375   * Permission is hereby granted, free of charge, to any person obtaining a  *
23376   * copy of this software and associated documentation files (the            *
23377 @@ -38,7 +38,7 @@
23378  #include <curses.priv.h>
23379  #include <term.h>              /* num_labels, label_*, plab_norm */
23380  
23381 -MODULE_ID("$Id: lib_slkrefr.c,v 1.10 2000/12/10 02:43:27 tom Exp $")
23382 +MODULE_ID("$Id: lib_slkrefr.c,v 1.11 2003/03/29 22:53:48 tom Exp $")
23383  
23384  /*
23385   * Write the soft labels to the soft-key window.
23386 @@ -58,7 +58,7 @@
23387                         putp(tparm(plab_norm, i + 1, slk->ent[i].form_text));
23388                     }
23389                 } else {
23390 -                   wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].x);
23391 +                   wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].ent_x);
23392                     if (SP && SP->_slk)
23393                         wattrset(slk->win, SP->_slk->attr);
23394                     waddnstr(slk->win, slk->ent[i].form_text,
23395 diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slkset.c ncurses-5.3.20030906.orig/ncurses/base/lib_slkset.c
23396 --- ncurses-5.3/ncurses/base/lib_slkset.c       Sat Jun  2 17:50:29 2001
23397 +++ ncurses-5.3.20030906.orig/ncurses/base/lib_slkset.c Tue May 13 20:08:22 2003
23398 @@ -1,5 +1,5 @@
23399  /****************************************************************************
23400 - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
23401 + * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
23402   *                                                                          *
23403   * Permission is hereby granted, free of charge, to any person obtaining a  *
23404   * copy of this software and associated documentation files (the            *
23405 @@ -38,13 +38,14 @@
23406  #include <curses.priv.h>
23407  #include <ctype.h>
23408  
23409 -MODULE_ID("$Id: lib_slkset.c,v 1.7 2001/06/02 22:50:29 skimo Exp $")
23410 +MODULE_ID("$Id: lib_slkset.c,v 1.10 2003/04/12 21:32:16 tom Exp $")
23411  
23412  NCURSES_EXPORT(int)
23413  slk_set(int i, const char *astr, int format)
23414  {
23415      SLK *slk = SP->_slk;
23416      size_t len;
23417 +    int offset;
23418      const char *str = astr;
23419      const char *p;
23420  
23421 @@ -64,33 +65,30 @@
23422      --i;                       /* Adjust numbering of labels */
23423  
23424      len = (size_t) (p - str);
23425 -    if (len > (unsigned) slk->maxlen)
23426 +    if (len > (size_t) slk->maxlen)
23427         len = slk->maxlen;
23428      if (len == 0)
23429 -       slk->ent[i].text[0] = 0;
23430 +       slk->ent[i].ent_text[0] = 0;
23431      else
23432 -       (void) strncpy(slk->ent[i].text, str, len);
23433 +       strncpy(slk->ent[i].ent_text, str, len)[len] = 0;
23434      memset(slk->ent[i].form_text, ' ', (unsigned) slk->maxlen);
23435 -    slk->ent[i].text[slk->maxlen] = 0;
23436 -    /* len = strlen(slk->ent[i].text); */
23437 +    slk->ent[i].ent_text[slk->maxlen] = 0;
23438  
23439      switch (format) {
23440 +    default:
23441      case 0:                    /* left-justified */
23442 -       memcpy(slk->ent[i].form_text,
23443 -              slk->ent[i].text,
23444 -              len);
23445 +       offset = 0;
23446         break;
23447      case 1:                    /* centered */
23448 -       memcpy(slk->ent[i].form_text + (slk->maxlen - len) / 2,
23449 -              slk->ent[i].text,
23450 -              len);
23451 +       offset = (slk->maxlen - len) / 2;
23452         break;
23453      case 2:                    /* right-justified */
23454 -       memcpy(slk->ent[i].form_text + slk->maxlen - len,
23455 -              slk->ent[i].text,
23456 -              len);
23457 +       offset = slk->maxlen - len;
23458         break;
23459      }
23460 +    memcpy(slk->ent[i].form_text + offset,
23461 +          slk->ent[i].ent_text,
23462 +          len);
23463      slk->ent[i].form_text[slk->maxlen] = 0;
23464      slk->ent[i].dirty = TRUE;
23465      returnCode(OK);
23466 diff -urNd -urNd ncurses-5.3/ncurses/base/resizeterm.c ncurses-5.3.20030906.orig/ncurses/base/resizeterm.c
23467 --- ncurses-5.3/ncurses/base/resizeterm.c       Sat Jul 13 16:32:57 2002
23468 +++ ncurses-5.3.20030906.orig/ncurses/base/resizeterm.c Tue May 13 20:08:22 2003
23469 @@ -41,10 +41,13 @@
23470  #include <curses.priv.h>
23471  #include <term.h>
23472  
23473 -MODULE_ID("$Id: resizeterm.c,v 1.14 2002/07/13 21:32:57 tom Exp $")
23474 +MODULE_ID("$Id: resizeterm.c,v 1.15 2002/12/28 01:21:34 tom Exp $")
23475  
23476  #define stolen_lines (screen_lines - SP->_lines_avail)
23477  
23478 +static int current_lines;
23479 +static int current_cols;
23480 +
23481  NCURSES_EXPORT(bool)
23482  is_term_resized(int ToLines, int ToCols)
23483  {
23484 @@ -99,7 +102,7 @@
23485  adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen)
23486  {
23487      int result;
23488 -    int bottom = screen_lines + SP->_topstolen - stolen;
23489 +    int bottom = current_lines + SP->_topstolen - stolen;
23490      int myLines = win->_maxy + 1;
23491      int myCols = win->_maxx + 1;
23492  
23493 @@ -109,13 +112,13 @@
23494         getbegy(win), getbegx(win)));
23495  
23496      if (win->_begy >= bottom) {
23497 -       win->_begy += (ToLines - screen_lines);
23498 +       win->_begy += (ToLines - current_lines);
23499      } else {
23500 -       if (myLines == screen_lines - stolen
23501 -           && ToLines != screen_lines)
23502 +       if (myLines == current_lines - stolen
23503 +           && ToLines != current_lines)
23504             myLines = ToLines - stolen;
23505 -       else if (myLines == screen_lines
23506 -                && ToLines != screen_lines)
23507 +       else if (myLines == current_lines
23508 +                && ToLines != current_lines)
23509             myLines = ToLines;
23510      }
23511  
23512 @@ -125,12 +128,12 @@
23513      if (myCols > ToCols)
23514         myCols = ToCols;
23515  
23516 -    if (myLines == screen_lines
23517 -       && ToLines != screen_lines)
23518 -       myCols = ToLines;
23519 +    if (myLines == current_lines
23520 +       && ToLines != current_lines)
23521 +       myLines = ToLines;
23522  
23523 -    if (myCols == screen_columns
23524 -       && ToCols != screen_columns)
23525 +    if (myCols == current_cols
23526 +       && ToCols != current_cols)
23527         myCols = ToCols;
23528  
23529      result = wresize(win, myLines, myCols);
23530 @@ -216,15 +219,19 @@
23531         screen_lines, screen_columns));
23532  
23533      if (is_term_resized(ToLines, ToCols)) {
23534 -       int myLines = screen_lines;
23535 -       int myCols = screen_columns;
23536 +       int myLines = current_lines = screen_lines;
23537 +       int myCols = current_cols = screen_columns;
23538  
23539         if (ToLines > screen_lines) {
23540             increase_size(myLines = ToLines, myCols, was_stolen);
23541 +           current_lines = myLines;
23542 +           current_cols = myCols;
23543         }
23544  
23545         if (ToCols > screen_columns) {
23546             increase_size(myLines, myCols = ToCols, was_stolen);
23547 +           current_lines = myLines;
23548 +           current_cols = myCols;
23549         }
23550  
23551         if (ToLines < myLines ||
23552 diff -urNd -urNd ncurses-5.3/ncurses/base/safe_sprintf.c ncurses-5.3.20030906.orig/ncurses/base/safe_sprintf.c
23553 --- ncurses-5.3/ncurses/base/safe_sprintf.c     Sat Jul  7 19:58:34 2001
23554 +++ ncurses-5.3.20030906.orig/ncurses/base/safe_sprintf.c       Fri Sep 12 16:41:56 2003
23555 @@ -1,5 +1,5 @@
23556  /****************************************************************************
23557 - * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
23558 + * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
23559   *                                                                          *
23560   * Permission is hereby granted, free of charge, to any person obtaining a  *
23561   * copy of this software and associated documentation files (the            *
23562 @@ -33,7 +33,7 @@
23563  #include <curses.priv.h>
23564  #include <ctype.h>
23565  
23566 -MODULE_ID("$Id: safe_sprintf.c,v 1.14 2001/07/08 00:58:34 tom Exp $")
23567 +MODULE_ID("$Id: safe_sprintf.c,v 1.18 2003/08/09 21:52:04 tom Exp $")
23568  
23569  #if USE_SAFE_SPRINTF
23570  
23571 @@ -56,10 +56,13 @@
23572      char *buffer;
23573      char *format;
23574      int len = 0;
23575 +    size_t fmt_len;
23576 +    char fmt_arg[BUFSIZ];
23577  
23578      if (fmt == 0 || *fmt == '\0')
23579 -       return -1;
23580 -    if ((format = typeMalloc(char, strlen(fmt) + 1)) == 0)
23581 +       return 0;
23582 +    fmt_len = strlen(fmt) + 1;
23583 +    if ((format = typeMalloc(char, fmt_len)) == 0)
23584           return -1;
23585      if ((buffer = typeMalloc(char, length)) == 0) {
23586         free(format);
23587 @@ -106,7 +109,12 @@
23588                     } else if (state == Prec) {
23589                         prec = ival;
23590                     }
23591 -                   sprintf(&format[--f], "%d", ival);
23592 +                   sprintf(fmt_arg, "%d", ival);
23593 +                   fmt_len += strlen(fmt_arg);
23594 +                   if ((format = realloc(format, fmt_len)) == 0) {
23595 +                       return -1;
23596 +                   }
23597 +                   strcpy(&format[--f], fmt_arg);
23598                     f = strlen(format);
23599                 } else if (isalpha(UChar(*fmt))) {
23600                     done = TRUE;
23601 @@ -203,42 +211,52 @@
23602   * Wrapper for vsprintf that allocates a buffer big enough to hold the result.
23603   */
23604  NCURSES_EXPORT(char *)
23605 -_nc_printf_string
23606 -(const char *fmt, va_list ap)
23607 +_nc_printf_string(const char *fmt, va_list ap)
23608  {
23609 +    static char *buf;
23610 +    static size_t used;
23611 +    char *result = 0;
23612 +
23613 +    if (fmt != 0) {
23614  #if USE_SAFE_SPRINTF
23615 -    char *buf = 0;
23616 -    int len = _nc_printf_length(fmt, ap);
23617 +       int len = _nc_printf_length(fmt, ap);
23618  
23619 -    if (len > 0) {
23620 -       if ((buf = typeMalloc(char, len + 1)) == 0)
23621 -             return (0);
23622 -       vsprintf(buf, fmt, ap);
23623 -    }
23624 +       if ((int) used < len + 1) {
23625 +           used = 2 * (len + 1);
23626 +           buf = typeRealloc(char, used, buf);
23627 +       }
23628 +       if (buf != 0) {
23629 +           *buf = '\0';
23630 +           if (len >= 0) {
23631 +               vsprintf(buf, fmt, ap);
23632 +           }
23633 +           result = buf;
23634 +       }
23635  #else
23636 -    static int rows, cols;
23637 -    static char *buf;
23638 -    static size_t len;
23639 +       static int rows, cols;
23640  
23641 -    if (screen_lines > rows || screen_columns > cols) {
23642 -       if (screen_lines > rows)
23643 -           rows = screen_lines;
23644 -       if (screen_columns > cols)
23645 -           cols = screen_columns;
23646 -       len = (rows * (cols + 1)) + 1;
23647 -       buf = typeRealloc(char, len, buf);
23648 -       if (buf == 0) {
23649 -           return (0);
23650 +       if (screen_lines > rows || screen_columns > cols) {
23651 +           if (screen_lines > rows)
23652 +               rows = screen_lines;
23653 +           if (screen_columns > cols)
23654 +               cols = screen_columns;
23655 +           used = (rows * (cols + 1)) + 1;
23656 +           buf = typeRealloc(char, used, buf);
23657         }
23658 -    }
23659  
23660 -    if (buf != 0) {
23661 +       if (buf != 0) {
23662  # if HAVE_VSNPRINTF
23663 -       vsnprintf(buf, len, fmt, ap);   /* GNU extension */
23664 +           vsnprintf(buf, used, fmt, ap);      /* GNU extension */
23665  # else
23666 -       vsprintf(buf, fmt, ap); /* ANSI */
23667 +           vsprintf(buf, fmt, ap);     /* ANSI */
23668  # endif
23669 -    }
23670 +           result = buf;
23671 +       }
23672  #endif
23673 -    return buf;
23674 +    } else if (buf != 0) {     /* see _nc_freeall() */
23675 +       free(buf);
23676 +       buf = 0;
23677 +       used = 0;
23678 +    }
23679 +    return result;
23680  }
23681 diff -urNd -urNd ncurses-5.3/ncurses/base/tries.c ncurses-5.3.20030906.orig/ncurses/base/tries.c
23682 --- ncurses-5.3/ncurses/base/tries.c    Sat Dec 15 18:50:40 2001
23683 +++ ncurses-5.3.20030906.orig/ncurses/base/tries.c      Sun Jul 20 14:02:08 2003
23684 @@ -1,5 +1,5 @@
23685  /****************************************************************************
23686 - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
23687 + * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
23688   *                                                                          *
23689   * Permission is hereby granted, free of charge, to any person obtaining a  *
23690   * copy of this software and associated documentation files (the            *
23691 @@ -39,15 +39,14 @@
23692  
23693  #include <curses.priv.h>
23694  
23695 -MODULE_ID("$Id: tries.c,v 1.15 2001/12/16 00:50:40 tom Exp $")
23696 +MODULE_ID("$Id: tries.c,v 1.19 2003/05/17 23:11:24 tom Exp $")
23697  
23698  /*
23699   * Expand a keycode into the string that it corresponds to, returning null if
23700   * no match was found, otherwise allocating a string of the result.
23701   */
23702  NCURSES_EXPORT(char *)
23703 -_nc_expand_try
23704 -(struct tries *tree, unsigned short code, int *count, size_t len)
23705 +_nc_expand_try(struct tries *tree, unsigned short code, int *count, size_t len)
23706  {
23707      struct tries *ptr = tree;
23708      char *result = 0;
23709 @@ -84,8 +83,7 @@
23710   * true if the code was found/removed.
23711   */
23712  NCURSES_EXPORT(int)
23713 -_nc_remove_key
23714 -(struct tries **tree, unsigned short code)
23715 +_nc_remove_key(struct tries **tree, unsigned short code)
23716  {
23717      T((T_CALLED("_nc_remove_key(%p,%d)"), tree, code));
23718  
23719 @@ -117,7 +115,7 @@
23720   * true if the string was found/removed.
23721   */
23722  NCURSES_EXPORT(int)
23723 -_nc_remove_string(struct tries **tree, char *string)
23724 +_nc_remove_string(struct tries **tree, const char *string)
23725  {
23726      T((T_CALLED("_nc_remove_string(%p,%s)"), tree, _nc_visbuf(string)));
23727  
23728 @@ -125,18 +123,17 @@
23729         returnCode(FALSE);
23730  
23731      while (*tree != 0) {
23732 -       if ((unsigned char) (*tree)->ch == (unsigned char) *string) {
23733 +       if (UChar((*tree)->ch) == UChar(*string)) {
23734             if (string[1] != 0)
23735                 returnCode(_nc_remove_string(&(*tree)->child, string + 1));
23736 -           if ((*tree)->child) {
23737 -               /* don't cut the whole sub-tree */
23738 -               (*tree)->value = 0;
23739 -           } else {
23740 +           if ((*tree)->child == 0) {
23741                 struct tries *to_free = *tree;
23742                 *tree = (*tree)->sibling;
23743                 free(to_free);
23744 +               returnCode(TRUE);
23745 +           } else {
23746 +               returnCode(FALSE);
23747             }
23748 -           returnCode(TRUE);
23749         }
23750         tree = &(*tree)->sibling;
23751      }
23752 diff -urNd -urNd ncurses-5.3/ncurses/base/vsscanf.c ncurses-5.3.20030906.orig/ncurses/base/vsscanf.c
23753 --- ncurses-5.3/ncurses/base/vsscanf.c  Sat Sep  7 12:27:56 2002
23754 +++ ncurses-5.3.20030906.orig/ncurses/base/vsscanf.c    Sun Jul 20 14:02:08 2003
23755 @@ -38,7 +38,7 @@
23756  
23757  #if !HAVE_VSSCANF
23758  
23759 -MODULE_ID("$Id: vsscanf.c,v 1.16 2002/09/07 17:27:56 tom Exp $")
23760 +MODULE_ID("$Id: vsscanf.c,v 1.17 2003/05/24 21:10:28 tom Exp $")
23761  
23762  #if !(HAVE_VFSCANF || HAVE__DOSCAN)
23763  
23764 @@ -230,7 +230,7 @@
23765                 /* find a chunk */
23766                 state = sUnknown;
23767                 chunk = cUnknown;
23768 -               other = cUnknown;
23769 +               other = oUnknown;
23770                 pointer = 0;
23771                 for (n = 0; format[n] != 0 && state != sFinal; ++n) {
23772                     my_fmt[n] = format[n];
23773 diff -urNd -urNd ncurses-5.3/ncurses/curses.priv.h ncurses-5.3.20030906.orig/ncurses/curses.priv.h
23774 --- ncurses-5.3/ncurses/curses.priv.h   Sat Oct 12 10:49:10 2002
23775 +++ ncurses-5.3.20030906.orig/ncurses/curses.priv.h     Fri Sep 12 16:42:24 2003
23776 @@ -1,5 +1,5 @@
23777  /****************************************************************************
23778 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
23779 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
23780   *                                                                          *
23781   * Permission is hereby granted, free of charge, to any person obtaining a  *
23782   * copy of this software and associated documentation files (the            *
23783 @@ -34,7 +34,7 @@
23784  
23785  
23786  /*
23787 - * $Id: curses.priv.h,v 1.228 2002/10/12 15:49:10 tom Exp $
23788 + * $Id: curses.priv.h,v 1.252 2003/08/23 21:38:49 tom Exp $
23789   *
23790   *     curses.priv.h
23791   *
23792 @@ -130,7 +130,9 @@
23793  
23794  /* EMX mouse support */
23795  #ifdef __EMX__
23796 -#define USE_EMX_MOUSE
23797 +#define USE_EMX_MOUSE 1
23798 +#else
23799 +#define USE_EMX_MOUSE 0
23800  #endif
23801  
23802  #define DEFAULT_MAXCLICK 166
23803 @@ -259,21 +261,32 @@
23804  
23805  struct ldat
23806  {
23807 -       NCURSES_CH_T    *text;          /* text of the line */
23808 -       NCURSES_SIZE_T  firstchar;      /* first changed character in the line */
23809 -       NCURSES_SIZE_T  lastchar;       /* last changed character in the line */
23810 -       NCURSES_SIZE_T  oldindex;       /* index of the line at last update */
23811 +       NCURSES_CH_T    *text;          /* text of the line */
23812 +       NCURSES_SIZE_T  firstchar;      /* first changed character in the line */
23813 +       NCURSES_SIZE_T  lastchar;       /* last changed character in the line */
23814 +       NCURSES_SIZE_T  oldindex;       /* index of the line at last update */
23815  };
23816  
23817 +typedef enum {
23818 +       M_XTERM = -1            /* use xterm's mouse tracking? */
23819 +       ,M_NONE = 0             /* no mouse device */
23820 +#if USE_GPM_SUPPORT
23821 +       ,M_GPM                  /* use GPM */
23822 +#endif
23823 +#if USE_SYSMOUSE
23824 +       ,M_SYSMOUSE             /* FreeBSD sysmouse on console */
23825 +#endif
23826 +} MouseType;
23827 +
23828  /*
23829   * Structure for soft labels.
23830   */
23831  
23832  typedef struct
23833  {
23834 -       char *text;             /* text for the label */
23835 +       char *ent_text;         /* text for the label */
23836         char *form_text;        /* formatted text (left/center/...) */
23837 -       int x;                  /* x coordinate of this field */
23838 +       int ent_x;              /* x coordinate of this field */
23839         char dirty;             /* this label has changed */
23840         char visible;           /* field is visible */
23841  } slk_ent;
23842 @@ -283,11 +296,10 @@
23843         char hidden;            /* soft labels are hidden */
23844         WINDOW *win;
23845         slk_ent *ent;
23846 -       char*  buffer;           /* buffer for labels */
23847 -       short  maxlab;           /* number of available labels */
23848 -       short  labcnt;           /* number of allocated labels */
23849 -       short  maxlen;           /* length of labels */
23850 -        chtype attr;             /* soft label attribute */
23851 +       short  maxlab;          /* number of available labels */
23852 +       short  labcnt;          /* number of allocated labels */
23853 +       short  maxlen;          /* length of labels */
23854 +       chtype attr;            /* soft label attribute */
23855  } SLK;
23856  
23857  typedef struct {
23858 @@ -308,7 +320,7 @@
23859         char            *_setbuf;       /* buffered I/O for output          */
23860         int             _buffered;      /* setvbuf uses _setbuf data        */
23861         int             _checkfd;       /* filedesc for typeahead check     */
23862 -       struct term     *_term;         /* terminal type information        */
23863 +       TERMINAL        *_term;         /* terminal type information        */
23864         short           _lines;         /* screen lines                     */
23865         short           _columns;       /* screen columns                   */
23866  
23867 @@ -326,6 +338,7 @@
23868         bool            _tried;         /* keypad mode was initialized      */
23869         bool            _keypad_on;     /* keypad mode is currently on      */
23870  
23871 +       bool            _called_wgetch; /* check for recursion in wgetch()  */
23872         int             _fifo[FIFO_SIZE];       /* input push-back buffer   */
23873         short           _fifohead,      /* head of fifo queue               */
23874                         _fifotail,      /* tail of fifo queue               */
23875 @@ -339,6 +352,7 @@
23876         int             _cursor;        /* visibility of the cursor         */
23877         int             _cursrow;       /* physical cursor row              */
23878         int             _curscol;       /* physical cursor column           */
23879 +       bool            _notty;         /* true if we cannot switch non-tty */
23880         int             _nl;            /* True if NL -> CR/NL is on        */
23881         int             _raw;           /* True if in raw mode              */
23882         int             _cbreak;        /* 1 if in cbreak mode              */
23883 @@ -405,7 +419,7 @@
23884  #endif
23885         chtype          _xmc_suppress;  /* attributes to suppress if xmc     */
23886         chtype          _xmc_triggers;  /* attributes to process if xmc      */
23887 -       chtype          _acs_map[ACS_LEN];
23888 +       chtype          _acs_map[ACS_LEN]; /* the real alternate-charset map */
23889  
23890         /* used in lib_vidattr.c */
23891         bool            _use_rmso;      /* true if we may use 'rmso'         */
23892 @@ -426,6 +440,7 @@
23893         /*
23894          * These are the data that support the mouse interface.
23895          */
23896 +       MouseType       _mouse_type;
23897         int             _maxclick;
23898         bool            (*_mouse_event) (SCREEN *);
23899         bool            (*_mouse_inline)(SCREEN *);
23900 @@ -433,6 +448,16 @@
23901         void            (*_mouse_resume)(SCREEN *);
23902         void            (*_mouse_wrap)  (SCREEN *);
23903         int             _mouse_fd;      /* file-descriptor, if any */
23904 +       NCURSES_CONST char *_mouse_xtermcap; /* string to enable/disable mouse */
23905 +#if USE_SYSMOUSE
23906 +       MEVENT          _sysmouse_fifo[FIFO_SIZE];
23907 +       int             _sysmouse_head;
23908 +       int             _sysmouse_tail;
23909 +       int             _sysmouse_char_width;   /* character width */
23910 +       int             _sysmouse_char_height;  /* character height */
23911 +       int             _sysmouse_old_buttons;
23912 +       int             _sysmouse_new_buttons;
23913 +#endif
23914  
23915         /*
23916          * This supports automatic resizing
23917 @@ -461,6 +486,14 @@
23918         HASHMAP         *hashtab;
23919         int             hashtab_len;
23920  
23921 +       /* recent versions of 'screen' have partially-working support for
23922 +        * UTF-8, but do not permit ACS at the same time (see tty_update.c).
23923 +        */
23924 +#if USE_WIDEC_SUPPORT
23925 +       bool            _posix_locale;
23926 +       bool            _screen_acs_fix;
23927 +#endif
23928 +
23929         bool            _cleanup;       /* cleanup after int/quit signal */
23930         int             (*_outch)(int); /* output handler if not putc */
23931  };
23932 @@ -471,21 +504,19 @@
23933  #include <nomacros.h>
23934  #endif
23935  
23936 -/*
23937 - * The margins are used in resizeterm() to retain the original layout after
23938 - * resizing.
23939 - */
23940         WINDOWLIST {
23941 +       WINDOW  win;    /* first, so WINDOW_EXT() works */
23942         WINDOWLIST *next;
23943 -#if HAVE_RESIZETERM
23944 -       int     l_margin;
23945 -       int     r_margin;
23946 -       int     t_margin;
23947 -       int     b_margin;
23948 +#ifdef _XOPEN_SOURCE_EXTENDED
23949 +       char addch_work[(MB_LEN_MAX * 9) + 1];
23950 +       int addch_used;
23951 +       int addch_x;
23952 +       int addch_y;
23953  #endif
23954 -       WINDOW  win;
23955  };
23956  
23957 +#define WINDOW_EXT(win,field) (((WINDOWLIST *)(win))->field)
23958 +
23959  /* The terminfo source is assumed to be 7-bit ASCII */
23960  #define is7bits(c)     ((unsigned)(c) < 128)
23961  
23962 @@ -539,18 +570,29 @@
23963  #define O_BINARY 0
23964  #endif
23965  
23966 +#ifdef TRACE
23967 +#define TRACE_OUTCHARS(n) _nc_outchars += (n);
23968 +#else
23969 +#define TRACE_OUTCHARS(n) /* nothing */
23970 +#endif
23971 +
23972  #define UChar(c)       ((unsigned char)(c))
23973  #define ChCharOf(c)    ((c) & (chtype)A_CHARTEXT)
23974  #define ChAttrOf(c)     ((c) & (chtype)A_ATTRIBUTES)
23975  
23976 +#ifndef MB_LEN_MAX
23977 +#define MB_LEN_MAX 8 /* should be >= MB_CUR_MAX, but that may be a function */
23978 +#endif
23979 +
23980  #if USE_WIDEC_SUPPORT /* { */
23981 +#define NulChar                0,0,0,0 /* FIXME: see CCHARW_MAX */
23982  #define CharOf(c)      ((c).chars[0])
23983  #define AttrOf(c)      ((c).attr)
23984  #define AddAttr(c,a)   (c).attr |= a
23985  #define RemAttr(c,a)   (c).attr &= ~(a)
23986  #define SetAttr(c,a)   (c).attr = a
23987 -#define NewChar(ch)    { ChAttrOf(ch), { ChCharOf(ch) } }
23988 -#define NewChar2(c,a)  { a, { c } }
23989 +#define NewChar(ch)    { ChAttrOf(ch), { ChCharOf(ch), NulChar } }
23990 +#define NewChar2(c,a)  { a, { c, NulChar } }
23991  #define CharEq(a,b)    (!memcmp(&a, &b, sizeof(a)))
23992  #define SetChar(ch,c,a)        do {                                                        \
23993                             NCURSES_CH_T *_cp = &ch;                                \
23994 @@ -562,9 +604,14 @@
23995  #define CARG_CH_T      const NCURSES_CH_T *
23996  #define PUTC_DATA      char PUTC_buf[MB_LEN_MAX]; int PUTC_i, PUTC_n; \
23997                         mbstate_t PUT_st; wchar_t PUTC_ch
23998 +#define PUTC_INIT      memset (&PUT_st, '\0', sizeof (PUT_st));                    \
23999 +                       PUTC_i = 0
24000  #define PUTC(ch,b)     do { if(!isnac(ch)) {                                       \
24001 -                           memset (&PUT_st, '\0', sizeof (PUT_st));                \
24002 -                           PUTC_i = 0;                                             \
24003 +                       if (Charable(ch)) {                                         \
24004 +                           fputc(CharOf(ch), b);                                   \
24005 +                           TRACE_OUTCHARS(1);                                      \
24006 +                       } else {                                                    \
24007 +                           PUTC_INIT;                                              \
24008                             do {                                                    \
24009                                 PUTC_ch = PUTC_i < CCHARW_MAX ?                     \
24010                                             (ch).chars[PUTC_i] : L'\0';             \
24011 @@ -577,7 +624,8 @@
24012                                 fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b);          \
24013                                 ++PUTC_i;                                           \
24014                             } while (PUTC_ch != L'\0');                             \
24015 -                       } } while (0)
24016 +                           TRACE_OUTCHARS(PUTC_i);                                 \
24017 +                       } } } while (0)
24018  
24019  #define BLANK          { WA_NORMAL, ' ' }
24020  #define ISBLANK(ch)    ((ch).chars[0] == L' ' && (ch).chars[1] == L'\0')
24021 @@ -585,9 +633,10 @@
24022  #define WA_NAC         1
24023  #define isnac(ch)      (AttrOf(ch) & WA_NAC)
24024  #define if_WIDEC(code)  code
24025 -#define Charable(ch)   (!isnac(ch) &&                                  \
24026 -                        (ch).chars[1] == L'\0' &&                      \
24027 -                         (wctob(CharOf(ch)) == (char)CharOf(ch)))
24028 +#define Charable(ch)   ((SP != 0 && SP->_posix_locale)                 \
24029 +                        || (!isnac(ch) &&                              \
24030 +                            (ch).chars[1] == L'\0' &&                  \
24031 +                             _nc_is_charable(CharOf(ch))))
24032  
24033  #define L(ch)          L ## ch
24034  #else /* }{ */
24035 @@ -743,7 +792,7 @@
24036  
24037  #define ALL_BUT_COLOR ((chtype)~(A_COLOR))
24038  #define IGNORE_COLOR_OFF FALSE
24039 -#define NONBLANK_ATTR (A_BOLD|A_DIM|A_BLINK)
24040 +#define NONBLANK_ATTR (A_NORMAL|A_BOLD|A_DIM|A_BLINK)
24041  #define XMC_CHANGES(c) ((c) & SP->_xmc_suppress)
24042  
24043  #define toggle_attr_on(S,at) {\
24044 @@ -781,7 +830,7 @@
24045                 : ((enter_insert_mode && exit_insert_mode) \
24046                   ? SP->_smir_cost + SP->_rmir_cost + (SP->_ip_cost * count) \
24047                   : ((insert_character != 0) \
24048 -                   ? (SP->_ich1_cost * count) \
24049 +                   ? ((SP->_ich1_cost + SP->_ip_cost) * count) \
24050                     : INFINITY)))
24051  
24052  #if USE_XMC_SUPPORT
24053 @@ -847,6 +896,13 @@
24054  #define getcwd(buf,len) getwd(buf)
24055  #endif
24056  
24057 +/* charable.c */
24058 +#if USE_WIDEC_SUPPORT
24059 +extern NCURSES_EXPORT(bool) _nc_is_charable(wchar_t);
24060 +extern NCURSES_EXPORT(int) _nc_to_char(wint_t);
24061 +extern NCURSES_EXPORT(wint_t) _nc_to_widechar(int);
24062 +#endif
24063 +
24064  /* doupdate.c */
24065  #if USE_XMC_SUPPORT
24066  extern NCURSES_EXPORT(void) _nc_do_xmc_glitch (attr_t);
24067 @@ -872,6 +928,9 @@
24068  /* lib_getch.c */
24069  extern NCURSES_EXPORT(int) _nc_wgetch(WINDOW *, unsigned long *, int EVENTLIST_2nd(_nc_eventlist *));
24070  
24071 +/* lib_insch.c */
24072 +extern NCURSES_EXPORT(void) _nc_insert_ch(WINDOW *, chtype);
24073 +
24074  /* lib_mvcur.c */
24075  #define INFINITY       1000000 /* cost: too high to use */
24076  
24077 @@ -890,6 +949,12 @@
24078  
24079  /* lib_mvcur.c */
24080  #define INFINITY       1000000 /* cost: too high to use */
24081 +#define BAUDBYTE       9       /* 9 = 7 bits + 1 parity + 1 stop */
24082 +
24083 +/* lib_setup.c */
24084 +extern NCURSES_EXPORT(char *) _nc_get_locale(void);
24085 +extern NCURSES_EXPORT(int) _nc_unicode_locale(void);
24086 +extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(void);
24087  
24088  /* lib_wacs.c */
24089  #if USE_WIDEC_SUPPORT
24090 @@ -897,9 +962,10 @@
24091  #endif
24092  
24093  typedef struct {
24094 -    char *s_head;
24095 -    char *s_tail;
24096 -    size_t s_size;
24097 +    char *s_head;      /* beginning of the string (may be null) */
24098 +    char *s_tail;      /* end of the string (may be null) */
24099 +    size_t s_size;     /* current remaining size available */
24100 +    size_t s_init;     /* total size available */
24101  } string_desc;
24102  
24103  /* strings.c */
24104 @@ -931,14 +997,15 @@
24105  extern NCURSES_EXPORT(void) _nc_add_to_try (struct tries **, const char *, unsigned short);
24106  extern NCURSES_EXPORT(char *) _nc_expand_try (struct tries *, unsigned short, int *, size_t);
24107  extern NCURSES_EXPORT(int) _nc_remove_key (struct tries **, unsigned short);
24108 -extern NCURSES_EXPORT(int) _nc_remove_string (struct tries **, char *);
24109 +extern NCURSES_EXPORT(int) _nc_remove_string (struct tries **, const char *);
24110  
24111  /* elsewhere ... */
24112 +extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T);
24113  extern NCURSES_EXPORT(WINDOW *) _nc_makenew (int, int, int, int, int);
24114  extern NCURSES_EXPORT(char *) _nc_home_terminfo (void);
24115  extern NCURSES_EXPORT(char *) _nc_trace_buf (int, size_t);
24116 -extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T);
24117 -extern NCURSES_EXPORT(int)  _nc_access (const char *, int);
24118 +extern NCURSES_EXPORT(char *) _nc_trace_bufcat (int, const char *);
24119 +extern NCURSES_EXPORT(int) _nc_access (const char *, int);
24120  extern NCURSES_EXPORT(int) _nc_baudrate (int);
24121  extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *);
24122  extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
24123 diff -urNd -urNd ncurses-5.3/ncurses/llib-lncurses ncurses-5.3.20030906.orig/ncurses/llib-lncurses
24124 --- ncurses-5.3/ncurses/llib-lncurses   Sat Aug 31 16:34:07 2002
24125 +++ ncurses-5.3.20030906.orig/ncurses/llib-lncurses     Fri Sep 12 16:42:59 2003
24126 @@ -1,5 +1,5 @@
24127  /****************************************************************************
24128 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
24129 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
24130   *                                                                          *
24131   * Permission is hereby granted, free of charge, to any person obtaining a  *
24132   * copy of this software and associated documentation files (the            *
24133 @@ -27,7 +27,7 @@
24134   ****************************************************************************/
24135  
24136  /****************************************************************************
24137 - *  Author: Thomas E. Dickey 1996-2001,2002                                 *
24138 + *  Author: Thomas E. Dickey 1996-2002,2003                                 *
24139   ****************************************************************************/
24140  /* LINTLIBRARY */
24141  
24142 @@ -59,8 +59,8 @@
24143  
24144  #undef _nc_scroll_oldhash
24145  void   _nc_scroll_oldhash(
24146 -               int     n, 
24147 -               int     top, 
24148 +               int     n,
24149 +               int     top,
24150                 int     bot)
24151                 { /* void */ }
24152  
24153 @@ -70,25 +70,25 @@
24154  
24155  #undef _nc_render
24156  chtype _nc_render(
24157 -               WINDOW  *win, 
24158 +               WINDOW  *win,
24159                 chtype  ch)
24160                 { return(*(chtype *)0); }
24161  
24162  #undef _nc_waddch_nosync
24163  int    _nc_waddch_nosync(
24164 -               WINDOW  *win, 
24165 +               WINDOW  *win,
24166                 const chtype c)
24167                 { return(*(int *)0); }
24168  
24169  #undef waddch
24170  int    waddch(
24171 -               WINDOW  *win, 
24172 +               WINDOW  *win,
24173                 const chtype ch)
24174                 { return(*(int *)0); }
24175  
24176  #undef wechochar
24177  int    wechochar(
24178 -               WINDOW  *win, 
24179 +               WINDOW  *win,
24180                 const chtype ch)
24181                 { return(*(int *)0); }
24182  
24183 @@ -96,15 +96,15 @@
24184  
24185  #undef waddnstr
24186  int    waddnstr(
24187 -               WINDOW  *win, 
24188 -               const char *astr, 
24189 +               WINDOW  *win,
24190 +               const char *astr,
24191                 int     n)
24192                 { return(*(int *)0); }
24193  
24194  #undef waddchnstr
24195  int    waddchnstr(
24196 -               WINDOW  *win, 
24197 -               const chtype *astr, 
24198 +               WINDOW  *win,
24199 +               const chtype *astr,
24200                 int     n)
24201                 { return(*(int *)0); }
24202  
24203 @@ -118,13 +118,13 @@
24204  
24205  #undef wbkgdset
24206  void   wbkgdset(
24207 -               WINDOW  *win, 
24208 +               WINDOW  *win,
24209                 chtype  ch)
24210                 { /* void */ }
24211  
24212  #undef wbkgd
24213  int    wbkgd(
24214 -               WINDOW  *win, 
24215 +               WINDOW  *win,
24216                 chtype  ch)
24217                 { return(*(int *)0); }
24218  
24219 @@ -132,14 +132,14 @@
24220  
24221  #undef wborder
24222  int    wborder(
24223 -               WINDOW  *win, 
24224 -               chtype  ls, 
24225 -               chtype  rs, 
24226 -               chtype  ts, 
24227 -               chtype  bs, 
24228 -               chtype  tl, 
24229 -               chtype  tr, 
24230 -               chtype  bl, 
24231 +               WINDOW  *win,
24232 +               chtype  ls,
24233 +               chtype  rs,
24234 +               chtype  ts,
24235 +               chtype  bs,
24236 +               chtype  tl,
24237 +               chtype  tr,
24238 +               chtype  bl,
24239                 chtype  br)
24240                 { return(*(int *)0); }
24241  
24242 @@ -147,10 +147,10 @@
24243  
24244  #undef wchgat
24245  int    wchgat(
24246 -               WINDOW  *win, 
24247 -               int     n, 
24248 -               attr_t  attr, 
24249 -               short   color, 
24250 +               WINDOW  *win,
24251 +               int     n,
24252 +               attr_t  attr,
24253 +               short   color,
24254                 const void *opts)
24255                 { return(*(int *)0); }
24256  
24257 @@ -165,7 +165,7 @@
24258  
24259  #undef clearok
24260  int    clearok(
24261 -               WINDOW  *win, 
24262 +               WINDOW  *win,
24263                 NCURSES_BOOL flag)
24264                 { return(*(int *)0); }
24265  
24266 @@ -192,22 +192,26 @@
24267  #undef COLORS
24268  int    COLORS;
24269  
24270 +#undef _nc_reset_colors
24271 +NCURSES_BOOL _nc_reset_colors(void)
24272 +               { return(*(NCURSES_BOOL *)0); }
24273 +
24274  #undef start_color
24275  int    start_color(void)
24276                 { return(*(int *)0); }
24277  
24278  #undef init_pair
24279  int    init_pair(
24280 -               short   pair, 
24281 -               short   f, 
24282 +               short   pair,
24283 +               short   f,
24284                 short   b)
24285                 { return(*(int *)0); }
24286  
24287  #undef init_color
24288  int    init_color(
24289 -               short   color, 
24290 -               short   r, 
24291 -               short   g, 
24292 +               short   color,
24293 +               short   r,
24294 +               short   g,
24295                 short   b)
24296                 { return(*(int *)0); }
24297  
24298 @@ -221,24 +225,24 @@
24299  
24300  #undef color_content
24301  int    color_content(
24302 -               short   color, 
24303 -               short   *r, 
24304 -               short   *g, 
24305 +               short   color,
24306 +               short   *r,
24307 +               short   *g,
24308                 short   *b)
24309                 { return(*(int *)0); }
24310  
24311  #undef pair_content
24312  int    pair_content(
24313 -               short   pair, 
24314 -               short   *f, 
24315 +               short   pair,
24316 +               short   *f,
24317                 short   *b)
24318                 { return(*(int *)0); }
24319  
24320  #undef _nc_do_color
24321  void   _nc_do_color(
24322 -               int     old_pair, 
24323 -               int     pair, 
24324 -               NCURSES_BOOL reverse, 
24325 +               int     old_pair,
24326 +               int     pair,
24327 +               NCURSES_BOOL reverse,
24328                 int     (*outc)(
24329                 int     p1))
24330                 { /* void */ }
24331 @@ -247,8 +251,8 @@
24332  
24333  #undef wcolor_set
24334  int    wcolor_set(
24335 -               WINDOW  *win, 
24336 -               short   color_pair_number, 
24337 +               WINDOW  *win,
24338 +               short   color_pair_number,
24339                 void    *opts)
24340                 { return(*(int *)0); }
24341  
24342 @@ -304,7 +308,7 @@
24343  
24344  #undef addchnstr
24345  int    addchnstr(
24346 -               const chtype *a1, 
24347 +               const chtype *a1,
24348                 int     z)
24349                 { return(*(int *)0); }
24350  
24351 @@ -315,7 +319,7 @@
24352  
24353  #undef addnstr
24354  int    addnstr(
24355 -               const char *a1, 
24356 +               const char *a1,
24357                 int     z)
24358                 { return(*(int *)0); }
24359  
24360 @@ -341,27 +345,27 @@
24361  
24362  #undef attr_get
24363  int    attr_get(
24364 -               attr_t  *a1, 
24365 -               short   *a2, 
24366 +               attr_t  *a1,
24367 +               short   *a2,
24368                 void    *z)
24369                 { return(*(int *)0); }
24370  
24371  #undef attr_off
24372  int    attr_off(
24373 -               attr_t  a1, 
24374 +               attr_t  a1,
24375                 void    *z)
24376                 { return(*(int *)0); }
24377  
24378  #undef attr_on
24379  int    attr_on(
24380 -               attr_t  a1, 
24381 +               attr_t  a1,
24382                 void    *z)
24383                 { return(*(int *)0); }
24384  
24385  #undef attr_set
24386  int    attr_set(
24387 -               attr_t  a1, 
24388 -               short   a2, 
24389 +               attr_t  a1,
24390 +               short   a2,
24391                 void    *z)
24392                 { return(*(int *)0); }
24393  
24394 @@ -377,28 +381,28 @@
24395  
24396  #undef border
24397  int    border(
24398 -               chtype  a1, 
24399 -               chtype  a2, 
24400 -               chtype  a3, 
24401 -               chtype  a4, 
24402 -               chtype  a5, 
24403 -               chtype  a6, 
24404 -               chtype  a7, 
24405 +               chtype  a1,
24406 +               chtype  a2,
24407 +               chtype  a3,
24408 +               chtype  a4,
24409 +               chtype  a5,
24410 +               chtype  a6,
24411 +               chtype  a7,
24412                 chtype  z)
24413                 { return(*(int *)0); }
24414  
24415  #undef box
24416  int    box(
24417 -               WINDOW  *a1, 
24418 -               chtype  a2, 
24419 +               WINDOW  *a1,
24420 +               chtype  a2,
24421                 chtype  z)
24422                 { return(*(int *)0); }
24423  
24424  #undef chgat
24425  int    chgat(
24426 -               int     a1, 
24427 -               attr_t  a2, 
24428 -               short   a3, 
24429 +               int     a1,
24430 +               attr_t  a2,
24431 +               short   a3,
24432                 const void *z)
24433                 { return(*(int *)0); }
24434  
24435 @@ -416,7 +420,7 @@
24436  
24437  #undef color_set
24438  int    color_set(
24439 -               short   a1, 
24440 +               short   a1,
24441                 void    *z)
24442                 { return(*(int *)0); }
24443  
24444 @@ -453,7 +457,7 @@
24445  
24446  #undef getnstr
24447  int    getnstr(
24448 -               char    *a1, 
24449 +               char    *a1,
24450                 int     z)
24451                 { return(*(int *)0); }
24452  
24453 @@ -464,7 +468,7 @@
24454  
24455  #undef hline
24456  int    hline(
24457 -               chtype  a1, 
24458 +               chtype  a1,
24459                 int     z)
24460                 { return(*(int *)0); }
24461  
24462 @@ -474,7 +478,7 @@
24463  
24464  #undef inchnstr
24465  int    inchnstr(
24466 -               chtype  *a1, 
24467 +               chtype  *a1,
24468                 int     z)
24469                 { return(*(int *)0); }
24470  
24471 @@ -485,7 +489,7 @@
24472  
24473  #undef innstr
24474  int    innstr(
24475 -               char    *a1, 
24476 +               char    *a1,
24477                 int     z)
24478                 { return(*(int *)0); }
24479  
24480 @@ -505,7 +509,7 @@
24481  
24482  #undef insnstr
24483  int    insnstr(
24484 -               const char *a1, 
24485 +               const char *a1,
24486                 int     z)
24487                 { return(*(int *)0); }
24488  
24489 @@ -521,323 +525,323 @@
24490  
24491  #undef move
24492  int    move(
24493 -               int     a1, 
24494 +               int     a1,
24495                 int     z)
24496                 { return(*(int *)0); }
24497  
24498  #undef mvaddch
24499  int    mvaddch(
24500 -               int     a1, 
24501 -               int     a2, 
24502 +               int     a1,
24503 +               int     a2,
24504                 const chtype z)
24505                 { return(*(int *)0); }
24506  
24507  #undef mvaddchnstr
24508  int    mvaddchnstr(
24509 -               int     a1, 
24510 -               int     a2, 
24511 -               const chtype *a3, 
24512 +               int     a1,
24513 +               int     a2,
24514 +               const chtype *a3,
24515                 int     z)
24516                 { return(*(int *)0); }
24517  
24518  #undef mvaddchstr
24519  int    mvaddchstr(
24520 -               int     a1, 
24521 -               int     a2, 
24522 +               int     a1,
24523 +               int     a2,
24524                 const chtype *z)
24525                 { return(*(int *)0); }
24526  
24527  #undef mvaddnstr
24528  int    mvaddnstr(
24529 -               int     a1, 
24530 -               int     a2, 
24531 -               const char *a3, 
24532 +               int     a1,
24533 +               int     a2,
24534 +               const char *a3,
24535                 int     z)
24536                 { return(*(int *)0); }
24537  
24538  #undef mvaddstr
24539  int    mvaddstr(
24540 -               int     a1, 
24541 -               int     a2, 
24542 +               int     a1,
24543 +               int     a2,
24544                 const char *z)
24545                 { return(*(int *)0); }
24546  
24547  #undef mvchgat
24548  int    mvchgat(
24549 -               int     a1, 
24550 -               int     a2, 
24551 -               int     a3, 
24552 -               attr_t  a4, 
24553 -               short   a5, 
24554 +               int     a1,
24555 +               int     a2,
24556 +               int     a3,
24557 +               attr_t  a4,
24558 +               short   a5,
24559                 const void *z)
24560                 { return(*(int *)0); }
24561  
24562  #undef mvdelch
24563  int    mvdelch(
24564 -               int     a1, 
24565 +               int     a1,
24566                 int     z)
24567                 { return(*(int *)0); }
24568  
24569  #undef mvgetch
24570  int    mvgetch(
24571 -               int     a1, 
24572 +               int     a1,
24573                 int     z)
24574                 { return(*(int *)0); }
24575  
24576  #undef mvgetnstr
24577  int    mvgetnstr(
24578 -               int     a1, 
24579 -               int     a2, 
24580 -               char    *a3, 
24581 +               int     a1,
24582 +               int     a2,
24583 +               char    *a3,
24584                 int     z)
24585                 { return(*(int *)0); }
24586  
24587  #undef mvgetstr
24588  int    mvgetstr(
24589 -               int     a1, 
24590 -               int     a2, 
24591 +               int     a1,
24592 +               int     a2,
24593                 char    *z)
24594                 { return(*(int *)0); }
24595  
24596  #undef mvhline
24597  int    mvhline(
24598 -               int     a1, 
24599 -               int     a2, 
24600 -               chtype  a3, 
24601 +               int     a1,
24602 +               int     a2,
24603 +               chtype  a3,
24604                 int     z)
24605                 { return(*(int *)0); }
24606  
24607  #undef mvinch
24608  chtype mvinch(
24609 -               int     a1, 
24610 +               int     a1,
24611                 int     z)
24612                 { return(*(chtype *)0); }
24613  
24614  #undef mvinchnstr
24615  int    mvinchnstr(
24616 -               int     a1, 
24617 -               int     a2, 
24618 -               chtype  *a3, 
24619 +               int     a1,
24620 +               int     a2,
24621 +               chtype  *a3,
24622                 int     z)
24623                 { return(*(int *)0); }
24624  
24625  #undef mvinchstr
24626  int    mvinchstr(
24627 -               int     a1, 
24628 -               int     a2, 
24629 +               int     a1,
24630 +               int     a2,
24631                 chtype  *z)
24632                 { return(*(int *)0); }
24633  
24634  #undef mvinnstr
24635  int    mvinnstr(
24636 -               int     a1, 
24637 -               int     a2, 
24638 -               char    *a3, 
24639 +               int     a1,
24640 +               int     a2,
24641 +               char    *a3,
24642                 int     z)
24643                 { return(*(int *)0); }
24644  
24645  #undef mvinsch
24646  int    mvinsch(
24647 -               int     a1, 
24648 -               int     a2, 
24649 +               int     a1,
24650 +               int     a2,
24651                 chtype  z)
24652                 { return(*(int *)0); }
24653  
24654  #undef mvinsnstr
24655  int    mvinsnstr(
24656 -               int     a1, 
24657 -               int     a2, 
24658 -               const char *a3, 
24659 +               int     a1,
24660 +               int     a2,
24661 +               const char *a3,
24662                 int     z)
24663                 { return(*(int *)0); }
24664  
24665  #undef mvinsstr
24666  int    mvinsstr(
24667 -               int     a1, 
24668 -               int     a2, 
24669 +               int     a1,
24670 +               int     a2,
24671                 const char *z)
24672                 { return(*(int *)0); }
24673  
24674  #undef mvinstr
24675  int    mvinstr(
24676 -               int     a1, 
24677 -               int     a2, 
24678 +               int     a1,
24679 +               int     a2,
24680                 char    *z)
24681                 { return(*(int *)0); }
24682  
24683  #undef mvvline
24684  int    mvvline(
24685 -               int     a1, 
24686 -               int     a2, 
24687 -               chtype  a3, 
24688 +               int     a1,
24689 +               int     a2,
24690 +               chtype  a3,
24691                 int     z)
24692                 { return(*(int *)0); }
24693  
24694  #undef mvwaddch
24695  int    mvwaddch(
24696 -               WINDOW  *a1, 
24697 -               int     a2, 
24698 -               int     a3, 
24699 +               WINDOW  *a1,
24700 +               int     a2,
24701 +               int     a3,
24702                 const chtype z)
24703                 { return(*(int *)0); }
24704  
24705  #undef mvwaddchnstr
24706  int    mvwaddchnstr(
24707 -               WINDOW  *a1, 
24708 -               int     a2, 
24709 -               int     a3, 
24710 -               const chtype *a4, 
24711 +               WINDOW  *a1,
24712 +               int     a2,
24713 +               int     a3,
24714 +               const chtype *a4,
24715                 int     z)
24716                 { return(*(int *)0); }
24717  
24718  #undef mvwaddchstr
24719  int    mvwaddchstr(
24720 -               WINDOW  *a1, 
24721 -               int     a2, 
24722 -               int     a3, 
24723 +               WINDOW  *a1,
24724 +               int     a2,
24725 +               int     a3,
24726                 const chtype *z)
24727                 { return(*(int *)0); }
24728  
24729  #undef mvwaddnstr
24730  int    mvwaddnstr(
24731 -               WINDOW  *a1, 
24732 -               int     a2, 
24733 -               int     a3, 
24734 -               const char *a4, 
24735 +               WINDOW  *a1,
24736 +               int     a2,
24737 +               int     a3,
24738 +               const char *a4,
24739                 int     z)
24740                 { return(*(int *)0); }
24741  
24742  #undef mvwaddstr
24743  int    mvwaddstr(
24744 -               WINDOW  *a1, 
24745 -               int     a2, 
24746 -               int     a3, 
24747 +               WINDOW  *a1,
24748 +               int     a2,
24749 +               int     a3,
24750                 const char *z)
24751                 { return(*(int *)0); }
24752  
24753  #undef mvwchgat
24754  int    mvwchgat(
24755 -               WINDOW  *a1, 
24756 -               int     a2, 
24757 -               int     a3, 
24758 -               int     a4, 
24759 -               attr_t  a5, 
24760 -               short   a6, 
24761 +               WINDOW  *a1,
24762 +               int     a2,
24763 +               int     a3,
24764 +               int     a4,
24765 +               attr_t  a5,
24766 +               short   a6,
24767                 const void *z)
24768                 { return(*(int *)0); }
24769  
24770  #undef mvwdelch
24771  int    mvwdelch(
24772 -               WINDOW  *a1, 
24773 -               int     a2, 
24774 +               WINDOW  *a1,
24775 +               int     a2,
24776                 int     z)
24777                 { return(*(int *)0); }
24778  
24779  #undef mvwgetch
24780  int    mvwgetch(
24781 -               WINDOW  *a1, 
24782 -               int     a2, 
24783 +               WINDOW  *a1,
24784 +               int     a2,
24785                 int     z)
24786                 { return(*(int *)0); }
24787  
24788  #undef mvwgetnstr
24789  int    mvwgetnstr(
24790 -               WINDOW  *a1, 
24791 -               int     a2, 
24792 -               int     a3, 
24793 -               char    *a4, 
24794 +               WINDOW  *a1,
24795 +               int     a2,
24796 +               int     a3,
24797 +               char    *a4,
24798                 int     z)
24799                 { return(*(int *)0); }
24800  
24801  #undef mvwgetstr
24802  int    mvwgetstr(
24803 -               WINDOW  *a1, 
24804 -               int     a2, 
24805 -               int     a3, 
24806 +               WINDOW  *a1,
24807 +               int     a2,
24808 +               int     a3,
24809                 char    *z)
24810                 { return(*(int *)0); }
24811  
24812  #undef mvwhline
24813  int    mvwhline(
24814 -               WINDOW  *a1, 
24815 -               int     a2, 
24816 -               int     a3, 
24817 -               chtype  a4, 
24818 +               WINDOW  *a1,
24819 +               int     a2,
24820 +               int     a3,
24821 +               chtype  a4,
24822                 int     z)
24823                 { return(*(int *)0); }
24824  
24825  #undef mvwinch
24826  chtype mvwinch(
24827 -               WINDOW  *a1, 
24828 -               int     a2, 
24829 +               WINDOW  *a1,
24830 +               int     a2,
24831                 int     z)
24832                 { return(*(chtype *)0); }
24833  
24834  #undef mvwinchnstr
24835  int    mvwinchnstr(
24836 -               WINDOW  *a1, 
24837 -               int     a2, 
24838 -               int     a3, 
24839 -               chtype  *a4, 
24840 +               WINDOW  *a1,
24841 +               int     a2,
24842 +               int     a3,
24843 +               chtype  *a4,
24844                 int     z)
24845                 { return(*(int *)0); }
24846  
24847  #undef mvwinchstr
24848  int    mvwinchstr(
24849 -               WINDOW  *a1, 
24850 -               int     a2, 
24851 -               int     a3, 
24852 +               WINDOW  *a1,
24853 +               int     a2,
24854 +               int     a3,
24855                 chtype  *z)
24856                 { return(*(int *)0); }
24857  
24858  #undef mvwinnstr
24859  int    mvwinnstr(
24860 -               WINDOW  *a1, 
24861 -               int     a2, 
24862 -               int     a3, 
24863 -               char    *a4, 
24864 +               WINDOW  *a1,
24865 +               int     a2,
24866 +               int     a3,
24867 +               char    *a4,
24868                 int     z)
24869                 { return(*(int *)0); }
24870  
24871  #undef mvwinsch
24872  int    mvwinsch(
24873 -               WINDOW  *a1, 
24874 -               int     a2, 
24875 -               int     a3, 
24876 +               WINDOW  *a1,
24877 +               int     a2,
24878 +               int     a3,
24879                 chtype  z)
24880                 { return(*(int *)0); }
24881  
24882  #undef mvwinsnstr
24883  int    mvwinsnstr(
24884 -               WINDOW  *a1, 
24885 -               int     a2, 
24886 -               int     a3, 
24887 -               const char *a4, 
24888 +               WINDOW  *a1,
24889 +               int     a2,
24890 +               int     a3,
24891 +               const char *a4,
24892                 int     z)
24893                 { return(*(int *)0); }
24894  
24895  #undef mvwinsstr
24896  int    mvwinsstr(
24897 -               WINDOW  *a1, 
24898 -               int     a2, 
24899 -               int     a3, 
24900 +               WINDOW  *a1,
24901 +               int     a2,
24902 +               int     a3,
24903                 const char *z)
24904                 { return(*(int *)0); }
24905  
24906  #undef mvwinstr
24907  int    mvwinstr(
24908 -               WINDOW  *a1, 
24909 -               int     a2, 
24910 -               int     a3, 
24911 +               WINDOW  *a1,
24912 +               int     a2,
24913 +               int     a3,
24914                 char    *z)
24915                 { return(*(int *)0); }
24916  
24917  #undef mvwvline
24918  int    mvwvline(
24919 -               WINDOW  *a1, 
24920 -               int     a2, 
24921 -               int     a3, 
24922 -               chtype  a4, 
24923 +               WINDOW  *a1,
24924 +               int     a2,
24925 +               int     a3,
24926 +               chtype  a4,
24927                 int     z)
24928                 { return(*(int *)0); }
24929  
24930 @@ -867,7 +871,7 @@
24931  
24932  #undef setscrreg
24933  int    setscrreg(
24934 -               int     a1, 
24935 +               int     a1,
24936                 int     z)
24937                 { return(*(int *)0); }
24938  
24939 @@ -886,8 +890,8 @@
24940  
24941  #undef touchline
24942  int    touchline(
24943 -               WINDOW  *a1, 
24944 -               int     a2, 
24945 +               WINDOW  *a1,
24946 +               int     a2,
24947                 int     z)
24948                 { return(*(int *)0); }
24949  
24950 @@ -903,67 +907,67 @@
24951  
24952  #undef vline
24953  int    vline(
24954 -               chtype  a1, 
24955 +               chtype  a1,
24956                 int     z)
24957                 { return(*(int *)0); }
24958  
24959  #undef vw_printw
24960  int    vw_printw(
24961 -               WINDOW  *a1, 
24962 -               char    *a2, 
24963 +               WINDOW  *a1,
24964 +               const char *a2,
24965                 va_list z)
24966                 { return(*(int *)0); }
24967  
24968  #undef vw_scanw
24969  int    vw_scanw(
24970 -               WINDOW  *a1, 
24971 -               char    *a2, 
24972 +               WINDOW  *a1,
24973 +               char    *a2,
24974                 va_list z)
24975                 { return(*(int *)0); }
24976  
24977  #undef waddchstr
24978  int    waddchstr(
24979 -               WINDOW  *a1, 
24980 +               WINDOW  *a1,
24981                 const chtype *z)
24982                 { return(*(int *)0); }
24983  
24984  #undef waddstr
24985  int    waddstr(
24986 -               WINDOW  *a1, 
24987 +               WINDOW  *a1,
24988                 const char *z)
24989                 { return(*(int *)0); }
24990  
24991  #undef wattron
24992  int    wattron(
24993 -               WINDOW  *a1, 
24994 +               WINDOW  *a1,
24995                 int     z)
24996                 { return(*(int *)0); }
24997  
24998  #undef wattroff
24999  int    wattroff(
25000 -               WINDOW  *a1, 
25001 +               WINDOW  *a1,
25002                 int     z)
25003                 { return(*(int *)0); }
25004  
25005  #undef wattrset
25006  int    wattrset(
25007 -               WINDOW  *a1, 
25008 +               WINDOW  *a1,
25009                 int     z)
25010                 { return(*(int *)0); }
25011  
25012  #undef wattr_get
25013  int    wattr_get(
25014 -               WINDOW  *a1, 
25015 -               attr_t  *a2, 
25016 -               short   *a3, 
25017 +               WINDOW  *a1,
25018 +               attr_t  *a2,
25019 +               short   *a3,
25020                 void    *z)
25021                 { return(*(int *)0); }
25022  
25023  #undef wattr_set
25024  int    wattr_set(
25025 -               WINDOW  *a1, 
25026 -               attr_t  a2, 
25027 -               short   a3, 
25028 +               WINDOW  *a1,
25029 +               attr_t  a2,
25030 +               short   a3,
25031                 void    *z)
25032                 { return(*(int *)0); }
25033  
25034 @@ -974,13 +978,13 @@
25035  
25036  #undef wgetstr
25037  int    wgetstr(
25038 -               WINDOW  *a1, 
25039 +               WINDOW  *a1,
25040                 char    *z)
25041                 { return(*(int *)0); }
25042  
25043  #undef winchstr
25044  int    winchstr(
25045 -               WINDOW  *a1, 
25046 +               WINDOW  *a1,
25047                 chtype  *z)
25048                 { return(*(int *)0); }
25049  
25050 @@ -991,13 +995,13 @@
25051  
25052  #undef winsstr
25053  int    winsstr(
25054 -               WINDOW  *a1, 
25055 +               WINDOW  *a1,
25056                 const char *z)
25057                 { return(*(int *)0); }
25058  
25059  #undef winstr
25060  int    winstr(
25061 -               WINDOW  *a1, 
25062 +               WINDOW  *a1,
25063                 char    *z)
25064                 { return(*(int *)0); }
25065  
25066 @@ -1013,8 +1017,8 @@
25067  
25068  #undef mouse_trafo
25069  NCURSES_BOOL mouse_trafo(
25070 -               int     *a1, 
25071 -               int     *a2, 
25072 +               int     *a1,
25073 +               int     *a2,
25074                 NCURSES_BOOL z)
25075                 { return(*(NCURSES_BOOL *)0); }
25076  
25077 @@ -1027,8 +1031,8 @@
25078  
25079  #undef _nc_wgetch
25080  int    _nc_wgetch(
25081 -               WINDOW  *win, 
25082 -               unsigned long *result, 
25083 +               WINDOW  *win,
25084 +               unsigned long *result,
25085                 int     use_meta)
25086                 { return(*(int *)0); }
25087  
25088 @@ -1041,8 +1045,8 @@
25089  
25090  #undef wgetnstr
25091  int    wgetnstr(
25092 -               WINDOW  *win, 
25093 -               char    *str, 
25094 +               WINDOW  *win,
25095 +               char    *str,
25096                 int     maxlen)
25097                 { return(*(int *)0); }
25098  
25099 @@ -1050,8 +1054,8 @@
25100  
25101  #undef whline
25102  int    whline(
25103 -               WINDOW  *win, 
25104 -               chtype  ch, 
25105 +               WINDOW  *win,
25106 +               chtype  ch,
25107                 int     n)
25108                 { return(*(int *)0); }
25109  
25110 @@ -1059,7 +1063,7 @@
25111  
25112  #undef immedok
25113  void   immedok(
25114 -               WINDOW  *win, 
25115 +               WINDOW  *win,
25116                 NCURSES_BOOL flag)
25117                 { /* void */ }
25118  
25119 @@ -1067,8 +1071,8 @@
25120  
25121  #undef winchnstr
25122  int    winchnstr(
25123 -               WINDOW  *win, 
25124 -               chtype  *str, 
25125 +               WINDOW  *win,
25126 +               chtype  *str,
25127                 int     n)
25128                 { return(*(int *)0); }
25129  
25130 @@ -1080,26 +1084,30 @@
25131  
25132  /* ./base/lib_insch.c */
25133  
25134 +#undef _nc_insert_ch
25135 +void   _nc_insert_ch(
25136 +               WINDOW  *win,
25137 +               chtype  ch)
25138 +               { /* void */ }
25139 +
25140  #undef winsch
25141  int    winsch(
25142 -               WINDOW  *win, 
25143 +               WINDOW  *win,
25144                 chtype  c)
25145                 { return(*(int *)0); }
25146  
25147 -/* ./base/lib_insdel.c */
25148 -
25149 -#undef winsdelln
25150 -int    winsdelln(
25151 -               WINDOW  *win, 
25152 +#undef winsnstr
25153 +int    winsnstr(
25154 +               WINDOW  *win,
25155 +               const char *s,
25156                 int     n)
25157                 { return(*(int *)0); }
25158  
25159 -/* ./base/lib_insstr.c */
25160 +/* ./base/lib_insdel.c */
25161  
25162 -#undef winsnstr
25163 -int    winsnstr(
25164 -               WINDOW  *win, 
25165 -               const char *s, 
25166 +#undef winsdelln
25167 +int    winsdelln(
25168 +               WINDOW  *win,
25169                 int     n)
25170                 { return(*(int *)0); }
25171  
25172 @@ -1107,8 +1115,8 @@
25173  
25174  #undef winnstr
25175  int    winnstr(
25176 -               WINDOW  *win, 
25177 -               char    *str, 
25178 +               WINDOW  *win,
25179 +               char    *str,
25180                 int     n)
25181                 { return(*(int *)0); }
25182  
25183 @@ -1122,7 +1130,7 @@
25184  
25185  #undef leaveok
25186  int    leaveok(
25187 -               WINDOW  *win, 
25188 +               WINDOW  *win,
25189                 NCURSES_BOOL flag)
25190                 { return(*(int *)0); }
25191  
25192 @@ -1140,14 +1148,14 @@
25193  
25194  #undef mousemask
25195  mmask_t        mousemask(
25196 -               mmask_t newmask, 
25197 +               mmask_t newmask,
25198                 mmask_t *oldmask)
25199                 { return(*(mmask_t *)0); }
25200  
25201  #undef wenclose
25202  NCURSES_BOOL wenclose(
25203 -               const WINDOW *win, 
25204 -               int     y, 
25205 +               const WINDOW *win,
25206 +               int     y,
25207                 int     x)
25208                 { return(*(NCURSES_BOOL *)0); }
25209  
25210 @@ -1162,9 +1170,9 @@
25211  
25212  #undef wmouse_trafo
25213  NCURSES_BOOL wmouse_trafo(
25214 -               const WINDOW *win, 
25215 -               int     *pY, 
25216 -               int     *pX, 
25217 +               const WINDOW *win,
25218 +               int     *pY,
25219 +               int     *pX,
25220                 NCURSES_BOOL to_screen)
25221                 { return(*(NCURSES_BOOL *)0); }
25222  
25223 @@ -1172,8 +1180,8 @@
25224  
25225  #undef wmove
25226  int    wmove(
25227 -               WINDOW  *win, 
25228 -               int     y, 
25229 +               WINDOW  *win,
25230 +               int     y,
25231                 int     x)
25232                 { return(*(int *)0); }
25233  
25234 @@ -1181,7 +1189,7 @@
25235  
25236  #undef _nc_msec_cost
25237  int    _nc_msec_cost(
25238 -               const char *const cap, 
25239 +               const char *const cap,
25240                 int     affcnt)
25241                 { return(*(int *)0); }
25242  
25243 @@ -1199,9 +1207,9 @@
25244  
25245  #undef mvcur
25246  int    mvcur(
25247 -               int     yold, 
25248 -               int     xold, 
25249 -               int     ynew, 
25250 +               int     yold,
25251 +               int     xold,
25252 +               int     ynew,
25253                 int     xnew)
25254                 { return(*(int *)0); }
25255  
25256 @@ -1212,8 +1220,8 @@
25257  
25258  #undef mvwin
25259  int    mvwin(
25260 -               WINDOW  *win, 
25261 -               int     by, 
25262 +               WINDOW  *win,
25263 +               int     by,
25264                 int     bx)
25265                 { return(*(int *)0); }
25266  
25267 @@ -1225,8 +1233,8 @@
25268  
25269  #undef newterm
25270  SCREEN *newterm(
25271 -               char    *name, 
25272 -               FILE    *ofp, 
25273 +               char    *name,
25274 +               FILE    *ofp,
25275                 FILE    *ifp)
25276                 { return(*(SCREEN **)0); }
25277  
25278 @@ -1239,36 +1247,36 @@
25279  
25280  #undef newwin
25281  WINDOW *newwin(
25282 -               int     num_lines, 
25283 -               int     num_columns, 
25284 -               int     begy, 
25285 +               int     num_lines,
25286 +               int     num_columns,
25287 +               int     begy,
25288                 int     begx)
25289                 { return(*(WINDOW **)0); }
25290  
25291  #undef derwin
25292  WINDOW *derwin(
25293 -               WINDOW  *orig, 
25294 -               int     num_lines, 
25295 -               int     num_columns, 
25296 -               int     begy, 
25297 +               WINDOW  *orig,
25298 +               int     num_lines,
25299 +               int     num_columns,
25300 +               int     begy,
25301                 int     begx)
25302                 { return(*(WINDOW **)0); }
25303  
25304  #undef subwin
25305  WINDOW *subwin(
25306 -               WINDOW  *w, 
25307 -               int     l, 
25308 -               int     c, 
25309 -               int     y, 
25310 +               WINDOW  *w,
25311 +               int     l,
25312 +               int     c,
25313 +               int     y,
25314                 int     x)
25315                 { return(*(WINDOW **)0); }
25316  
25317  #undef _nc_makenew
25318  WINDOW *_nc_makenew(
25319 -               int     num_lines, 
25320 -               int     num_columns, 
25321 -               int     begy, 
25322 -               int     begx, 
25323 +               int     num_lines,
25324 +               int     num_columns,
25325 +               int     begy,
25326 +               int     begx,
25327                 int     flags)
25328                 { return(*(WINDOW **)0); }
25329  
25330 @@ -1286,26 +1294,26 @@
25331  
25332  #undef overlay
25333  int    overlay(
25334 -               const WINDOW *win1, 
25335 +               const WINDOW *win1,
25336                 WINDOW  *win2)
25337                 { return(*(int *)0); }
25338  
25339  #undef overwrite
25340  int    overwrite(
25341 -               const WINDOW *win1, 
25342 +               const WINDOW *win1,
25343                 WINDOW  *win2)
25344                 { return(*(int *)0); }
25345  
25346  #undef copywin
25347  int    copywin(
25348 -               const WINDOW *src, 
25349 -               WINDOW  *dst, 
25350 -               int     sminrow, 
25351 -               int     smincol, 
25352 -               int     dminrow, 
25353 -               int     dmincol, 
25354 -               int     dmaxrow, 
25355 -               int     dmaxcol, 
25356 +               const WINDOW *src,
25357 +               WINDOW  *dst,
25358 +               int     sminrow,
25359 +               int     smincol,
25360 +               int     dminrow,
25361 +               int     dmincol,
25362 +               int     dmaxrow,
25363 +               int     dmaxcol,
25364                 int     over)
25365                 { return(*(int *)0); }
25366  
25367 @@ -1313,44 +1321,44 @@
25368  
25369  #undef newpad
25370  WINDOW *newpad(
25371 -               int     l, 
25372 +               int     l,
25373                 int     c)
25374                 { return(*(WINDOW **)0); }
25375  
25376  #undef subpad
25377  WINDOW *subpad(
25378 -               WINDOW  *orig, 
25379 -               int     l, 
25380 -               int     c, 
25381 -               int     begy, 
25382 +               WINDOW  *orig,
25383 +               int     l,
25384 +               int     c,
25385 +               int     begy,
25386                 int     begx)
25387                 { return(*(WINDOW **)0); }
25388  
25389  #undef prefresh
25390  int    prefresh(
25391 -               WINDOW  *win, 
25392 -               int     pminrow, 
25393 -               int     pmincol, 
25394 -               int     sminrow, 
25395 -               int     smincol, 
25396 -               int     smaxrow, 
25397 +               WINDOW  *win,
25398 +               int     pminrow,
25399 +               int     pmincol,
25400 +               int     sminrow,
25401 +               int     smincol,
25402 +               int     smaxrow,
25403                 int     smaxcol)
25404                 { return(*(int *)0); }
25405  
25406  #undef pnoutrefresh
25407  int    pnoutrefresh(
25408 -               WINDOW  *win, 
25409 -               int     pminrow, 
25410 -               int     pmincol, 
25411 -               int     sminrow, 
25412 -               int     smincol, 
25413 -               int     smaxrow, 
25414 +               WINDOW  *win,
25415 +               int     pminrow,
25416 +               int     pmincol,
25417 +               int     sminrow,
25418 +               int     smincol,
25419 +               int     smaxrow,
25420                 int     smaxcol)
25421                 { return(*(int *)0); }
25422  
25423  #undef pechochar
25424  int    pechochar(
25425 -               WINDOW  *pad, 
25426 +               WINDOW  *pad,
25427                 const chtype ch)
25428                 { return(*(int *)0); }
25429  
25430 @@ -1358,38 +1366,38 @@
25431  
25432  #undef printw
25433  int    printw(
25434 -               char    *fmt, 
25435 +               const char *fmt,
25436                 ...)
25437                 { return(*(int *)0); }
25438  
25439  #undef wprintw
25440  int    wprintw(
25441 -               WINDOW  *win, 
25442 -               char    *fmt, 
25443 +               WINDOW  *win,
25444 +               const char *fmt,
25445                 ...)
25446                 { return(*(int *)0); }
25447  
25448  #undef mvprintw
25449  int    mvprintw(
25450 -               int     y, 
25451 -               int     x, 
25452 -               char    *fmt, 
25453 +               int     y,
25454 +               int     x,
25455 +               const char *fmt,
25456                 ...)
25457                 { return(*(int *)0); }
25458  
25459  #undef mvwprintw
25460  int    mvwprintw(
25461 -               WINDOW  *win, 
25462 -               int     y, 
25463 -               int     x, 
25464 -               char    *fmt, 
25465 +               WINDOW  *win,
25466 +               int     y,
25467 +               int     x,
25468 +               const char *fmt,
25469                 ...)
25470                 { return(*(int *)0); }
25471  
25472  #undef vwprintw
25473  int    vwprintw(
25474 -               WINDOW  *win, 
25475 -               char    *fmt, 
25476 +               WINDOW  *win,
25477 +               const char *fmt,
25478                 va_list argp)
25479                 { return(*(int *)0); }
25480  
25481 @@ -1397,8 +1405,8 @@
25482  
25483  #undef wredrawln
25484  int    wredrawln(
25485 -               WINDOW  *win, 
25486 -               int     beg, 
25487 +               WINDOW  *win,
25488 +               int     beg,
25489                 int     num)
25490                 { return(*(int *)0); }
25491  
25492 @@ -1418,8 +1426,8 @@
25493  
25494  #undef restartterm
25495  int    restartterm(
25496 -               char    *termp, 
25497 -               int     filenum, 
25498 +               char    *termp,
25499 +               int     filenum,
25500                 int     *errret)
25501                 { return(*(int *)0); }
25502  
25503 @@ -1427,38 +1435,38 @@
25504  
25505  #undef vwscanw
25506  int    vwscanw(
25507 -               WINDOW  *win, 
25508 -               char    *fmt, 
25509 +               WINDOW  *win,
25510 +               char    *fmt,
25511                 va_list argp)
25512                 { return(*(int *)0); }
25513  
25514  #undef scanw
25515  int    scanw(
25516 -               char    *fmt, 
25517 +               char    *fmt,
25518                 ...)
25519                 { return(*(int *)0); }
25520  
25521  #undef wscanw
25522  int    wscanw(
25523 -               WINDOW  *win, 
25524 -               char    *fmt, 
25525 +               WINDOW  *win,
25526 +               char    *fmt,
25527                 ...)
25528                 { return(*(int *)0); }
25529  
25530  #undef mvscanw
25531  int    mvscanw(
25532 -               int     y, 
25533 -               int     x, 
25534 -               char    *fmt, 
25535 +               int     y,
25536 +               int     x,
25537 +               char    *fmt,
25538                 ...)
25539                 { return(*(int *)0); }
25540  
25541  #undef mvwscanw
25542  int    mvwscanw(
25543 -               WINDOW  *win, 
25544 -               int     y, 
25545 -               int     x, 
25546 -               char    *fmt, 
25547 +               WINDOW  *win,
25548 +               int     y,
25549 +               int     x,
25550 +               char    *fmt,
25551                 ...)
25552                 { return(*(int *)0); }
25553  
25554 @@ -1471,7 +1479,7 @@
25555  
25556  #undef putwin
25557  int    putwin(
25558 -               WINDOW  *win, 
25559 +               WINDOW  *win,
25560                 FILE    *filep)
25561                 { return(*(int *)0); }
25562  
25563 @@ -1499,16 +1507,16 @@
25564  
25565  #undef _nc_scroll_window
25566  void   _nc_scroll_window(
25567 -               WINDOW  *win, 
25568 -               int const n, 
25569 -               short const top, 
25570 -               short const bottom, 
25571 +               WINDOW  *win,
25572 +               int const n,
25573 +               short const top,
25574 +               short const bottom,
25575                 chtype  blank)
25576                 { /* void */ }
25577  
25578  #undef wscrl
25579  int    wscrl(
25580 -               WINDOW  *win, 
25581 +               WINDOW  *win,
25582                 int     n)
25583                 { return(*(int *)0); }
25584  
25585 @@ -1516,7 +1524,7 @@
25586  
25587  #undef scrollok
25588  int    scrollok(
25589 -               WINDOW  *win, 
25590 +               WINDOW  *win,
25591                 NCURSES_BOOL flag)
25592                 { return(*(int *)0); }
25593  
25594 @@ -1524,8 +1532,8 @@
25595  
25596  #undef wsetscrreg
25597  int    wsetscrreg(
25598 -               WINDOW  *win, 
25599 -               int     top, 
25600 +               WINDOW  *win,
25601 +               int     top,
25602                 int     bottom)
25603                 { return(*(int *)0); }
25604  
25605 @@ -1543,24 +1551,24 @@
25606  
25607  #undef _nc_setupscreen
25608  int    _nc_setupscreen(
25609 -               short   slines, 
25610 -               short const scolumns, 
25611 +               short   slines,
25612 +               short const scolumns,
25613                 FILE    *output)
25614                 { return(*(int *)0); }
25615  
25616  #undef _nc_ripoffline
25617  int    _nc_ripoffline(
25618 -               int     line, 
25619 +               int     line,
25620                 int     (*init)(
25621 -               WINDOW  *p1, 
25622 +               WINDOW  *p1,
25623                 int     p2))
25624                 { return(*(int *)0); }
25625  
25626  #undef ripoffline
25627  int    ripoffline(
25628 -               int     line, 
25629 +               int     line,
25630                 int     (*init)(
25631 -               WINDOW  *p1, 
25632 +               WINDOW  *p1,
25633                 int     p2))
25634                 { return(*(int *)0); }
25635  
25636 @@ -1571,7 +1579,7 @@
25637  
25638  #undef _nc_slk_initialize
25639  int    _nc_slk_initialize(
25640 -               WINDOW  *stwin, 
25641 +               WINDOW  *stwin,
25642                 int     cols)
25643                 { return(*(int *)0); }
25644  
25645 @@ -1583,8 +1591,8 @@
25646  
25647  #undef slk_attr_set
25648  int    slk_attr_set(
25649 -               const attr_t attr, 
25650 -               short   color_pair_number, 
25651 +               const attr_t attr,
25652 +               short   color_pair_number,
25653                 void    *opts)
25654                 { return(*(int *)0); }
25655  
25656 @@ -1656,8 +1664,8 @@
25657  
25658  #undef slk_set
25659  int    slk_set(
25660 -               int     i, 
25661 -               const char *astr, 
25662 +               int     i,
25663 +               const char *astr,
25664                 int     format)
25665                 { return(*(int *)0); }
25666  
25667 @@ -1671,7 +1679,7 @@
25668  
25669  #undef is_linetouched
25670  NCURSES_BOOL is_linetouched(
25671 -               WINDOW  *win, 
25672 +               WINDOW  *win,
25673                 int     line)
25674                 { return(*(NCURSES_BOOL *)0); }
25675  
25676 @@ -1682,9 +1690,9 @@
25677  
25678  #undef wtouchln
25679  int    wtouchln(
25680 -               WINDOW  *win, 
25681 -               int     y, 
25682 -               int     n, 
25683 +               WINDOW  *win,
25684 +               int     y,
25685 +               int     n,
25686                 int     changed)
25687                 { return(*(int *)0); }
25688  
25689 @@ -1692,7 +1700,7 @@
25690  
25691  #undef _traceattr2
25692  char   *_traceattr2(
25693 -               int     bufnum, 
25694 +               int     bufnum,
25695                 attr_t  newmode)
25696                 { return(*(char **)0); }
25697  
25698 @@ -1708,13 +1716,13 @@
25699  
25700  #undef _nc_altcharset_name
25701  const char *_nc_altcharset_name(
25702 -               attr_t  attr, 
25703 +               attr_t  attr,
25704                 chtype  ch)
25705                 { return(*(const char **)0); }
25706  
25707  #undef _tracechtype2
25708  char   *_tracechtype2(
25709 -               int     bufnum, 
25710 +               int     bufnum,
25711                 chtype  ch)
25712                 { return(*(char **)0); }
25713  
25714 @@ -1724,15 +1732,15 @@
25715                 { return(*(char **)0); }
25716  
25717  #undef _nc_retrace_chtype
25718 -attr_t _nc_retrace_chtype(
25719 -               attr_t  code)
25720 -               { return(*(attr_t *)0); }
25721 +chtype _nc_retrace_chtype(
25722 +               chtype  code)
25723 +               { return(*(chtype *)0); }
25724  
25725  /* ./trace/lib_tracedmp.c */
25726  
25727  #undef _tracedump
25728  void   _tracedump(
25729 -               const char *name, 
25730 +               const char *name,
25731                 WINDOW  *win)
25732                 { /* void */ }
25733  
25734 @@ -1767,7 +1775,7 @@
25735  
25736  #undef vidputs
25737  int    vidputs(
25738 -               chtype  newmode, 
25739 +               chtype  newmode,
25740                 int     (*outc)(
25741                 int     p1))
25742                 { return(*(int *)0); }
25743 @@ -1785,8 +1793,8 @@
25744  
25745  #undef wvline
25746  int    wvline(
25747 -               WINDOW  *win, 
25748 -               chtype  ch, 
25749 +               WINDOW  *win,
25750 +               chtype  ch,
25751                 int     n)
25752                 { return(*(int *)0); }
25753  
25754 @@ -1794,8 +1802,8 @@
25755  
25756  #undef wattr_off
25757  int    wattr_off(
25758 -               WINDOW  *win, 
25759 -               attr_t  at, 
25760 +               WINDOW  *win,
25761 +               attr_t  at,
25762                 void    *opts)
25763                 { return(*(int *)0); }
25764  
25765 @@ -1803,8 +1811,8 @@
25766  
25767  #undef wattr_on
25768  int    wattr_on(
25769 -               WINDOW  *win, 
25770 -               attr_t  at, 
25771 +               WINDOW  *win,
25772 +               attr_t  at,
25773                 void    *opts)
25774                 { return(*(int *)0); }
25775  
25776 @@ -1824,14 +1832,14 @@
25777  
25778  #undef mvderwin
25779  int    mvderwin(
25780 -               WINDOW  *win, 
25781 -               int     y, 
25782 +               WINDOW  *win,
25783 +               int     y,
25784                 int     x)
25785                 { return(*(int *)0); }
25786  
25787  #undef syncok
25788  int    syncok(
25789 -               WINDOW  *win, 
25790 +               WINDOW  *win,
25791                 NCURSES_BOOL bf)
25792                 { return(*(int *)0); }
25793  
25794 @@ -1865,7 +1873,7 @@
25795  
25796  #undef _nc_printf_string
25797  char   *_nc_printf_string(
25798 -               const char *fmt, 
25799 +               const char *fmt,
25800                 va_list ap)
25801                 { return(*(char **)0); }
25802  
25803 @@ -1885,9 +1893,9 @@
25804  
25805  #undef _nc_scrolln
25806  int    _nc_scrolln(
25807 -               int     n, 
25808 -               int     top, 
25809 -               int     bot, 
25810 +               int     n,
25811 +               int     top,
25812 +               int     bot,
25813                 int     maxy)
25814                 { return(*(int *)0); }
25815  
25816 @@ -1916,7 +1924,7 @@
25817  
25818  #undef _nc_varargs
25819  char   *_nc_varargs(
25820 -               const char *fmt, 
25821 +               const char *fmt,
25822                 va_list ap)
25823                 { return(*(char **)0); }
25824  
25825 @@ -1938,11 +1946,19 @@
25826  void   _nc_vsscanf(void)
25827                 { /* void */ }
25828  
25829 +/* ./base/lib_freeall.c */
25830 +
25831 +#include <term_entry.h>
25832 +
25833 +#undef _nc_freeall
25834 +void   _nc_freeall(void)
25835 +               { /* void */ }
25836 +
25837  /* ./base/define_key.c */
25838  
25839  #undef define_key
25840  int    define_key(
25841 -               char    *str, 
25842 +               const char *str,
25843                 int     keycode)
25844                 { return(*(int *)0); }
25845  
25846 @@ -1950,13 +1966,13 @@
25847  
25848  #undef _nc_toggle_attr_on
25849  void   _nc_toggle_attr_on(
25850 -               attr_t  *S, 
25851 +               attr_t  *S,
25852                 attr_t  at)
25853                 { /* void */ }
25854  
25855  #undef _nc_toggle_attr_off
25856  void   _nc_toggle_attr_off(
25857 -               attr_t  *S, 
25858 +               attr_t  *S,
25859                 attr_t  at)
25860                 { /* void */ }
25861  
25862 @@ -1975,11 +1991,18 @@
25863                 chtype  c)
25864                 { /* void */ }
25865  
25866 +/* ./base/key_defined.c */
25867 +
25868 +#undef key_defined
25869 +int    key_defined(
25870 +               const char *str)
25871 +               { return(*(int *)0); }
25872 +
25873  /* ./base/keybound.c */
25874  
25875  #undef keybound
25876  char   *keybound(
25877 -               int     code, 
25878 +               int     code,
25879                 int     count)
25880                 { return(*(char **)0); }
25881  
25882 @@ -1987,7 +2010,7 @@
25883  
25884  #undef keyok
25885  int    keyok(
25886 -               int     c, 
25887 +               int     c,
25888                 NCURSES_BOOL flag)
25889                 { return(*(int *)0); }
25890  
25891 @@ -1999,23 +2022,15 @@
25892  
25893  #undef assume_default_colors
25894  int    assume_default_colors(
25895 -               int     fg, 
25896 +               int     fg,
25897                 int     bg)
25898                 { return(*(int *)0); }
25899  
25900 -/* ./base/lib_freeall.c */
25901 -
25902 -#include <term_entry.h>
25903 -
25904 -#undef _nc_freeall
25905 -void   _nc_freeall(void)
25906 -               { /* void */ }
25907 -
25908  /* ./tinfo/lib_print.c */
25909  
25910  #undef mcprint
25911  int    mcprint(
25912 -               char    *data, 
25913 +               char    *data,
25914                 int     len)
25915                 { return(*(int *)0); }
25916  
25917 @@ -2023,19 +2038,19 @@
25918  
25919  #undef is_term_resized
25920  NCURSES_BOOL is_term_resized(
25921 -               int     ToLines, 
25922 +               int     ToLines,
25923                 int     ToCols)
25924                 { return(*(NCURSES_BOOL *)0); }
25925  
25926  #undef resize_term
25927  int    resize_term(
25928 -               int     ToLines, 
25929 +               int     ToLines,
25930                 int     ToCols)
25931                 { return(*(int *)0); }
25932  
25933  #undef resizeterm
25934  int    resizeterm(
25935 -               int     ToLines, 
25936 +               int     ToLines,
25937                 int     ToCols)
25938                 { return(*(int *)0); }
25939  
25940 @@ -2050,22 +2065,22 @@
25941  
25942  #undef _nc_expand_try
25943  char   *_nc_expand_try(
25944 -               struct tries *tree, 
25945 -               unsigned short code, 
25946 -               int     *count, 
25947 +               struct tries *tree,
25948 +               unsigned short code,
25949 +               int     *count,
25950                 size_t  len)
25951                 { return(*(char **)0); }
25952  
25953  #undef _nc_remove_key
25954  int    _nc_remove_key(
25955 -               struct tries **tree, 
25956 +               struct tries **tree,
25957                 unsigned short code)
25958                 { return(*(int *)0); }
25959  
25960  #undef _nc_remove_string
25961  int    _nc_remove_string(
25962 -               struct tries **tree, 
25963 -               char    *string)
25964 +               struct tries **tree,
25965 +               const char *string)
25966                 { return(*(int *)0); }
25967  
25968  /* ./base/version.c */
25969 @@ -2078,8 +2093,8 @@
25970  
25971  #undef wresize
25972  int    wresize(
25973 -               WINDOW  *win, 
25974 -               int     ToLines, 
25975 +               WINDOW  *win,
25976 +               int     ToLines,
25977                 int     ToCols)
25978                 { return(*(int *)0); }
25979  
25980 @@ -2090,6 +2105,11 @@
25981                 char    *path)
25982                 { return(*(char **)0); }
25983  
25984 +#undef _nc_pathlast
25985 +unsigned _nc_pathlast(
25986 +               const char *path)
25987 +               { return(*(unsigned *)0); }
25988 +
25989  #undef _nc_basename
25990  char   *_nc_basename(
25991                 char    *path)
25992 @@ -2097,7 +2117,7 @@
25993  
25994  #undef _nc_access
25995  int    _nc_access(
25996 -               const char *path, 
25997 +               const char *path,
25998                 int     mode)
25999                 { return(*(int *)0); }
26000  
26001 @@ -2109,8 +2129,8 @@
26002  
26003  #undef _nc_add_to_try
26004  void   _nc_add_to_try(
26005 -               struct tries **tree, 
26006 -               const char *str, 
26007 +               struct tries **tree,
26008 +               const char *str,
26009                 unsigned short code)
26010                 { /* void */ }
26011  
26012 @@ -2133,13 +2153,13 @@
26013  
26014  #undef _nc_wrap_entry
26015  void   _nc_wrap_entry(
26016 -               ENTRY   *const ep, 
26017 +               ENTRY   *const ep,
26018                 NCURSES_BOOL copy_strings)
26019                 { /* void */ }
26020  
26021  #undef _nc_merge_entry
26022  void   _nc_merge_entry(
26023 -               TERMTYPE *const to, 
26024 +               TERMTYPE *const to,
26025                 TERMTYPE *const from)
26026                 { /* void */ }
26027  
26028 @@ -2147,13 +2167,13 @@
26029  
26030  #undef _nc_align_termtype
26031  void   _nc_align_termtype(
26032 -               TERMTYPE *to, 
26033 +               TERMTYPE *to,
26034                 TERMTYPE *from)
26035                 { /* void */ }
26036  
26037  #undef _nc_copy_termtype
26038  void   _nc_copy_termtype(
26039 -               TERMTYPE *dst, 
26040 +               TERMTYPE *dst,
26041                 TERMTYPE *src)
26042                 { /* void */ }
26043  
26044 @@ -2161,15 +2181,15 @@
26045  
26046  #undef _nc_captoinfo
26047  char   *_nc_captoinfo(
26048 -               const char *cap, 
26049 -               const char *s, 
26050 +               const char *cap,
26051 +               const char *s,
26052                 int const parametrized)
26053                 { return(*(char **)0); }
26054  
26055  #undef _nc_infotocap
26056  char   *_nc_infotocap(
26057 -               const char *cap, 
26058 -               const char *str, 
26059 +               const char *cap,
26060 +               const char *str,
26061                 int const parametrized)
26062                 { return(*(char **)0); }
26063  
26064 @@ -2231,19 +2251,19 @@
26065  
26066  #undef _nc_warning
26067  void   _nc_warning(
26068 -               const char *const fmt, 
26069 +               const char *const fmt,
26070                 ...)
26071                 { /* void */ }
26072  
26073  #undef _nc_err_abort
26074  void   _nc_err_abort(
26075 -               const char *const fmt, 
26076 +               const char *const fmt,
26077                 ...)
26078                 { /* void */ }
26079  
26080  #undef _nc_syserr_abort
26081  void   _nc_syserr_abort(
26082 -               const char *const fmt, 
26083 +               const char *const fmt,
26084                 ...)
26085                 { /* void */ }
26086  
26087 @@ -2251,8 +2271,8 @@
26088  
26089  #undef _nc_tic_expand
26090  char   *_nc_tic_expand(
26091 -               const char *srcp, 
26092 -               NCURSES_BOOL tic_format, 
26093 +               const char *srcp,
26094 +               NCURSES_BOOL tic_format,
26095                 int     numbers)
26096                 { return(*(char **)0); }
26097  
26098 @@ -2262,14 +2282,14 @@
26099  
26100  #undef _nc_find_entry
26101  struct name_table_entry const *_nc_find_entry(
26102 -               const char *string, 
26103 +               const char *string,
26104                 const struct name_table_entry *const *hash_table)
26105                 { return(*(struct name_table_entry const **)0); }
26106  
26107  #undef _nc_find_type_entry
26108  struct name_table_entry const *_nc_find_type_entry(
26109 -               const char *string, 
26110 -               int     type, 
26111 +               const char *string,
26112 +               int     type,
26113                 const struct name_table_entry *table)
26114                 { return(*(struct name_table_entry const **)0); }
26115  
26116 @@ -2290,16 +2310,16 @@
26117  
26118  #undef _nc_entry_match
26119  NCURSES_BOOL _nc_entry_match(
26120 -               char    *n1, 
26121 +               char    *n1,
26122                 char    *n2)
26123                 { return(*(NCURSES_BOOL *)0); }
26124  
26125  #undef _nc_read_entry_source
26126  void   _nc_read_entry_source(
26127 -               FILE    *fp, 
26128 -               char    *buf, 
26129 -               int     literal, 
26130 -               NCURSES_BOOL silent, 
26131 +               FILE    *fp,
26132 +               char    *buf,
26133 +               int     literal,
26134 +               NCURSES_BOOL silent,
26135                 NCURSES_BOOL (*hook)(
26136                 ENTRY   *p1))
26137                 { /* void */ }
26138 @@ -2333,7 +2353,7 @@
26139  
26140  #undef _nc_trans_string
26141  char   _nc_trans_string(
26142 -               char    *ptr, 
26143 +               char    *ptr,
26144                 char    *last)
26145                 { return(*(char *)0); }
26146  
26147 @@ -2349,7 +2369,7 @@
26148  
26149  #undef _nc_reset_input
26150  void   _nc_reset_input(
26151 -               FILE    *fp, 
26152 +               FILE    *fp,
26153                 char    *buf)
26154                 { /* void */ }
26155  
26156 @@ -2357,7 +2377,7 @@
26157  
26158  #undef _nc_doalloc
26159  void   *_nc_doalloc(
26160 -               void    *oldp, 
26161 +               void    *oldp,
26162                 size_t  amount)
26163                 { return(*(void **)0); }
26164  
26165 @@ -2425,8 +2445,8 @@
26166  #include <termcap.h>
26167  
26168  struct speed {
26169 -    int s;                     
26170 -    int sp;                    
26171 +    int s;
26172 +    int sp;
26173  };
26174  
26175  #undef _nc_baudrate
26176 @@ -2524,13 +2544,13 @@
26177  
26178  #undef idlok
26179  int    idlok(
26180 -               WINDOW  *win, 
26181 +               WINDOW  *win,
26182                 NCURSES_BOOL flag)
26183                 { return(*(int *)0); }
26184  
26185  #undef idcok
26186  void   idcok(
26187 -               WINDOW  *win, 
26188 +               WINDOW  *win,
26189                 NCURSES_BOOL flag)
26190                 { /* void */ }
26191  
26192 @@ -2541,31 +2561,31 @@
26193  
26194  #undef nodelay
26195  int    nodelay(
26196 -               WINDOW  *win, 
26197 +               WINDOW  *win,
26198                 NCURSES_BOOL flag)
26199                 { return(*(int *)0); }
26200  
26201  #undef notimeout
26202  int    notimeout(
26203 -               WINDOW  *win, 
26204 +               WINDOW  *win,
26205                 NCURSES_BOOL f)
26206                 { return(*(int *)0); }
26207  
26208  #undef wtimeout
26209  void   wtimeout(
26210 -               WINDOW  *win, 
26211 +               WINDOW  *win,
26212                 int     delay)
26213                 { /* void */ }
26214  
26215  #undef keypad
26216  int    keypad(
26217 -               WINDOW  *win, 
26218 +               WINDOW  *win,
26219                 NCURSES_BOOL flag)
26220                 { return(*(int *)0); }
26221  
26222  #undef meta
26223  int    meta(
26224 -               WINDOW  *win, 
26225 +               WINDOW  *win,
26226                 NCURSES_BOOL flag)
26227                 { return(*(int *)0); }
26228  
26229 @@ -2617,7 +2637,7 @@
26230  
26231  #undef intrflush
26232  int    intrflush(
26233 -               WINDOW  *win, 
26234 +               WINDOW  *win,
26235                 NCURSES_BOOL flag)
26236                 { return(*(int *)0); }
26237  
26238 @@ -2625,11 +2645,8 @@
26239  
26240  #include <sys/ioctl.h>
26241  
26242 -#undef use_env
26243 -void   use_env(
26244 -               NCURSES_BOOL f)
26245 -               { /* void */ }
26246 -
26247 +#undef ttytype
26248 +char   ttytype[256 ];
26249  #undef LINES
26250  int    LINES;
26251  #undef COLS
26252 @@ -2637,17 +2654,31 @@
26253  #undef TABSIZE
26254  int    TABSIZE;
26255  
26256 +#undef use_env
26257 +void   use_env(
26258 +               NCURSES_BOOL f)
26259 +               { /* void */ }
26260 +
26261  #undef _nc_update_screensize
26262  void   _nc_update_screensize(void)
26263                 { /* void */ }
26264  
26265 -#undef ttytype
26266 -char   ttytype[256 ];
26267 +#undef _nc_get_locale
26268 +char   *_nc_get_locale(void)
26269 +               { return(*(char **)0); }
26270 +
26271 +#undef _nc_unicode_locale
26272 +int    _nc_unicode_locale(void)
26273 +               { return(*(int *)0); }
26274 +
26275 +#undef _nc_locale_breaks_acs
26276 +int    _nc_locale_breaks_acs(void)
26277 +               { return(*(int *)0); }
26278  
26279  #undef setupterm
26280  int    setupterm(
26281 -               char    *tname, 
26282 -               int     Filedes, 
26283 +               char    *tname,
26284 +               int     Filedes,
26285                 int     *errret)
26286                 { return(*(int *)0); }
26287  
26288 @@ -2660,7 +2691,7 @@
26289  
26290  #undef tgetent
26291  int    tgetent(
26292 -               char    *bufp, 
26293 +               char    *bufp,
26294                 const char *name)
26295                 { return(*(int *)0); }
26296  
26297 @@ -2682,7 +2713,7 @@
26298  
26299  #undef tgetstr
26300  char   *tgetstr(
26301 -               char    *id, 
26302 +               char    *id,
26303                 char    **area)
26304                 { return(*(char **)0); }
26305  
26306 @@ -2696,8 +2727,8 @@
26307  
26308  #undef tgoto
26309  char   *tgoto(
26310 -               const char *string, 
26311 -               int     x, 
26312 +               const char *string,
26313 +               int     x,
26314                 int     y)
26315                 { return(*(char **)0); }
26316  
26317 @@ -2731,9 +2762,16 @@
26318  #undef _nc_tparm_err
26319  int    _nc_tparm_err;
26320  
26321 +#undef _nc_tparm_analyze
26322 +int    _nc_tparm_analyze(
26323 +               const char *string,
26324 +               char    *p_is_s[9 ],
26325 +               int     *popcount)
26326 +               { return(*(int *)0); }
26327 +
26328  #undef tparm
26329  char   *tparm(
26330 -               char    *string, 
26331 +               char    *string,
26332                 ...)
26333                 { return(*(char **)0); }
26334  
26335 @@ -2767,8 +2805,8 @@
26336  
26337  #undef tputs
26338  int    tputs(
26339 -               const char *string, 
26340 -               int     affcnt, 
26341 +               const char *string,
26342 +               int     affcnt,
26343                 int     (*outc)(
26344                 int     p1))
26345                 { return(*(int *)0); }
26346 @@ -2789,15 +2827,25 @@
26347  
26348  #undef _tracef
26349  void   _tracef(
26350 -               const char *fmt, 
26351 +               const char *fmt,
26352                 ...)
26353                 { /* void */ }
26354  
26355 +#undef _nc_retrace_bool
26356 +NCURSES_BOOL _nc_retrace_bool(
26357 +               NCURSES_BOOL code)
26358 +               { return(*(NCURSES_BOOL *)0); }
26359 +
26360  #undef _nc_retrace_int
26361  int    _nc_retrace_int(
26362                 int     code)
26363                 { return(*(int *)0); }
26364  
26365 +#undef _nc_retrace_unsigned
26366 +unsigned _nc_retrace_unsigned(
26367 +               unsigned code)
26368 +               { return(*(unsigned *)0); }
26369 +
26370  #undef _nc_retrace_ptr
26371  char   *_nc_retrace_ptr(
26372                 char    *code)
26373 @@ -2876,8 +2924,8 @@
26374  
26375  #undef _nc_timed_wait
26376  int    _nc_timed_wait(
26377 -               int     mode, 
26378 -               int     milliseconds, 
26379 +               int     mode,
26380 +               int     milliseconds,
26381                 int     *timeleft)
26382                 { return(*(int *)0); }
26383  
26384 @@ -2890,8 +2938,8 @@
26385  
26386  #undef _nc_name_match
26387  int    _nc_name_match(
26388 -               const char *const namelst, 
26389 -               const char *const name, 
26390 +               const char *const namelst,
26391 +               const char *const name,
26392                 const char *const delim)
26393                 { return(*(int *)0); }
26394  
26395 @@ -2914,14 +2962,14 @@
26396  
26397  #undef _nc_parse_entry
26398  int    _nc_parse_entry(
26399 -               struct entry *entryp, 
26400 -               int     literal, 
26401 +               struct entry *entryp,
26402 +               int     literal,
26403                 NCURSES_BOOL silent)
26404                 { return(*(int *)0); }
26405  
26406  #undef _nc_capcmp
26407  int    _nc_capcmp(
26408 -               const char *s, 
26409 +               const char *s,
26410                 const char *t)
26411                 { return(*(int *)0); }
26412  
26413 @@ -2944,14 +2992,14 @@
26414  
26415  #undef _nc_read_file_entry
26416  int    _nc_read_file_entry(
26417 -               const char *const filename, 
26418 +               const char *const filename,
26419                 TERMTYPE *ptr)
26420                 { return(*(int *)0); }
26421  
26422  #undef _nc_read_entry
26423  int    _nc_read_entry(
26424 -               const char *const tn, 
26425 -               char    *const filename, 
26426 +               const char *const tn,
26427 +               char    *const filename,
26428                 TERMTYPE *const tp)
26429                 { return(*(int *)0); }
26430  
26431 @@ -2959,7 +3007,7 @@
26432  
26433  #undef _nc_read_termcap_entry
26434  int    _nc_read_termcap_entry(
26435 -               const char *const tn, 
26436 +               const char *const tn,
26437                 TERMTYPE *const tp)
26438                 { return(*(int *)0); }
26439  
26440 @@ -2967,7 +3015,7 @@
26441  
26442  #undef _nc_set_buffer
26443  void   _nc_set_buffer(
26444 -               FILE    *ofp, 
26445 +               FILE    *ofp,
26446                 NCURSES_BOOL buffered)
26447                 { /* void */ }
26448  
26449 @@ -2975,32 +3023,32 @@
26450  
26451  #undef _nc_str_init
26452  string_desc *_nc_str_init(
26453 -               string_desc *dst, 
26454 -               char    *src, 
26455 +               string_desc *dst,
26456 +               char    *src,
26457                 size_t  len)
26458                 { return(*(string_desc **)0); }
26459  
26460  #undef _nc_str_null
26461  string_desc *_nc_str_null(
26462 -               string_desc *dst, 
26463 +               string_desc *dst,
26464                 size_t  len)
26465                 { return(*(string_desc **)0); }
26466  
26467  #undef _nc_str_copy
26468  string_desc *_nc_str_copy(
26469 -               string_desc *dst, 
26470 +               string_desc *dst,
26471                 string_desc *src)
26472                 { return(*(string_desc **)0); }
26473  
26474  #undef _nc_safe_strcat
26475  NCURSES_BOOL _nc_safe_strcat(
26476 -               string_desc *dst, 
26477 +               string_desc *dst,
26478                 const char *src)
26479                 { return(*(NCURSES_BOOL *)0); }
26480  
26481  #undef _nc_safe_strcpy
26482  NCURSES_BOOL _nc_safe_strcpy(
26483 -               string_desc *dst, 
26484 +               string_desc *dst,
26485                 const char *src)
26486                 { return(*(NCURSES_BOOL *)0); }
26487  
26488 @@ -3013,10 +3061,16 @@
26489  
26490  #undef _nc_trace_buf
26491  char   *_nc_trace_buf(
26492 -               int     bufnum, 
26493 +               int     bufnum,
26494                 size_t  want)
26495                 { return(*(char **)0); }
26496  
26497 +#undef _nc_trace_bufcat
26498 +char   *_nc_trace_bufcat(
26499 +               int     bufnum,
26500 +               const char *value)
26501 +               { return(*(char **)0); }
26502 +
26503  /* ./trace/trace_tries.c */
26504  
26505  #undef _nc_trace_tries
26506 @@ -3035,7 +3089,7 @@
26507  
26508  #undef _nc_visbuf2
26509  const char *_nc_visbuf2(
26510 -               int     bufnum, 
26511 +               int     bufnum,
26512                 const char *buf)
26513                 { return(*(const char **)0); }
26514  
26515 @@ -3044,6 +3098,12 @@
26516                 const char *buf)
26517                 { return(*(const char **)0); }
26518  
26519 +#undef _nc_visbufn
26520 +const char *_nc_visbufn(
26521 +               const char *buf,
26522 +               int     len)
26523 +               { return(*(const char **)0); }
26524 +
26525  /* ./tinfo/write_entry.c */
26526  
26527  #undef _nc_set_writedir
26528 diff -urNd -urNd ncurses-5.3/ncurses/llib-lncursesw ncurses-5.3.20030906.orig/ncurses/llib-lncursesw
26529 --- ncurses-5.3/ncurses/llib-lncursesw  Sat Aug 31 16:58:14 2002
26530 +++ ncurses-5.3.20030906.orig/ncurses/llib-lncursesw    Fri Sep 12 16:42:59 2003
26531 @@ -1,5 +1,5 @@
26532  /****************************************************************************
26533 - * Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
26534 + * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
26535   *                                                                          *
26536   * Permission is hereby granted, free of charge, to any person obtaining a  *
26537   * copy of this software and associated documentation files (the            *
26538 @@ -27,7 +27,7 @@
26539   ****************************************************************************/
26540  
26541  /****************************************************************************
26542 - *  Author: Thomas E. Dickey 2001,2002                                      *
26543 + *  Author: Thomas E. Dickey 2001-2003                                      *
26544   ****************************************************************************/
26545  /* LINTLIBRARY */
26546  
26547 @@ -59,8 +59,8 @@
26548  
26549  #undef _nc_scroll_oldhash
26550  void   _nc_scroll_oldhash(
26551 -               int     n, 
26552 -               int     top, 
26553 +               int     n,
26554 +               int     top,
26555                 int     bot)
26556                 { /* void */ }
26557  
26558 @@ -70,37 +70,37 @@
26559  
26560  #undef _nc_render
26561  cchar_t        _nc_render(
26562 -               WINDOW  *win, 
26563 +               WINDOW  *win,
26564                 cchar_t ch)
26565                 { return(*(cchar_t *)0); }
26566  
26567  #undef _nc_waddch_nosync
26568  int    _nc_waddch_nosync(
26569 -               WINDOW  *win, 
26570 +               WINDOW  *win,
26571                 const cchar_t c)
26572                 { return(*(int *)0); }
26573  
26574  #undef waddch
26575  int    waddch(
26576 -               WINDOW  *win, 
26577 +               WINDOW  *win,
26578                 const chtype ch)
26579                 { return(*(int *)0); }
26580  
26581  #undef wechochar
26582  int    wechochar(
26583 -               WINDOW  *win, 
26584 +               WINDOW  *win,
26585                 const chtype ch)
26586                 { return(*(int *)0); }
26587  
26588  #undef wadd_wch
26589  int    wadd_wch(
26590 -               WINDOW  *win, 
26591 +               WINDOW  *win,
26592                 const cchar_t *wch)
26593                 { return(*(int *)0); }
26594  
26595  #undef wecho_wchar
26596  int    wecho_wchar(
26597 -               WINDOW  *win, 
26598 +               WINDOW  *win,
26599                 const cchar_t *wch)
26600                 { return(*(int *)0); }
26601  
26602 @@ -108,15 +108,15 @@
26603  
26604  #undef waddnstr
26605  int    waddnstr(
26606 -               WINDOW  *win, 
26607 -               const char *astr, 
26608 +               WINDOW  *win,
26609 +               const char *astr,
26610                 int     n)
26611                 { return(*(int *)0); }
26612  
26613  #undef waddchnstr
26614  int    waddchnstr(
26615 -               WINDOW  *win, 
26616 -               const chtype *astr, 
26617 +               WINDOW  *win,
26618 +               const chtype *astr,
26619                 int     n)
26620                 { return(*(int *)0); }
26621  
26622 @@ -127,15 +127,15 @@
26623  
26624  #undef wadd_wchnstr
26625  int    wadd_wchnstr(
26626 -               WINDOW  *win, 
26627 -               const cchar_t *const astr, 
26628 +               WINDOW  *win,
26629 +               const cchar_t *const astr,
26630                 int     n)
26631                 { return(*(int *)0); }
26632  
26633  #undef waddnwstr
26634  int    waddnwstr(
26635 -               WINDOW  *win, 
26636 -               const wchar_t *str, 
26637 +               WINDOW  *win,
26638 +               const wchar_t *str,
26639                 int     n)
26640                 { return(*(int *)0); }
26641  
26642 @@ -149,25 +149,25 @@
26643  
26644  #undef wbkgrndset
26645  void   wbkgrndset(
26646 -               WINDOW  *win, 
26647 +               WINDOW  *win,
26648                 const cchar_t *ch)
26649                 { /* void */ }
26650  
26651  #undef wbkgdset
26652  void   wbkgdset(
26653 -               WINDOW  *win, 
26654 +               WINDOW  *win,
26655                 chtype  ch)
26656                 { /* void */ }
26657  
26658  #undef wbkgrnd
26659  int    wbkgrnd(
26660 -               WINDOW  *win, 
26661 +               WINDOW  *win,
26662                 const cchar_t *ch)
26663                 { return(*(int *)0); }
26664  
26665  #undef wbkgd
26666  int    wbkgd(
26667 -               WINDOW  *win, 
26668 +               WINDOW  *win,
26669                 chtype  ch)
26670                 { return(*(int *)0); }
26671  
26672 @@ -175,14 +175,14 @@
26673  
26674  #undef wborder
26675  int    wborder(
26676 -               WINDOW  *win, 
26677 -               chtype  ls, 
26678 -               chtype  rs, 
26679 -               chtype  ts, 
26680 -               chtype  bs, 
26681 -               chtype  tl, 
26682 -               chtype  tr, 
26683 -               chtype  bl, 
26684 +               WINDOW  *win,
26685 +               chtype  ls,
26686 +               chtype  rs,
26687 +               chtype  ts,
26688 +               chtype  bs,
26689 +               chtype  tl,
26690 +               chtype  tr,
26691 +               chtype  bl,
26692                 chtype  br)
26693                 { return(*(int *)0); }
26694  
26695 @@ -190,10 +190,10 @@
26696  
26697  #undef wchgat
26698  int    wchgat(
26699 -               WINDOW  *win, 
26700 -               int     n, 
26701 -               attr_t  attr, 
26702 -               short   color, 
26703 +               WINDOW  *win,
26704 +               int     n,
26705 +               attr_t  attr,
26706 +               short   color,
26707                 const void *opts)
26708                 { return(*(int *)0); }
26709  
26710 @@ -208,7 +208,7 @@
26711  
26712  #undef clearok
26713  int    clearok(
26714 -               WINDOW  *win, 
26715 +               WINDOW  *win,
26716                 NCURSES_BOOL flag)
26717                 { return(*(int *)0); }
26718  
26719 @@ -235,22 +235,26 @@
26720  #undef COLORS
26721  int    COLORS;
26722  
26723 +#undef _nc_reset_colors
26724 +NCURSES_BOOL _nc_reset_colors(void)
26725 +               { return(*(NCURSES_BOOL *)0); }
26726 +
26727  #undef start_color
26728  int    start_color(void)
26729                 { return(*(int *)0); }
26730  
26731  #undef init_pair
26732  int    init_pair(
26733 -               short   pair, 
26734 -               short   f, 
26735 +               short   pair,
26736 +               short   f,
26737                 short   b)
26738                 { return(*(int *)0); }
26739  
26740  #undef init_color
26741  int    init_color(
26742 -               short   color, 
26743 -               short   r, 
26744 -               short   g, 
26745 +               short   color,
26746 +               short   r,
26747 +               short   g,
26748                 short   b)
26749                 { return(*(int *)0); }
26750  
26751 @@ -264,24 +268,24 @@
26752  
26753  #undef color_content
26754  int    color_content(
26755 -               short   color, 
26756 -               short   *r, 
26757 -               short   *g, 
26758 +               short   color,
26759 +               short   *r,
26760 +               short   *g,
26761                 short   *b)
26762                 { return(*(int *)0); }
26763  
26764  #undef pair_content
26765  int    pair_content(
26766 -               short   pair, 
26767 -               short   *f, 
26768 +               short   pair,
26769 +               short   *f,
26770                 short   *b)
26771                 { return(*(int *)0); }
26772  
26773  #undef _nc_do_color
26774  void   _nc_do_color(
26775 -               int     old_pair, 
26776 -               int     pair, 
26777 -               NCURSES_BOOL reverse, 
26778 +               int     old_pair,
26779 +               int     pair,
26780 +               NCURSES_BOOL reverse,
26781                 int     (*outc)(
26782                 int     p1))
26783                 { /* void */ }
26784 @@ -290,8 +294,8 @@
26785  
26786  #undef wcolor_set
26787  int    wcolor_set(
26788 -               WINDOW  *win, 
26789 -               short   color_pair_number, 
26790 +               WINDOW  *win,
26791 +               short   color_pair_number,
26792                 void    *opts)
26793                 { return(*(int *)0); }
26794  
26795 @@ -347,7 +351,7 @@
26796  
26797  #undef addchnstr
26798  int    addchnstr(
26799 -               const chtype *a1, 
26800 +               const chtype *a1,
26801                 int     z)
26802                 { return(*(int *)0); }
26803  
26804 @@ -358,7 +362,7 @@
26805  
26806  #undef addnstr
26807  int    addnstr(
26808 -               const char *a1, 
26809 +               const char *a1,
26810                 int     z)
26811                 { return(*(int *)0); }
26812  
26813 @@ -384,27 +388,27 @@
26814  
26815  #undef attr_get
26816  int    attr_get(
26817 -               attr_t  *a1, 
26818 -               short   *a2, 
26819 +               attr_t  *a1,
26820 +               short   *a2,
26821                 void    *z)
26822                 { return(*(int *)0); }
26823  
26824  #undef attr_off
26825  int    attr_off(
26826 -               attr_t  a1, 
26827 +               attr_t  a1,
26828                 void    *z)
26829                 { return(*(int *)0); }
26830  
26831  #undef attr_on
26832  int    attr_on(
26833 -               attr_t  a1, 
26834 +               attr_t  a1,
26835                 void    *z)
26836                 { return(*(int *)0); }
26837  
26838  #undef attr_set
26839  int    attr_set(
26840 -               attr_t  a1, 
26841 -               short   a2, 
26842 +               attr_t  a1,
26843 +               short   a2,
26844                 void    *z)
26845                 { return(*(int *)0); }
26846  
26847 @@ -420,28 +424,28 @@
26848  
26849  #undef border
26850  int    border(
26851 -               chtype  a1, 
26852 -               chtype  a2, 
26853 -               chtype  a3, 
26854 -               chtype  a4, 
26855 -               chtype  a5, 
26856 -               chtype  a6, 
26857 -               chtype  a7, 
26858 +               chtype  a1,
26859 +               chtype  a2,
26860 +               chtype  a3,
26861 +               chtype  a4,
26862 +               chtype  a5,
26863 +               chtype  a6,
26864 +               chtype  a7,
26865                 chtype  z)
26866                 { return(*(int *)0); }
26867  
26868  #undef box
26869  int    box(
26870 -               WINDOW  *a1, 
26871 -               chtype  a2, 
26872 +               WINDOW  *a1,
26873 +               chtype  a2,
26874                 chtype  z)
26875                 { return(*(int *)0); }
26876  
26877  #undef chgat
26878  int    chgat(
26879 -               int     a1, 
26880 -               attr_t  a2, 
26881 -               short   a3, 
26882 +               int     a1,
26883 +               attr_t  a2,
26884 +               short   a3,
26885                 const void *z)
26886                 { return(*(int *)0); }
26887  
26888 @@ -459,7 +463,7 @@
26889  
26890  #undef color_set
26891  int    color_set(
26892 -               short   a1, 
26893 +               short   a1,
26894                 void    *z)
26895                 { return(*(int *)0); }
26896  
26897 @@ -496,7 +500,7 @@
26898  
26899  #undef getnstr
26900  int    getnstr(
26901 -               char    *a1, 
26902 +               char    *a1,
26903                 int     z)
26904                 { return(*(int *)0); }
26905  
26906 @@ -507,7 +511,7 @@
26907  
26908  #undef hline
26909  int    hline(
26910 -               chtype  a1, 
26911 +               chtype  a1,
26912                 int     z)
26913                 { return(*(int *)0); }
26914  
26915 @@ -517,7 +521,7 @@
26916  
26917  #undef inchnstr
26918  int    inchnstr(
26919 -               chtype  *a1, 
26920 +               chtype  *a1,
26921                 int     z)
26922                 { return(*(int *)0); }
26923  
26924 @@ -528,7 +532,7 @@
26925  
26926  #undef innstr
26927  int    innstr(
26928 -               char    *a1, 
26929 +               char    *a1,
26930                 int     z)
26931                 { return(*(int *)0); }
26932  
26933 @@ -548,7 +552,7 @@
26934  
26935  #undef insnstr
26936  int    insnstr(
26937 -               const char *a1, 
26938 +               const char *a1,
26939                 int     z)
26940                 { return(*(int *)0); }
26941  
26942 @@ -564,323 +568,323 @@
26943  
26944  #undef move
26945  int    move(
26946 -               int     a1, 
26947 +               int     a1,
26948                 int     z)
26949                 { return(*(int *)0); }
26950  
26951  #undef mvaddch
26952  int    mvaddch(
26953 -               int     a1, 
26954 -               int     a2, 
26955 +               int     a1,
26956 +               int     a2,
26957                 const chtype z)
26958                 { return(*(int *)0); }
26959  
26960  #undef mvaddchnstr
26961  int    mvaddchnstr(
26962 -               int     a1, 
26963 -               int     a2, 
26964 -               const chtype *a3, 
26965 +               int     a1,
26966 +               int     a2,
26967 +               const chtype *a3,
26968                 int     z)
26969                 { return(*(int *)0); }
26970  
26971  #undef mvaddchstr
26972  int    mvaddchstr(
26973 -               int     a1, 
26974 -               int     a2, 
26975 +               int     a1,
26976 +               int     a2,
26977                 const chtype *z)
26978                 { return(*(int *)0); }
26979  
26980  #undef mvaddnstr
26981  int    mvaddnstr(
26982 -               int     a1, 
26983 -               int     a2, 
26984 -               const char *a3, 
26985 +               int     a1,
26986 +               int     a2,
26987 +               const char *a3,
26988                 int     z)
26989                 { return(*(int *)0); }
26990  
26991  #undef mvaddstr
26992  int    mvaddstr(
26993 -               int     a1, 
26994 -               int     a2, 
26995 +               int     a1,
26996 +               int     a2,
26997                 const char *z)
26998                 { return(*(int *)0); }
26999  
27000  #undef mvchgat
27001  int    mvchgat(
27002 -               int     a1, 
27003 -               int     a2, 
27004 -               int     a3, 
27005 -               attr_t  a4, 
27006 -               short   a5, 
27007 +               int     a1,
27008 +               int     a2,
27009 +               int     a3,
27010 +               attr_t  a4,
27011 +               short   a5,
27012                 const void *z)
27013                 { return(*(int *)0); }
27014  
27015  #undef mvdelch
27016  int    mvdelch(
27017 -               int     a1, 
27018 +               int     a1,
27019                 int     z)
27020                 { return(*(int *)0); }
27021  
27022  #undef mvgetch
27023  int    mvgetch(
27024 -               int     a1, 
27025 +               int     a1,
27026                 int     z)
27027                 { return(*(int *)0); }
27028  
27029  #undef mvgetnstr
27030  int    mvgetnstr(
27031 -               int     a1, 
27032 -               int     a2, 
27033 -               char    *a3, 
27034 +               int     a1,
27035 +               int     a2,
27036 +               char    *a3,
27037                 int     z)
27038                 { return(*(int *)0); }
27039  
27040  #undef mvgetstr
27041  int    mvgetstr(
27042 -               int     a1, 
27043 -               int     a2, 
27044 +               int     a1,
27045 +               int     a2,
27046                 char    *z)
27047                 { return(*(int *)0); }
27048  
27049  #undef mvhline
27050  int    mvhline(
27051 -               int     a1, 
27052 -               int     a2, 
27053 -               chtype  a3, 
27054 +               int     a1,
27055 +               int     a2,
27056 +               chtype  a3,
27057                 int     z)
27058                 { return(*(int *)0); }
27059  
27060  #undef mvinch
27061  chtype mvinch(
27062 -               int     a1, 
27063 +               int     a1,
27064                 int     z)
27065                 { return(*(chtype *)0); }
27066  
27067  #undef mvinchnstr
27068  int    mvinchnstr(
27069 -               int     a1, 
27070 -               int     a2, 
27071 -               chtype  *a3, 
27072 +               int     a1,
27073 +               int     a2,
27074 +               chtype  *a3,
27075                 int     z)
27076                 { return(*(int *)0); }
27077  
27078  #undef mvinchstr
27079  int    mvinchstr(
27080 -               int     a1, 
27081 -               int     a2, 
27082 +               int     a1,
27083 +               int     a2,
27084                 chtype  *z)
27085                 { return(*(int *)0); }
27086  
27087  #undef mvinnstr
27088  int    mvinnstr(
27089 -               int     a1, 
27090 -               int     a2, 
27091 -               char    *a3, 
27092 +               int     a1,
27093 +               int     a2,
27094 +               char    *a3,
27095                 int     z)
27096                 { return(*(int *)0); }
27097  
27098  #undef mvinsch
27099  int    mvinsch(
27100 -               int     a1, 
27101 -               int     a2, 
27102 +               int     a1,
27103 +               int     a2,
27104                 chtype  z)
27105                 { return(*(int *)0); }
27106  
27107  #undef mvinsnstr
27108  int    mvinsnstr(
27109 -               int     a1, 
27110 -               int     a2, 
27111 -               const char *a3, 
27112 +               int     a1,
27113 +               int     a2,
27114 +               const char *a3,
27115                 int     z)
27116                 { return(*(int *)0); }
27117  
27118  #undef mvinsstr
27119  int    mvinsstr(
27120 -               int     a1, 
27121 -               int     a2, 
27122 +               int     a1,
27123 +               int     a2,
27124                 const char *z)
27125                 { return(*(int *)0); }
27126  
27127  #undef mvinstr
27128  int    mvinstr(
27129 -               int     a1, 
27130 -               int     a2, 
27131 +               int     a1,
27132 +               int     a2,
27133                 char    *z)
27134                 { return(*(int *)0); }
27135  
27136  #undef mvvline
27137  int    mvvline(
27138 -               int     a1, 
27139 -               int     a2, 
27140 -               chtype  a3, 
27141 +               int     a1,
27142 +               int     a2,
27143 +               chtype  a3,
27144                 int     z)
27145                 { return(*(int *)0); }
27146  
27147  #undef mvwaddch
27148  int    mvwaddch(
27149 -               WINDOW  *a1, 
27150 -               int     a2, 
27151 -               int     a3, 
27152 +               WINDOW  *a1,
27153 +               int     a2,
27154 +               int     a3,
27155                 const chtype z)
27156                 { return(*(int *)0); }
27157  
27158  #undef mvwaddchnstr
27159  int    mvwaddchnstr(
27160 -               WINDOW  *a1, 
27161 -               int     a2, 
27162 -               int     a3, 
27163 -               const chtype *a4, 
27164 +               WINDOW  *a1,
27165 +               int     a2,
27166 +               int     a3,
27167 +               const chtype *a4,
27168                 int     z)
27169                 { return(*(int *)0); }
27170  
27171  #undef mvwaddchstr
27172  int    mvwaddchstr(
27173 -               WINDOW  *a1, 
27174 -               int     a2, 
27175 -               int     a3, 
27176 +               WINDOW  *a1,
27177 +               int     a2,
27178 +               int     a3,
27179                 const chtype *z)
27180                 { return(*(int *)0); }
27181  
27182  #undef mvwaddnstr
27183  int    mvwaddnstr(
27184 -               WINDOW  *a1, 
27185 -               int     a2, 
27186 -               int     a3, 
27187 -               const char *a4, 
27188 +               WINDOW  *a1,
27189 +               int     a2,
27190 +               int     a3,
27191 +               const char *a4,
27192                 int     z)
27193                 { return(*(int *)0); }
27194  
27195  #undef mvwaddstr
27196  int    mvwaddstr(
27197 -               WINDOW  *a1, 
27198 -               int     a2, 
27199 -               int     a3, 
27200 +               WINDOW  *a1,
27201 +               int     a2,
27202 +               int     a3,
27203                 const char *z)
27204                 { return(*(int *)0); }
27205  
27206  #undef mvwchgat
27207  int    mvwchgat(
27208 -               WINDOW  *a1, 
27209 -               int     a2, 
27210 -               int     a3, 
27211 -               int     a4, 
27212 -               attr_t  a5, 
27213 -               short   a6, 
27214 +               WINDOW  *a1,
27215 +               int     a2,
27216 +               int     a3,
27217 +               int     a4,
27218 +               attr_t  a5,
27219 +               short   a6,
27220                 const void *z)
27221                 { return(*(int *)0); }
27222  
27223  #undef mvwdelch
27224  int    mvwdelch(
27225 -               WINDOW  *a1, 
27226 -               int     a2, 
27227 +               WINDOW  *a1,
27228 +               int     a2,
27229                 int     z)
27230                 { return(*(int *)0); }
27231  
27232  #undef mvwgetch
27233  int    mvwgetch(
27234 -               WINDOW  *a1, 
27235 -               int     a2, 
27236 +               WINDOW  *a1,
27237 +               int     a2,
27238                 int     z)
27239                 { return(*(int *)0); }
27240  
27241  #undef mvwgetnstr
27242  int    mvwgetnstr(
27243 -               WINDOW  *a1, 
27244 -               int     a2, 
27245 -               int     a3, 
27246 -               char    *a4, 
27247 +               WINDOW  *a1,
27248 +               int     a2,
27249 +               int     a3,
27250 +               char    *a4,
27251                 int     z)
27252                 { return(*(int *)0); }
27253  
27254  #undef mvwgetstr
27255  int    mvwgetstr(
27256 -               WINDOW  *a1, 
27257 -               int     a2, 
27258 -               int     a3, 
27259 +               WINDOW  *a1,
27260 +               int     a2,
27261 +               int     a3,
27262                 char    *z)
27263                 { return(*(int *)0); }
27264  
27265  #undef mvwhline
27266  int    mvwhline(
27267 -               WINDOW  *a1, 
27268 -               int     a2, 
27269 -               int     a3, 
27270 -               chtype  a4, 
27271 +               WINDOW  *a1,
27272 +               int     a2,
27273 +               int     a3,
27274 +               chtype  a4,
27275                 int     z)
27276                 { return(*(int *)0); }
27277  
27278  #undef mvwinch
27279  chtype mvwinch(
27280 -               WINDOW  *a1, 
27281 -               int     a2, 
27282 +               WINDOW  *a1,
27283 +               int     a2,
27284                 int     z)
27285                 { return(*(chtype *)0); }
27286  
27287  #undef mvwinchnstr
27288  int    mvwinchnstr(
27289 -               WINDOW  *a1, 
27290 -               int     a2, 
27291 -               int     a3, 
27292 -               chtype  *a4, 
27293 +               WINDOW  *a1,
27294 +               int     a2,
27295 +               int     a3,
27296 +               chtype  *a4,
27297                 int     z)
27298                 { return(*(int *)0); }
27299  
27300  #undef mvwinchstr
27301  int    mvwinchstr(
27302 -               WINDOW  *a1, 
27303 -               int     a2, 
27304 -               int     a3, 
27305 +               WINDOW  *a1,
27306 +               int     a2,
27307 +               int     a3,
27308                 chtype  *z)
27309                 { return(*(int *)0); }
27310  
27311  #undef mvwinnstr
27312  int    mvwinnstr(
27313 -               WINDOW  *a1, 
27314 -               int     a2, 
27315 -               int     a3, 
27316 -               char    *a4, 
27317 +               WINDOW  *a1,
27318 +               int     a2,
27319 +               int     a3,
27320 +               char    *a4,
27321                 int     z)
27322                 { return(*(int *)0); }
27323  
27324  #undef mvwinsch
27325  int    mvwinsch(
27326 -               WINDOW  *a1, 
27327 -               int     a2, 
27328 -               int     a3, 
27329 +               WINDOW  *a1,
27330 +               int     a2,
27331 +               int     a3,
27332                 chtype  z)
27333                 { return(*(int *)0); }
27334  
27335  #undef mvwinsnstr
27336  int    mvwinsnstr(
27337 -               WINDOW  *a1, 
27338 -               int     a2, 
27339 -               int     a3, 
27340 -               const char *a4, 
27341 +               WINDOW  *a1,
27342 +               int     a2,
27343 +               int     a3,
27344 +               const char *a4,
27345                 int     z)
27346                 { return(*(int *)0); }
27347  
27348  #undef mvwinsstr
27349  int    mvwinsstr(
27350 -               WINDOW  *a1, 
27351 -               int     a2, 
27352 -               int     a3, 
27353 +               WINDOW  *a1,
27354 +               int     a2,
27355 +               int     a3,
27356                 const char *z)
27357                 { return(*(int *)0); }
27358  
27359  #undef mvwinstr
27360  int    mvwinstr(
27361 -               WINDOW  *a1, 
27362 -               int     a2, 
27363 -               int     a3, 
27364 +               WINDOW  *a1,
27365 +               int     a2,
27366 +               int     a3,
27367                 char    *z)
27368                 { return(*(int *)0); }
27369  
27370  #undef mvwvline
27371  int    mvwvline(
27372 -               WINDOW  *a1, 
27373 -               int     a2, 
27374 -               int     a3, 
27375 -               chtype  a4, 
27376 +               WINDOW  *a1,
27377 +               int     a2,
27378 +               int     a3,
27379 +               chtype  a4,
27380                 int     z)
27381                 { return(*(int *)0); }
27382  
27383 @@ -910,19 +914,19 @@
27384  
27385  #undef setscrreg
27386  int    setscrreg(
27387 -               int     a1, 
27388 +               int     a1,
27389                 int     z)
27390                 { return(*(int *)0); }
27391  
27392  #undef slk_attr_off
27393  int    slk_attr_off(
27394 -               const attr_t a1, 
27395 +               const attr_t a1,
27396                 void    *z)
27397                 { return(*(int *)0); }
27398  
27399  #undef slk_attr_on
27400  int    slk_attr_on(
27401 -               attr_t  a1, 
27402 +               attr_t  a1,
27403                 void    *z)
27404                 { return(*(int *)0); }
27405  
27406 @@ -941,8 +945,8 @@
27407  
27408  #undef touchline
27409  int    touchline(
27410 -               WINDOW  *a1, 
27411 -               int     a2, 
27412 +               WINDOW  *a1,
27413 +               int     a2,
27414                 int     z)
27415                 { return(*(int *)0); }
27416  
27417 @@ -958,67 +962,67 @@
27418  
27419  #undef vline
27420  int    vline(
27421 -               chtype  a1, 
27422 +               chtype  a1,
27423                 int     z)
27424                 { return(*(int *)0); }
27425  
27426  #undef vw_printw
27427  int    vw_printw(
27428 -               WINDOW  *a1, 
27429 -               char    *a2, 
27430 +               WINDOW  *a1,
27431 +               const char *a2,
27432                 va_list z)
27433                 { return(*(int *)0); }
27434  
27435  #undef vw_scanw
27436  int    vw_scanw(
27437 -               WINDOW  *a1, 
27438 -               char    *a2, 
27439 +               WINDOW  *a1,
27440 +               char    *a2,
27441                 va_list z)
27442                 { return(*(int *)0); }
27443  
27444  #undef waddchstr
27445  int    waddchstr(
27446 -               WINDOW  *a1, 
27447 +               WINDOW  *a1,
27448                 const chtype *z)
27449                 { return(*(int *)0); }
27450  
27451  #undef waddstr
27452  int    waddstr(
27453 -               WINDOW  *a1, 
27454 +               WINDOW  *a1,
27455                 const char *z)
27456                 { return(*(int *)0); }
27457  
27458  #undef wattron
27459  int    wattron(
27460 -               WINDOW  *a1, 
27461 +               WINDOW  *a1,
27462                 int     z)
27463                 { return(*(int *)0); }
27464  
27465  #undef wattroff
27466  int    wattroff(
27467 -               WINDOW  *a1, 
27468 +               WINDOW  *a1,
27469                 int     z)
27470                 { return(*(int *)0); }
27471  
27472  #undef wattrset
27473  int    wattrset(
27474 -               WINDOW  *a1, 
27475 +               WINDOW  *a1,
27476                 int     z)
27477                 { return(*(int *)0); }
27478  
27479  #undef wattr_get
27480  int    wattr_get(
27481 -               WINDOW  *a1, 
27482 -               attr_t  *a2, 
27483 -               short   *a3, 
27484 +               WINDOW  *a1,
27485 +               attr_t  *a2,
27486 +               short   *a3,
27487                 void    *z)
27488                 { return(*(int *)0); }
27489  
27490  #undef wattr_set
27491  int    wattr_set(
27492 -               WINDOW  *a1, 
27493 -               attr_t  a2, 
27494 -               short   a3, 
27495 +               WINDOW  *a1,
27496 +               attr_t  a2,
27497 +               short   a3,
27498                 void    *z)
27499                 { return(*(int *)0); }
27500  
27501 @@ -1029,13 +1033,13 @@
27502  
27503  #undef wgetstr
27504  int    wgetstr(
27505 -               WINDOW  *a1, 
27506 +               WINDOW  *a1,
27507                 char    *z)
27508                 { return(*(int *)0); }
27509  
27510  #undef winchstr
27511  int    winchstr(
27512 -               WINDOW  *a1, 
27513 +               WINDOW  *a1,
27514                 chtype  *z)
27515                 { return(*(int *)0); }
27516  
27517 @@ -1046,13 +1050,13 @@
27518  
27519  #undef winsstr
27520  int    winsstr(
27521 -               WINDOW  *a1, 
27522 +               WINDOW  *a1,
27523                 const char *z)
27524                 { return(*(int *)0); }
27525  
27526  #undef winstr
27527  int    winstr(
27528 -               WINDOW  *a1, 
27529 +               WINDOW  *a1,
27530                 char    *z)
27531                 { return(*(int *)0); }
27532  
27533 @@ -1073,7 +1077,7 @@
27534  
27535  #undef add_wchnstr
27536  int    add_wchnstr(
27537 -               const cchar_t *a1, 
27538 +               const cchar_t *a1,
27539                 int     z)
27540                 { return(*(int *)0); }
27541  
27542 @@ -1084,7 +1088,7 @@
27543  
27544  #undef addnwstr
27545  int    addnwstr(
27546 -               const wchar_t *a1, 
27547 +               const wchar_t *a1,
27548                 int     z)
27549                 { return(*(int *)0); }
27550  
27551 @@ -1105,20 +1109,20 @@
27552  
27553  #undef border_set
27554  int    border_set(
27555 -               const cchar_t *a1, 
27556 -               const cchar_t *a2, 
27557 -               const cchar_t *a3, 
27558 -               const cchar_t *a4, 
27559 -               const cchar_t *a5, 
27560 -               const cchar_t *a6, 
27561 -               const cchar_t *a7, 
27562 +               const cchar_t *a1,
27563 +               const cchar_t *a2,
27564 +               const cchar_t *a3,
27565 +               const cchar_t *a4,
27566 +               const cchar_t *a5,
27567 +               const cchar_t *a6,
27568 +               const cchar_t *a7,
27569                 const cchar_t *z)
27570                 { return(*(int *)0); }
27571  
27572  #undef box_set
27573  int    box_set(
27574 -               WINDOW  *a1, 
27575 -               const cchar_t *a2, 
27576 +               WINDOW  *a1,
27577 +               const cchar_t *a2,
27578                 const cchar_t *z)
27579                 { return(*(int *)0); }
27580  
27581 @@ -1129,12 +1133,12 @@
27582  
27583  #undef get_wch
27584  int    get_wch(
27585 -               wint_t *z)
27586 +               wint_t  *z)
27587                 { return(*(int *)0); }
27588  
27589  #undef get_wstr
27590  int    get_wstr(
27591 -               wint_t *z)
27592 +               wint_t  *z)
27593                 { return(*(int *)0); }
27594  
27595  #undef getbkgrnd
27596 @@ -1144,13 +1148,13 @@
27597  
27598  #undef getn_wstr
27599  int    getn_wstr(
27600 -               wint_t *a1, 
27601 +               wint_t  *a1,
27602                 int     z)
27603                 { return(*(int *)0); }
27604  
27605  #undef hline_set
27606  int    hline_set(
27607 -               const cchar_t *a1, 
27608 +               const cchar_t *a1,
27609                 int     z)
27610                 { return(*(int *)0); }
27611  
27612 @@ -1161,7 +1165,7 @@
27613  
27614  #undef in_wchnstr
27615  int    in_wchnstr(
27616 -               cchar_t *a1, 
27617 +               cchar_t *a1,
27618                 int     z)
27619                 { return(*(int *)0); }
27620  
27621 @@ -1172,13 +1176,13 @@
27622  
27623  #undef innwstr
27624  int    innwstr(
27625 -               wchar_t *a1, 
27626 +               wchar_t *a1,
27627                 int     z)
27628                 { return(*(int *)0); }
27629  
27630  #undef ins_nwstr
27631  int    ins_nwstr(
27632 -               const wchar_t *a1, 
27633 +               const wchar_t *a1,
27634                 int     z)
27635                 { return(*(int *)0); }
27636  
27637 @@ -1194,335 +1198,335 @@
27638  
27639  #undef inwstr
27640  int    inwstr(
27641 -               wchar_t *z)
27642 +               wchar_t *z)
27643                 { return(*(int *)0); }
27644  
27645  #undef mvadd_wch
27646  int    mvadd_wch(
27647 -               int     a1, 
27648 -               int     a2, 
27649 +               int     a1,
27650 +               int     a2,
27651                 const cchar_t *z)
27652                 { return(*(int *)0); }
27653  
27654  #undef mvadd_wchnstr
27655  int    mvadd_wchnstr(
27656 -               int     a1, 
27657 -               int     a2, 
27658 -               const cchar_t *a3, 
27659 +               int     a1,
27660 +               int     a2,
27661 +               const cchar_t *a3,
27662                 int     z)
27663                 { return(*(int *)0); }
27664  
27665  #undef mvadd_wchstr
27666  int    mvadd_wchstr(
27667 -               int     a1, 
27668 -               int     a2, 
27669 +               int     a1,
27670 +               int     a2,
27671                 const cchar_t *z)
27672                 { return(*(int *)0); }
27673  
27674  #undef mvaddnwstr
27675  int    mvaddnwstr(
27676 -               int     a1, 
27677 -               int     a2, 
27678 -               const wchar_t *a3, 
27679 +               int     a1,
27680 +               int     a2,
27681 +               const wchar_t *a3,
27682                 int     z)
27683                 { return(*(int *)0); }
27684  
27685  #undef mvaddwstr
27686  int    mvaddwstr(
27687 -               int     a1, 
27688 -               int     a2, 
27689 +               int     a1,
27690 +               int     a2,
27691                 const wchar_t *z)
27692                 { return(*(int *)0); }
27693  
27694  #undef mvget_wch
27695  int    mvget_wch(
27696 -               int     a1, 
27697 -               int     a2, 
27698 -               wint_t *z)
27699 +               int     a1,
27700 +               int     a2,
27701 +               wint_t  *z)
27702                 { return(*(int *)0); }
27703  
27704  #undef mvget_wstr
27705  int    mvget_wstr(
27706 -               int     a1, 
27707 -               int     a2, 
27708 -               wint_t *z)
27709 +               int     a1,
27710 +               int     a2,
27711 +               wint_t  *z)
27712                 { return(*(int *)0); }
27713  
27714  #undef mvgetn_wstr
27715  int    mvgetn_wstr(
27716 -               int     a1, 
27717 -               int     a2, 
27718 -               wint_t *a3, 
27719 +               int     a1,
27720 +               int     a2,
27721 +               wint_t  *a3,
27722                 int     z)
27723                 { return(*(int *)0); }
27724  
27725  #undef mvhline_set
27726  int    mvhline_set(
27727 -               int     a1, 
27728 -               int     a2, 
27729 -               const cchar_t *a3, 
27730 +               int     a1,
27731 +               int     a2,
27732 +               const cchar_t *a3,
27733                 int     z)
27734                 { return(*(int *)0); }
27735  
27736  #undef mvin_wch
27737  int    mvin_wch(
27738 -               int     a1, 
27739 -               int     a2, 
27740 +               int     a1,
27741 +               int     a2,
27742                 cchar_t *z)
27743                 { return(*(int *)0); }
27744  
27745  #undef mvin_wchnstr
27746  int    mvin_wchnstr(
27747 -               int     a1, 
27748 -               int     a2, 
27749 -               cchar_t *a3, 
27750 +               int     a1,
27751 +               int     a2,
27752 +               cchar_t *a3,
27753                 int     z)
27754                 { return(*(int *)0); }
27755  
27756  #undef mvin_wchstr
27757  int    mvin_wchstr(
27758 -               int     a1, 
27759 -               int     a2, 
27760 +               int     a1,
27761 +               int     a2,
27762                 cchar_t *z)
27763                 { return(*(int *)0); }
27764  
27765  #undef mvinnwstr
27766  int    mvinnwstr(
27767 -               int     a1, 
27768 -               int     a2, 
27769 -               wchar_t *a3, 
27770 +               int     a1,
27771 +               int     a2,
27772 +               wchar_t *a3,
27773                 int     z)
27774                 { return(*(int *)0); }
27775  
27776  #undef mvins_nwstr
27777  int    mvins_nwstr(
27778 -               int     a1, 
27779 -               int     a2, 
27780 -               const wchar_t *a3, 
27781 +               int     a1,
27782 +               int     a2,
27783 +               const wchar_t *a3,
27784                 int     z)
27785                 { return(*(int *)0); }
27786  
27787  #undef mvins_wch
27788  int    mvins_wch(
27789 -               int     a1, 
27790 -               int     a2, 
27791 +               int     a1,
27792 +               int     a2,
27793                 const cchar_t *z)
27794                 { return(*(int *)0); }
27795  
27796  #undef mvins_wstr
27797  int    mvins_wstr(
27798 -               int     a1, 
27799 -               int     a2, 
27800 +               int     a1,
27801 +               int     a2,
27802                 const wchar_t *z)
27803                 { return(*(int *)0); }
27804  
27805  #undef mvinwstr
27806  int    mvinwstr(
27807 -               int     a1, 
27808 -               int     a2, 
27809 -               wchar_t *z)
27810 +               int     a1,
27811 +               int     a2,
27812 +               wchar_t *z)
27813                 { return(*(int *)0); }
27814  
27815  #undef mvvline_set
27816  int    mvvline_set(
27817 -               int     a1, 
27818 -               int     a2, 
27819 -               const cchar_t *a3, 
27820 +               int     a1,
27821 +               int     a2,
27822 +               const cchar_t *a3,
27823                 int     z)
27824                 { return(*(int *)0); }
27825  
27826  #undef mvwadd_wch
27827  int    mvwadd_wch(
27828 -               WINDOW  *a1, 
27829 -               int     a2, 
27830 -               int     a3, 
27831 +               WINDOW  *a1,
27832 +               int     a2,
27833 +               int     a3,
27834                 const cchar_t *z)
27835                 { return(*(int *)0); }
27836  
27837  #undef mvwadd_wchnstr
27838  int    mvwadd_wchnstr(
27839 -               WINDOW  *a1, 
27840 -               int     a2, 
27841 -               int     a3, 
27842 -               const cchar_t *a4, 
27843 +               WINDOW  *a1,
27844 +               int     a2,
27845 +               int     a3,
27846 +               const cchar_t *a4,
27847                 int     z)
27848                 { return(*(int *)0); }
27849  
27850  #undef mvwadd_wchstr
27851  int    mvwadd_wchstr(
27852 -               WINDOW  *a1, 
27853 -               int     a2, 
27854 -               int     a3, 
27855 +               WINDOW  *a1,
27856 +               int     a2,
27857 +               int     a3,
27858                 const cchar_t *z)
27859                 { return(*(int *)0); }
27860  
27861  #undef mvwaddnwstr
27862  int    mvwaddnwstr(
27863 -               WINDOW  *a1, 
27864 -               int     a2, 
27865 -               int     a3, 
27866 -               const wchar_t *a4, 
27867 +               WINDOW  *a1,
27868 +               int     a2,
27869 +               int     a3,
27870 +               const wchar_t *a4,
27871                 int     z)
27872                 { return(*(int *)0); }
27873  
27874  #undef mvwaddwstr
27875  int    mvwaddwstr(
27876 -               WINDOW  *a1, 
27877 -               int     a2, 
27878 -               int     a3, 
27879 +               WINDOW  *a1,
27880 +               int     a2,
27881 +               int     a3,
27882                 const wchar_t *z)
27883                 { return(*(int *)0); }
27884  
27885  #undef mvwget_wch
27886  int    mvwget_wch(
27887 -               WINDOW  *a1, 
27888 -               int     a2, 
27889 -               int     a3, 
27890 -               wint_t *z)
27891 +               WINDOW  *a1,
27892 +               int     a2,
27893 +               int     a3,
27894 +               wint_t  *z)
27895                 { return(*(int *)0); }
27896  
27897  #undef mvwget_wstr
27898  int    mvwget_wstr(
27899 -               WINDOW  *a1, 
27900 -               int     a2, 
27901 -               int     a3, 
27902 -               wint_t *z)
27903 +               WINDOW  *a1,
27904 +               int     a2,
27905 +               int     a3,
27906 +               wint_t  *z)
27907                 { return(*(int *)0); }
27908  
27909  #undef mvwgetn_wstr
27910  int    mvwgetn_wstr(
27911 -               WINDOW  *a1, 
27912 -               int     a2, 
27913 -               int     a3, 
27914 -               wint_t *a4, 
27915 +               WINDOW  *a1,
27916 +               int     a2,
27917 +               int     a3,
27918 +               wint_t  *a4,
27919                 int     z)
27920                 { return(*(int *)0); }
27921  
27922  #undef mvwhline_set
27923  int    mvwhline_set(
27924 -               WINDOW  *a1, 
27925 -               int     a2, 
27926 -               int     a3, 
27927 -               const cchar_t *a4, 
27928 +               WINDOW  *a1,
27929 +               int     a2,
27930 +               int     a3,
27931 +               const cchar_t *a4,
27932                 int     z)
27933                 { return(*(int *)0); }
27934  
27935  #undef mvwin_wch
27936  int    mvwin_wch(
27937 -               WINDOW  *a1, 
27938 -               int     a2, 
27939 -               int     a3, 
27940 +               WINDOW  *a1,
27941 +               int     a2,
27942 +               int     a3,
27943                 cchar_t *z)
27944                 { return(*(int *)0); }
27945  
27946  #undef mvwin_wchnstr
27947  int    mvwin_wchnstr(
27948 -               WINDOW  *a1, 
27949 -               int     a2, 
27950 -               int     a3, 
27951 -               cchar_t *a4, 
27952 +               WINDOW  *a1,
27953 +               int     a2,
27954 +               int     a3,
27955 +               cchar_t *a4,
27956                 int     z)
27957                 { return(*(int *)0); }
27958  
27959  #undef mvwin_wchstr
27960  int    mvwin_wchstr(
27961 -               WINDOW  *a1, 
27962 -               int     a2, 
27963 -               int     a3, 
27964 +               WINDOW  *a1,
27965 +               int     a2,
27966 +               int     a3,
27967                 cchar_t *z)
27968                 { return(*(int *)0); }
27969  
27970  #undef mvwinnwstr
27971  int    mvwinnwstr(
27972 -               WINDOW  *a1, 
27973 -               int     a2, 
27974 -               int     a3, 
27975 -               wchar_t *a4, 
27976 +               WINDOW  *a1,
27977 +               int     a2,
27978 +               int     a3,
27979 +               wchar_t *a4,
27980                 int     z)
27981                 { return(*(int *)0); }
27982  
27983  #undef mvwins_nwstr
27984  int    mvwins_nwstr(
27985 -               WINDOW  *a1, 
27986 -               int     a2, 
27987 -               int     a3, 
27988 -               const wchar_t *a4, 
27989 +               WINDOW  *a1,
27990 +               int     a2,
27991 +               int     a3,
27992 +               const wchar_t *a4,
27993                 int     z)
27994                 { return(*(int *)0); }
27995  
27996  #undef mvwins_wch
27997  int    mvwins_wch(
27998 -               WINDOW  *a1, 
27999 -               int     a2, 
28000 -               int     a3, 
28001 +               WINDOW  *a1,
28002 +               int     a2,
28003 +               int     a3,
28004                 const cchar_t *z)
28005                 { return(*(int *)0); }
28006  
28007  #undef mvwins_wstr
28008  int    mvwins_wstr(
28009 -               WINDOW  *a1, 
28010 -               int     a2, 
28011 -               int     a3, 
28012 +               WINDOW  *a1,
28013 +               int     a2,
28014 +               int     a3,
28015                 const wchar_t *z)
28016                 { return(*(int *)0); }
28017  
28018  #undef mvwinwstr
28019  int    mvwinwstr(
28020 -               WINDOW  *a1, 
28021 -               int     a2, 
28022 -               int     a3, 
28023 -               wchar_t *z)
28024 +               WINDOW  *a1,
28025 +               int     a2,
28026 +               int     a3,
28027 +               wchar_t *z)
28028                 { return(*(int *)0); }
28029  
28030  #undef mvwvline_set
28031  int    mvwvline_set(
28032 -               WINDOW  *a1, 
28033 -               int     a2, 
28034 -               int     a3, 
28035 -               const cchar_t *a4, 
28036 +               WINDOW  *a1,
28037 +               int     a2,
28038 +               int     a3,
28039 +               const cchar_t *a4,
28040                 int     z)
28041                 { return(*(int *)0); }
28042  
28043  #undef vline_set
28044  int    vline_set(
28045 -               const cchar_t *a1, 
28046 +               const cchar_t *a1,
28047                 int     z)
28048                 { return(*(int *)0); }
28049  
28050  #undef wadd_wchstr
28051  int    wadd_wchstr(
28052 -               WINDOW  *a1, 
28053 +               WINDOW  *a1,
28054                 const cchar_t *z)
28055                 { return(*(int *)0); }
28056  
28057  #undef waddwstr
28058  int    waddwstr(
28059 -               WINDOW  *a1, 
28060 +               WINDOW  *a1,
28061                 const wchar_t *z)
28062                 { return(*(int *)0); }
28063  
28064  #undef wget_wstr
28065  int    wget_wstr(
28066 -               WINDOW  *a1, 
28067 -               wint_t *z)
28068 +               WINDOW  *a1,
28069 +               wint_t  *z)
28070                 { return(*(int *)0); }
28071  
28072  #undef win_wchstr
28073  int    win_wchstr(
28074 -               WINDOW  *a1, 
28075 +               WINDOW  *a1,
28076                 cchar_t *z)
28077                 { return(*(int *)0); }
28078  
28079  #undef wins_wstr
28080  int    wins_wstr(
28081 -               WINDOW  *a1, 
28082 +               WINDOW  *a1,
28083                 const wchar_t *z)
28084                 { return(*(int *)0); }
28085  
28086  #undef mouse_trafo
28087  NCURSES_BOOL mouse_trafo(
28088 -               int     *a1, 
28089 -               int     *a2, 
28090 +               int     *a1,
28091 +               int     *a2,
28092                 NCURSES_BOOL z)
28093                 { return(*(NCURSES_BOOL *)0); }
28094  
28095 @@ -1535,8 +1539,8 @@
28096  
28097  #undef _nc_wgetch
28098  int    _nc_wgetch(
28099 -               WINDOW  *win, 
28100 -               unsigned long *result, 
28101 +               WINDOW  *win,
28102 +               unsigned long *result,
28103                 int     use_meta)
28104                 { return(*(int *)0); }
28105  
28106 @@ -1549,8 +1553,8 @@
28107  
28108  #undef wgetnstr
28109  int    wgetnstr(
28110 -               WINDOW  *win, 
28111 -               char    *str, 
28112 +               WINDOW  *win,
28113 +               char    *str,
28114                 int     maxlen)
28115                 { return(*(int *)0); }
28116  
28117 @@ -1558,8 +1562,8 @@
28118  
28119  #undef whline
28120  int    whline(
28121 -               WINDOW  *win, 
28122 -               chtype  ch, 
28123 +               WINDOW  *win,
28124 +               chtype  ch,
28125                 int     n)
28126                 { return(*(int *)0); }
28127  
28128 @@ -1567,7 +1571,7 @@
28129  
28130  #undef immedok
28131  void   immedok(
28132 -               WINDOW  *win, 
28133 +               WINDOW  *win,
28134                 NCURSES_BOOL flag)
28135                 { /* void */ }
28136  
28137 @@ -1575,8 +1579,8 @@
28138  
28139  #undef winchnstr
28140  int    winchnstr(
28141 -               WINDOW  *win, 
28142 -               chtype  *str, 
28143 +               WINDOW  *win,
28144 +               chtype  *str,
28145                 int     n)
28146                 { return(*(int *)0); }
28147  
28148 @@ -1588,26 +1592,30 @@
28149  
28150  /* ./base/lib_insch.c */
28151  
28152 +#undef _nc_insert_ch
28153 +void   _nc_insert_ch(
28154 +               WINDOW  *win,
28155 +               chtype  ch)
28156 +               { /* void */ }
28157 +
28158  #undef winsch
28159  int    winsch(
28160 -               WINDOW  *win, 
28161 +               WINDOW  *win,
28162                 chtype  c)
28163                 { return(*(int *)0); }
28164  
28165 -/* ./base/lib_insdel.c */
28166 -
28167 -#undef winsdelln
28168 -int    winsdelln(
28169 -               WINDOW  *win, 
28170 +#undef winsnstr
28171 +int    winsnstr(
28172 +               WINDOW  *win,
28173 +               const char *s,
28174                 int     n)
28175                 { return(*(int *)0); }
28176  
28177 -/* ./base/lib_insstr.c */
28178 +/* ./base/lib_insdel.c */
28179  
28180 -#undef winsnstr
28181 -int    winsnstr(
28182 -               WINDOW  *win, 
28183 -               const char *s, 
28184 +#undef winsdelln
28185 +int    winsdelln(
28186 +               WINDOW  *win,
28187                 int     n)
28188                 { return(*(int *)0); }
28189  
28190 @@ -1615,8 +1623,8 @@
28191  
28192  #undef winnstr
28193  int    winnstr(
28194 -               WINDOW  *win, 
28195 -               char    *str, 
28196 +               WINDOW  *win,
28197 +               char    *str,
28198                 int     n)
28199                 { return(*(int *)0); }
28200  
28201 @@ -1630,7 +1638,7 @@
28202  
28203  #undef leaveok
28204  int    leaveok(
28205 -               WINDOW  *win, 
28206 +               WINDOW  *win,
28207                 NCURSES_BOOL flag)
28208                 { return(*(int *)0); }
28209  
28210 @@ -1648,14 +1656,14 @@
28211  
28212  #undef mousemask
28213  mmask_t        mousemask(
28214 -               mmask_t newmask, 
28215 +               mmask_t newmask,
28216                 mmask_t *oldmask)
28217                 { return(*(mmask_t *)0); }
28218  
28219  #undef wenclose
28220  NCURSES_BOOL wenclose(
28221 -               const WINDOW *win, 
28222 -               int     y, 
28223 +               const WINDOW *win,
28224 +               int     y,
28225                 int     x)
28226                 { return(*(NCURSES_BOOL *)0); }
28227  
28228 @@ -1670,9 +1678,9 @@
28229  
28230  #undef wmouse_trafo
28231  NCURSES_BOOL wmouse_trafo(
28232 -               const WINDOW *win, 
28233 -               int     *pY, 
28234 -               int     *pX, 
28235 +               const WINDOW *win,
28236 +               int     *pY,
28237 +               int     *pX,
28238                 NCURSES_BOOL to_screen)
28239                 { return(*(NCURSES_BOOL *)0); }
28240  
28241 @@ -1680,8 +1688,8 @@
28242  
28243  #undef wmove
28244  int    wmove(
28245 -               WINDOW  *win, 
28246 -               int     y, 
28247 +               WINDOW  *win,
28248 +               int     y,
28249                 int     x)
28250                 { return(*(int *)0); }
28251  
28252 @@ -1689,7 +1697,7 @@
28253  
28254  #undef _nc_msec_cost
28255  int    _nc_msec_cost(
28256 -               const char *const cap, 
28257 +               const char *const cap,
28258                 int     affcnt)
28259                 { return(*(int *)0); }
28260  
28261 @@ -1707,9 +1715,9 @@
28262  
28263  #undef mvcur
28264  int    mvcur(
28265 -               int     yold, 
28266 -               int     xold, 
28267 -               int     ynew, 
28268 +               int     yold,
28269 +               int     xold,
28270 +               int     ynew,
28271                 int     xnew)
28272                 { return(*(int *)0); }
28273  
28274 @@ -1720,8 +1728,8 @@
28275  
28276  #undef mvwin
28277  int    mvwin(
28278 -               WINDOW  *win, 
28279 -               int     by, 
28280 +               WINDOW  *win,
28281 +               int     by,
28282                 int     bx)
28283                 { return(*(int *)0); }
28284  
28285 @@ -1733,8 +1741,8 @@
28286  
28287  #undef newterm
28288  SCREEN *newterm(
28289 -               char    *name, 
28290 -               FILE    *ofp, 
28291 +               char    *name,
28292 +               FILE    *ofp,
28293                 FILE    *ifp)
28294                 { return(*(SCREEN **)0); }
28295  
28296 @@ -1747,36 +1755,36 @@
28297  
28298  #undef newwin
28299  WINDOW *newwin(
28300 -               int     num_lines, 
28301 -               int     num_columns, 
28302 -               int     begy, 
28303 +               int     num_lines,
28304 +               int     num_columns,
28305 +               int     begy,
28306                 int     begx)
28307                 { return(*(WINDOW **)0); }
28308  
28309  #undef derwin
28310  WINDOW *derwin(
28311 -               WINDOW  *orig, 
28312 -               int     num_lines, 
28313 -               int     num_columns, 
28314 -               int     begy, 
28315 +               WINDOW  *orig,
28316 +               int     num_lines,
28317 +               int     num_columns,
28318 +               int     begy,
28319                 int     begx)
28320                 { return(*(WINDOW **)0); }
28321  
28322  #undef subwin
28323  WINDOW *subwin(
28324 -               WINDOW  *w, 
28325 -               int     l, 
28326 -               int     c, 
28327 -               int     y, 
28328 +               WINDOW  *w,
28329 +               int     l,
28330 +               int     c,
28331 +               int     y,
28332                 int     x)
28333                 { return(*(WINDOW **)0); }
28334  
28335  #undef _nc_makenew
28336  WINDOW *_nc_makenew(
28337 -               int     num_lines, 
28338 -               int     num_columns, 
28339 -               int     begy, 
28340 -               int     begx, 
28341 +               int     num_lines,
28342 +               int     num_columns,
28343 +               int     begy,
28344 +               int     begx,
28345                 int     flags)
28346                 { return(*(WINDOW **)0); }
28347  
28348 @@ -1794,26 +1802,26 @@
28349  
28350  #undef overlay
28351  int    overlay(
28352 -               const WINDOW *win1, 
28353 +               const WINDOW *win1,
28354                 WINDOW  *win2)
28355                 { return(*(int *)0); }
28356  
28357  #undef overwrite
28358  int    overwrite(
28359 -               const WINDOW *win1, 
28360 +               const WINDOW *win1,
28361                 WINDOW  *win2)
28362                 { return(*(int *)0); }
28363  
28364  #undef copywin
28365  int    copywin(
28366 -               const WINDOW *src, 
28367 -               WINDOW  *dst, 
28368 -               int     sminrow, 
28369 -               int     smincol, 
28370 -               int     dminrow, 
28371 -               int     dmincol, 
28372 -               int     dmaxrow, 
28373 -               int     dmaxcol, 
28374 +               const WINDOW *src,
28375 +               WINDOW  *dst,
28376 +               int     sminrow,
28377 +               int     smincol,
28378 +               int     dminrow,
28379 +               int     dmincol,
28380 +               int     dmaxrow,
28381 +               int     dmaxcol,
28382                 int     over)
28383                 { return(*(int *)0); }
28384  
28385 @@ -1821,44 +1829,44 @@
28386  
28387  #undef newpad
28388  WINDOW *newpad(
28389 -               int     l, 
28390 +               int     l,
28391                 int     c)
28392                 { return(*(WINDOW **)0); }
28393  
28394  #undef subpad
28395  WINDOW *subpad(
28396 -               WINDOW  *orig, 
28397 -               int     l, 
28398 -               int     c, 
28399 -               int     begy, 
28400 +               WINDOW  *orig,
28401 +               int     l,
28402 +               int     c,
28403 +               int     begy,
28404                 int     begx)
28405                 { return(*(WINDOW **)0); }
28406  
28407  #undef prefresh
28408  int    prefresh(
28409 -               WINDOW  *win, 
28410 -               int     pminrow, 
28411 -               int     pmincol, 
28412 -               int     sminrow, 
28413 -               int     smincol, 
28414 -               int     smaxrow, 
28415 +               WINDOW  *win,
28416 +               int     pminrow,
28417 +               int     pmincol,
28418 +               int     sminrow,
28419 +               int     smincol,
28420 +               int     smaxrow,
28421                 int     smaxcol)
28422                 { return(*(int *)0); }
28423  
28424  #undef pnoutrefresh
28425  int    pnoutrefresh(
28426 -               WINDOW  *win, 
28427 -               int     pminrow, 
28428 -               int     pmincol, 
28429 -               int     sminrow, 
28430 -               int     smincol, 
28431 -               int     smaxrow, 
28432 +               WINDOW  *win,
28433 +               int     pminrow,
28434 +               int     pmincol,
28435 +               int     sminrow,
28436 +               int     smincol,
28437 +               int     smaxrow,
28438                 int     smaxcol)
28439                 { return(*(int *)0); }
28440  
28441  #undef pechochar
28442  int    pechochar(
28443 -               WINDOW  *pad, 
28444 +               WINDOW  *pad,
28445                 const chtype ch)
28446                 { return(*(int *)0); }
28447  
28448 @@ -1866,38 +1874,38 @@
28449  
28450  #undef printw
28451  int    printw(
28452 -               char    *fmt, 
28453 +               const char *fmt,
28454                 ...)
28455                 { return(*(int *)0); }
28456  
28457  #undef wprintw
28458  int    wprintw(
28459 -               WINDOW  *win, 
28460 -               char    *fmt, 
28461 +               WINDOW  *win,
28462 +               const char *fmt,
28463                 ...)
28464                 { return(*(int *)0); }
28465  
28466  #undef mvprintw
28467  int    mvprintw(
28468 -               int     y, 
28469 -               int     x, 
28470 -               char    *fmt, 
28471 +               int     y,
28472 +               int     x,
28473 +               const char *fmt,
28474                 ...)
28475                 { return(*(int *)0); }
28476  
28477  #undef mvwprintw
28478  int    mvwprintw(
28479 -               WINDOW  *win, 
28480 -               int     y, 
28481 -               int     x, 
28482 -               char    *fmt, 
28483 +               WINDOW  *win,
28484 +               int     y,
28485 +               int     x,
28486 +               const char *fmt,
28487                 ...)
28488                 { return(*(int *)0); }
28489  
28490  #undef vwprintw
28491  int    vwprintw(
28492 -               WINDOW  *win, 
28493 -               char    *fmt, 
28494 +               WINDOW  *win,
28495 +               const char *fmt,
28496                 va_list argp)
28497                 { return(*(int *)0); }
28498  
28499 @@ -1905,8 +1913,8 @@
28500  
28501  #undef wredrawln
28502  int    wredrawln(
28503 -               WINDOW  *win, 
28504 -               int     beg, 
28505 +               WINDOW  *win,
28506 +               int     beg,
28507                 int     num)
28508                 { return(*(int *)0); }
28509  
28510 @@ -1926,8 +1934,8 @@
28511  
28512  #undef restartterm
28513  int    restartterm(
28514 -               char    *termp, 
28515 -               int     filenum, 
28516 +               char    *termp,
28517 +               int     filenum,
28518                 int     *errret)
28519                 { return(*(int *)0); }
28520  
28521 @@ -1935,38 +1943,38 @@
28522  
28523  #undef vwscanw
28524  int    vwscanw(
28525 -               WINDOW  *win, 
28526 -               char    *fmt, 
28527 +               WINDOW  *win,
28528 +               char    *fmt,
28529                 va_list argp)
28530                 { return(*(int *)0); }
28531  
28532  #undef scanw
28533  int    scanw(
28534 -               char    *fmt, 
28535 +               char    *fmt,
28536                 ...)
28537                 { return(*(int *)0); }
28538  
28539  #undef wscanw
28540  int    wscanw(
28541 -               WINDOW  *win, 
28542 -               char    *fmt, 
28543 +               WINDOW  *win,
28544 +               char    *fmt,
28545                 ...)
28546                 { return(*(int *)0); }
28547  
28548  #undef mvscanw
28549  int    mvscanw(
28550 -               int     y, 
28551 -               int     x, 
28552 -               char    *fmt, 
28553 +               int     y,
28554 +               int     x,
28555 +               char    *fmt,
28556                 ...)
28557                 { return(*(int *)0); }
28558  
28559  #undef mvwscanw
28560  int    mvwscanw(
28561 -               WINDOW  *win, 
28562 -               int     y, 
28563 -               int     x, 
28564 -               char    *fmt, 
28565 +               WINDOW  *win,
28566 +               int     y,
28567 +               int     x,
28568 +               char    *fmt,
28569                 ...)
28570                 { return(*(int *)0); }
28571  
28572 @@ -1979,7 +1987,7 @@
28573  
28574  #undef putwin
28575  int    putwin(
28576 -               WINDOW  *win, 
28577 +               WINDOW  *win,
28578                 FILE    *filep)
28579                 { return(*(int *)0); }
28580  
28581 @@ -2007,16 +2015,16 @@
28582  
28583  #undef _nc_scroll_window
28584  void   _nc_scroll_window(
28585 -               WINDOW  *win, 
28586 -               int const n, 
28587 -               short const top, 
28588 -               short const bottom, 
28589 +               WINDOW  *win,
28590 +               int const n,
28591 +               short const top,
28592 +               short const bottom,
28593                 cchar_t blank)
28594                 { /* void */ }
28595  
28596  #undef wscrl
28597  int    wscrl(
28598 -               WINDOW  *win, 
28599 +               WINDOW  *win,
28600                 int     n)
28601                 { return(*(int *)0); }
28602  
28603 @@ -2024,7 +2032,7 @@
28604  
28605  #undef scrollok
28606  int    scrollok(
28607 -               WINDOW  *win, 
28608 +               WINDOW  *win,
28609                 NCURSES_BOOL flag)
28610                 { return(*(int *)0); }
28611  
28612 @@ -2032,8 +2040,8 @@
28613  
28614  #undef wsetscrreg
28615  int    wsetscrreg(
28616 -               WINDOW  *win, 
28617 -               int     top, 
28618 +               WINDOW  *win,
28619 +               int     top,
28620                 int     bottom)
28621                 { return(*(int *)0); }
28622  
28623 @@ -2051,24 +2059,24 @@
28624  
28625  #undef _nc_setupscreen
28626  int    _nc_setupscreen(
28627 -               short   slines, 
28628 -               short const scolumns, 
28629 +               short   slines,
28630 +               short const scolumns,
28631                 FILE    *output)
28632                 { return(*(int *)0); }
28633  
28634  #undef _nc_ripoffline
28635  int    _nc_ripoffline(
28636 -               int     line, 
28637 +               int     line,
28638                 int     (*init)(
28639 -               WINDOW  *p1, 
28640 +               WINDOW  *p1,
28641                 int     p2))
28642                 { return(*(int *)0); }
28643  
28644  #undef ripoffline
28645  int    ripoffline(
28646 -               int     line, 
28647 +               int     line,
28648                 int     (*init)(
28649 -               WINDOW  *p1, 
28650 +               WINDOW  *p1,
28651                 int     p2))
28652                 { return(*(int *)0); }
28653  
28654 @@ -2079,7 +2087,7 @@
28655  
28656  #undef _nc_slk_initialize
28657  int    _nc_slk_initialize(
28658 -               WINDOW  *stwin, 
28659 +               WINDOW  *stwin,
28660                 int     cols)
28661                 { return(*(int *)0); }
28662  
28663 @@ -2091,8 +2099,8 @@
28664  
28665  #undef slk_attr_set
28666  int    slk_attr_set(
28667 -               const attr_t attr, 
28668 -               short   color_pair_number, 
28669 +               const attr_t attr,
28670 +               short   color_pair_number,
28671                 void    *opts)
28672                 { return(*(int *)0); }
28673  
28674 @@ -2164,8 +2172,8 @@
28675  
28676  #undef slk_set
28677  int    slk_set(
28678 -               int     i, 
28679 -               const char *astr, 
28680 +               int     i,
28681 +               const char *astr,
28682                 int     format)
28683                 { return(*(int *)0); }
28684  
28685 @@ -2179,7 +2187,7 @@
28686  
28687  #undef is_linetouched
28688  NCURSES_BOOL is_linetouched(
28689 -               WINDOW  *win, 
28690 +               WINDOW  *win,
28691                 int     line)
28692                 { return(*(NCURSES_BOOL *)0); }
28693  
28694 @@ -2190,9 +2198,9 @@
28695  
28696  #undef wtouchln
28697  int    wtouchln(
28698 -               WINDOW  *win, 
28699 -               int     y, 
28700 -               int     n, 
28701 +               WINDOW  *win,
28702 +               int     y,
28703 +               int     n,
28704                 int     changed)
28705                 { return(*(int *)0); }
28706  
28707 @@ -2200,7 +2208,7 @@
28708  
28709  #undef _traceattr2
28710  char   *_traceattr2(
28711 -               int     bufnum, 
28712 +               int     bufnum,
28713                 attr_t  newmode)
28714                 { return(*(char **)0); }
28715  
28716 @@ -2216,13 +2224,13 @@
28717  
28718  #undef _nc_altcharset_name
28719  const char *_nc_altcharset_name(
28720 -               attr_t  attr, 
28721 +               attr_t  attr,
28722                 chtype  ch)
28723                 { return(*(const char **)0); }
28724  
28725  #undef _tracechtype2
28726  char   *_tracechtype2(
28727 -               int     bufnum, 
28728 +               int     bufnum,
28729                 chtype  ch)
28730                 { return(*(char **)0); }
28731  
28732 @@ -2232,13 +2240,13 @@
28733                 { return(*(char **)0); }
28734  
28735  #undef _nc_retrace_chtype
28736 -attr_t _nc_retrace_chtype(
28737 -               attr_t  code)
28738 -               { return(*(attr_t *)0); }
28739 +chtype _nc_retrace_chtype(
28740 +               chtype  code)
28741 +               { return(*(chtype *)0); }
28742  
28743  #undef _tracecchar_t2
28744  char   *_tracecchar_t2(
28745 -               int     bufnum, 
28746 +               int     bufnum,
28747                 const cchar_t *ch)
28748                 { return(*(char **)0); }
28749  
28750 @@ -2251,7 +2259,7 @@
28751  
28752  #undef _tracedump
28753  void   _tracedump(
28754 -               const char *name, 
28755 +               const char *name,
28756                 WINDOW  *win)
28757                 { /* void */ }
28758  
28759 @@ -2286,7 +2294,7 @@
28760  
28761  #undef vidputs
28762  int    vidputs(
28763 -               chtype  newmode, 
28764 +               chtype  newmode,
28765                 int     (*outc)(
28766                 int     p1))
28767                 { return(*(int *)0); }
28768 @@ -2304,8 +2312,8 @@
28769  
28770  #undef wvline
28771  int    wvline(
28772 -               WINDOW  *win, 
28773 -               chtype  ch, 
28774 +               WINDOW  *win,
28775 +               chtype  ch,
28776                 int     n)
28777                 { return(*(int *)0); }
28778  
28779 @@ -2313,8 +2321,8 @@
28780  
28781  #undef wattr_off
28782  int    wattr_off(
28783 -               WINDOW  *win, 
28784 -               attr_t  at, 
28785 +               WINDOW  *win,
28786 +               attr_t  at,
28787                 void    *opts)
28788                 { return(*(int *)0); }
28789  
28790 @@ -2322,8 +2330,8 @@
28791  
28792  #undef wattr_on
28793  int    wattr_on(
28794 -               WINDOW  *win, 
28795 -               attr_t  at, 
28796 +               WINDOW  *win,
28797 +               attr_t  at,
28798                 void    *opts)
28799                 { return(*(int *)0); }
28800  
28801 @@ -2343,14 +2351,14 @@
28802  
28803  #undef mvderwin
28804  int    mvderwin(
28805 -               WINDOW  *win, 
28806 -               int     y, 
28807 +               WINDOW  *win,
28808 +               int     y,
28809                 int     x)
28810                 { return(*(int *)0); }
28811  
28812  #undef syncok
28813  int    syncok(
28814 -               WINDOW  *win, 
28815 +               WINDOW  *win,
28816                 NCURSES_BOOL bf)
28817                 { return(*(int *)0); }
28818  
28819 @@ -2384,7 +2392,7 @@
28820  
28821  #undef _nc_printf_string
28822  char   *_nc_printf_string(
28823 -               const char *fmt, 
28824 +               const char *fmt,
28825                 va_list ap)
28826                 { return(*(char **)0); }
28827  
28828 @@ -2404,9 +2412,9 @@
28829  
28830  #undef _nc_scrolln
28831  int    _nc_scrolln(
28832 -               int     n, 
28833 -               int     top, 
28834 -               int     bot, 
28835 +               int     n,
28836 +               int     top,
28837 +               int     bot,
28838                 int     maxy)
28839                 { return(*(int *)0); }
28840  
28841 @@ -2435,7 +2443,7 @@
28842  
28843  #undef _nc_varargs
28844  char   *_nc_varargs(
28845 -               const char *fmt, 
28846 +               const char *fmt,
28847                 va_list ap)
28848                 { return(*(char **)0); }
28849  
28850 @@ -2457,18 +2465,43 @@
28851  void   _nc_vsscanf(void)
28852                 { /* void */ }
28853  
28854 +/* ./base/lib_freeall.c */
28855 +
28856 +#include <term_entry.h>
28857 +
28858 +#undef _nc_freeall
28859 +void   _nc_freeall(void)
28860 +               { /* void */ }
28861 +
28862 +/* ./widechar/charable.c */
28863 +
28864 +#undef _nc_is_charable
28865 +NCURSES_BOOL _nc_is_charable(
28866 +               wchar_t ch)
28867 +               { return(*(NCURSES_BOOL *)0); }
28868 +
28869 +#undef _nc_to_char
28870 +int    _nc_to_char(
28871 +               wint_t  ch)
28872 +               { return(*(int *)0); }
28873 +
28874 +#undef _nc_to_widechar
28875 +wint_t _nc_to_widechar(
28876 +               int     ch)
28877 +               { return(*(wint_t *)0); }
28878 +
28879  /* ./widechar/lib_box_set.c */
28880  
28881  #undef wborder_set
28882  int    wborder_set(
28883 -               WINDOW  *win, 
28884 -               const cchar_t *ls, 
28885 -               const cchar_t *rs, 
28886 -               const cchar_t *ts, 
28887 -               const cchar_t *bs, 
28888 -               const cchar_t *tl, 
28889 -               const cchar_t *tr, 
28890 -               const cchar_t *bl, 
28891 +               WINDOW  *win,
28892 +               const cchar_t *ls,
28893 +               const cchar_t *rs,
28894 +               const cchar_t *ts,
28895 +               const cchar_t *bs,
28896 +               const cchar_t *tl,
28897 +               const cchar_t *tr,
28898 +               const cchar_t *bl,
28899                 const cchar_t *br)
28900                 { return(*(int *)0); }
28901  
28902 @@ -2476,19 +2509,19 @@
28903  
28904  #undef setcchar
28905  int    setcchar(
28906 -               cchar_t *wcval, 
28907 -               const wchar_t *wch, 
28908 -               const attr_t attrs, 
28909 -               short   color_pair, 
28910 +               cchar_t *wcval,
28911 +               const wchar_t *wch,
28912 +               const attr_t attrs,
28913 +               short   color_pair,
28914                 const void *opts)
28915                 { return(*(int *)0); }
28916  
28917  #undef getcchar
28918  int    getcchar(
28919 -               const cchar_t *wcval, 
28920 -               wchar_t *wch, 
28921 -               attr_t  *attrs, 
28922 -               short   *color_pair, 
28923 +               const cchar_t *wcval,
28924 +               wchar_t *wch,
28925 +               attr_t  *attrs,
28926 +               short   *color_pair,
28927                 void    *opts)
28928                 { return(*(int *)0); }
28929  
28930 @@ -2496,28 +2529,28 @@
28931  
28932  #undef wget_wch
28933  int    wget_wch(
28934 -               WINDOW  *win, 
28935 -               wint_t *result)
28936 +               WINDOW  *win,
28937 +               wint_t  *result)
28938                 { return(*(int *)0); }
28939  
28940  /* ./widechar/lib_erasewchar.c */
28941  
28942  #undef erasewchar
28943  int    erasewchar(
28944 -               wchar_t *wch)
28945 +               wchar_t *wch)
28946                 { return(*(int *)0); }
28947  
28948  #undef killwchar
28949  int    killwchar(
28950 -               wchar_t *wch)
28951 +               wchar_t *wch)
28952                 { return(*(int *)0); }
28953  
28954  /* ./widechar/lib_get_wstr.c */
28955  
28956  #undef wgetn_wstr
28957  int    wgetn_wstr(
28958 -               WINDOW  *win, 
28959 -               wint_t *str, 
28960 +               WINDOW  *win,
28961 +               wint_t  *str,
28962                 int     maxlen)
28963                 { return(*(int *)0); }
28964  
28965 @@ -2525,8 +2558,8 @@
28966  
28967  #undef whline_set
28968  int    whline_set(
28969 -               WINDOW  *win, 
28970 -               const cchar_t *ch, 
28971 +               WINDOW  *win,
28972 +               const cchar_t *ch,
28973                 int     n)
28974                 { return(*(int *)0); }
28975  
28976 @@ -2534,7 +2567,7 @@
28977  
28978  #undef win_wch
28979  int    win_wch(
28980 -               WINDOW  *win, 
28981 +               WINDOW  *win,
28982                 cchar_t *wcval)
28983                 { return(*(int *)0); }
28984  
28985 @@ -2542,17 +2575,8 @@
28986  
28987  #undef win_wchnstr
28988  int    win_wchnstr(
28989 -               WINDOW  *win, 
28990 -               cchar_t *wchstr, 
28991 -               int     n)
28992 -               { return(*(int *)0); }
28993 -
28994 -/* ./widechar/lib_ins_nwstr.c */
28995 -
28996 -#undef wins_nwstr
28997 -int    wins_nwstr(
28998 -               WINDOW  *win, 
28999 -               const wchar_t *wstr, 
29000 +               WINDOW  *win,
29001 +               cchar_t *wchstr,
29002                 int     n)
29003                 { return(*(int *)0); }
29004  
29005 @@ -2560,23 +2584,39 @@
29006  
29007  #undef wins_wch
29008  int    wins_wch(
29009 -               WINDOW  *win, 
29010 +               WINDOW  *win,
29011                 const cchar_t *wch)
29012                 { return(*(int *)0); }
29013  
29014 +#undef wins_nwstr
29015 +int    wins_nwstr(
29016 +               WINDOW  *win,
29017 +               const wchar_t *wstr,
29018 +               int     n)
29019 +               { return(*(int *)0); }
29020 +
29021  /* ./widechar/lib_inwstr.c */
29022  
29023  #undef winnwstr
29024  int    winnwstr(
29025 -               WINDOW  *win, 
29026 -               wchar_t *wstr, 
29027 +               WINDOW  *win,
29028 +               wchar_t *wstr,
29029                 int     n)
29030                 { return(*(int *)0); }
29031  
29032  #undef winwstr
29033  int    winwstr(
29034 -               WINDOW  *win, 
29035 -               wchar_t *wstr)
29036 +               WINDOW  *win,
29037 +               wchar_t *wstr)
29038 +               { return(*(int *)0); }
29039 +
29040 +/* ./widechar/lib_slk_wset.c */
29041 +
29042 +#undef slk_wset
29043 +int    slk_wset(
29044 +               int     i,
29045 +               const wchar_t *astr,
29046 +               int     format)
29047                 { return(*(int *)0); }
29048  
29049  /* ./widechar/lib_unget_wch.c */
29050 @@ -2590,17 +2630,17 @@
29051  
29052  #undef vid_puts
29053  int    vid_puts(
29054 -               attr_t  newmode, 
29055 -               short   pair, 
29056 -               void    *opts, 
29057 +               attr_t  newmode,
29058 +               short   pair,
29059 +               void    *opts,
29060                 int     (*outc)(
29061                 int     p1))
29062                 { return(*(int *)0); }
29063  
29064  #undef vid_attr
29065  int    vid_attr(
29066 -               attr_t  newmode, 
29067 -               short   pair, 
29068 +               attr_t  newmode,
29069 +               short   pair,
29070                 void    *opts)
29071                 { return(*(int *)0); }
29072  
29073 @@ -2612,8 +2652,8 @@
29074  
29075  #undef wvline_set
29076  int    wvline_set(
29077 -               WINDOW  *win, 
29078 -               const cchar_t *ch, 
29079 +               WINDOW  *win,
29080 +               const cchar_t *ch,
29081                 int     n)
29082                 { return(*(int *)0); }
29083  
29084 @@ -2629,7 +2669,7 @@
29085  /* ./widechar/lib_wunctrl.c */
29086  
29087  #undef wunctrl
29088 -wchar_t *wunctrl(
29089 +wchar_t        *wunctrl(
29090                 cchar_t *wc)
29091                 { return(*(wchar_t **)0); }
29092  
29093 @@ -2637,7 +2677,7 @@
29094  
29095  #undef define_key
29096  int    define_key(
29097 -               char    *str, 
29098 +               const char *str,
29099                 int     keycode)
29100                 { return(*(int *)0); }
29101  
29102 @@ -2645,13 +2685,13 @@
29103  
29104  #undef _nc_toggle_attr_on
29105  void   _nc_toggle_attr_on(
29106 -               attr_t  *S, 
29107 +               attr_t  *S,
29108                 attr_t  at)
29109                 { /* void */ }
29110  
29111  #undef _nc_toggle_attr_off
29112  void   _nc_toggle_attr_off(
29113 -               attr_t  *S, 
29114 +               attr_t  *S,
29115                 attr_t  at)
29116                 { /* void */ }
29117  
29118 @@ -2670,11 +2710,18 @@
29119                 chtype  c)
29120                 { /* void */ }
29121  
29122 +/* ./base/key_defined.c */
29123 +
29124 +#undef key_defined
29125 +int    key_defined(
29126 +               const char *str)
29127 +               { return(*(int *)0); }
29128 +
29129  /* ./base/keybound.c */
29130  
29131  #undef keybound
29132  char   *keybound(
29133 -               int     code, 
29134 +               int     code,
29135                 int     count)
29136                 { return(*(char **)0); }
29137  
29138 @@ -2682,7 +2729,7 @@
29139  
29140  #undef keyok
29141  int    keyok(
29142 -               int     c, 
29143 +               int     c,
29144                 NCURSES_BOOL flag)
29145                 { return(*(int *)0); }
29146  
29147 @@ -2694,23 +2741,15 @@
29148  
29149  #undef assume_default_colors
29150  int    assume_default_colors(
29151 -               int     fg, 
29152 +               int     fg,
29153                 int     bg)
29154                 { return(*(int *)0); }
29155  
29156 -/* ./base/lib_freeall.c */
29157 -
29158 -#include <term_entry.h>
29159 -
29160 -#undef _nc_freeall
29161 -void   _nc_freeall(void)
29162 -               { /* void */ }
29163 -
29164  /* ./tinfo/lib_print.c */
29165  
29166  #undef mcprint
29167  int    mcprint(
29168 -               char    *data, 
29169 +               char    *data,
29170                 int     len)
29171                 { return(*(int *)0); }
29172  
29173 @@ -2718,19 +2757,19 @@
29174  
29175  #undef is_term_resized
29176  NCURSES_BOOL is_term_resized(
29177 -               int     ToLines, 
29178 +               int     ToLines,
29179                 int     ToCols)
29180                 { return(*(NCURSES_BOOL *)0); }
29181  
29182  #undef resize_term
29183  int    resize_term(
29184 -               int     ToLines, 
29185 +               int     ToLines,
29186                 int     ToCols)
29187                 { return(*(int *)0); }
29188  
29189  #undef resizeterm
29190  int    resizeterm(
29191 -               int     ToLines, 
29192 +               int     ToLines,
29193                 int     ToCols)
29194                 { return(*(int *)0); }
29195  
29196 @@ -2745,22 +2784,22 @@
29197  
29198  #undef _nc_expand_try
29199  char   *_nc_expand_try(
29200 -               struct tries *tree, 
29201 -               unsigned short code, 
29202 -               int     *count, 
29203 +               struct tries *tree,
29204 +               unsigned short code,
29205 +               int     *count,
29206                 size_t  len)
29207                 { return(*(char **)0); }
29208  
29209  #undef _nc_remove_key
29210  int    _nc_remove_key(
29211 -               struct tries **tree, 
29212 +               struct tries **tree,
29213                 unsigned short code)
29214                 { return(*(int *)0); }
29215  
29216  #undef _nc_remove_string
29217  int    _nc_remove_string(
29218 -               struct tries **tree, 
29219 -               char    *string)
29220 +               struct tries **tree,
29221 +               const char *string)
29222                 { return(*(int *)0); }
29223  
29224  /* ./base/version.c */
29225 @@ -2773,8 +2812,8 @@
29226  
29227  #undef wresize
29228  int    wresize(
29229 -               WINDOW  *win, 
29230 -               int     ToLines, 
29231 +               WINDOW  *win,
29232 +               int     ToLines,
29233                 int     ToCols)
29234                 { return(*(int *)0); }
29235  
29236 @@ -2785,6 +2824,11 @@
29237                 char    *path)
29238                 { return(*(char **)0); }
29239  
29240 +#undef _nc_pathlast
29241 +unsigned _nc_pathlast(
29242 +               const char *path)
29243 +               { return(*(unsigned *)0); }
29244 +
29245  #undef _nc_basename
29246  char   *_nc_basename(
29247                 char    *path)
29248 @@ -2792,7 +2836,7 @@
29249  
29250  #undef _nc_access
29251  int    _nc_access(
29252 -               const char *path, 
29253 +               const char *path,
29254                 int     mode)
29255                 { return(*(int *)0); }
29256  
29257 @@ -2804,8 +2848,8 @@
29258  
29259  #undef _nc_add_to_try
29260  void   _nc_add_to_try(
29261 -               struct tries **tree, 
29262 -               const char *str, 
29263 +               struct tries **tree,
29264 +               const char *str,
29265                 unsigned short code)
29266                 { /* void */ }
29267  
29268 @@ -2828,13 +2872,13 @@
29269  
29270  #undef _nc_wrap_entry
29271  void   _nc_wrap_entry(
29272 -               ENTRY   *const ep, 
29273 +               ENTRY   *const ep,
29274                 NCURSES_BOOL copy_strings)
29275                 { /* void */ }
29276  
29277  #undef _nc_merge_entry
29278  void   _nc_merge_entry(
29279 -               TERMTYPE *const to, 
29280 +               TERMTYPE *const to,
29281                 TERMTYPE *const from)
29282                 { /* void */ }
29283  
29284 @@ -2842,13 +2886,13 @@
29285  
29286  #undef _nc_align_termtype
29287  void   _nc_align_termtype(
29288 -               TERMTYPE *to, 
29289 +               TERMTYPE *to,
29290                 TERMTYPE *from)
29291                 { /* void */ }
29292  
29293  #undef _nc_copy_termtype
29294  void   _nc_copy_termtype(
29295 -               TERMTYPE *dst, 
29296 +               TERMTYPE *dst,
29297                 TERMTYPE *src)
29298                 { /* void */ }
29299  
29300 @@ -2856,15 +2900,15 @@
29301  
29302  #undef _nc_captoinfo
29303  char   *_nc_captoinfo(
29304 -               const char *cap, 
29305 -               const char *s, 
29306 +               const char *cap,
29307 +               const char *s,
29308                 int const parametrized)
29309                 { return(*(char **)0); }
29310  
29311  #undef _nc_infotocap
29312  char   *_nc_infotocap(
29313 -               const char *cap, 
29314 -               const char *str, 
29315 +               const char *cap,
29316 +               const char *str,
29317                 int const parametrized)
29318                 { return(*(char **)0); }
29319  
29320 @@ -2926,19 +2970,19 @@
29321  
29322  #undef _nc_warning
29323  void   _nc_warning(
29324 -               const char *const fmt, 
29325 +               const char *const fmt,
29326                 ...)
29327                 { /* void */ }
29328  
29329  #undef _nc_err_abort
29330  void   _nc_err_abort(
29331 -               const char *const fmt, 
29332 +               const char *const fmt,
29333                 ...)
29334                 { /* void */ }
29335  
29336  #undef _nc_syserr_abort
29337  void   _nc_syserr_abort(
29338 -               const char *const fmt, 
29339 +               const char *const fmt,
29340                 ...)
29341                 { /* void */ }
29342  
29343 @@ -2946,8 +2990,8 @@
29344  
29345  #undef _nc_tic_expand
29346  char   *_nc_tic_expand(
29347 -               const char *srcp, 
29348 -               NCURSES_BOOL tic_format, 
29349 +               const char *srcp,
29350 +               NCURSES_BOOL tic_format,
29351                 int     numbers)
29352                 { return(*(char **)0); }
29353  
29354 @@ -2957,14 +3001,14 @@
29355  
29356  #undef _nc_find_entry
29357  struct name_table_entry const *_nc_find_entry(
29358 -               const char *string, 
29359 +               const char *string,
29360                 const struct name_table_entry *const *hash_table)
29361                 { return(*(struct name_table_entry const **)0); }
29362  
29363  #undef _nc_find_type_entry
29364  struct name_table_entry const *_nc_find_type_entry(
29365 -               const char *string, 
29366 -               int     type, 
29367 +               const char *string,
29368 +               int     type,
29369                 const struct name_table_entry *table)
29370                 { return(*(struct name_table_entry const **)0); }
29371  
29372 @@ -2985,16 +3029,16 @@
29373  
29374  #undef _nc_entry_match
29375  NCURSES_BOOL _nc_entry_match(
29376 -               char    *n1, 
29377 +               char    *n1,
29378                 char    *n2)
29379                 { return(*(NCURSES_BOOL *)0); }
29380  
29381  #undef _nc_read_entry_source
29382  void   _nc_read_entry_source(
29383 -               FILE    *fp, 
29384 -               char    *buf, 
29385 -               int     literal, 
29386 -               NCURSES_BOOL silent, 
29387 +               FILE    *fp,
29388 +               char    *buf,
29389 +               int     literal,
29390 +               NCURSES_BOOL silent,
29391                 NCURSES_BOOL (*hook)(
29392                 ENTRY   *p1))
29393                 { /* void */ }
29394 @@ -3028,7 +3072,7 @@
29395  
29396  #undef _nc_trans_string
29397  char   _nc_trans_string(
29398 -               char    *ptr, 
29399 +               char    *ptr,
29400                 char    *last)
29401                 { return(*(char *)0); }
29402  
29403 @@ -3044,7 +3088,7 @@
29404  
29405  #undef _nc_reset_input
29406  void   _nc_reset_input(
29407 -               FILE    *fp, 
29408 +               FILE    *fp,
29409                 char    *buf)
29410                 { /* void */ }
29411  
29412 @@ -3052,7 +3096,7 @@
29413  
29414  #undef _nc_doalloc
29415  void   *_nc_doalloc(
29416 -               void    *oldp, 
29417 +               void    *oldp,
29418                 size_t  amount)
29419                 { return(*(void **)0); }
29420  
29421 @@ -3120,8 +3164,8 @@
29422  #include <termcap.h>
29423  
29424  struct speed {
29425 -    int s;                     
29426 -    int sp;                    
29427 +    int s;
29428 +    int sp;
29429  };
29430  
29431  #undef _nc_baudrate
29432 @@ -3202,7 +3246,7 @@
29433  
29434  #undef key_name
29435  char   *key_name(
29436 -               wchar_t c)
29437 +               wchar_t c)
29438                 { return(*(char **)0); }
29439  
29440  /* ./tinfo/lib_longname.c */
29441 @@ -3224,13 +3268,13 @@
29442  
29443  #undef idlok
29444  int    idlok(
29445 -               WINDOW  *win, 
29446 +               WINDOW  *win,
29447                 NCURSES_BOOL flag)
29448                 { return(*(int *)0); }
29449  
29450  #undef idcok
29451  void   idcok(
29452 -               WINDOW  *win, 
29453 +               WINDOW  *win,
29454                 NCURSES_BOOL flag)
29455                 { /* void */ }
29456  
29457 @@ -3241,31 +3285,31 @@
29458  
29459  #undef nodelay
29460  int    nodelay(
29461 -               WINDOW  *win, 
29462 +               WINDOW  *win,
29463                 NCURSES_BOOL flag)
29464                 { return(*(int *)0); }
29465  
29466  #undef notimeout
29467  int    notimeout(
29468 -               WINDOW  *win, 
29469 +               WINDOW  *win,
29470                 NCURSES_BOOL f)
29471                 { return(*(int *)0); }
29472  
29473  #undef wtimeout
29474  void   wtimeout(
29475 -               WINDOW  *win, 
29476 +               WINDOW  *win,
29477                 int     delay)
29478                 { /* void */ }
29479  
29480  #undef keypad
29481  int    keypad(
29482 -               WINDOW  *win, 
29483 +               WINDOW  *win,
29484                 NCURSES_BOOL flag)
29485                 { return(*(int *)0); }
29486  
29487  #undef meta
29488  int    meta(
29489 -               WINDOW  *win, 
29490 +               WINDOW  *win,
29491                 NCURSES_BOOL flag)
29492                 { return(*(int *)0); }
29493  
29494 @@ -3317,7 +3361,7 @@
29495  
29496  #undef intrflush
29497  int    intrflush(
29498 -               WINDOW  *win, 
29499 +               WINDOW  *win,
29500                 NCURSES_BOOL flag)
29501                 { return(*(int *)0); }
29502  
29503 @@ -3325,11 +3369,8 @@
29504  
29505  #include <sys/ioctl.h>
29506  
29507 -#undef use_env
29508 -void   use_env(
29509 -               NCURSES_BOOL f)
29510 -               { /* void */ }
29511 -
29512 +#undef ttytype
29513 +char   ttytype[256 ];
29514  #undef LINES
29515  int    LINES;
29516  #undef COLS
29517 @@ -3337,17 +3378,31 @@
29518  #undef TABSIZE
29519  int    TABSIZE;
29520  
29521 +#undef use_env
29522 +void   use_env(
29523 +               NCURSES_BOOL f)
29524 +               { /* void */ }
29525 +
29526  #undef _nc_update_screensize
29527  void   _nc_update_screensize(void)
29528                 { /* void */ }
29529  
29530 -#undef ttytype
29531 -char   ttytype[256 ];
29532 +#undef _nc_get_locale
29533 +char   *_nc_get_locale(void)
29534 +               { return(*(char **)0); }
29535 +
29536 +#undef _nc_unicode_locale
29537 +int    _nc_unicode_locale(void)
29538 +               { return(*(int *)0); }
29539 +
29540 +#undef _nc_locale_breaks_acs
29541 +int    _nc_locale_breaks_acs(void)
29542 +               { return(*(int *)0); }
29543  
29544  #undef setupterm
29545  int    setupterm(
29546 -               char    *tname, 
29547 -               int     Filedes, 
29548 +               char    *tname,
29549 +               int     Filedes,
29550                 int     *errret)
29551                 { return(*(int *)0); }
29552  
29553 @@ -3360,7 +3415,7 @@
29554  
29555  #undef tgetent
29556  int    tgetent(
29557 -               char    *bufp, 
29558 +               char    *bufp,
29559                 const char *name)
29560                 { return(*(int *)0); }
29561  
29562 @@ -3382,7 +3437,7 @@
29563  
29564  #undef tgetstr
29565  char   *tgetstr(
29566 -               char    *id, 
29567 +               char    *id,
29568                 char    **area)
29569                 { return(*(char **)0); }
29570  
29571 @@ -3396,8 +3451,8 @@
29572  
29573  #undef tgoto
29574  char   *tgoto(
29575 -               const char *string, 
29576 -               int     x, 
29577 +               const char *string,
29578 +               int     x,
29579                 int     y)
29580                 { return(*(char **)0); }
29581  
29582 @@ -3431,9 +3486,16 @@
29583  #undef _nc_tparm_err
29584  int    _nc_tparm_err;
29585  
29586 +#undef _nc_tparm_analyze
29587 +int    _nc_tparm_analyze(
29588 +               const char *string,
29589 +               char    *p_is_s[9 ],
29590 +               int     *popcount)
29591 +               { return(*(int *)0); }
29592 +
29593  #undef tparm
29594  char   *tparm(
29595 -               char    *string, 
29596 +               char    *string,
29597                 ...)
29598                 { return(*(char **)0); }
29599  
29600 @@ -3467,8 +3529,8 @@
29601  
29602  #undef tputs
29603  int    tputs(
29604 -               const char *string, 
29605 -               int     affcnt, 
29606 +               const char *string,
29607 +               int     affcnt,
29608                 int     (*outc)(
29609                 int     p1))
29610                 { return(*(int *)0); }
29611 @@ -3489,15 +3551,25 @@
29612  
29613  #undef _tracef
29614  void   _tracef(
29615 -               const char *fmt, 
29616 +               const char *fmt,
29617                 ...)
29618                 { /* void */ }
29619  
29620 +#undef _nc_retrace_bool
29621 +NCURSES_BOOL _nc_retrace_bool(
29622 +               NCURSES_BOOL code)
29623 +               { return(*(NCURSES_BOOL *)0); }
29624 +
29625  #undef _nc_retrace_int
29626  int    _nc_retrace_int(
29627                 int     code)
29628                 { return(*(int *)0); }
29629  
29630 +#undef _nc_retrace_unsigned
29631 +unsigned _nc_retrace_unsigned(
29632 +               unsigned code)
29633 +               { return(*(unsigned *)0); }
29634 +
29635  #undef _nc_retrace_ptr
29636  char   *_nc_retrace_ptr(
29637                 char    *code)
29638 @@ -3576,8 +3648,8 @@
29639  
29640  #undef _nc_timed_wait
29641  int    _nc_timed_wait(
29642 -               int     mode, 
29643 -               int     milliseconds, 
29644 +               int     mode,
29645 +               int     milliseconds,
29646                 int     *timeleft)
29647                 { return(*(int *)0); }
29648  
29649 @@ -3590,8 +3662,8 @@
29650  
29651  #undef _nc_name_match
29652  int    _nc_name_match(
29653 -               const char *const namelst, 
29654 -               const char *const name, 
29655 +               const char *const namelst,
29656 +               const char *const name,
29657                 const char *const delim)
29658                 { return(*(int *)0); }
29659  
29660 @@ -3614,14 +3686,14 @@
29661  
29662  #undef _nc_parse_entry
29663  int    _nc_parse_entry(
29664 -               struct entry *entryp, 
29665 -               int     literal, 
29666 +               struct entry *entryp,
29667 +               int     literal,
29668                 NCURSES_BOOL silent)
29669                 { return(*(int *)0); }
29670  
29671  #undef _nc_capcmp
29672  int    _nc_capcmp(
29673 -               const char *s, 
29674 +               const char *s,
29675                 const char *t)
29676                 { return(*(int *)0); }
29677  
29678 @@ -3644,14 +3716,14 @@
29679  
29680  #undef _nc_read_file_entry
29681  int    _nc_read_file_entry(
29682 -               const char *const filename, 
29683 +               const char *const filename,
29684                 TERMTYPE *ptr)
29685                 { return(*(int *)0); }
29686  
29687  #undef _nc_read_entry
29688  int    _nc_read_entry(
29689 -               const char *const tn, 
29690 -               char    *const filename, 
29691 +               const char *const tn,
29692 +               char    *const filename,
29693                 TERMTYPE *const tp)
29694                 { return(*(int *)0); }
29695  
29696 @@ -3659,7 +3731,7 @@
29697  
29698  #undef _nc_read_termcap_entry
29699  int    _nc_read_termcap_entry(
29700 -               const char *const tn, 
29701 +               const char *const tn,
29702                 TERMTYPE *const tp)
29703                 { return(*(int *)0); }
29704  
29705 @@ -3667,7 +3739,7 @@
29706  
29707  #undef _nc_set_buffer
29708  void   _nc_set_buffer(
29709 -               FILE    *ofp, 
29710 +               FILE    *ofp,
29711                 NCURSES_BOOL buffered)
29712                 { /* void */ }
29713  
29714 @@ -3675,32 +3747,32 @@
29715  
29716  #undef _nc_str_init
29717  string_desc *_nc_str_init(
29718 -               string_desc *dst, 
29719 -               char    *src, 
29720 +               string_desc *dst,
29721 +               char    *src,
29722                 size_t  len)
29723                 { return(*(string_desc **)0); }
29724  
29725  #undef _nc_str_null
29726  string_desc *_nc_str_null(
29727 -               string_desc *dst, 
29728 +               string_desc *dst,
29729                 size_t  len)
29730                 { return(*(string_desc **)0); }
29731  
29732  #undef _nc_str_copy
29733  string_desc *_nc_str_copy(
29734 -               string_desc *dst, 
29735 +               string_desc *dst,
29736                 string_desc *src)
29737                 { return(*(string_desc **)0); }
29738  
29739  #undef _nc_safe_strcat
29740  NCURSES_BOOL _nc_safe_strcat(
29741 -               string_desc *dst, 
29742 +               string_desc *dst,
29743                 const char *src)
29744                 { return(*(NCURSES_BOOL *)0); }
29745  
29746  #undef _nc_safe_strcpy
29747  NCURSES_BOOL _nc_safe_strcpy(
29748 -               string_desc *dst, 
29749 +               string_desc *dst,
29750                 const char *src)
29751                 { return(*(NCURSES_BOOL *)0); }
29752  
29753 @@ -3713,10 +3785,16 @@
29754  
29755  #undef _nc_trace_buf
29756  char   *_nc_trace_buf(
29757 -               int     bufnum, 
29758 +               int     bufnum,
29759                 size_t  want)
29760                 { return(*(char **)0); }
29761  
29762 +#undef _nc_trace_bufcat
29763 +char   *_nc_trace_bufcat(
29764 +               int     bufnum,
29765 +               const char *value)
29766 +               { return(*(char **)0); }
29767 +
29768  /* ./trace/trace_tries.c */
29769  
29770  #undef _nc_trace_tries
29771 @@ -3735,7 +3813,7 @@
29772  
29773  #undef _nc_visbuf2
29774  const char *_nc_visbuf2(
29775 -               int     bufnum, 
29776 +               int     bufnum,
29777                 const char *buf)
29778                 { return(*(const char **)0); }
29779  
29780 @@ -3744,9 +3822,15 @@
29781                 const char *buf)
29782                 { return(*(const char **)0); }
29783  
29784 +#undef _nc_visbufn
29785 +const char *_nc_visbufn(
29786 +               const char *buf,
29787 +               int     len)
29788 +               { return(*(const char **)0); }
29789 +
29790  #undef _nc_viswbuf2
29791  const char *_nc_viswbuf2(
29792 -               int     bufnum, 
29793 +               int     bufnum,
29794                 const wchar_t *buf)
29795                 { return(*(const char **)0); }
29796  
29797 @@ -3755,16 +3839,22 @@
29798                 const wchar_t *buf)
29799                 { return(*(const char **)0); }
29800  
29801 +#undef _nc_viswbufn
29802 +const char *_nc_viswbufn(
29803 +               const wchar_t *buf,
29804 +               int     len)
29805 +               { return(*(const char **)0); }
29806 +
29807  #undef _nc_viscbuf2
29808  const char *_nc_viscbuf2(
29809 -               int     bufnum, 
29810 -               const cchar_t *buf, 
29811 +               int     bufnum,
29812 +               const cchar_t *buf,
29813                 int     len)
29814                 { return(*(const char **)0); }
29815  
29816  #undef _nc_viscbuf
29817  const char *_nc_viscbuf(
29818 -               const cchar_t *buf, 
29819 +               const cchar_t *buf,
29820                 int     len)
29821                 { return(*(const char **)0); }
29822  
29823 diff -urNd -urNd ncurses-5.3/ncurses/modules ncurses-5.3.20030906.orig/ncurses/modules
29824 --- ncurses-5.3/ncurses/modules Sat May 11 15:14:41 2002
29825 +++ ncurses-5.3.20030906.orig/ncurses/modules   Sun Jul 20 14:02:09 2003
29826 @@ -1,4 +1,4 @@
29827 -# $Id: modules,v 1.90 2002/05/11 20:14:41 tom Exp $
29828 +# $Id: modules,v 1.96 2003/07/05 16:01:45 tom Exp $
29829  ##############################################################################
29830  # Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.                #
29831  #                                                                            #
29832 @@ -61,7 +61,6 @@
29833  lib_initscr    lib             $(base)         $(INCDIR)/tic.h
29834  lib_insch      lib             $(base)
29835  lib_insdel     lib             $(base)
29836 -lib_insstr     lib             $(base)
29837  lib_instr      lib             $(base)
29838  lib_isendwin   lib             $(base)
29839  lib_leaveok    lib             $(base)
29840 @@ -120,8 +119,12 @@
29841  sigaction      lib             $(base)
29842  vsscanf        lib             $(base)
29843  
29844 +# actually an extension, but with its own configure option (--disable-leaks)
29845 +lib_freeall    lib             $(base)
29846 +
29847  # XSI extensions to the base library (wide-character)
29848  @ widechar
29849 +charable       lib             $(wide)
29850  lib_box_set    lib             $(wide)
29851  lib_cchar      lib             $(wide)
29852  lib_get_wch    lib             $(wide)
29853 @@ -130,9 +133,9 @@
29854  lib_hline_set  lib             $(wide)
29855  lib_in_wch     lib             $(wide)
29856  lib_in_wchnstr lib             $(wide)
29857 -lib_ins_nwstr  lib             $(wide)
29858  lib_ins_wch    lib             $(wide)
29859  lib_inwstr     lib             $(wide)
29860 +lib_slk_wset   lib             $(wide)
29861  lib_unget_wch  lib             $(wide)
29862  lib_vid_attr   lib             $(wide)         ../include/term.h
29863  lib_vline_set  lib             $(wide)
29864 @@ -143,10 +146,10 @@
29865  @ ext_funcs
29866  define_key     lib             $(base)
29867  expanded       lib             .
29868 +key_defined    lib             $(base)
29869  keybound       lib             $(base)
29870  keyok          lib             $(base)
29871  lib_dft_fgbg   lib             $(base)         ../include/term.h
29872 -lib_freeall    lib             $(base)
29873  lib_print      lib             $(tinfo)        ../include/term.h
29874  resizeterm     lib             $(base)         ../include/term.h
29875  trace_xnames   lib             $(trace)        ../include/term.h $(INCDIR)/term_entry.h
29876 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/MKkeys_list.sh ncurses-5.3.20030906.orig/ncurses/tinfo/MKkeys_list.sh
29877 --- ncurses-5.3/ncurses/tinfo/MKkeys_list.sh    Sat Jun 16 11:50:35 2001
29878 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/MKkeys_list.sh      Tue May 13 20:08:22 2003
29879 @@ -1,7 +1,7 @@
29880  #! /bin/sh
29881 -# $Id: MKkeys_list.sh,v 1.2 2001/06/16 16:50:35 tom Exp $
29882 +# $Id: MKkeys_list.sh,v 1.3 2003/01/11 22:24:53 tom Exp $
29883  ##############################################################################
29884 -# Copyright (c) 2001 Free Software Foundation, Inc.                          #
29885 +# Copyright (c) 2001,2003 Free Software Foundation, Inc.                     #
29886  #                                                                            #
29887  # Permission is hereby granted, free of charge, to any person obtaining a    #
29888  # copy of this software and associated documentation files (the "Software"), #
29889 @@ -39,7 +39,7 @@
29890  
29891  data=data$$
29892  trap 'rm -f $data' 0 1 2 5 15
29893 -sed -e 's/[    ]\+/    /g' < $DATA >$data
29894 +sed -e 's/[    ][      ]*/     /g' < $DATA >$data
29895  
29896  cat <<EOF
29897  # These definitions were generated by $0 $DATA
29898 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/access.c ncurses-5.3.20030906.orig/ncurses/tinfo/access.c
29899 --- ncurses-5.3/ncurses/tinfo/access.c  Sat Jun 23 17:11:49 2001
29900 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/access.c    Sun Jul 20 14:02:09 2003
29901 @@ -1,5 +1,5 @@
29902  /****************************************************************************
29903 - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
29904 + * Copyright (c) 1998,2001,2003 Free Software Foundation, Inc.              *
29905   *                                                                          *
29906   * Permission is hereby granted, free of charge, to any person obtaining a  *
29907   * copy of this software and associated documentation files (the            *
29908 @@ -34,7 +34,7 @@
29909  #include <tic.h>
29910  #include <nc_alloc.h>
29911  
29912 -MODULE_ID("$Id: access.c,v 1.9 2001/06/23 22:11:49 tom Exp $")
29913 +MODULE_ID("$Id: access.c,v 1.10 2003/07/05 19:31:28 tom Exp $")
29914  
29915  #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
29916  
29917 @@ -64,19 +64,28 @@
29918      return result;
29919  }
29920  
29921 -NCURSES_EXPORT(char *)
29922 -_nc_basename(char *path)
29923 +/*
29924 + * Return index of the basename
29925 + */
29926 +NCURSES_EXPORT(unsigned)
29927 +_nc_pathlast(const char *path)
29928  {
29929 -    char *result = strrchr(path, '/');
29930 +    const char *test = strrchr(path, '/');
29931  #ifdef __EMX__
29932 -    if (result == 0)
29933 -       result = strrchr(path, '\\');
29934 +    if (test == 0)
29935 +       test = strrchr(path, '\\');
29936  #endif
29937 -    if (result == 0)
29938 -       result = path;
29939 +    if (test == 0)
29940 +       test = path;
29941      else
29942 -       result++;
29943 -    return result;
29944 +       test++;
29945 +    return (test - path);
29946 +}
29947 +
29948 +NCURSES_EXPORT(char *)
29949 +_nc_basename(char *path)
29950 +{
29951 +    return path + _nc_pathlast(path);
29952  }
29953  
29954  NCURSES_EXPORT(int)
29955 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/alloc_entry.c ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_entry.c
29956 --- ncurses-5.3/ncurses/tinfo/alloc_entry.c     Sat Sep  7 15:04:15 2002
29957 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_entry.c       Sun Jul 20 14:02:08 2003
29958 @@ -1,5 +1,5 @@
29959  /****************************************************************************
29960 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
29961 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
29962   *                                                                          *
29963   * Permission is hereby granted, free of charge, to any person obtaining a  *
29964   * copy of this software and associated documentation files (the            *
29965 @@ -47,7 +47,7 @@
29966  #include <tic.h>
29967  #include <term_entry.h>
29968  
29969 -MODULE_ID("$Id: alloc_entry.c,v 1.37 2002/09/07 20:04:15 tom Exp $")
29970 +MODULE_ID("$Id: alloc_entry.c,v 1.38 2003/05/24 21:10:28 tom Exp $")
29971  
29972  #define ABSENT_OFFSET    -1
29973  #define CANCELLED_OFFSET -2
29974 @@ -61,10 +61,10 @@
29975  _nc_init_entry(TERMTYPE * const tp)
29976  /* initialize a terminal type data block */
29977  {
29978 -    int i;
29979 +    unsigned i;
29980  
29981      if (stringbuf == 0)
29982 -       stringbuf = malloc(MAX_STRTAB);
29983 +       stringbuf = (char *) malloc(MAX_STRTAB);
29984  
29985  #if NCURSES_XNAMES
29986      tp->num_Booleans = BOOLCOUNT;
29987 @@ -126,7 +126,8 @@
29988  /* copy the string parts to allocated storage, preserving pointers to it */
29989  {
29990      int offsets[MAX_ENTRY_SIZE / 2], useoffsets[MAX_USES];
29991 -    int i, n;
29992 +    unsigned i, n;
29993 +    unsigned nuses = ep->nuses;
29994      TERMTYPE *tp = &(ep->tterm);
29995  
29996      if (copy_strings) {
29997 @@ -141,7 +142,7 @@
29998             }
29999         }
30000  
30001 -       for (i = 0; i < ep->nuses; i++) {
30002 +       for (i = 0; i < nuses; i++) {
30003             if (ep->uses[i].name == 0) {
30004                 ep->uses[i].name = _nc_save_str(ep->uses[i].name);
30005             }
30006 @@ -160,7 +161,7 @@
30007             offsets[i] = tp->Strings[i] - stringbuf;
30008      }
30009  
30010 -    for (i = 0; i < ep->nuses; i++) {
30011 +    for (i = 0; i < nuses; i++) {
30012         if (ep->uses[i].name == 0)
30013             useoffsets[i] = ABSENT_OFFSET;
30014         else
30015 @@ -200,7 +201,7 @@
30016      }
30017  #endif
30018  
30019 -    for (i = 0; i < ep->nuses; i++) {
30020 +    for (i = 0; i < nuses; i++) {
30021         if (useoffsets[i] == ABSENT_OFFSET)
30022             ep->uses[i].name = 0;
30023         else
30024 @@ -209,11 +210,10 @@
30025  }
30026  
30027  NCURSES_EXPORT(void)
30028 -_nc_merge_entry
30029 -(TERMTYPE * const to, TERMTYPE * const from)
30030 +_nc_merge_entry(TERMTYPE * const to, TERMTYPE * const from)
30031  /* merge capabilities from `from' entry into `to' entry */
30032  {
30033 -    int i;
30034 +    unsigned i;
30035  
30036  #if NCURSES_XNAMES
30037      _nc_align_termtype(to, from);
30038 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/alloc_ttype.c ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_ttype.c
30039 --- ncurses-5.3/ncurses/tinfo/alloc_ttype.c     Sat Sep 28 10:28:43 2002
30040 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_ttype.c       Sun Jul 20 14:02:08 2003
30041 @@ -1,5 +1,5 @@
30042  /****************************************************************************
30043 - * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
30044 + * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
30045   *                                                                          *
30046   * Permission is hereby granted, free of charge, to any person obtaining a  *
30047   * copy of this software and associated documentation files (the            *
30048 @@ -43,7 +43,7 @@
30049  #include <tic.h>
30050  #include <term_entry.h>
30051  
30052 -MODULE_ID("$Id: alloc_ttype.c,v 1.13 2002/09/28 15:28:43 tom Exp $")
30053 +MODULE_ID("$Id: alloc_ttype.c,v 1.14 2003/05/24 21:10:28 tom Exp $")
30054  
30055  #if NCURSES_XNAMES
30056  /*
30057 @@ -92,8 +92,10 @@
30058  }
30059  
30060  static void
30061 -realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
30062 -            ext_Numbers, int ext_Strings)
30063 +realign_data(TERMTYPE * to, char **ext_Names,
30064 +            int ext_Booleans,
30065 +            int ext_Numbers,
30066 +            int ext_Strings)
30067  {
30068      int n, m, base;
30069      int limit = (to->ext_Booleans + to->ext_Numbers + to->ext_Strings);
30070 @@ -371,8 +373,7 @@
30071  }
30072  
30073  NCURSES_EXPORT(void)
30074 -_nc_align_termtype
30075 -(TERMTYPE * to, TERMTYPE * from)
30076 +_nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
30077  {
30078      int na = NUM_EXT_NAMES(to);
30079      int nb = NUM_EXT_NAMES(from);
30080 @@ -457,10 +458,9 @@
30081  #endif
30082  
30083  NCURSES_EXPORT(void)
30084 -_nc_copy_termtype
30085 -(TERMTYPE * dst, TERMTYPE * src)
30086 +_nc_copy_termtype(TERMTYPE * dst, TERMTYPE * src)
30087  {
30088 -    int i;
30089 +    unsigned i;
30090  
30091      *dst = *src;               /* ...to copy the sizes and string-tables */
30092      dst->Booleans = typeMalloc(char, NUM_BOOLEANS(dst));
30093 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/comp_parse.c ncurses-5.3.20030906.orig/ncurses/tinfo/comp_parse.c
30094 --- ncurses-5.3/ncurses/tinfo/comp_parse.c      Sat Sep  7 15:01:28 2002
30095 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/comp_parse.c        Fri Sep 12 16:41:41 2003
30096 @@ -1,5 +1,5 @@
30097  /****************************************************************************
30098 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
30099 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
30100   *                                                                          *
30101   * Permission is hereby granted, free of charge, to any person obtaining a  *
30102   * copy of this software and associated documentation files (the            *
30103 @@ -52,7 +52,7 @@
30104  #include <tic.h>
30105  #include <term_entry.h>
30106  
30107 -MODULE_ID("$Id: comp_parse.c,v 1.53 2002/09/07 20:01:28 tom Exp $")
30108 +MODULE_ID("$Id: comp_parse.c,v 1.55 2003/08/02 23:53:42 tom Exp $")
30109  
30110  static void sanity_check(TERMTYPE *);
30111  NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype) (TERMTYPE *) = sanity_check;
30112 @@ -163,7 +163,7 @@
30113   ****************************************************************************/
30114  
30115  NCURSES_EXPORT(void)
30116 -_nc_read_entry_source(FILE * fp, char *buf,
30117 +_nc_read_entry_source(FILE *fp, char *buf,
30118                       int literal, bool silent,
30119                       bool(*hook) (ENTRY *))
30120  /* slurp all entries in the given file into core */
30121 @@ -216,7 +216,8 @@
30122  {
30123      ENTRY *qp, *rp, *lastread = 0;
30124      bool keepgoing;
30125 -    int i, j, unresolved, total_unresolved, multiples;
30126 +    int i, unresolved, total_unresolved, multiples;
30127 +    unsigned j;
30128  
30129      DEBUG(2, ("RESOLUTION BEGINNING"));
30130  
30131 @@ -397,7 +398,7 @@
30132          */
30133         for_entry_list(qp) {
30134             for_each_boolean(j, &(qp->tterm)) {
30135 -               if ((int) qp->tterm.Booleans[j] == CANCELLED_BOOLEAN)
30136 +               if (qp->tterm.Booleans[j] == CANCELLED_BOOLEAN)
30137                     qp->tterm.Booleans[j] = ABSENT_BOOLEAN;
30138             }
30139             for_each_number(j, &(qp->tterm)) {
30140 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/comp_scan.c ncurses-5.3.20030906.orig/ncurses/tinfo/comp_scan.c
30141 --- ncurses-5.3/ncurses/tinfo/comp_scan.c       Sat Sep  7 15:04:09 2002
30142 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/comp_scan.c Sun Jul 20 14:02:08 2003
30143 @@ -1,5 +1,5 @@
30144  /****************************************************************************
30145 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
30146 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
30147   *                                                                          *
30148   * Permission is hereby granted, free of charge, to any person obtaining a  *
30149   * copy of this software and associated documentation files (the            *
30150 @@ -50,7 +50,7 @@
30151  #include <term_entry.h>
30152  #include <tic.h>
30153  
30154 -MODULE_ID("$Id: comp_scan.c,v 1.61 2002/09/07 20:04:09 tom Exp $")
30155 +MODULE_ID("$Id: comp_scan.c,v 1.64 2003/05/31 23:27:20 tom Exp $")
30156  
30157  /*
30158   * Maximum length of string capability we'll accept before raising an error.
30159 @@ -93,10 +93,10 @@
30160  _nc_disable_period = FALSE;    /* used by tic -a option */
30161  #endif
30162  
30163 +static bool end_of_stream(void);
30164  static int last_char(void);
30165  static int next_char(void);
30166  static long stream_pos(void);
30167 -static bool end_of_stream(void);
30168  static void push_back(char c);
30169  
30170  /* Assume we may be looking at a termcap-style continuation */
30171 @@ -148,8 +148,11 @@
30172      static const char terminfo_punct[] = "@%&*!#";
30173      static char *buffer;
30174  
30175 +    char *after_list;
30176 +    char *after_name;
30177      char *numchk;
30178      char *ptr;
30179 +    char *s;
30180      char numbuf[80];
30181      int ch;
30182      int dot_flag = FALSE;
30183 @@ -173,8 +176,12 @@
30184         return (retval);
30185      }
30186  
30187 -    if (end_of_stream())
30188 +    if (end_of_stream()) {
30189 +       if (buffer != 0) {
30190 +           FreeAndNull(buffer);
30191 +       }
30192         return (EOF);
30193 +    }
30194  
30195    start_token:
30196      token_start = stream_pos();
30197 @@ -227,17 +234,21 @@
30198         *(ptr++) = ch;
30199  
30200         if (first_column) {
30201 -           char *desc;
30202 -
30203             _nc_comment_start = token_start;
30204             _nc_comment_end = _nc_curr_file_pos;
30205             _nc_start_line = _nc_curr_line;
30206  
30207             _nc_syntax = ERR;
30208 +           after_name = 0;
30209 +           after_list = 0;
30210             while ((ch = next_char()) != '\n') {
30211 -               if (ch == EOF)
30212 +               if (ch == EOF) {
30213                     _nc_err_abort(MSG_NO_MEMORY);
30214 -               else if (ch == ':' && last_char() != ',') {
30215 +               } else if (ch == '|') {
30216 +                   after_list = ptr;
30217 +                   if (after_name == 0)
30218 +                       after_name = ptr;
30219 +               } else if (ch == ':' && last_char() != ',') {
30220                     _nc_syntax = SYN_TERMCAP;
30221                     separator = ':';
30222                     break;
30223 @@ -245,14 +256,18 @@
30224                     _nc_syntax = SYN_TERMINFO;
30225                     separator = ',';
30226                     /*
30227 -                    * Fall-through here is not an accident.  The idea is that
30228 -                    * if we see a comma, we figure this is terminfo unless we
30229 -                    * subsequently run into a colon -- but we don't stop
30230 -                    * looking for that colon until hitting a newline.  This
30231 +                    * If we did not see a '|', then we found a name with no
30232 +                    * aliases or description.
30233 +                    */
30234 +                   if (after_name == 0)
30235 +                       break;
30236 +                   /*
30237 +                    * If we see a comma, we assume this is terminfo unless we
30238 +                    * subsequently run into a colon.  But we don't stop
30239 +                    * looking for a colon until hitting a newline.  This
30240                      * allows commas to be embedded in description fields of
30241                      * either syntax.
30242                      */
30243 -                   /* FALLTHRU */
30244                 } else
30245                     ch = eat_escaped_newline(ch);
30246  
30247 @@ -277,53 +292,53 @@
30248  
30249             /*
30250              * This is the soonest we have the terminal name fetched.  Set up
30251 -            * for following warning messages.
30252 +            * for following warning messages.  If there's no '|', then there
30253 +            * is no description.
30254              */
30255 -           ptr = strchr(buffer, '|');
30256 -           if (ptr == (char *) NULL)
30257 -               ptr = buffer + strlen(buffer);
30258 -           ch = *ptr;
30259 -           *ptr = '\0';
30260 -           _nc_set_type(buffer);
30261 -           *ptr = ch;
30262 +           if (after_name != 0) {
30263 +               ch = *after_name;
30264 +               *after_name = '\0';
30265 +               _nc_set_type(buffer);
30266 +               *after_name = ch;
30267 +           }
30268  
30269             /*
30270              * Compute the boundary between the aliases and the description
30271              * field for syntax-checking purposes.
30272              */
30273 -           desc = strrchr(buffer, '|');
30274 -           if (!silent && desc) {
30275 -               if (*desc == '\0')
30276 -                   _nc_warning("empty longname field");
30277 -               else if (strchr(desc, ' ') == (char *) NULL)
30278 -                   _nc_warning("older tic versions may treat the description field as an alias");
30279 +           if (after_list != 0) {
30280 +               if (!silent) {
30281 +                   if (*after_list == '\0')
30282 +                       _nc_warning("empty longname field");
30283 +                   else if (strchr(after_list, ' ') == 0)
30284 +                       _nc_warning("older tic versions may treat the description field as an alias");
30285 +               }
30286 +           } else {
30287 +               after_list = buffer + strlen(buffer);
30288 +               DEBUG(1, ("missing description"));
30289             }
30290 -           if (!desc)
30291 -               desc = buffer + strlen(buffer);
30292  
30293             /*
30294              * Whitespace in a name field other than the long name can confuse
30295              * rdist and some termcap tools.  Slashes are a no-no.  Other
30296              * special characters can be dangerous due to shell expansion.
30297              */
30298 -           for (ptr = buffer; ptr < desc; ptr++) {
30299 -               if (isspace(UChar(*ptr))) {
30300 +           for (s = buffer; s < after_list; ++s) {
30301 +               if (isspace(UChar(*s))) {
30302                     if (!silent)
30303                         _nc_warning("whitespace in name or alias field");
30304                     break;
30305 -               } else if (*ptr == '/') {
30306 +               } else if (*s == '/') {
30307                     if (!silent)
30308                         _nc_warning("slashes aren't allowed in names or aliases");
30309                     break;
30310 -               } else if (strchr("$[]!*?", *ptr)) {
30311 +               } else if (strchr("$[]!*?", *s)) {
30312                     if (!silent)
30313 -                       _nc_warning("dubious character `%c' in name or alias field", *ptr);
30314 +                       _nc_warning("dubious character `%c' in name or alias field", *s);
30315                     break;
30316                 }
30317             }
30318  
30319 -           ptr = buffer;
30320 -
30321             _nc_curr_token.tk_name = buffer;
30322             type = NAMES;
30323         } else {
30324 @@ -684,7 +699,7 @@
30325   */
30326  
30327  NCURSES_EXPORT(void)
30328 -_nc_reset_input(FILE * fp, char *buf)
30329 +_nc_reset_input(FILE *fp, char *buf)
30330  {
30331      pushtype = NO_PUSHBACK;
30332      if (pushname != 0)
30333 @@ -766,7 +781,7 @@
30334                 if (used == 0)
30335                     _nc_curr_file_pos = ftell(yyin);
30336  
30337 -               if (fgets(result + used, allocated - used, yyin) != NULL) {
30338 +               if (fgets(result + used, allocated - used, yyin) != 0) {
30339                     bufstart = result;
30340                     if (used == 0) {
30341                         _nc_curr_line++;
30342 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/free_ttype.c ncurses-5.3.20030906.orig/ncurses/tinfo/free_ttype.c
30343 --- ncurses-5.3/ncurses/tinfo/free_ttype.c      Sun Sep  1 15:29:03 2002
30344 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/free_ttype.c        Fri Sep 12 16:41:56 2003
30345 @@ -1,5 +1,5 @@
30346  /****************************************************************************
30347 - * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc.              *
30348 + * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
30349   *                                                                          *
30350   * Permission is hereby granted, free of charge, to any person obtaining a  *
30351   * copy of this software and associated documentation files (the            *
30352 @@ -43,11 +43,43 @@
30353  #include <tic.h>
30354  #include <term_entry.h>
30355  
30356 -MODULE_ID("$Id: free_ttype.c,v 1.8 2002/09/01 20:29:03 tom Exp $")
30357 +MODULE_ID("$Id: free_ttype.c,v 1.10 2003/08/09 21:22:03 tom Exp $")
30358  
30359  NCURSES_EXPORT(void)
30360  _nc_free_termtype(TERMTYPE * ptr)
30361  {
30362 +    T(("_nc_free_termtype(%s)", ptr->term_names));
30363 +
30364 +    if (ptr->str_table == 0
30365 +       || (ptr->term_names < ptr->str_table
30366 +           || ptr->term_names >= ptr->str_table + MAX_ENTRY_SIZE)) {
30367 +       FreeIfNeeded(ptr->term_names);
30368 +    }
30369 +#if NO_LEAKS
30370 +    else {
30371 +       if (ptr->str_table != 0
30372 +           && (ptr->term_names < ptr->str_table + MAX_ENTRY_SIZE)) {
30373 +           int j;
30374 +           char *last = ptr->str_table;
30375 +           /*
30376 +            * We should have saved the entry-size someplace.  Too late,
30377 +            * but this is useful for the memory-leak checking, though more
30378 +            * work/time than should be in the normal library.
30379 +            */
30380 +           for (j = 0; j < NUM_STRINGS(ptr); j++) {
30381 +               char *s = ptr->Strings[j];
30382 +               if (VALID_STRING(s)) {
30383 +                   char *t = s + strlen(s) + 1;
30384 +                   if (t > last)
30385 +                       last = t;
30386 +               }
30387 +           }
30388 +           if (last < ptr->term_names) {
30389 +               FreeIfNeeded(ptr->term_names);
30390 +           }
30391 +       }
30392 +    }
30393 +#endif
30394      FreeIfNeeded(ptr->str_table);
30395      FreeIfNeeded(ptr->Booleans);
30396      FreeIfNeeded(ptr->Numbers);
30397 @@ -66,7 +98,9 @@
30398  use_extended_names(bool flag)
30399  {
30400      int oldflag = _nc_user_definable;
30401 +
30402 +    T((T_CALLED("use_extended_names(%d)"), flag));
30403      _nc_user_definable = flag;
30404 -    return oldflag;
30405 +    returnBool(oldflag);
30406  }
30407  #endif
30408 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_acs.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_acs.c
30409 --- ncurses-5.3/ncurses/tinfo/lib_acs.c Sun Sep  1 14:26:57 2002
30410 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_acs.c   Tue May 13 20:08:22 2003
30411 @@ -34,7 +34,7 @@
30412  #include <curses.priv.h>
30413  #include <term.h>              /* ena_acs, acs_chars */
30414  
30415 -MODULE_ID("$Id: lib_acs.c,v 1.22 2002/09/01 19:26:57 tom Exp $")
30416 +MODULE_ID("$Id: lib_acs.c,v 1.25 2002/12/28 16:26:46 tom Exp $")
30417  
30418  #if BROKEN_LINKER
30419  NCURSES_EXPORT_VAR(chtype *)
30420 @@ -55,101 +55,88 @@
30421  NCURSES_EXPORT(void)
30422  _nc_init_acs(void)
30423  {
30424 +    chtype *fake_map = acs_map;
30425 +    chtype *real_map = SP != 0 ? SP->_acs_map : fake_map;
30426 +    int j;
30427 +
30428      T(("initializing ACS map"));
30429 -#if !BROKEN_LINKER
30430 -    memset(acs_map, 0, sizeof(acs_map));
30431 -#endif
30432 +
30433 +    /*
30434 +     * If we're using this from curses (rather than terminfo), we are storing
30435 +     * the mapping information in the SCREEN struct so we can decide how to
30436 +     * render it.
30437 +     */
30438 +    if (real_map != fake_map) {
30439 +       for (j = 1; j < ACS_LEN; ++j) {
30440 +           real_map[j] = 0;
30441 +           fake_map[j] = A_ALTCHARSET | j;
30442 +       }
30443 +    } else {
30444 +       for (j = 1; j < ACS_LEN; ++j) {
30445 +           real_map[j] = 0;
30446 +       }
30447 +    }
30448  
30449      /*
30450       * Initializations for a UNIX-like multi-terminal environment.  Use
30451       * ASCII chars and count on the terminfo description to do better.
30452       */
30453 -    ACS_ULCORNER = '+';                /* should be upper left corner */
30454 -    ACS_LLCORNER = '+';                /* should be lower left corner */
30455 -    ACS_URCORNER = '+';                /* should be upper right corner */
30456 -    ACS_LRCORNER = '+';                /* should be lower right corner */
30457 -    ACS_RTEE = '+';            /* should be tee pointing left */
30458 -    ACS_LTEE = '+';            /* should be tee pointing right */
30459 -    ACS_BTEE = '+';            /* should be tee pointing up */
30460 -    ACS_TTEE = '+';            /* should be tee pointing down */
30461 -    ACS_HLINE = '-';           /* should be horizontal line */
30462 -    ACS_VLINE = '|';           /* should be vertical line */
30463 -    ACS_PLUS = '+';            /* should be large plus or crossover */
30464 -    ACS_S1 = '~';              /* should be scan line 1 */
30465 -    ACS_S9 = '_';              /* should be scan line 9 */
30466 -    ACS_DIAMOND = '+';         /* should be diamond */
30467 -    ACS_CKBOARD = ':';         /* should be checker board (stipple) */
30468 -    ACS_DEGREE = '\'';         /* should be degree symbol */
30469 -    ACS_PLMINUS = '#';         /* should be plus/minus */
30470 -    ACS_BULLET = 'o';          /* should be bullet */
30471 -    ACS_LARROW = '<';          /* should be arrow pointing left */
30472 -    ACS_RARROW = '>';          /* should be arrow pointing right */
30473 -    ACS_DARROW = 'v';          /* should be arrow pointing down */
30474 -    ACS_UARROW = '^';          /* should be arrow pointing up */
30475 -    ACS_BOARD = '#';           /* should be board of squares */
30476 -    ACS_LANTERN = '#';         /* should be lantern symbol */
30477 -    ACS_BLOCK = '#';           /* should be solid square block */
30478 +    real_map['l'] = '+';       /* should be upper left corner */
30479 +    real_map['m'] = '+';       /* should be lower left corner */
30480 +    real_map['k'] = '+';       /* should be upper right corner */
30481 +    real_map['j'] = '+';       /* should be lower right corner */
30482 +    real_map['u'] = '+';       /* should be tee pointing left */
30483 +    real_map['t'] = '+';       /* should be tee pointing right */
30484 +    real_map['v'] = '+';       /* should be tee pointing up */
30485 +    real_map['w'] = '+';       /* should be tee pointing down */
30486 +    real_map['q'] = '-';       /* should be horizontal line */
30487 +    real_map['x'] = '|';       /* should be vertical line */
30488 +    real_map['n'] = '+';       /* should be large plus or crossover */
30489 +    real_map['o'] = '~';       /* should be scan line 1 */
30490 +    real_map['s'] = '_';       /* should be scan line 9 */
30491 +    real_map['`'] = '+';       /* should be diamond */
30492 +    real_map['a'] = ':';       /* should be checker board (stipple) */
30493 +    real_map['f'] = '\'';      /* should be degree symbol */
30494 +    real_map['g'] = '#';       /* should be plus/minus */
30495 +    real_map['~'] = 'o';       /* should be bullet */
30496 +    real_map[','] = '<';       /* should be arrow pointing left */
30497 +    real_map['+'] = '>';       /* should be arrow pointing right */
30498 +    real_map['.'] = 'v';       /* should be arrow pointing down */
30499 +    real_map['-'] = '^';       /* should be arrow pointing up */
30500 +    real_map['h'] = '#';       /* should be board of squares */
30501 +    real_map['i'] = '#';       /* should be lantern symbol */
30502 +    real_map['0'] = '#';       /* should be solid square block */
30503      /* these defaults were invented for ncurses */
30504 -    ACS_S3 = '-';              /* should be scan line 3 */
30505 -    ACS_S7 = '-';              /* should be scan line 7 */
30506 -    ACS_LEQUAL = '<';          /* should be less-than-or-equal-to */
30507 -    ACS_GEQUAL = '>';          /* should be greater-than-or-equal-to */
30508 -    ACS_PI = '*';              /* should be greek pi */
30509 -    ACS_NEQUAL = '!';          /* should be not-equal */
30510 -    ACS_STERLING = 'f';                /* should be pound-sterling symbol */
30511 +    real_map['p'] = '-';       /* should be scan line 3 */
30512 +    real_map['r'] = '-';       /* should be scan line 7 */
30513 +    real_map['y'] = '<';       /* should be less-than-or-equal-to */
30514 +    real_map['z'] = '>';       /* should be greater-than-or-equal-to */
30515 +    real_map['{'] = '*';       /* should be greek pi */
30516 +    real_map['|'] = '!';       /* should be not-equal */
30517 +    real_map['}'] = 'f';       /* should be pound-sterling symbol */
30518 +
30519 +#if !USE_WIDEC_SUPPORT
30520 +    if (_nc_unicode_locale() && _nc_locale_breaks_acs()) {
30521 +       acs_chars = NULL;
30522 +       ena_acs = NULL;
30523 +    }
30524 +#endif
30525  
30526      if (ena_acs != NULL) {
30527         TPUTS_TRACE("ena_acs");
30528         putp(ena_acs);
30529      }
30530 -#define ALTCHAR(c)     ((chtype)(((unsigned char)(c)) | A_ALTCHARSET))
30531  
30532      if (acs_chars != NULL) {
30533         size_t i = 0;
30534         size_t length = strlen(acs_chars);
30535  
30536 -       while (i < length)
30537 -           switch (acs_chars[i]) {
30538 -           case 'l':
30539 -           case 'm':
30540 -           case 'k':
30541 -           case 'j':
30542 -           case 'u':
30543 -           case 't':
30544 -           case 'v':
30545 -           case 'w':
30546 -           case 'q':
30547 -           case 'x':
30548 -           case 'n':
30549 -           case 'o':
30550 -           case 's':
30551 -           case '`':
30552 -           case 'a':
30553 -           case 'f':
30554 -           case 'g':
30555 -           case '~':
30556 -           case ',':
30557 -           case '+':
30558 -           case '.':
30559 -           case '-':
30560 -           case 'h':
30561 -           case 'i':
30562 -           case '0':
30563 -           case 'p':
30564 -           case 'r':
30565 -           case 'y':
30566 -           case 'z':
30567 -           case '{':
30568 -           case '|':
30569 -           case '}':
30570 -               acs_map[(unsigned int) acs_chars[i]] =
30571 -                   ALTCHAR(acs_chars[i + 1]);
30572 -               i++;
30573 -               /* FALLTHRU */
30574 -           default:
30575 -               i++;
30576 -               break;
30577 +       while (i + 1 < length) {
30578 +           if (acs_chars[i] != 0 && UChar(acs_chars[i]) < ACS_LEN) {
30579 +               real_map[UChar(acs_chars[i])] = UChar(acs_chars[i + 1]) | A_ALTCHARSET;
30580             }
30581 +           i += 2;
30582 +       }
30583      }
30584  #ifdef TRACE
30585      /* Show the equivalent mapping, noting if it does not match the
30586 @@ -159,9 +146,9 @@
30587         size_t n, m;
30588         char show[ACS_LEN + 1];
30589         for (n = 1, m = 0; n < ACS_LEN; n++) {
30590 -           if (acs_map[n] != 0) {
30591 +           if (real_map[n] != 0) {
30592                 show[m++] = (char) n;
30593 -               show[m++] = ChCharOf(acs_map[n]);
30594 +               show[m++] = ChCharOf(real_map[n]);
30595             }
30596         }
30597         show[m] = 0;
30598 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_cur_term.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_cur_term.c
30599 --- ncurses-5.3/ncurses/tinfo/lib_cur_term.c    Sat Dec  9 20:55:07 2000
30600 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_cur_term.c      Tue May 13 20:08:22 2003
30601 @@ -1,5 +1,5 @@
30602  /****************************************************************************
30603 - * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
30604 + * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
30605   *                                                                          *
30606   * Permission is hereby granted, free of charge, to any person obtaining a  *
30607   * copy of this software and associated documentation files (the            *
30608 @@ -40,7 +40,7 @@
30609  #include <term_entry.h>                /* TTY, cur_term */
30610  #include <termcap.h>           /* ospeed */
30611  
30612 -MODULE_ID("$Id: lib_cur_term.c,v 1.11 2000/12/10 02:55:07 tom Exp $")
30613 +MODULE_ID("$Id: lib_cur_term.c,v 1.12 2003/02/23 01:00:56 tom Exp $")
30614  
30615  NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0;
30616  
30617 @@ -49,11 +49,14 @@
30618  {
30619      TERMINAL *oldterm = cur_term;
30620  
30621 +    T((T_CALLED("set_curterm(%p)"), termp));
30622 +
30623      if ((cur_term = termp) != 0) {
30624         ospeed = _nc_ospeed(cur_term->_baudrate);
30625         PC = (pad_char != NULL) ? pad_char[0] : 0;
30626      }
30627 -    return oldterm;
30628 +    T((T_RETURN("%p"), oldterm));
30629 +    return (oldterm);
30630  }
30631  
30632  NCURSES_EXPORT(int)
30633 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_kernel.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_kernel.c
30634 --- ncurses-5.3/ncurses/tinfo/lib_kernel.c      Sat May 11 15:32:18 2002
30635 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_kernel.c        Tue May 13 20:08:22 2003
30636 @@ -48,12 +48,12 @@
30637  #include <curses.priv.h>
30638  #include <term.h>              /* cur_term */
30639  
30640 -MODULE_ID("$Id: lib_kernel.c,v 1.22 2002/05/11 20:32:18 tom Exp $")
30641 +MODULE_ID("$Id: lib_kernel.c,v 1.23 2003/01/26 00:24:53 tom Exp $")
30642  
30643  static int
30644  _nc_vdisable(void)
30645  {
30646 -    int value;
30647 +    int value = -1;
30648  #if defined(_POSIX_VDISABLE) && defined(HAVE_UNISTD_H)
30649      value = _POSIX_VDISABLE;
30650  #endif
30651 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_setup.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_setup.c
30652 --- ncurses-5.3/ncurses/tinfo/lib_setup.c       Sat Oct 12 16:50:18 2002
30653 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_setup.c Sun Jul 20 14:02:08 2003
30654 @@ -1,5 +1,5 @@
30655  /****************************************************************************
30656 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
30657 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
30658   *                                                                          *
30659   * Permission is hereby granted, free of charge, to any person obtaining a  *
30660   * copy of this software and associated documentation files (the            *
30661 @@ -29,6 +29,7 @@
30662  /****************************************************************************
30663   *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
30664   *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
30665 + *     and: Thomas E. Dickey 1996-2003                                      *
30666   ****************************************************************************/
30667  
30668  /*
30669 @@ -48,7 +49,7 @@
30670  
30671  #include <term.h>              /* lines, columns, cur_term */
30672  
30673 -MODULE_ID("$Id: lib_setup.c,v 1.70 2002/10/12 21:50:18 tom Exp $")
30674 +MODULE_ID("$Id: lib_setup.c,v 1.77 2003/05/24 21:10:28 tom Exp $")
30675  
30676  /****************************************************************************
30677   *
30678 @@ -90,9 +91,12 @@
30679  # endif
30680  #endif
30681  
30682 -static int _use_env = TRUE;
30683 +NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
30684 +NCURSES_EXPORT_VAR(int) LINES = 0;
30685 +NCURSES_EXPORT_VAR(int) COLS = 0;
30686 +NCURSES_EXPORT_VAR(int) TABSIZE = 0;
30687  
30688 -static void do_prototype(void);
30689 +static int _use_env = TRUE;
30690  
30691  NCURSES_EXPORT(void)
30692  use_env(bool f)
30693 @@ -102,10 +106,6 @@
30694      returnVoid;
30695  }
30696  
30697 -NCURSES_EXPORT_VAR(int) LINES = 0;
30698 -NCURSES_EXPORT_VAR(int) COLS = 0;
30699 -NCURSES_EXPORT_VAR(int) TABSIZE = 0;
30700 -
30701  static void
30702  _nc_get_screensize(int *linep, int *colp)
30703  /* Obtain lines/columns values from the environment and/or terminfo entry */
30704 @@ -199,7 +199,6 @@
30705      else
30706         TABSIZE = 8;
30707      T(("TABSIZE = %d", TABSIZE));
30708 -
30709  }
30710  
30711  #if USE_SIZECHANGE
30712 @@ -241,7 +240,9 @@
30713  grab_entry(const char *const tn, TERMTYPE * const tp)
30714  /* return 1 if entry found, 0 if not found, -1 if database not accessible */
30715  {
30716 +#if USE_DATABASE
30717      char filename[PATH_MAX];
30718 +#endif
30719      int status;
30720  
30721      /*
30722 @@ -275,7 +276,7 @@
30723       * a string is cancelled, for merging entries).
30724       */
30725      if (status == 1) {
30726 -       int n;
30727 +       unsigned n;
30728         for_each_boolean(n, tp) {
30729             if (!VALID_BOOLEAN(tp->Booleans[n]))
30730                 tp->Booleans[n] = FALSE;
30731 @@ -289,7 +290,82 @@
30732  }
30733  #endif
30734  
30735 -NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
30736 +/*
30737 +**     do_prototype()
30738 +**
30739 +**     Take the real command character out of the CC environment variable
30740 +**     and substitute it in for the prototype given in 'command_character'.
30741 +**
30742 +*/
30743 +static void
30744 +do_prototype(void)
30745 +{
30746 +    int i;
30747 +    char CC;
30748 +    char proto;
30749 +    char *tmp;
30750 +
30751 +    tmp = getenv("CC");
30752 +    CC = *tmp;
30753 +    proto = *command_character;
30754 +
30755 +    for_each_string(i, &(cur_term->type)) {
30756 +       for (tmp = cur_term->type.Strings[i]; *tmp; tmp++) {
30757 +           if (*tmp == proto)
30758 +               *tmp = CC;
30759 +       }
30760 +    }
30761 +}
30762 +
30763 +/*
30764 + * Check if we are running in a UTF-8 locale.
30765 + */
30766 +NCURSES_EXPORT(char *)
30767 +_nc_get_locale(void)
30768 +{
30769 +    char *env;
30770 +    if (((env = getenv("LC_ALL")) != 0 && *env != '\0')
30771 +       || ((env = getenv("LC_CTYPE")) != 0 && *env != '\0')
30772 +       || ((env = getenv("LANG")) != 0 && *env != '\0')) {
30773 +       return env;
30774 +    }
30775 +    return 0;
30776 +}
30777 +
30778 +/*
30779 + * Check if we are running in a UTF-8 locale.
30780 + */
30781 +NCURSES_EXPORT(int)
30782 +_nc_unicode_locale(void)
30783 +{
30784 +    char *env = _nc_get_locale();
30785 +    if (env != 0) {
30786 +       if (strstr(env, ".UTF-8") != 0)
30787 +           return 1;
30788 +    }
30789 +    return 0;
30790 +}
30791 +
30792 +/*
30793 + * Check for known broken cases where a UTF-8 locale breaks the alternate
30794 + * character set.
30795 + */
30796 +NCURSES_EXPORT(int)
30797 +_nc_locale_breaks_acs(void)
30798 +{
30799 +    char *env = getenv("TERM");
30800 +    if (env != 0) {
30801 +       if (strstr(env, "linux"))
30802 +           return 1;           /* always broken */
30803 +       if (strstr(env, "screen") != 0
30804 +           && ((env = getenv("TERMCAP")) != 0
30805 +               && strstr(env, "screen") != 0)
30806 +           && strstr(env, "hhII00") != 0) {
30807 +           return 1;
30808 +       }
30809 +    }
30810 +    return 0;
30811 +}
30812  
30813  /*
30814   *     setupterm(termname, Filedes, errret)
30815 @@ -302,7 +378,6 @@
30816  NCURSES_EXPORT(int)
30817  setupterm(NCURSES_CONST char *tname, int Filedes, int *errret)
30818  {
30819 -    struct term *term_ptr;
30820      int status;
30821  
30822      START_TRACE();
30823 @@ -321,77 +396,89 @@
30824  
30825      T(("your terminal name is %s", tname));
30826  
30827 -    term_ptr = typeCalloc(TERMINAL, 1);
30828 +    /*
30829 +     * Allow output redirection.  This is what SVr3 does.  If stdout is
30830 +     * directed to a file, screen updates go to standard error.
30831 +     */
30832 +    if (Filedes == STDOUT_FILENO && !isatty(Filedes))
30833 +       Filedes = STDERR_FILENO;
30834  
30835 -    if (term_ptr == 0) {
30836 -       ret_error0(-1, "Not enough memory to create terminal structure.\n");
30837 -    }
30838 +    /*
30839 +     * Check if we have already initialized to use this terminal.  If so, we
30840 +     * do not need to re-read the terminfo entry, or obtain TTY settings.
30841 +     *
30842 +     * This is an improvement on SVr4 curses.  If an application mixes curses
30843 +     * and termcap calls, it may call both initscr and tgetent.  This is not
30844 +     * really a good thing to do, but can happen if someone tries using ncurses
30845 +     * with the readline library.  The problem we are fixing is that when
30846 +     * tgetent calls setupterm, the resulting Ottyb struct in cur_term is
30847 +     * zeroed.  A subsequent call to endwin uses the zeroed terminal settings
30848 +     * rather than the ones saved in initscr.  So we check if cur_term appears
30849 +     * to contain terminal settings for the same output file as our current
30850 +     * call - and copy those terminal settings.  (SVr4 curses does not do this,
30851 +     * however applications that are working around the problem will still work
30852 +     * properly with this feature).
30853 +     */
30854 +    if (cur_term != 0
30855 +       && cur_term->Filedes == Filedes
30856 +       && _nc_name_match(cur_term->type.term_names, tname, "|")) {
30857 +       T(("reusing existing terminal information and mode-settings"));
30858 +    } else {
30859 +       TERMINAL *term_ptr;
30860 +
30861 +       term_ptr = typeCalloc(TERMINAL, 1);
30862 +
30863 +       if (term_ptr == 0) {
30864 +           ret_error0(-1,
30865 +                      "Not enough memory to create terminal structure.\n");
30866 +       }
30867  #if USE_DATABASE || USE_TERMCAP
30868 -    status = grab_entry(tname, &term_ptr->type);
30869 +       status = grab_entry(tname, &term_ptr->type);
30870  #else
30871 -    status = 0;
30872 +       status = 0;
30873  #endif
30874  
30875 -    /* try fallback list if entry on disk */
30876 -    if (status != 1) {
30877 -       const TERMTYPE *fallback = _nc_fallback(tname);
30878 +       /* try fallback list if entry on disk */
30879 +       if (status != 1) {
30880 +           const TERMTYPE *fallback = _nc_fallback(tname);
30881  
30882 -       if (fallback) {
30883 -           term_ptr->type = *fallback;
30884 -           status = 1;
30885 +           if (fallback) {
30886 +               term_ptr->type = *fallback;
30887 +               status = 1;
30888 +           }
30889         }
30890 -    }
30891  
30892 -    if (status == -1) {
30893 -       ret_error0(-1, "terminals database is inaccessible\n");
30894 -    } else if (status == 0) {
30895 -       ret_error(0, "'%s': unknown terminal type.\n", tname);
30896 -    }
30897 +       if (status == -1) {
30898 +           ret_error0(-1, "terminals database is inaccessible\n");
30899 +       } else if (status == 0) {
30900 +           ret_error(0, "'%s': unknown terminal type.\n", tname);
30901 +       }
30902  
30903 -    /*
30904 -     * Improve on SVr4 curses.  If an application mixes curses and termcap
30905 -     * calls, it may call both initscr and tgetent.  This is not really a
30906 -     * good thing to do, but can happen if someone tries using ncurses with
30907 -     * the readline library.  The problem we are fixing is that when
30908 -     * tgetent calls setupterm, the resulting Ottyb struct in cur_term is
30909 -     * zeroed.  A subsequent call to endwin uses the zeroed terminal
30910 -     * settings rather than the ones saved in initscr.  So we check if
30911 -     * cur_term appears to contain terminal settings for the same output
30912 -     * file as our current call - and copy those terminal settings.  (SVr4
30913 -     * curses does not do this, however applications that are working
30914 -     * around the problem will still work properly with this feature).
30915 -     */
30916 -    if (cur_term != 0) {
30917 -       if (cur_term->Filedes == Filedes)
30918 -           term_ptr->Ottyb = cur_term->Ottyb;
30919 -    }
30920 +       set_curterm(term_ptr);
30921  
30922 -    set_curterm(term_ptr);
30923 +       if (command_character && getenv("CC"))
30924 +           do_prototype();
30925  
30926 -    if (command_character && getenv("CC"))
30927 -       do_prototype();
30928 +       strncpy(ttytype, cur_term->type.term_names, NAMESIZE - 1);
30929 +       ttytype[NAMESIZE - 1] = '\0';
30930  
30931 -    strncpy(ttytype, cur_term->type.term_names, NAMESIZE - 1);
30932 -    ttytype[NAMESIZE - 1] = '\0';
30933 +       cur_term->Filedes = Filedes;
30934  
30935 -    /*
30936 -     * Allow output redirection.  This is what SVr3 does.  If stdout is
30937 -     * directed to a file, screen updates go to standard error.
30938 -     */
30939 -    if (Filedes == STDOUT_FILENO && !isatty(Filedes))
30940 -       Filedes = STDERR_FILENO;
30941 -    cur_term->Filedes = Filedes;
30942 +       /*
30943 +        * If an application calls setupterm() rather than initscr() or
30944 +        * newterm(), we will not have the def_prog_mode() call in
30945 +        * _nc_setupscreen().  Do it now anyway, so we can initialize the
30946 +        * baudrate.
30947 +        */
30948 +       if (isatty(Filedes)) {
30949 +           def_prog_mode();
30950 +           baudrate();
30951 +       }
30952 +    }
30953  
30954      /*
30955 -     * If an application calls setupterm() rather than initscr() or newterm(),
30956 -     * we will not have the def_prog_mode() call in _nc_setupscreen().  Do it
30957 -     * now anyway, so we can initialize the baudrate.
30958 +     * We should always check the screensize, just in case.
30959       */
30960 -    if (isatty(Filedes)) {
30961 -       def_prog_mode();
30962 -       baudrate();
30963 -    }
30964 -
30965      _nc_get_screensize(&LINES, &COLS);
30966  
30967      if (errret)
30968 @@ -407,31 +494,3 @@
30969      }
30970      returnCode(OK);
30971  }
30972 -
30973 -/*
30974 -**     do_prototype()
30975 -**
30976 -**     Take the real command character out of the CC environment variable
30977 -**     and substitute it in for the prototype given in 'command_character'.
30978 -**
30979 -*/
30980 -
30981 -static void
30982 -do_prototype(void)
30983 -{
30984 -    int i;
30985 -    char CC;
30986 -    char proto;
30987 -    char *tmp;
30988 -
30989 -    tmp = getenv("CC");
30990 -    CC = *tmp;
30991 -    proto = *command_character;
30992 -
30993 -    for_each_string(i, &(cur_term->type)) {
30994 -       for (tmp = cur_term->type.Strings[i]; *tmp; tmp++) {
30995 -           if (*tmp == proto)
30996 -               *tmp = CC;
30997 -       }
30998 -    }
30999 -}
31000 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_termcap.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_termcap.c
31001 --- ncurses-5.3/ncurses/tinfo/lib_termcap.c     Sat May 25 07:24:13 2002
31002 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_termcap.c       Sun Jul 20 14:02:08 2003
31003 @@ -1,5 +1,5 @@
31004  /****************************************************************************
31005 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
31006 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
31007   *                                                                          *
31008   * Permission is hereby granted, free of charge, to any person obtaining a  *
31009   * copy of this software and associated documentation files (the            *
31010 @@ -43,7 +43,7 @@
31011  
31012  #include <term_entry.h>
31013  
31014 -MODULE_ID("$Id: lib_termcap.c,v 1.43 2002/05/25 12:24:13 tom Exp $")
31015 +MODULE_ID("$Id: lib_termcap.c,v 1.44 2003/05/24 21:10:28 tom Exp $")
31016  
31017  #define CSI       233
31018  #define ESC       033          /* ^[ */
31019 @@ -233,7 +233,7 @@
31020  NCURSES_EXPORT(int)
31021  tgetflag(NCURSES_CONST char *id)
31022  {
31023 -    int i;
31024 +    unsigned i;
31025  
31026      T((T_CALLED("tgetflag(%s)"), id));
31027      if (cur_term != 0) {
31028 @@ -261,7 +261,7 @@
31029  NCURSES_EXPORT(int)
31030  tgetnum(NCURSES_CONST char *id)
31031  {
31032 -    int i;
31033 +    unsigned i;
31034  
31035      T((T_CALLED("tgetnum(%s)"), id));
31036      if (cur_term != 0) {
31037 @@ -290,7 +290,7 @@
31038  NCURSES_EXPORT(char *)
31039  tgetstr(NCURSES_CONST char *id, char **area)
31040  {
31041 -    int i;
31042 +    unsigned i;
31043      char *result = NULL;
31044  
31045      T((T_CALLED("tgetstr(%s,%p)"), id, area));
31046 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_ti.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ti.c
31047 --- ncurses-5.3/ncurses/tinfo/lib_ti.c  Sat Dec  9 20:55:08 2000
31048 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ti.c    Sun Jul 20 14:02:08 2003
31049 @@ -1,5 +1,5 @@
31050  /****************************************************************************
31051 - * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
31052 + * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
31053   *                                                                          *
31054   * Permission is hereby granted, free of charge, to any person obtaining a  *
31055   * copy of this software and associated documentation files (the            *
31056 @@ -36,12 +36,12 @@
31057  #include <term_entry.h>
31058  #include <tic.h>
31059  
31060 -MODULE_ID("$Id: lib_ti.c,v 1.22 2000/12/10 02:55:08 tom Exp $")
31061 +MODULE_ID("$Id: lib_ti.c,v 1.23 2003/05/24 21:10:28 tom Exp $")
31062  
31063  NCURSES_EXPORT(int)
31064  tigetflag(NCURSES_CONST char *str)
31065  {
31066 -    int i;
31067 +    unsigned i;
31068  
31069      T((T_CALLED("tigetflag(%s)"), str));
31070  
31071 @@ -62,7 +62,7 @@
31072  NCURSES_EXPORT(int)
31073  tigetnum(NCURSES_CONST char *str)
31074  {
31075 -    int i;
31076 +    unsigned i;
31077  
31078      T((T_CALLED("tigetnum(%s)"), str));
31079  
31080 @@ -84,7 +84,7 @@
31081  NCURSES_EXPORT(char *)
31082  tigetstr(NCURSES_CONST char *str)
31083  {
31084 -    int i;
31085 +    unsigned i;
31086  
31087      T((T_CALLED("tigetstr(%s)"), str));
31088  
31089 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_tparm.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tparm.c
31090 --- ncurses-5.3/ncurses/tinfo/lib_tparm.c       Sat Oct  5 14:33:24 2002
31091 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tparm.c Sun Jul 20 14:02:08 2003
31092 @@ -1,5 +1,5 @@
31093  /****************************************************************************
31094 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
31095 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
31096   *                                                                          *
31097   * Permission is hereby granted, free of charge, to any person obtaining a  *
31098   * copy of this software and associated documentation files (the            *
31099 @@ -43,7 +43,7 @@
31100  #include <term.h>
31101  #include <tic.h>
31102  
31103 -MODULE_ID("$Id: lib_tparm.c,v 1.62 2002/10/05 19:33:24 Frank.Henigman Exp $")
31104 +MODULE_ID("$Id: lib_tparm.c,v 1.67 2003/05/24 20:18:50 tom Exp $")
31105  
31106  /*
31107   *     char *
31108 @@ -129,6 +129,9 @@
31109  static size_t out_size;
31110  static size_t out_used;
31111  
31112 +static char *fmt_buff;
31113 +static size_t fmt_size;
31114 +
31115  #if NO_LEAKS
31116  NCURSES_EXPORT(void)
31117  _nc_free_tparm(void)
31118 @@ -137,6 +140,8 @@
31119         FreeAndNull(out_buff);
31120         out_size = 0;
31121         out_used = 0;
31122 +       FreeAndNull(fmt_buff);
31123 +       fmt_size = 0;
31124      }
31125  }
31126  #endif
31127 @@ -247,153 +252,136 @@
31128  static inline const char *
31129  parse_format(const char *s, char *format, int *len)
31130  {
31131 -    bool done = FALSE;
31132 -    bool allowminus = FALSE;
31133 -    bool dot = FALSE;
31134 -    bool err = FALSE;
31135 -    char *fmt = format;
31136 -    int my_width = 0;
31137 -    int my_prec = 0;
31138 -    int value = 0;
31139 -
31140      *len = 0;
31141 -    *format++ = '%';
31142 -    while (*s != '\0' && !done) {
31143 -       switch (*s) {
31144 -       case 'c':               /* FALLTHRU */
31145 -       case 'd':               /* FALLTHRU */
31146 -       case 'o':               /* FALLTHRU */
31147 -       case 'x':               /* FALLTHRU */
31148 -       case 'X':               /* FALLTHRU */
31149 -       case 's':
31150 -           *format++ = *s;
31151 -           done = TRUE;
31152 -           break;
31153 -       case '.':
31154 -           *format++ = *s++;
31155 -           if (dot) {
31156 -               err = TRUE;
31157 -           } else {            /* value before '.' is the width */
31158 -               dot = TRUE;
31159 -               my_width = value;
31160 -           }
31161 -           value = 0;
31162 -           break;
31163 -       case '#':
31164 -           *format++ = *s++;
31165 -           break;
31166 -       case ' ':
31167 -           *format++ = *s++;
31168 -           break;
31169 -       case ':':
31170 -           s++;
31171 -           allowminus = TRUE;
31172 -           break;
31173 -       case '-':
31174 -           if (allowminus) {
31175 -               *format++ = *s++;
31176 -           } else {
31177 +    if (format != 0) {
31178 +       bool done = FALSE;
31179 +       bool allowminus = FALSE;
31180 +       bool dot = FALSE;
31181 +       bool err = FALSE;
31182 +       char *fmt = format;
31183 +       int my_width = 0;
31184 +       int my_prec = 0;
31185 +       int value = 0;
31186 +
31187 +       *len = 0;
31188 +       *format++ = '%';
31189 +       while (*s != '\0' && !done) {
31190 +           switch (*s) {
31191 +           case 'c':           /* FALLTHRU */
31192 +           case 'd':           /* FALLTHRU */
31193 +           case 'o':           /* FALLTHRU */
31194 +           case 'x':           /* FALLTHRU */
31195 +           case 'X':           /* FALLTHRU */
31196 +           case 's':
31197 +               *format++ = *s;
31198                 done = TRUE;
31199 -           }
31200 -           break;
31201 -       default:
31202 -           if (isdigit(UChar(*s))) {
31203 -               value = (value * 10) + (*s - '0');
31204 -               if (value > 10000)
31205 +               break;
31206 +           case '.':
31207 +               *format++ = *s++;
31208 +               if (dot) {
31209                     err = TRUE;
31210 +               } else {        /* value before '.' is the width */
31211 +                   dot = TRUE;
31212 +                   my_width = value;
31213 +               }
31214 +               value = 0;
31215 +               break;
31216 +           case '#':
31217                 *format++ = *s++;
31218 -           } else {
31219 -               done = TRUE;
31220 +               break;
31221 +           case ' ':
31222 +               *format++ = *s++;
31223 +               break;
31224 +           case ':':
31225 +               s++;
31226 +               allowminus = TRUE;
31227 +               break;
31228 +           case '-':
31229 +               if (allowminus) {
31230 +                   *format++ = *s++;
31231 +               } else {
31232 +                   done = TRUE;
31233 +               }
31234 +               break;
31235 +           default:
31236 +               if (isdigit(UChar(*s))) {
31237 +                   value = (value * 10) + (*s - '0');
31238 +                   if (value > 10000)
31239 +                       err = TRUE;
31240 +                   *format++ = *s++;
31241 +               } else {
31242 +                   done = TRUE;
31243 +               }
31244             }
31245         }
31246 -    }
31247  
31248 -    /*
31249 -     * If we found an error, ignore (and remove) the flags.
31250 -     */
31251 -    if (err) {
31252 -       my_width = my_prec = value = 0;
31253 -       format = fmt;
31254 -       *format++ = '%';
31255 -       *format++ = *s;
31256 -    }
31257 +       /*
31258 +        * If we found an error, ignore (and remove) the flags.
31259 +        */
31260 +       if (err) {
31261 +           my_width = my_prec = value = 0;
31262 +           format = fmt;
31263 +           *format++ = '%';
31264 +           *format++ = *s;
31265 +       }
31266  
31267 -    /*
31268 -     * Any value after '.' is the precision.  If we did not see '.', then
31269 -     * the value is the width.
31270 -     */
31271 -    if (dot)
31272 -       my_prec = value;
31273 -    else
31274 -       my_width = value;
31275 +       /*
31276 +        * Any value after '.' is the precision.  If we did not see '.', then
31277 +        * the value is the width.
31278 +        */
31279 +       if (dot)
31280 +           my_prec = value;
31281 +       else
31282 +           my_width = value;
31283  
31284 -    *format = '\0';
31285 -    /* return maximum string length in print */
31286 -    *len = (my_width > my_prec) ? my_width : my_prec;
31287 +       *format = '\0';
31288 +       /* return maximum string length in print */
31289 +       *len = (my_width > my_prec) ? my_width : my_prec;
31290 +    }
31291      return s;
31292  }
31293  
31294  #define isUPPER(c) ((c) >= 'A' && (c) <= 'Z')
31295  #define isLOWER(c) ((c) >= 'a' && (c) <= 'z')
31296  
31297 -static inline char *
31298 -tparam_internal(const char *string, va_list ap)
31299 +/*
31300 + * Analyze the string to see how many parameters we need from the varargs list,
31301 + * and what their types are.  We will only accept string parameters if they
31302 + * appear as a %l or %s format following an explicit parameter reference (e.g.,
31303 + * %p2%s).  All other parameters are numbers.
31304 + *
31305 + * 'number' counts coarsely the number of pop's we see in the string, and
31306 + * 'popcount' shows the highest parameter number in the string.  We would like
31307 + * to simply use the latter count, but if we are reading termcap strings, there
31308 + * may be cases that we cannot see the explicit parameter numbers.
31309 + */
31310 +NCURSES_EXPORT(int)
31311 +_nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount)
31312  {
31313 -#define NUM_VARS 26
31314 -    char *p_is_s[9];
31315 -    long param[9];
31316 -    int lastpop;
31317 -    int popcount;
31318 -    int number;
31319 -    int len;
31320 -    int level;
31321 -    int x, y;
31322 -    int i;
31323      size_t len2;
31324 -    register const char *cp;
31325 -    static size_t len_fmt;
31326 +    int i;
31327 +    int lastpop = -1;
31328 +    int len;
31329 +    int number = 0;
31330 +    const char *cp = string;
31331      static char dummy[] = "";
31332 -    static char *format;
31333 -    static int dynamic_var[NUM_VARS];
31334 -    static int static_vars[NUM_VARS];
31335  
31336 -    out_used = 0;
31337 -    if (string == NULL)
31338 -       return NULL;
31339 +    if (cp == 0)
31340 +       return 0;
31341  
31342 -    if ((len2 = strlen(string)) > len_fmt) {
31343 -       len_fmt = len2 + len_fmt + 2;
31344 -       if ((format = typeRealloc(char, len_fmt, format)) == 0)
31345 +    if ((len2 = strlen(cp)) > fmt_size) {
31346 +       fmt_size = len2 + fmt_size + 2;
31347 +       if ((fmt_buff = typeRealloc(char, fmt_size, fmt_buff)) == 0)
31348               return 0;
31349      }
31350  
31351 -    /*
31352 -     * Find the highest parameter-number referred to in the format string.
31353 -     * Use this value to limit the number of arguments copied from the
31354 -     * variable-length argument list.
31355 -     */
31356 -
31357 -    number = 0;
31358 -    lastpop = -1;
31359 -    popcount = 0;
31360 -    memset(p_is_s, 0, sizeof(p_is_s));
31361 +    memset(p_is_s, 0, sizeof(p_is_s[0]) * NUM_PARM);
31362 +    *popcount = 0;
31363  
31364 -    /*
31365 -     * Analyze the string to see how many parameters we need from the varargs
31366 -     * list, and what their types are.  We will only accept string parameters
31367 -     * if they appear as a %l or %s format following an explicit parameter
31368 -     * reference (e.g., %p2%s).  All other parameters are numbers.
31369 -     *
31370 -     * 'number' counts coarsely the number of pop's we see in the string, and
31371 -     * 'popcount' shows the highest parameter number in the string.  We would
31372 -     * like to simply use the latter count, but if we are reading termcap
31373 -     * strings, there may be cases that we cannot see the explicit parameter
31374 -     * numbers.
31375 -     */
31376 -    for (cp = string; (cp - string) < (int) len2;) {
31377 +    while ((cp - string) < (int) len2) {
31378         if (*cp == '%') {
31379             cp++;
31380 -           cp = parse_format(cp, format, &len);
31381 +           cp = parse_format(cp, fmt_buff, &len);
31382             switch (*cp) {
31383             default:
31384                 break;
31385 @@ -416,11 +404,11 @@
31386  
31387             case 'p':
31388                 cp++;
31389 -               i = (*cp - '0');
31390 -               if (i >= 0 && i <= 9) {
31391 +               i = (UChar(*cp) - '0');
31392 +               if (i >= 0 && i <= NUM_PARM) {
31393                     lastpop = i;
31394 -                   if (lastpop > popcount)
31395 -                       popcount = lastpop;
31396 +                   if (lastpop > *popcount)
31397 +                       *popcount = lastpop;
31398                 }
31399                 break;
31400  
31401 @@ -440,7 +428,7 @@
31402  
31403             case L_BRACE:
31404                 cp++;
31405 -               while (*cp >= '0' && *cp <= '9') {
31406 +               while (isdigit(UChar(*cp))) {
31407                     cp++;
31408                 }
31409                 break;
31410 @@ -470,8 +458,8 @@
31411  
31412             case 'i':
31413                 lastpop = -1;
31414 -               if (popcount < 2)
31415 -                   popcount = 2;
31416 +               if (*popcount < 2)
31417 +                   *popcount = 2;
31418                 break;
31419             }
31420         }
31421 @@ -479,8 +467,43 @@
31422             cp++;
31423      }
31424  
31425 -    if (number > 9)
31426 -       number = 9;
31427 +    if (number > NUM_PARM)
31428 +       number = NUM_PARM;
31429 +    return number;
31430 +}
31431 +
31432 +static inline char *
31433 +tparam_internal(const char *string, va_list ap)
31434 +{
31435 +#define NUM_VARS 26
31436 +    char *p_is_s[NUM_PARM];
31437 +    long param[NUM_PARM];
31438 +    int popcount;
31439 +    int number;
31440 +    int len;
31441 +    int level;
31442 +    int x, y;
31443 +    int i;
31444 +    const char *cp = string;
31445 +    size_t len2;
31446 +    static int dynamic_var[NUM_VARS];
31447 +    static int static_vars[NUM_VARS];
31448 +
31449 +    if (cp == NULL)
31450 +       return NULL;
31451 +
31452 +    out_used = 0;
31453 +    len2 = strlen(cp);
31454 +
31455 +    /*
31456 +     * Find the highest parameter-number referred to in the format string.
31457 +     * Use this value to limit the number of arguments copied from the
31458 +     * variable-length argument list.
31459 +     */
31460 +    number = _nc_tparm_analyze(cp, p_is_s, &popcount);
31461 +    if (fmt_buff == 0)
31462 +       return NULL;
31463 +
31464      for (i = 0; i < max(popcount, number); i++) {
31465         /*
31466          * A few caps (such as plab_norm) have string-valued parms.
31467 @@ -517,18 +540,18 @@
31468             else
31469                 save_number(", %d", param[i], 0);
31470         }
31471 -       _tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(string), out_buff);
31472 +       _tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(cp), out_buff);
31473         out_used = 0;
31474      }
31475  #endif /* TRACE */
31476  
31477 -    while (*string) {
31478 -       if (*string != '%') {
31479 -           save_char(*string);
31480 +    while ((cp - string) < (int) len2) {
31481 +       if (*cp != '%') {
31482 +           save_char(UChar(*cp));
31483         } else {
31484 -           tparam_base = string++;
31485 -           string = parse_format(string, format, &len);
31486 -           switch (*string) {
31487 +           tparam_base = cp++;
31488 +           cp = parse_format(cp, fmt_buff, &len);
31489 +           switch (*cp) {
31490             default:
31491                 break;
31492             case '%':
31493 @@ -539,7 +562,7 @@
31494             case 'o':           /* FALLTHRU */
31495             case 'x':           /* FALLTHRU */
31496             case 'X':           /* FALLTHRU */
31497 -               save_number(format, npop(), len);
31498 +               save_number(fmt_buff, npop(), len);
31499                 break;
31500  
31501             case 'c':           /* FALLTHRU */
31502 @@ -551,13 +574,13 @@
31503                 break;
31504  
31505             case 's':
31506 -               save_text(format, spop(), len);
31507 +               save_text(fmt_buff, spop(), len);
31508                 break;
31509  
31510             case 'p':
31511 -               string++;
31512 -               i = (*string - '1');
31513 -               if (i >= 0 && i < 9) {
31514 +               cp++;
31515 +               i = (UChar(*cp) - '1');
31516 +               if (i >= 0 && i < NUM_PARM) {
31517                     if (p_is_s[i])
31518                         spush(p_is_s[i]);
31519                     else
31520 @@ -566,39 +589,39 @@
31521                 break;
31522  
31523             case 'P':
31524 -               string++;
31525 -               if (isUPPER(*string)) {
31526 -                   i = (*string - 'A');
31527 +               cp++;
31528 +               if (isUPPER(*cp)) {
31529 +                   i = (UChar(*cp) - 'A');
31530                     static_vars[i] = npop();
31531 -               } else if (isLOWER(*string)) {
31532 -                   i = (*string - 'a');
31533 +               } else if (isLOWER(*cp)) {
31534 +                   i = (UChar(*cp) - 'a');
31535                     dynamic_var[i] = npop();
31536                 }
31537                 break;
31538  
31539             case 'g':
31540 -               string++;
31541 -               if (isUPPER(*string)) {
31542 -                   i = (*string - 'A');
31543 +               cp++;
31544 +               if (isUPPER(*cp)) {
31545 +                   i = (UChar(*cp) - 'A');
31546                     npush(static_vars[i]);
31547 -               } else if (isLOWER(*string)) {
31548 -                   i = (*string - 'a');
31549 +               } else if (isLOWER(*cp)) {
31550 +                   i = (UChar(*cp) - 'a');
31551                     npush(dynamic_var[i]);
31552                 }
31553                 break;
31554  
31555             case S_QUOTE:
31556 -               string++;
31557 -               npush(*string);
31558 -               string++;
31559 +               cp++;
31560 +               npush(UChar(*cp));
31561 +               cp++;
31562                 break;
31563  
31564             case L_BRACE:
31565                 number = 0;
31566 -               string++;
31567 -               while (*string >= '0' && *string <= '9') {
31568 -                   number = number * 10 + *string - '0';
31569 -                   string++;
31570 +               cp++;
31571 +               while (isdigit(UChar(*cp))) {
31572 +                   number = (number * 10) + (UChar(*cp) - '0');
31573 +                   cp++;
31574                 }
31575                 npush(number);
31576                 break;
31577 @@ -689,38 +712,38 @@
31578                 x = npop();
31579                 if (!x) {
31580                     /* scan forward for %e or %; at level zero */
31581 -                   string++;
31582 +                   cp++;
31583                     level = 0;
31584 -                   while (*string) {
31585 -                       if (*string == '%') {
31586 -                           string++;
31587 -                           if (*string == '?')
31588 +                   while (*cp) {
31589 +                       if (*cp == '%') {
31590 +                           cp++;
31591 +                           if (*cp == '?')
31592                                 level++;
31593 -                           else if (*string == ';') {
31594 +                           else if (*cp == ';') {
31595                                 if (level > 0)
31596                                     level--;
31597                                 else
31598                                     break;
31599 -                           } else if (*string == 'e' && level == 0)
31600 +                           } else if (*cp == 'e' && level == 0)
31601                                 break;
31602                         }
31603  
31604 -                       if (*string)
31605 -                           string++;
31606 +                       if (*cp)
31607 +                           cp++;
31608                     }
31609                 }
31610                 break;
31611  
31612             case 'e':
31613                 /* scan forward for a %; at level zero */
31614 -               string++;
31615 +               cp++;
31616                 level = 0;
31617 -               while (*string) {
31618 -                   if (*string == '%') {
31619 -                       string++;
31620 -                       if (*string == '?')
31621 +               while (*cp) {
31622 +                   if (*cp == '%') {
31623 +                       cp++;
31624 +                       if (*cp == '?')
31625                             level++;
31626 -                       else if (*string == ';') {
31627 +                       else if (*cp == ';') {
31628                             if (level > 0)
31629                                 level--;
31630                             else
31631 @@ -728,22 +751,22 @@
31632                         }
31633                     }
31634  
31635 -                   if (*string)
31636 -                       string++;
31637 +                   if (*cp)
31638 +                       cp++;
31639                 }
31640                 break;
31641  
31642             case ';':
31643                 break;
31644  
31645 -           }                   /* endswitch (*string) */
31646 -       }                       /* endelse (*string == '%') */
31647 +           }                   /* endswitch (*cp) */
31648 +       }                       /* endelse (*cp == '%') */
31649  
31650 -       if (*string == '\0')
31651 +       if (*cp == '\0')
31652             break;
31653  
31654 -       string++;
31655 -    }                          /* endwhile (*string) */
31656 +       cp++;
31657 +    }                          /* endwhile (*cp) */
31658  
31659      get_space(1);
31660      out_buff[out_used] = '\0';
31661 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_tputs.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tputs.c
31662 --- ncurses-5.3/ncurses/tinfo/lib_tputs.c       Sat Aug 17 18:44:08 2002
31663 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tputs.c Fri Sep 12 16:42:24 2003
31664 @@ -1,5 +1,5 @@
31665  /****************************************************************************
31666 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
31667 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
31668   *                                                                          *
31669   * Permission is hereby granted, free of charge, to any person obtaining a  *
31670   * copy of this software and associated documentation files (the            *
31671 @@ -45,7 +45,7 @@
31672  #include <termcap.h>           /* ospeed */
31673  #include <tic.h>
31674  
31675 -MODULE_ID("$Id: lib_tputs.c,v 1.60 2002/08/17 23:44:08 tom Exp $")
31676 +MODULE_ID("$Id: lib_tputs.c,v 1.62 2003/08/23 21:39:20 tom Exp $")
31677  
31678  NCURSES_EXPORT_VAR(char) PC = 0;               /* used by termcap library */
31679  NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */
31680 @@ -65,7 +65,7 @@
31681      } else {
31682         register int nullcount;
31683  
31684 -       nullcount = (ms * _nc_baudrate(ospeed)) / 10000;
31685 +       nullcount = (ms * _nc_baudrate(ospeed)) / (BAUDBYTE * 1000);
31686         for (_nc_nulls_sent += nullcount; nullcount > 0; nullcount--)
31687             my_outch(PC);
31688         if (my_outch == _nc_outch)
31689 @@ -84,9 +84,7 @@
31690  NCURSES_EXPORT(int)
31691  _nc_outch(int ch)
31692  {
31693 -#ifdef TRACE
31694 -    _nc_outchars++;
31695 -#endif /* TRACE */
31696 +    TRACE_OUTCHARS(1);
31697  
31698      if (SP != 0
31699         && SP->_cleanup) {
31700 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_ttyflags.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ttyflags.c
31701 --- ncurses-5.3/ncurses/tinfo/lib_ttyflags.c    Sat Oct 12 16:28:16 2002
31702 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ttyflags.c      Sun Jul 20 14:02:08 2003
31703 @@ -1,5 +1,5 @@
31704  /****************************************************************************
31705 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
31706 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
31707   *                                                                          *
31708   * Permission is hereby granted, free of charge, to any person obtaining a  *
31709   * copy of this software and associated documentation files (the            *
31710 @@ -38,7 +38,7 @@
31711  #include <curses.priv.h>
31712  #include <term.h>              /* cur_term */
31713  
31714 -MODULE_ID("$Id: lib_ttyflags.c,v 1.9 2002/10/12 21:28:16 tom Exp $")
31715 +MODULE_ID("$Id: lib_ttyflags.c,v 1.11 2003/05/17 23:50:37 tom Exp $")
31716  
31717  #undef tabs
31718  
31719 @@ -60,8 +60,10 @@
31720  _nc_get_tty_mode(TTY * buf)
31721  {
31722      if (cur_term == 0
31723 -       || GET_TTY(cur_term->Filedes, buf) != 0)
31724 +       || GET_TTY(cur_term->Filedes, buf) != 0) {
31725 +       memset(buf, 0, sizeof(*buf));
31726         return (ERR);
31727 +    }
31728      TR(TRACE_BITS, ("_nc_get_tty_mode(%d): %s",
31729                     cur_term->Filedes, _nc_trace_ttymode(buf)));
31730      return (OK);
31731 @@ -71,8 +73,11 @@
31732  _nc_set_tty_mode(TTY * buf)
31733  {
31734      if (cur_term == 0
31735 -       || SET_TTY(cur_term->Filedes, buf) != 0)
31736 +       || SET_TTY(cur_term->Filedes, buf) != 0) {
31737 +       if ((errno == ENOTTY) && (SP != 0))
31738 +           SP->_notty = TRUE;
31739         return (ERR);
31740 +    }
31741      TR(TRACE_BITS, ("_nc_set_tty_mode(%d): %s",
31742                     cur_term->Filedes, _nc_trace_ttymode(buf)));
31743      return (OK);
31744 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/parse_entry.c ncurses-5.3.20030906.orig/ncurses/tinfo/parse_entry.c
31745 --- ncurses-5.3/ncurses/tinfo/parse_entry.c     Sat Aug 31 12:02:02 2002
31746 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/parse_entry.c       Sun Jul 20 14:02:08 2003
31747 @@ -1,5 +1,5 @@
31748  /****************************************************************************
31749 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
31750 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
31751   *                                                                          *
31752   * Permission is hereby granted, free of charge, to any person obtaining a  *
31753   * copy of this software and associated documentation files (the            *
31754 @@ -47,7 +47,7 @@
31755  #include <tic.h>
31756  #include <term_entry.h>
31757  
31758 -MODULE_ID("$Id: parse_entry.c,v 1.57 2002/08/31 17:02:02 tom Exp $")
31759 +MODULE_ID("$Id: parse_entry.c,v 1.58 2003/05/24 22:51:38 tom Exp $")
31760  
31761  #ifdef LINT
31762  static short const parametrized[] =
31763 @@ -196,8 +196,7 @@
31764   */
31765  
31766  NCURSES_EXPORT(int)
31767 -_nc_parse_entry
31768 -(struct entry *entryp, int literal, bool silent)
31769 +_nc_parse_entry(struct entry *entryp, int literal, bool silent)
31770  {
31771      int token_type;
31772      struct name_table_entry const *entry_ptr;
31773 @@ -217,11 +216,21 @@
31774      entryp->startline = _nc_start_line;
31775      DEBUG(2, ("Comment range is %ld to %ld", entryp->cstart, entryp->cend));
31776  
31777 -    /* junk the 2-character termcap name, if present */
31778 +    /*
31779 +     * Strip off the 2-character termcap name, if present.  Originally termcap
31780 +     * used that as an indexing aid.  We can retain 2-character terminfo names,
31781 +     * but note that they would be lost if we translate to/from termcap.  This
31782 +     * feature is supposedly obsolete since "newer" BSD implementations do not
31783 +     * use it; however our reference for this feature is SunOS 4.x, which
31784 +     * implemented it.  Note that the resulting terminal type was never the
31785 +     * 2-character name, but was instead the first alias after that.
31786 +     */
31787      ptr = _nc_curr_token.tk_name;
31788 -    if (ptr[2] == '|') {
31789 -       ptr = _nc_curr_token.tk_name + 3;
31790 -       _nc_curr_token.tk_name[2] = '\0';
31791 +    if (_nc_syntax == SYN_TERMCAP) {
31792 +       if (ptr[2] == '|') {
31793 +           ptr += 3;
31794 +           _nc_curr_token.tk_name[2] = '\0';
31795 +       }
31796      }
31797  
31798      entryp->tterm.str_table = entryp->tterm.term_names = _nc_save_str(ptr);
31799 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/read_entry.c ncurses-5.3.20030906.orig/ncurses/tinfo/read_entry.c
31800 --- ncurses-5.3/ncurses/tinfo/read_entry.c      Sat Dec  9 20:55:08 2000
31801 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/read_entry.c        Sun Jul 20 14:02:09 2003
31802 @@ -1,5 +1,5 @@
31803  /****************************************************************************
31804 - * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
31805 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
31806   *                                                                          *
31807   * Permission is hereby granted, free of charge, to any person obtaining a  *
31808   * copy of this software and associated documentation files (the            *
31809 @@ -29,6 +29,7 @@
31810  /****************************************************************************
31811   *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
31812   *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
31813 + *     and: Thomas E. Dickey                                                *
31814   ****************************************************************************/
31815  
31816  /*
31817 @@ -41,10 +42,10 @@
31818  #include <tic.h>
31819  #include <term_entry.h>
31820  
31821 -MODULE_ID("$Id: read_entry.c,v 1.72 2000/12/10 02:55:08 tom Exp $")
31822 +MODULE_ID("$Id: read_entry.c,v 1.76 2003/07/05 19:31:51 tom Exp $")
31823  
31824  #if !HAVE_TELL
31825 -#define tell(fd) 0             /* lseek() is POSIX, but not tell() - odd... */
31826 +#define tell(fd) lseek(fd, 0, SEEK_CUR)                /* lseek() is POSIX, but not tell() */
31827  #endif
31828  
31829  /*
31830 @@ -156,9 +157,10 @@
31831  {
31832      int name_size, bool_count, num_count, str_count, str_size;
31833      int i;
31834 -    char buf[MAX_ENTRY_SIZE];
31835 +    char buf[MAX_ENTRY_SIZE + 1];
31836 +    unsigned want, have;
31837  
31838 -    TR(TRACE_DATABASE, ("READ termtype header @%d", tell(fd)));
31839 +    TR(TRACE_DATABASE, ("READ termtype header @%ld", (long) tell(fd)));
31840  
31841      memset(ptr, 0, sizeof(*ptr));
31842  
31843 @@ -197,16 +199,19 @@
31844         str_count = 0;
31845      }
31846  
31847 -    /* grab the name (a null-terminate string) */
31848 -    read(fd, buf, min(MAX_NAME_SIZE, (unsigned) name_size));
31849 -    buf[MAX_NAME_SIZE] = '\0';
31850 +    /* grab the name (a null-terminated string) */
31851 +    want = min(MAX_NAME_SIZE, (unsigned) name_size);
31852 +    if ((have = read(fd, buf, want)) != want) {
31853 +       memset(buf + have, 0, want - have);
31854 +    }
31855 +    buf[want] = '\0';
31856      ptr->term_names = typeCalloc(char, strlen(buf) + 1);
31857      if (ptr->term_names == NULL) {
31858         return (0);
31859      }
31860      (void) strcpy(ptr->term_names, buf);
31861 -    if (name_size > MAX_NAME_SIZE)
31862 -       lseek(fd, (off_t) (name_size - MAX_NAME_SIZE), 1);
31863 +    if (have > MAX_NAME_SIZE)
31864 +       lseek(fd, (off_t) (have - MAX_NAME_SIZE), 1);
31865  
31866      /* grab the booleans */
31867      if ((ptr->Booleans = typeCalloc(char, max(BOOLCOUNT, bool_count))) == 0
31868 @@ -252,7 +257,7 @@
31869       * Read extended entries, if any, after the normal end of terminfo data.
31870       */
31871      even_boundary(str_size);
31872 -    TR(TRACE_DATABASE, ("READ extended_header @%d", tell(fd)));
31873 +    TR(TRACE_DATABASE, ("READ extended_header @%ld", (long) tell(fd)));
31874      if (_nc_user_definable && read_shorts(fd, buf, 5)) {
31875         int ext_bool_count = LOW_MSB(buf + 0);
31876         int ext_num_count = LOW_MSB(buf + 2);
31877 @@ -284,8 +289,8 @@
31878                             ext_bool_count, ext_num_count, ext_str_count,
31879                             ext_str_size, ext_str_limit));
31880  
31881 -       TR(TRACE_DATABASE, ("READ %d extended-booleans @%d",
31882 -                           ext_bool_count, tell(fd)));
31883 +       TR(TRACE_DATABASE, ("READ %d extended-booleans @%ld",
31884 +                           ext_bool_count, (long) tell(fd)));
31885         if ((ptr->ext_Booleans = ext_bool_count) != 0) {
31886             if (read(fd, ptr->Booleans + BOOLCOUNT, (unsigned)
31887                      ext_bool_count) != ext_bool_count)
31888 @@ -293,8 +298,8 @@
31889         }
31890         even_boundary(ext_bool_count);
31891  
31892 -       TR(TRACE_DATABASE, ("READ %d extended-numbers @%d",
31893 -                           ext_num_count, tell(fd)));
31894 +       TR(TRACE_DATABASE, ("READ %d extended-numbers @%ld",
31895 +                           ext_num_count, (long) tell(fd)));
31896         if ((ptr->ext_Numbers = ext_num_count) != 0) {
31897             if (!read_shorts(fd, buf, ext_num_count))
31898                 return (0);
31899 @@ -302,13 +307,13 @@
31900             convert_shorts(buf, ptr->Numbers + NUMCOUNT, ext_num_count);
31901         }
31902  
31903 -       TR(TRACE_DATABASE, ("READ extended-offsets @%d", tell(fd)));
31904 +       TR(TRACE_DATABASE, ("READ extended-offsets @%ld", (long) tell(fd)));
31905         if ((ext_str_count || need)
31906             && !read_shorts(fd, buf, ext_str_count + need))
31907             return (0);
31908  
31909 -       TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%d",
31910 -                           ext_str_limit, tell(fd)));
31911 +       TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%ld",
31912 +                           ext_str_limit, (long) tell(fd)));
31913  
31914         if (ext_str_limit) {
31915             if ((ptr->ext_str_table = typeMalloc(char, ext_str_limit)) == 0)
31916 @@ -374,8 +379,7 @@
31917  }
31918  
31919  NCURSES_EXPORT(int)
31920 -_nc_read_file_entry
31921 -(const char *const filename, TERMTYPE * ptr)
31922 +_nc_read_file_entry(const char *const filename, TERMTYPE * ptr)
31923  /* return 1 if read, 0 if not found or garbled */
31924  {
31925      int code, fd = -1;
31926 @@ -458,13 +462,20 @@
31927   */
31928  
31929  NCURSES_EXPORT(int)
31930 -_nc_read_entry
31931 -(const char *const tn, char *const filename, TERMTYPE * const tp)
31932 +_nc_read_entry(const char *const tn, char *const filename, TERMTYPE * const tp)
31933  {
31934      char *envp;
31935      char ttn[MAX_ALIAS + 3];
31936  
31937 -    /* truncate the terminal name to prevent dangerous buffer airline */
31938 +    if (strlen(tn) == 0
31939 +       || strcmp(tn, ".") == 0
31940 +       || strcmp(tn, "..") == 0
31941 +       || _nc_pathlast(tn) != 0) {
31942 +       T(("illegal or missing entry name '%s'", tn));
31943 +       return 0;
31944 +    }
31945 +
31946 +    /* truncate the terminal name to prevent buffer overflow */
31947      (void) sprintf(ttn, "%c/%.*s", *tn, MAX_ALIAS, tn);
31948  
31949      /* This is System V behavior, in conjunction with our requirements for
31950 @@ -482,7 +493,7 @@
31951         /* this is an ncurses extension */
31952         if ((envp = _nc_home_terminfo()) != 0) {
31953             if (_nc_read_tic_entry(filename, envp, ttn, tp) == 1) {
31954 -               return (1);
31955 +               return 1;
31956             }
31957         }
31958  
31959 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/read_termcap.c ncurses-5.3.20030906.orig/ncurses/tinfo/read_termcap.c
31960 --- ncurses-5.3/ncurses/tinfo/read_termcap.c    Sat Oct 27 20:11:34 2001
31961 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/read_termcap.c      Sun Jul 20 14:02:09 2003
31962 @@ -1,5 +1,5 @@
31963  /****************************************************************************
31964 - * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.         *
31965 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
31966   *                                                                          *
31967   * Permission is hereby granted, free of charge, to any person obtaining a  *
31968   * copy of this software and associated documentation files (the            *
31969 @@ -57,7 +57,7 @@
31970  #include <tic.h>
31971  #include <term_entry.h>
31972  
31973 -MODULE_ID("$Id: read_termcap.c,v 1.58 2001/10/28 01:11:34 tom Exp $")
31974 +MODULE_ID("$Id: read_termcap.c,v 1.60 2003/07/05 19:31:16 tom Exp $")
31975  
31976  #if !PURE_TERMINFO
31977  
31978 @@ -945,6 +945,15 @@
31979      static int lineno;
31980  
31981      T(("read termcap entry for %s", tn));
31982 +
31983 +    if (strlen(tn) == 0
31984 +       || strcmp(tn, ".") == 0
31985 +       || strcmp(tn, "..") == 0
31986 +       || _nc_pathlast(tn) != 0) {
31987 +       T(("illegal or missing entry name '%s'", tn));
31988 +       return 0;
31989 +    }
31990 +
31991      if (use_terminfo_vars() && (p = getenv("TERMCAP")) != 0
31992         && !is_pathname(p) && _nc_name_match(p, tn, "|:")) {
31993         /* TERMCAP holds a termcap entry */
31994 diff -urNd -urNd ncurses-5.3/ncurses/tinfo/strings.c ncurses-5.3.20030906.orig/ncurses/tinfo/strings.c
31995 --- ncurses-5.3/ncurses/tinfo/strings.c Sat Dec  9 20:55:08 2000
31996 +++ ncurses-5.3.20030906.orig/ncurses/tinfo/strings.c   Fri Sep 12 16:42:10 2003
31997 @@ -1,5 +1,5 @@
31998  /****************************************************************************
31999 - * Copyright (c) 2000 Free Software Foundation, Inc.                        *
32000 + * Copyright (c) 2000,2003 Free Software Foundation, Inc.                   *
32001   *                                                                          *
32002   * Permission is hereby granted, free of charge, to any person obtaining a  *
32003   * copy of this software and associated documentation files (the            *
32004 @@ -36,7 +36,7 @@
32005  
32006  #include <curses.priv.h>
32007  
32008 -MODULE_ID("$Id: strings.c,v 1.3 2000/12/10 02:55:08 tom Exp $")
32009 +MODULE_ID("$Id: strings.c,v 1.5 2003/08/16 23:46:00 tom Exp $")
32010  
32011  /****************************************************************************
32012   * Useful string functions (especially for mvcur)
32013 @@ -44,8 +44,7 @@
32014  
32015  #if !HAVE_STRSTR
32016  NCURSES_EXPORT(char *)
32017 -_nc_strstr
32018 -(const char *haystack, const char *needle)
32019 +_nc_strstr(const char *haystack, const char *needle)
32020  {
32021      size_t len1 = strlen(haystack);
32022      size_t len2 = strlen(needle);
32023 @@ -63,16 +62,18 @@
32024  #endif
32025  
32026  /*
32027 - * Initialize the descriptor so we can append to it.
32028 + * Initialize the descriptor so we can append to it.  Note that 'src' may
32029 + * be a null pointer (see _nc_str_null), so the corresponding strcat and
32030 + * strcpy calls have to allow for this.
32031   */
32032  NCURSES_EXPORT(string_desc *)
32033 -_nc_str_init
32034 -(string_desc * dst, char *src, size_t len)
32035 +_nc_str_init(string_desc * dst, char *src, size_t len)
32036  {
32037      if (dst != 0) {
32038         dst->s_head = src;
32039         dst->s_tail = src;
32040         dst->s_size = len - 1;
32041 +       dst->s_init = dst->s_size;
32042         if (src != 0)
32043             *src = 0;
32044      }
32045 @@ -83,8 +84,7 @@
32046   * Initialize the descriptor for only tracking the amount of memory used.
32047   */
32048  NCURSES_EXPORT(string_desc *)
32049 -_nc_str_null
32050 -(string_desc * dst, size_t len)
32051 +_nc_str_null(string_desc * dst, size_t len)
32052  {
32053      return _nc_str_init(dst, 0, len);
32054  }
32055 @@ -93,8 +93,7 @@
32056   * Copy a descriptor
32057   */
32058  NCURSES_EXPORT(string_desc *)
32059 -_nc_str_copy
32060 -(string_desc * dst, string_desc * src)
32061 +_nc_str_copy(string_desc * dst, string_desc * src)
32062  {
32063      *dst = *src;
32064      return dst;
32065 @@ -135,7 +134,7 @@
32066                 strcpy(dst->s_head, src);
32067                 dst->s_tail = dst->s_head + len;
32068             }
32069 -           dst->s_size -= len;
32070 +           dst->s_size = dst->s_init - len;
32071             return TRUE;
32072         }
32073      }
32074 diff -urNd -urNd ncurses-5.3/ncurses/trace/lib_trace.c ncurses-5.3.20030906.orig/ncurses/trace/lib_trace.c
32075 --- ncurses-5.3/ncurses/trace/lib_trace.c       Sat Oct 12 10:20:15 2002
32076 +++ ncurses-5.3.20030906.orig/ncurses/trace/lib_trace.c Fri Sep 12 16:41:56 2003
32077 @@ -1,5 +1,5 @@
32078  /****************************************************************************
32079 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
32080 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
32081   *                                                                          *
32082   * Permission is hereby granted, free of charge, to any person obtaining a  *
32083   * copy of this software and associated documentation files (the            *
32084 @@ -40,7 +40,7 @@
32085  
32086  #include <ctype.h>
32087  
32088 -MODULE_ID("$Id: lib_trace.c,v 1.50 2002/10/12 15:20:15 tom Exp $")
32089 +MODULE_ID("$Id: lib_trace.c,v 1.52 2003/08/09 22:15:44 tom Exp $")
32090  
32091  NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0;  /* always define this */
32092  
32093 @@ -48,20 +48,21 @@
32094  NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace = "";
32095  NCURSES_EXPORT_VAR(long) _nc_outchars = 0;
32096  
32097 -static FILE *tracefp;          /* default to writing to stderr */
32098 +static FILE *tracefp = 0;      /* default to writing to stderr */
32099  
32100  NCURSES_EXPORT(void)
32101 -trace(const unsigned int tracelevel GCC_UNUSED)
32102 +trace(const unsigned int tracelevel)
32103  {
32104      static bool been_here = FALSE;
32105      static char my_name[] = "trace";
32106  
32107 -    if (!been_here && tracelevel) {
32108 -       been_here = TRUE;
32109 +    if ((tracefp == 0) && tracelevel) {
32110 +       const char *mode = been_here ? "ab" : "wb";
32111  
32112 +       been_here = TRUE;
32113         _nc_tracing = tracelevel;
32114         if (_nc_access(my_name, W_OK) < 0
32115 -           || (tracefp = fopen(my_name, "wb")) == 0) {
32116 +           || (tracefp = fopen(my_name, mode)) == 0) {
32117             perror("curses: Can't open 'trace' file: ");
32118             exit(EXIT_FAILURE);
32119         }
32120 @@ -74,8 +75,16 @@
32121  #elif HAVE_SETBUF              /* POSIX */
32122         (void) setbuffer(tracefp, (char *) 0);
32123  #endif
32124 -       _tracef("TRACING NCURSES version %s (tracelevel=%#x)",
32125 -               curses_version(), tracelevel);
32126 +       _tracef("TRACING NCURSES version %s.%d (tracelevel=%#x)",
32127 +               NCURSES_VERSION,
32128 +               NCURSES_VERSION_PATCH,
32129 +               tracelevel);
32130 +    } else if (tracelevel == 0) {
32131 +       if (tracefp != 0) {
32132 +           fclose(tracefp);
32133 +           tracefp = 0;
32134 +       }
32135 +       _nc_tracing = tracelevel;
32136      } else if (_nc_tracing != tracelevel) {
32137         _nc_tracing = tracelevel;
32138         _tracef("tracelevel=%#x", tracelevel);
32139 diff -urNd -urNd ncurses-5.3/ncurses/trace/lib_traceatr.c ncurses-5.3.20030906.orig/ncurses/trace/lib_traceatr.c
32140 --- ncurses-5.3/ncurses/trace/lib_traceatr.c    Sat Sep 28 07:37:03 2002
32141 +++ ncurses-5.3.20030906.orig/ncurses/trace/lib_traceatr.c      Sun Jul 20 14:02:09 2003
32142 @@ -1,5 +1,5 @@
32143  /****************************************************************************
32144 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
32145 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
32146   *                                                                          *
32147   * Permission is hereby granted, free of charge, to any person obtaining a  *
32148   * copy of this software and associated documentation files (the            *
32149 @@ -27,7 +27,7 @@
32150   ****************************************************************************/
32151  
32152  /****************************************************************************
32153 - *  Author: Thomas Dickey 1996-2001                                         *
32154 + *  Author: Thomas Dickey 1996-2003                                         *
32155   *     and: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
32156   *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
32157   ****************************************************************************/
32158 @@ -39,7 +39,7 @@
32159  #include <curses.priv.h>
32160  #include <term.h>              /* acs_chars */
32161  
32162 -MODULE_ID("$Id: lib_traceatr.c,v 1.43 2002/09/28 12:37:03 tom Exp $")
32163 +MODULE_ID("$Id: lib_traceatr.c,v 1.47 2003/06/28 23:20:26 tom Exp $")
32164  
32165  #define COLOR_OF(c) (c < 0 || c > 7 ? "default" : colors[c].name)
32166  
32167 @@ -52,7 +52,7 @@
32168  _traceattr2(int bufnum, attr_t newmode)
32169  {
32170      char *buf = _nc_trace_buf(bufnum, BUFSIZ);
32171 -    char *tmp = buf;
32172 +    char temp[80];
32173      static const struct {
32174         unsigned int val;
32175         const char *name;
32176 @@ -92,39 +92,39 @@
32177      unsigned save_nc_tracing = _nc_tracing;
32178      _nc_tracing = 0;
32179  
32180 -    strcpy(tmp++, l_brace);
32181 +    strcpy(buf, l_brace);
32182  
32183      for (n = 0; n < SIZEOF(names); n++) {
32184         if ((newmode & names[n].val) != 0) {
32185             if (buf[1] != '\0')
32186 -               strcat(tmp, "|");
32187 -           strcat(tmp, names[n].name);
32188 -           tmp += strlen(tmp);
32189 +               buf = _nc_trace_bufcat(bufnum, "|");
32190 +           buf = _nc_trace_bufcat(bufnum, names[n].name);
32191  
32192             if (names[n].val == A_COLOR) {
32193                 short pairnum = PAIR_NUMBER(newmode);
32194                 short fg, bg;
32195  
32196 -               if (pair_content(pairnum, &fg, &bg) == OK)
32197 -                   (void) sprintf(tmp,
32198 +               if (pair_content(pairnum, &fg, &bg) == OK) {
32199 +                   (void) sprintf(temp,
32200                                    "{%d = {%s, %s}}",
32201                                    pairnum,
32202                                    COLOR_OF(fg),
32203 -                                  COLOR_OF(bg)
32204 -                       );
32205 -               else
32206 -                   (void) sprintf(tmp, "{%d}", pairnum);
32207 +                                  COLOR_OF(bg));
32208 +               } else {
32209 +                   (void) sprintf(temp, "{%d}", pairnum);
32210 +               }
32211 +               buf = _nc_trace_bufcat(bufnum, temp);
32212             }
32213         }
32214      }
32215      if (ChAttrOf(newmode) == A_NORMAL) {
32216         if (buf[1] != '\0')
32217 -           strcat(tmp, "|");
32218 -       strcat(tmp, "A_NORMAL");
32219 +           (void) _nc_trace_bufcat(bufnum, "|");
32220 +       (void) _nc_trace_bufcat(bufnum, "A_NORMAL");
32221      }
32222  
32223      _nc_tracing = save_nc_tracing;
32224 -    return (strcat(buf, r_brace));
32225 +    return (_nc_trace_bufcat(bufnum, r_brace));
32226  }
32227  
32228  NCURSES_EXPORT(char *)
32229 @@ -146,7 +146,7 @@
32230  {
32231      const char *result = 0;
32232  
32233 -    if (attr & A_ALTCHARSET) {
32234 +    if ((attr & A_ALTCHARSET) && (acs_chars != 0)) {
32235         char *cp;
32236         char *found = 0;
32237         static const struct {
32238 @@ -214,20 +214,21 @@
32239  NCURSES_EXPORT(char *)
32240  _tracechtype2(int bufnum, chtype ch)
32241  {
32242 -    char *buf = _nc_trace_buf(bufnum, BUFSIZ);
32243      const char *found;
32244  
32245 -    strcpy(buf, l_brace);
32246 +    strcpy(_nc_trace_buf(bufnum, BUFSIZ), l_brace);
32247      if ((found = _nc_altcharset_name(ChAttrOf(ch), ch)) != 0) {
32248 -       (void) strcat(buf, found);
32249 +       (void) _nc_trace_bufcat(bufnum, found);
32250      } else
32251 -       (void) strcat(buf, _tracechar(ChCharOf(ch)));
32252 +       (void) _nc_trace_bufcat(bufnum, _tracechar(ChCharOf(ch)));
32253  
32254 -    if (ChAttrOf(ch) != A_NORMAL)
32255 -       (void) sprintf(buf + strlen(buf), " | %s",
32256 +    if (ChAttrOf(ch) != A_NORMAL) {
32257 +       (void) _nc_trace_bufcat(bufnum, " | ");
32258 +       (void) _nc_trace_bufcat(bufnum,
32259                 _traceattr2(bufnum + 20, ChAttrOf(ch)));
32260 +    }
32261  
32262 -    return (strcat(buf, r_brace));
32263 +    return (_nc_trace_bufcat(bufnum, r_brace));
32264  }
32265  
32266  NCURSES_EXPORT(char *)
32267 @@ -256,15 +257,16 @@
32268      if (ch != 0) {
32269         attr = AttrOfD(ch);
32270         if ((found = _nc_altcharset_name(attr, CharOfD(ch))) != 0) {
32271 -           (void) strcat(buf, found);
32272 +           (void) _nc_trace_bufcat(bufnum, found);
32273             attr &= ~A_ALTCHARSET;
32274 -       } else if (!isnac(CHDEREF(ch))) {
32275 +       } else if (isnac(CHDEREF(ch))) {
32276 +           (void) _nc_trace_bufcat(bufnum, "{NAC}");
32277 +       } else {
32278             PUTC_DATA;
32279             int n;
32280  
32281 -           memset (&PUT_st, '\0', sizeof (PUT_st));
32282 -           PUTC_i = 0;
32283 -           (void) strcat(buf, "{ ");
32284 +           PUTC_INIT;
32285 +           (void) _nc_trace_bufcat(bufnum, "{ ");
32286             do {
32287                 PUTC_ch = PUTC_i < CCHARW_MAX ? ch->chars[PUTC_i] : L'\0';
32288                 PUTC_n = wcrtomb(PUTC_buf, ch->chars[PUTC_i], &PUT_st);
32289 @@ -274,19 +276,20 @@
32290                     break;
32291                 for (n = 0; n < PUTC_n; n++) {
32292                     if (n)
32293 -                       (void) strcat(buf, ", ");
32294 -                   (void) strcat(buf, _tracechar(UChar(PUTC_buf[n])));
32295 +                       (void) _nc_trace_bufcat(bufnum, ", ");
32296 +                   (void) _nc_trace_bufcat(bufnum, _tracechar(UChar(PUTC_buf[n])));
32297                 }
32298                 ++PUTC_i;
32299             } while (PUTC_ch != L'\0');
32300 -           (void) strcat(buf, " }");
32301 +           (void) _nc_trace_bufcat(bufnum, " }");
32302 +       }
32303 +       if (attr != A_NORMAL) {
32304 +           (void) _nc_trace_bufcat(bufnum, " | ");
32305 +           (void) _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr));
32306         }
32307 -       if (attr != A_NORMAL)
32308 -           (void) sprintf(buf + strlen(buf), " | %s",
32309 -                   _traceattr2(bufnum + 20, attr));
32310      }
32311  
32312 -    return (strcat(buf, r_brace));
32313 +    return (_nc_trace_bufcat(bufnum, r_brace));
32314  }
32315  
32316  NCURSES_EXPORT(char *)
32317 diff -urNd -urNd ncurses-5.3/ncurses/trace/lib_tracechr.c ncurses-5.3.20030906.orig/ncurses/trace/lib_tracechr.c
32318 --- ncurses-5.3/ncurses/trace/lib_tracechr.c    Sat May 25 18:34:19 2002
32319 +++ ncurses-5.3.20030906.orig/ncurses/trace/lib_tracechr.c      Sun Jul 20 14:02:08 2003
32320 @@ -1,5 +1,5 @@
32321  /****************************************************************************
32322 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
32323 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
32324   *                                                                          *
32325   * Permission is hereby granted, free of charge, to any person obtaining a  *
32326   * copy of this software and associated documentation files (the            *
32327 @@ -36,19 +36,36 @@
32328   */
32329  #include <curses.priv.h>
32330  
32331 -MODULE_ID("$Id: lib_tracechr.c,v 1.9 2002/05/25 23:34:19 tom Exp $")
32332 +#include <ctype.h>
32333 +
32334 +MODULE_ID("$Id: lib_tracechr.c,v 1.10 2003/06/14 11:05:42 tom Exp $")
32335  
32336  #ifdef TRACE
32337  NCURSES_EXPORT(char *)
32338  _tracechar(int ch)
32339  {
32340 -    static char crep[40];
32341 -    (void) sprintf(crep, "'%.30s' = %#03o",
32342 -                  ((ch > KEY_MIN || ch < 0)
32343 -                   ? keyname(ch)
32344 -                   : unctrl(ch)),
32345 -                  ch);
32346 -    return (crep);
32347 +    static char result[40];
32348 +    char *name;
32349 +
32350 +    if (ch > KEY_MIN || ch < 0) {
32351 +       name = keyname(ch);
32352 +       if (name == 0 || *name == '\0')
32353 +           name = "NULL";
32354 +       (void) sprintf(result, "'%.30s' = %#03o", name, ch);
32355 +    } else if (!isprint(ch) || ch > 255) {
32356 +       /*
32357 +        * workaround for glibc bug:
32358 +        * sprintf changes the result from unctrl() to an empty string if it
32359 +        * does not correspond to a valid multibyte sequence.
32360 +        */
32361 +       (void) sprintf(result, "%#03o", ch);
32362 +    } else {
32363 +       name = unctrl(ch);
32364 +       if (name == 0 || *name == 0)
32365 +           name = "null";      /* shouldn't happen */
32366 +       (void) sprintf(result, "'%.30s' = %#03o", name, ch);
32367 +    }
32368 +    return (result);
32369  }
32370  #else
32371  empty_module(_nc_lib_tracechr)
32372 diff -urNd -urNd ncurses-5.3/ncurses/trace/trace_buf.c ncurses-5.3.20030906.orig/ncurses/trace/trace_buf.c
32373 --- ncurses-5.3/ncurses/trace/trace_buf.c       Sat Jul 13 19:08:08 2002
32374 +++ ncurses-5.3.20030906.orig/ncurses/trace/trace_buf.c Tue May 13 20:08:22 2003
32375 @@ -1,5 +1,5 @@
32376  /****************************************************************************
32377 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
32378 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
32379   *                                                                          *
32380   * Permission is hereby granted, free of charge, to any person obtaining a  *
32381   * copy of this software and associated documentation files (the            *
32382 @@ -35,15 +35,15 @@
32383  
32384  #include <curses.priv.h>
32385  
32386 -MODULE_ID("$Id: trace_buf.c,v 1.11 2002/07/14 00:08:08 tom Exp $")
32387 +MODULE_ID("$Id: trace_buf.c,v 1.12 2003/03/15 21:21:36 tom Exp $")
32388  
32389  typedef struct {
32390      char *text;
32391      size_t size;
32392  } LIST;
32393  
32394 -NCURSES_EXPORT(char *)
32395 -_nc_trace_buf(int bufnum, size_t want)
32396 +static char *
32397 +_nc_trace_alloc(int bufnum, size_t want)
32398  {
32399      char *result = 0;
32400      static LIST *list;
32401 @@ -65,8 +65,6 @@
32402                   list[bufnum].size = want;
32403         }
32404  
32405 -       if (list[bufnum].text != 0)
32406 -           *(list[bufnum].text) = '\0';
32407         result = list[bufnum].text;
32408      }
32409  #if NO_LEAKS
32410 @@ -82,3 +80,30 @@
32411  #endif
32412      return result;
32413  }
32414 +
32415 +/*
32416 + * (re)Allocate a buffer big enough for the caller's wants.
32417 + */
32418 +NCURSES_EXPORT(char *)
32419 +_nc_trace_buf(int bufnum, size_t want)
32420 +{
32421 +    char *result = _nc_trace_alloc(bufnum, want);
32422 +    if (result != 0)
32423 +       *result = '\0';
32424 +    return result;
32425 +}
32426 +
32427 +/*
32428 + * Append a new string to an existing buffer.
32429 + */
32430 +NCURSES_EXPORT(char *)
32431 +_nc_trace_bufcat(int bufnum, const char *value)
32432 +{
32433 +    char *buffer = _nc_trace_alloc(bufnum, 0);
32434 +    size_t have = strlen(buffer);
32435 +
32436 +    buffer = _nc_trace_alloc(bufnum, 1 + have + strlen(value));
32437 +    (void) strcpy(buffer + have, value);
32438 +
32439 +    return buffer;
32440 +}
32441 diff -urNd -urNd ncurses-5.3/ncurses/trace/varargs.c ncurses-5.3.20030906.orig/ncurses/trace/varargs.c
32442 --- ncurses-5.3/ncurses/trace/varargs.c Sat Oct  5 18:04:17 2002
32443 +++ ncurses-5.3.20030906.orig/ncurses/trace/varargs.c   Sun Jul 20 14:02:08 2003
32444 @@ -1,5 +1,5 @@
32445  /****************************************************************************
32446 - * Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
32447 + * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
32448   *                                                                          *
32449   * Permission is hereby granted, free of charge, to any person obtaining a  *
32450   * copy of this software and associated documentation files (the            *
32451 @@ -34,7 +34,7 @@
32452  
32453  #include <ctype.h>
32454  
32455 -MODULE_ID("$Id: varargs.c,v 1.3 2002/10/05 23:04:17 tom Exp $")
32456 +MODULE_ID("$Id: varargs.c,v 1.4 2003/05/24 21:10:28 tom Exp $")
32457  
32458  #ifdef TRACE
32459  
32460 @@ -46,7 +46,7 @@
32461  
32462  #define VA_INT(type) ival = va_arg(ap, type)
32463  #define VA_FLT(type) fval = va_arg(ap, type)
32464 -#define VA_PTR(type) pval = (void *)va_arg(ap, type)
32465 +#define VA_PTR(type) pval = (char *)va_arg(ap, type)
32466  #define VA_STR(type) sval = va_arg(ap, type)
32467  
32468  /*
32469 diff -urNd -urNd ncurses-5.3/ncurses/trace/visbuf.c ncurses-5.3.20030906.orig/ncurses/trace/visbuf.c
32470 --- ncurses-5.3/ncurses/trace/visbuf.c  Sat Oct  5 19:03:43 2002
32471 +++ ncurses-5.3.20030906.orig/ncurses/trace/visbuf.c    Sun Jul 20 14:02:09 2003
32472 @@ -1,5 +1,5 @@
32473  /****************************************************************************
32474 - * Copyright (c) 2001 Free Software Foundation, Inc.                        *
32475 + * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
32476   *                                                                          *
32477   * Permission is hereby granted, free of charge, to any person obtaining a  *
32478   * copy of this software and associated documentation files (the            *
32479 @@ -27,7 +27,7 @@
32480   ****************************************************************************/
32481  
32482  /****************************************************************************
32483 - *  Author: Thomas E. Dickey 1996-2001                                      *
32484 + *  Author: Thomas E. Dickey 1996-2003                                      *
32485   *     and: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
32486   *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
32487   ****************************************************************************/
32488 @@ -41,7 +41,7 @@
32489  #include <tic.h>
32490  #include <ctype.h>
32491  
32492 -MODULE_ID("$Id: visbuf.c,v 1.6 2002/10/06 00:03:43 tom Exp $")
32493 +MODULE_ID("$Id: visbuf.c,v 1.8 2003/06/28 23:20:37 tom Exp $")
32494  
32495  static char *
32496  _nc_vischar(char *tp, unsigned c)
32497 @@ -187,9 +187,7 @@
32498  NCURSES_EXPORT(const char *)
32499  _nc_viscbuf2(int bufnum, const cchar_t * buf, int len)
32500  {
32501 -    size_t have = BUFSIZ;
32502 -    char *result = _nc_trace_buf(bufnum, have);
32503 -    char *tp = result;
32504 +    char *result = _nc_trace_buf(bufnum, BUFSIZ);
32505      int n;
32506      bool same = TRUE;
32507      attr_t attr = A_NORMAL;
32508 @@ -211,17 +209,18 @@
32509       * detailed trace function that displays each character separately.
32510       */
32511      if (same) {
32512 -       *tp++ = D_QUOTE;
32513 +       static const char d_quote[] =
32514 +       {D_QUOTE, 0};
32515 +
32516 +       result = _nc_trace_bufcat(bufnum, d_quote);
32517         while (len-- > 0) {
32518             if ((found = _nc_altcharset_name(attr, CharOfD(buf))) != 0) {
32519 -               (void) strcpy(tp, found);
32520 -               tp += strlen(tp);
32521 +               result = _nc_trace_bufcat(bufnum, found);
32522                 attr &= ~A_ALTCHARSET;
32523             } else if (!isnac(CHDEREF(buf))) {
32524                 PUTC_DATA;
32525  
32526 -               memset(&PUT_st, '\0', sizeof(PUT_st));
32527 -               PUTC_i = 0;
32528 +               PUTC_INIT;
32529                 do {
32530                     PUTC_ch = PUTC_i < CCHARW_MAX ? buf->chars[PUTC_i] : L'\0';
32531                     PUTC_n = wcrtomb(PUTC_buf, buf->chars[PUTC_i], &PUT_st);
32532 @@ -230,33 +229,31 @@
32533                     if (PUTC_n <= 0)
32534                         break;
32535                     for (n = 0; n < PUTC_n; n++) {
32536 -                       tp = _nc_vischar(tp, UChar(PUTC_buf[n]));
32537 +                       char temp[80];
32538 +                       _nc_vischar(temp, UChar(PUTC_buf[n]));
32539 +                       result = _nc_trace_bufcat(bufnum, temp);
32540                     }
32541                     ++PUTC_i;
32542                 } while (PUTC_ch != L'\0');
32543             }
32544             buf++;
32545         }
32546 -       *tp++ = D_QUOTE;
32547 -       *tp++ = '\0';
32548 -       if (attr != A_NORMAL)
32549 -           (void) sprintf(tp, " | %s",
32550 -                          _traceattr2(bufnum + 20, attr));
32551 +       result = _nc_trace_bufcat(bufnum, d_quote);
32552 +       if (attr != A_NORMAL) {
32553 +           result = _nc_trace_bufcat(bufnum, " | ");
32554 +           result = _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr));
32555 +       }
32556      } else {
32557 -       *tp++ = L_BRACE;
32558 +       static const char l_brace[] =
32559 +       {L_BRACE, 0};
32560 +       static const char r_brace[] =
32561 +       {R_BRACE, 0};
32562 +       strcpy(result, l_brace);
32563         while (len-- > 0) {
32564 -           char *temp = _tracecchar_t2(bufnum + 20, buf++);
32565 -           size_t used = (tp - result);
32566 -           size_t want = strlen(temp) + 5 + used;
32567 -           if (want > have) {
32568 -               result = _nc_trace_buf(bufnum, have = want);
32569 -               tp = result + used;
32570 -           }
32571 -           (void) strcpy(tp, temp);
32572 -           tp += strlen(tp);
32573 +           result = _nc_trace_bufcat(bufnum,
32574 +                                     _tracecchar_t2(bufnum + 20, buf++));
32575         }
32576 -       *tp++ = R_BRACE;
32577 -       *tp++ = '\0';
32578 +       result = _nc_trace_bufcat(bufnum, r_brace);
32579      }
32580      return result;
32581  }
32582 diff -urNd -urNd ncurses-5.3/ncurses/tty/lib_mvcur.c ncurses-5.3.20030906.orig/ncurses/tty/lib_mvcur.c
32583 --- ncurses-5.3/ncurses/tty/lib_mvcur.c Sat Sep 14 18:02:06 2002
32584 +++ ncurses-5.3.20030906.orig/ncurses/tty/lib_mvcur.c   Fri Sep 12 16:42:24 2003
32585 @@ -1,5 +1,5 @@
32586  /****************************************************************************
32587 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
32588 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
32589   *                                                                          *
32590   * Permission is hereby granted, free of charge, to any person obtaining a  *
32591   * copy of this software and associated documentation files (the            *
32592 @@ -108,7 +108,9 @@
32593   * LONG_DIST and (b) further inward from the right or left edge than LONG_DIST,
32594   * we'll consider nonlocal.
32595   */
32596 -#define NOT_LOCAL(fy, fx, ty, tx)      ((tx > LONG_DIST) && (tx < screen_lines - 1 - LONG_DIST) && (abs(ty-fy) + abs(tx-fx) > LONG_DIST))
32597 +#define NOT_LOCAL(fy, fx, ty, tx)      ((tx > LONG_DIST) \
32598 +                && (tx < screen_columns - 1 - LONG_DIST) \
32599 +                && (abs(ty-fy) + abs(tx-fx) > LONG_DIST))
32600  
32601  /****************************************************************************
32602   *
32603 @@ -152,12 +154,8 @@
32604  #include <term.h>
32605  #include <ctype.h>
32606  
32607 -MODULE_ID("$Id: lib_mvcur.c,v 1.86 2002/09/14 23:02:06 Philippe.Blain Exp $")
32608 +MODULE_ID("$Id: lib_mvcur.c,v 1.93 2003/08/23 21:51:58 tom Exp $")
32609  
32610 -#define CURRENT_ROW    SP->_cursrow    /* phys cursor row */
32611 -#define CURRENT_COLUMN SP->_curscol    /* phys cursor column */
32612 -#define CURRENT_ATTR   SP->_current_attr       /* current phys attribute */
32613 -#define REAL_ATTR      SP->_current_attr       /* phys current attribute */
32614  #define WANT_CHAR(y, x)        SP->_newscr->_line[y].text[x]   /* desired state */
32615  #define BAUDRATE       cur_term->_baudrate     /* bits per second */
32616  
32617 @@ -296,10 +294,11 @@
32618  _nc_mvcur_init(void)
32619  /* initialize the cost structure */
32620  {
32621 -    /*
32622 -     * 9 = 7 bits + 1 parity + 1 stop.
32623 -     */
32624 -    SP->_char_padding = (9 * 1000 * 10) / (BAUDRATE > 0 ? BAUDRATE : 9600);
32625 +    if (isatty(fileno(SP->_ofp)))
32626 +       SP->_char_padding = ((BAUDBYTE * 1000 * 10)
32627 +                            / (BAUDRATE > 0 ? BAUDRATE : 9600));
32628 +    else
32629 +       SP->_char_padding = 1;  /* must be nonzero */
32630      if (SP->_char_padding <= 0)
32631         SP->_char_padding = 1;  /* must be nonzero */
32632      TR(TRACE_CHARPUT | TRACE_MOVE, ("char_padding %d msecs", SP->_char_padding));
32633 @@ -371,6 +370,13 @@
32634      SP->_dch1_cost = NormalizedCost(delete_character, 1);
32635      SP->_ich1_cost = NormalizedCost(insert_character, 1);
32636  
32637 +    /*
32638 +     * If this is a bce-terminal, we want to bias the choice so we use clr_eol
32639 +     * rather than spaces at the end of a line.
32640 +     */
32641 +    if (back_color_erase)
32642 +       SP->_el_cost = 0;
32643 +
32644      /* parameterized screen-update strings */
32645      SP->_dch_cost = NormalizedCost(tparm(parm_dch, 23), 1);
32646      SP->_ich_cost = NormalizedCost(tparm(parm_ich, 23), 1);
32647 @@ -508,10 +514,10 @@
32648             n = (from_y - to_y);
32649  
32650             if (parm_up_cursor
32651 -               && SP->_cup_cost < vcost
32652 +               && SP->_cuu_cost < vcost
32653                 && _nc_safe_strcat(_nc_str_copy(target, &save),
32654                                    tparm(parm_up_cursor, n))) {
32655 -               vcost = SP->_cup_cost;
32656 +               vcost = SP->_cuu_cost;
32657             }
32658  
32659             if (cursor_up && (n * SP->_cuu1_cost < vcost)) {
32660 @@ -570,7 +576,6 @@
32661                 }
32662  #endif /* USE_HARD_TABS */
32663  
32664 -#if defined(REAL_ATTR) && defined(WANT_CHAR)
32665                 if (n <= 0 || n >= (int) check.s_size)
32666                     ovw = FALSE;
32667  #if BSD_TPUTS
32668 @@ -601,7 +606,7 @@
32669  
32670                     for (i = 0; i < n; i++) {
32671                         NCURSES_CH_T ch = WANT_CHAR(to_y, from_x + i);
32672 -                       if (AttrOf(ch) != CURRENT_ATTR
32673 +                       if (AttrOf(ch) != SP->_current_attr
32674  #if USE_WIDEC_SUPPORT
32675                             || !Charable(ch)
32676  #endif
32677 @@ -619,9 +624,7 @@
32678                     *check.s_tail = '\0';
32679                     check.s_size -= n;
32680                     lhcost += n * SP->_char_padding;
32681 -               } else
32682 -#endif /* defined(REAL_ATTR) && defined(WANT_CHAR) */
32683 -               {
32684 +               } else {
32685                     lhcost = repeated_append(&check, lhcost, SP->_cuf1_cost,
32686                                              n, cursor_right);
32687                 }
32688 @@ -831,6 +834,8 @@
32689      if (usecost != INFINITY) {
32690         TPUTS_TRACE("mvcur");
32691         tputs(buffer, 1, _nc_outch);
32692 +       SP->_cursrow = ynew;
32693 +       SP->_curscol = xnew;
32694         return (OK);
32695      } else
32696         return (ERR);
32697 @@ -840,67 +845,94 @@
32698  mvcur(int yold, int xold, int ynew, int xnew)
32699  /* optimized cursor move from (yold, xold) to (ynew, xnew) */
32700  {
32701 +    attr_t oldattr;
32702 +    int code;
32703 +
32704      TR(TRACE_CALLS | TRACE_MOVE, (T_CALLED("mvcur(%d,%d,%d,%d)"),
32705                                   yold, xold, ynew, xnew));
32706  
32707 -    if (SP == 0)
32708 -       returnCode(ERR);
32709 +    if (SP == 0) {
32710 +       code = ERR;
32711 +    } else if (yold == ynew && xold == xnew) {
32712 +       code = OK;
32713 +    } else {
32714  
32715 -    if (yold == ynew && xold == xnew)
32716 -       returnCode(OK);
32717 +       /*
32718 +        * Most work here is rounding for terminal boundaries getting the
32719 +        * column position implied by wraparound or the lack thereof and
32720 +        * rolling up the screen to get ynew on the screen.
32721 +        */
32722 +       if (xnew >= screen_columns) {
32723 +           ynew += xnew / screen_columns;
32724 +           xnew %= screen_columns;
32725 +       }
32726  
32727 -    /*
32728 -     * Most work here is rounding for terminal boundaries getting the
32729 -     * column position implied by wraparound or the lack thereof and
32730 -     * rolling up the screen to get ynew on the screen.
32731 -     */
32732 +       /*
32733 +        * Force restore even if msgr is on when we're in an alternate
32734 +        * character set -- these have a strong tendency to screw up the CR &
32735 +        * LF used for local character motions!
32736 +        */
32737 +       oldattr = SP->_current_attr;
32738 +       if ((oldattr & A_ALTCHARSET)
32739 +           || (oldattr && !move_standout_mode)) {
32740 +           TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
32741 +                              oldattr, _traceattr(oldattr)));
32742 +           (void) vidattr(A_NORMAL);
32743 +       }
32744  
32745 -    if (xnew >= screen_columns) {
32746 -       ynew += xnew / screen_columns;
32747 -       xnew %= screen_columns;
32748 -    }
32749 -    if (xold >= screen_columns) {
32750 -       int l;
32751 +       if (xold >= screen_columns) {
32752 +           int l;
32753  
32754 -       if (SP->_nl) {
32755 -           l = (xold + 1) / screen_columns;
32756 -           yold += l;
32757 -           if (yold >= screen_lines)
32758 -               l -= (yold - screen_lines - 1);
32759 +           if (SP->_nl) {
32760 +               l = (xold + 1) / screen_columns;
32761 +               yold += l;
32762 +               if (yold >= screen_lines)
32763 +                   l -= (yold - screen_lines - 1);
32764  
32765 -           while (l > 0) {
32766 -               if (newline) {
32767 -                   TPUTS_TRACE("newline");
32768 -                   tputs(newline, 0, _nc_outch);
32769 -               } else
32770 -                   putchar('\n');
32771 -               l--;
32772 -               if (xold > 0) {
32773 -                   if (carriage_return) {
32774 -                       TPUTS_TRACE("carriage_return");
32775 -                       tputs(carriage_return, 0, _nc_outch);
32776 +               while (l > 0) {
32777 +                   if (newline) {
32778 +                       TPUTS_TRACE("newline");
32779 +                       putp(newline);
32780                     } else
32781 -                       putchar('\r');
32782 -                   xold = 0;
32783 +                       putchar('\n');
32784 +                   l--;
32785 +                   if (xold > 0) {
32786 +                       if (carriage_return) {
32787 +                           TPUTS_TRACE("carriage_return");
32788 +                           putp(carriage_return);
32789 +                       } else
32790 +                           putchar('\r');
32791 +                       xold = 0;
32792 +                   }
32793                 }
32794 +           } else {
32795 +               /*
32796 +                * If caller set nonl(), we cannot really use newlines to
32797 +                * position to the next row.
32798 +                */
32799 +               xold = -1;
32800 +               yold = -1;
32801             }
32802 -       } else {
32803 -           /*
32804 -            * If caller set nonl(), we cannot really use newlines to position
32805 -            * to the next row.
32806 -            */
32807 -           xold = -1;
32808 -           yold = -1;
32809         }
32810 -    }
32811  
32812 -    if (yold > screen_lines - 1)
32813 -       yold = screen_lines - 1;
32814 -    if (ynew > screen_lines - 1)
32815 -       ynew = screen_lines - 1;
32816 +       if (yold > screen_lines - 1)
32817 +           yold = screen_lines - 1;
32818 +       if (ynew > screen_lines - 1)
32819 +           ynew = screen_lines - 1;
32820  
32821 -    /* destination location is on screen now */
32822 -    returnCode(onscreen_mvcur(yold, xold, ynew, xnew, TRUE));
32823 +       /* destination location is on screen now */
32824 +       code = onscreen_mvcur(yold, xold, ynew, xnew, TRUE);
32825 +
32826 +       /*
32827 +        * Restore attributes if we disabled them before moving.
32828 +        */
32829 +       if (oldattr != SP->_current_attr) {
32830 +           TR(TRACE_CHARPUT, ("turning on (%#lx) %s after move",
32831 +                              oldattr, _traceattr(oldattr)));
32832 +           (void) vidattr(oldattr);
32833 +       }
32834 +    }
32835 +    returnCode(code);
32836  }
32837  
32838  #if defined(TRACE) || defined(NCURSES_TEST)
32839 diff -urNd -urNd ncurses-5.3/ncurses/tty/lib_twait.c ncurses-5.3.20030906.orig/ncurses/tty/lib_twait.c
32840 --- ncurses-5.3/ncurses/tty/lib_twait.c Sat Aug 31 19:28:18 2002
32841 +++ ncurses-5.3.20030906.orig/ncurses/tty/lib_twait.c   Tue May 13 20:08:22 2003
32842 @@ -61,7 +61,7 @@
32843  # endif
32844  #endif
32845  
32846 -MODULE_ID("$Id: lib_twait.c,v 1.46 2002/09/01 00:28:18 tom Exp $")
32847 +MODULE_ID("$Id: lib_twait.c,v 1.47 2003/01/25 18:21:17 tom Exp $")
32848  
32849  static long
32850  _nc_gettime(bool first)
32851 @@ -388,7 +388,7 @@
32852       * then come back for more.
32853       */
32854      if (result == 0 && milliseconds > 100) {
32855 -       napms(100);
32856 +       napms(100);     /* FIXME: this won't be right if I recur! */
32857         milliseconds -= 100;
32858         goto retry;
32859      }
32860 diff -urNd -urNd ncurses-5.3/ncurses/tty/tty_display.h ncurses-5.3.20030906.orig/ncurses/tty/tty_display.h
32861 --- ncurses-5.3/ncurses/tty/tty_display.h       Sat Dec  9 20:27:01 2000
32862 +++ ncurses-5.3.20030906.orig/ncurses/tty/tty_display.h Fri Sep 12 16:41:41 2003
32863 @@ -1,5 +1,5 @@
32864  /****************************************************************************
32865 - * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
32866 + * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
32867   *                                                                          *
32868   * Permission is hereby granted, free of charge, to any person obtaining a  *
32869   * copy of this software and associated documentation files (the            *
32870 @@ -29,6 +29,9 @@
32871  #ifndef TTY_DISPLAY_H
32872  #define TTY_DISPLAY_H 1
32873  
32874 +/*
32875 + * $Id: tty_display.h,v 1.5 2003/08/02 22:59:07 Philippe.Blain Exp $
32876 + */
32877  extern NCURSES_EXPORT(bool) _nc_tty_beep (void);
32878  extern NCURSES_EXPORT(bool) _nc_tty_check_resize (void);
32879  extern NCURSES_EXPORT(bool) _nc_tty_cursor (int);
32880 @@ -111,7 +114,7 @@
32881                 : ((enter_insert_mode && exit_insert_mode) \
32882                   ? D->_smir_cost + D->_rmir_cost + (D->_ip_cost * count) \
32883                   : ((insert_character != 0) \
32884 -                   ? (D->_ich1_cost * count) \
32885 +                   ? ((D->_ich1_cost + D->_ip_cost) * count) \
32886                     : INFINITY)))
32887  
32888  #if USE_XMC_SUPPORT
32889 diff -urNd -urNd ncurses-5.3/ncurses/tty/tty_update.c ncurses-5.3.20030906.orig/ncurses/tty/tty_update.c
32890 --- ncurses-5.3/ncurses/tty/tty_update.c        Sat Sep 28 15:41:55 2002
32891 +++ ncurses-5.3.20030906.orig/ncurses/tty/tty_update.c  Fri Sep 12 16:42:24 2003
32892 @@ -1,5 +1,5 @@
32893  /****************************************************************************
32894 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
32895 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
32896   *                                                                          *
32897   * Permission is hereby granted, free of charge, to any person obtaining a  *
32898   * copy of this software and associated documentation files (the            *
32899 @@ -29,6 +29,7 @@
32900  /****************************************************************************
32901   *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
32902   *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
32903 + *     and: Thomas E. Dickey 1996-2002                                      *
32904   ****************************************************************************/
32905  
32906  /*-----------------------------------------------------------------
32907 @@ -72,7 +73,7 @@
32908  
32909  #include <term.h>
32910  
32911 -MODULE_ID("$Id: tty_update.c,v 1.177 2002/09/28 20:41:55 tom Exp $")
32912 +MODULE_ID("$Id: tty_update.c,v 1.199 2003/08/23 21:25:08 tom Exp $")
32913  
32914  /*
32915   * This define controls the line-breakout optimization.  Every once in a
32916 @@ -165,61 +166,90 @@
32917  static inline void
32918  GoTo(int const row, int const col)
32919  {
32920 -    attr_t oldattr = SP->_current_attr;
32921 -
32922      TR(TRACE_MOVE, ("GoTo(%d, %d) from (%d, %d)",
32923                     row, col, SP->_cursrow, SP->_curscol));
32924  
32925      position_check(SP->_cursrow, SP->_curscol, "GoTo");
32926  
32927 -    /*
32928 -     * Force restore even if msgr is on when we're in an alternate
32929 -     * character set -- these have a strong tendency to screw up the
32930 -     * CR & LF used for local character motions!
32931 -     */
32932 -    if ((oldattr & A_ALTCHARSET)
32933 -       || (oldattr && !move_standout_mode)) {
32934 -       TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
32935 -                          oldattr, _traceattr(oldattr)));
32936 -       vidattr(A_NORMAL);
32937 -    }
32938 -
32939      mvcur(SP->_cursrow, SP->_curscol, row, col);
32940 -    SP->_cursrow = row;
32941 -    SP->_curscol = col;
32942      position_check(SP->_cursrow, SP->_curscol, "GoTo2");
32943  }
32944  
32945  static inline void
32946  PutAttrChar(CARG_CH_T ch)
32947  {
32948 +    int chlen = 1;
32949 +    NCURSES_CH_T my_ch;
32950      PUTC_DATA;
32951      NCURSES_CH_T tilde;
32952 +    NCURSES_ATTR_T attr = AttrOfD(ch);
32953 +
32954 +    TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)",
32955 +                      _tracech_t(ch),
32956 +                      SP->_cursrow, SP->_curscol));
32957 +#if USE_WIDEC_SUPPORT
32958 +    /*
32959 +     * If this is not a valid character, there is nothing more to do.
32960 +     */
32961 +    if (isnac(CHDEREF(ch)))
32962 +       return;
32963 +    /*
32964 +     * Determine the number of character cells which the 'ch' value will use
32965 +     * on the screen.  It should be at least one.
32966 +     */
32967 +    if ((chlen = wcwidth(CharOf(CHDEREF(ch)))) <= 0) {
32968 +       static NCURSES_CH_T blank = NewChar(BLANK_TEXT);
32969 +
32970 +       ch = CHREF(blank);
32971 +       chlen = 1;
32972 +       TR(TRACE_CHARPUT, ("forced to blank"));
32973 +    }
32974 +#endif
32975  
32976 +    if ((attr & A_ALTCHARSET)
32977 +       && SP->_acs_map != 0
32978 +       && CharOfD(ch) < ACS_LEN) {
32979 +       my_ch = CHDEREF(ch);    /* work around const param */
32980 +#if USE_WIDEC_SUPPORT
32981 +       /*
32982 +        * This is crude & ugly, but works most of the time.  It checks if the
32983 +        * acs_chars string specified that we have a mapping for this
32984 +        * character, and uses the wide-character mapping when we expect the
32985 +        * normal one to be broken (by mis-design ;-).
32986 +        */
32987 +       if (SP->_screen_acs_fix
32988 +           && SP->_acs_map[CharOf(my_ch)] & A_ALTCHARSET) {
32989 +           attr &= ~(A_ALTCHARSET);
32990 +           my_ch = _nc_wacs[CharOf(my_ch)];
32991 +       }
32992 +#endif
32993 +       if (attr & A_ALTCHARSET) {
32994 +           chtype temp = UChar(SP->_acs_map[CharOfD(ch)]);
32995 +           if (temp != 0)
32996 +               SetChar(my_ch, temp, attr);
32997 +           RemAttr(my_ch, A_ALTCHARSET);
32998 +       }
32999 +       ch = CHREF(my_ch);
33000 +    }
33001      if (tilde_glitch && (CharOfD(ch) == L('~'))) {
33002 -       SetChar(tilde, L('`'), AttrOfD(ch));
33003 +       SetChar(tilde, L('`'), attr);
33004         ch = CHREF(tilde);
33005      }
33006  
33007 -    TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)",
33008 -                      _tracech_t(ch),
33009 -                      SP->_cursrow, SP->_curscol));
33010 -    UpdateAttrs(AttrOfD(ch));
33011 +    UpdateAttrs(attr);
33012  #if !USE_WIDEC_SUPPORT
33013      /* FIXME - we do this special case for signal handling, should see how to
33014       * make it work for wide characters.
33015       */
33016      if (SP->_outch != 0) {
33017 -       SP->_outch((int) ch);
33018 +       SP->_outch(UChar(ch));
33019      } else
33020  #endif
33021      {
33022         PUTC(CHDEREF(ch), SP->_ofp);    /* macro's fastest... */
33023 -#ifdef TRACE
33024 -       _nc_outchars++;
33025 -#endif /* TRACE */
33026 +       TRACE_OUTCHARS(1);
33027      }
33028 -    SP->_curscol++;
33029 +    SP->_curscol += chlen;
33030      if (char_padding) {
33031         TPUTS_TRACE("char_padding");
33032         putp(char_padding);
33033 @@ -456,7 +486,8 @@
33034                     rep_count--;
33035  
33036                 UpdateAttrs(AttrOf(ntext0));
33037 -               putp(tparm(repeat_char, CharOf(ntext0), rep_count));
33038 +               tputs(tparm(repeat_char, CharOf(ntext0), rep_count),
33039 +                     rep_count, _nc_outch);
33040                 SP->_curscol += rep_count;
33041  
33042                 if (wrap_possible)
33043 @@ -888,12 +919,12 @@
33044      if (needclear) {
33045         UpdateAttrs(AttrOf(blank));
33046         TPUTS_TRACE("clr_eol");
33047 -       if (SP->_el_cost > (screen_columns - SP->_curscol)) {
33048 +       if (clr_eol && SP->_el_cost <= (screen_columns - SP->_curscol)) {
33049 +           putp(clr_eol);
33050 +       } else {
33051             int count = (screen_columns - SP->_curscol);
33052             while (count-- > 0)
33053                 PutChar(CHREF(blank));
33054 -       } else {
33055 -           putp(clr_eol);
33056         }
33057      }
33058  }
33059 @@ -939,7 +970,7 @@
33060      int col;
33061      int top = total;
33062      int last = min(screen_columns, newscr->_maxx + 1);
33063 -    NCURSES_CH_T blank = ClrBlank(stdscr);
33064 +    NCURSES_CH_T blank = newscr->_line[total - 1].text[last - 1];
33065      bool ok;
33066  
33067      if (clr_eos && can_clear_with(CHREF(blank))) {
33068 @@ -959,17 +990,16 @@
33069         }
33070  
33071         /* don't use clr_eos for just one line if clr_eol available */
33072 -       if (top < total - 1 || (top < total && !clr_eol && !clr_bol)) {
33073 +       if (top < total) {
33074             GoTo(top, 0);
33075             ClrToEOS(blank);
33076 -           total = top;
33077             if (SP->oldhash && SP->newhash) {
33078                 for (row = top; row < screen_lines; row++)
33079                     SP->oldhash[row] = SP->newhash[row];
33080             }
33081         }
33082      }
33083 -    return total;
33084 +    return top;
33085  }
33086  
33087  #if USE_XMC_SUPPORT
33088 @@ -1314,7 +1344,7 @@
33089  
33090             UpdateAttrs(AttrOf(blank));
33091             TPUTS_TRACE("clr_eos");
33092 -           putp(clr_eos);
33093 +           tputs(clr_eos, screen_lines, _nc_outch);
33094         } else if (clr_eol) {
33095             SP->_cursrow = SP->_curscol = -1;
33096  
33097 @@ -1478,12 +1508,12 @@
33098         GoTo(bot, 0);
33099         UpdateAttrs(AttrOf(blank));
33100         TPUTS_TRACE("scroll_forward");
33101 -       tputs(scroll_forward, 0, _nc_outch);
33102 +       putp(scroll_forward);
33103      } else if (n == 1 && delete_line && bot == maxy) {
33104         GoTo(top, 0);
33105         UpdateAttrs(AttrOf(blank));
33106         TPUTS_TRACE("delete_line");
33107 -       tputs(delete_line, 0, _nc_outch);
33108 +       putp(delete_line);
33109      } else if (parm_index && top == miny && bot == maxy) {
33110         GoTo(bot, 0);
33111         UpdateAttrs(AttrOf(blank));
33112 @@ -1499,14 +1529,14 @@
33113         UpdateAttrs(AttrOf(blank));
33114         for (i = 0; i < n; i++) {
33115             TPUTS_TRACE("scroll_forward");
33116 -           tputs(scroll_forward, 0, _nc_outch);
33117 +           putp(scroll_forward);
33118         }
33119      } else if (delete_line && bot == maxy) {
33120         GoTo(top, 0);
33121         UpdateAttrs(AttrOf(blank));
33122         for (i = 0; i < n; i++) {
33123             TPUTS_TRACE("delete_line");
33124 -           tputs(delete_line, 0, _nc_outch);
33125 +           putp(delete_line);
33126         }
33127      } else
33128         return ERR;
33129 @@ -1536,12 +1566,12 @@
33130         GoTo(top, 0);
33131         UpdateAttrs(AttrOf(blank));
33132         TPUTS_TRACE("scroll_reverse");
33133 -       tputs(scroll_reverse, 0, _nc_outch);
33134 +       putp(scroll_reverse);
33135      } else if (n == 1 && insert_line && bot == maxy) {
33136         GoTo(top, 0);
33137         UpdateAttrs(AttrOf(blank));
33138         TPUTS_TRACE("insert_line");
33139 -       tputs(insert_line, 0, _nc_outch);
33140 +       putp(insert_line);
33141      } else if (parm_rindex && top == miny && bot == maxy) {
33142         GoTo(top, 0);
33143         UpdateAttrs(AttrOf(blank));
33144 @@ -1557,14 +1587,14 @@
33145         UpdateAttrs(AttrOf(blank));
33146         for (i = 0; i < n; i++) {
33147             TPUTS_TRACE("scroll_reverse");
33148 -           tputs(scroll_reverse, 0, _nc_outch);
33149 +           putp(scroll_reverse);
33150         }
33151      } else if (insert_line && bot == maxy) {
33152         GoTo(top, 0);
33153         UpdateAttrs(AttrOf(blank));
33154         for (i = 0; i < n; i++) {
33155             TPUTS_TRACE("insert_line");
33156 -           tputs(insert_line, 0, _nc_outch);
33157 +           putp(insert_line);
33158         }
33159      } else
33160         return ERR;
33161 @@ -1596,14 +1626,14 @@
33162      UpdateAttrs(AttrOf(blank));
33163      if (n == 1 && delete_line) {
33164         TPUTS_TRACE("delete_line");
33165 -       tputs(delete_line, 0, _nc_outch);
33166 +       putp(delete_line);
33167      } else if (parm_delete_line) {
33168         TPUTS_TRACE("parm_delete_line");
33169         tputs(tparm(parm_delete_line, n, 0), n, _nc_outch);
33170      } else {                   /* if (delete_line) */
33171         for (i = 0; i < n; i++) {
33172             TPUTS_TRACE("delete_line");
33173 -           tputs(delete_line, 0, _nc_outch);
33174 +           putp(delete_line);
33175         }
33176      }
33177  
33178 @@ -1611,20 +1641,28 @@
33179      UpdateAttrs(AttrOf(blank));
33180      if (n == 1 && insert_line) {
33181         TPUTS_TRACE("insert_line");
33182 -       tputs(insert_line, 0, _nc_outch);
33183 +       putp(insert_line);
33184      } else if (parm_insert_line) {
33185         TPUTS_TRACE("parm_insert_line");
33186         tputs(tparm(parm_insert_line, n, 0), n, _nc_outch);
33187      } else {                   /* if (insert_line) */
33188         for (i = 0; i < n; i++) {
33189             TPUTS_TRACE("insert_line");
33190 -           tputs(insert_line, 0, _nc_outch);
33191 +           putp(insert_line);
33192         }
33193      }
33194  
33195      return OK;
33196  }
33197  
33198 +/*
33199 + * Note:  some terminals require the cursor to be within the scrolling margins
33200 + * before setting them.  Generally, the cursor must be at the appropriate end
33201 + * of the scrolling margins when issuing an indexing operation (it is not
33202 + * apparent whether it must also be at the left margin; we do this just to be
33203 + * safe).  To make the related cursor movement a little faster, we use the
33204 + * save/restore cursor capabilities if the terminal has them.
33205 + */
33206  NCURSES_EXPORT(int)
33207  _nc_scrolln(int n, int top, int bot, int maxy)
33208  /* scroll region from top to bot by n lines */
33209 @@ -1658,13 +1696,13 @@
33210                 && save_cursor && restore_cursor) {
33211                 cursor_saved = TRUE;
33212                 TPUTS_TRACE("save_cursor");
33213 -               tputs(save_cursor, 0, _nc_outch);
33214 +               putp(save_cursor);
33215             }
33216             TPUTS_TRACE("change_scroll_region");
33217 -           tputs(tparm(change_scroll_region, top, bot), 0, _nc_outch);
33218 +           putp(tparm(change_scroll_region, top, bot));
33219             if (cursor_saved) {
33220                 TPUTS_TRACE("restore_cursor");
33221 -               tputs(restore_cursor, 0, _nc_outch);
33222 +               putp(restore_cursor);
33223             } else {
33224                 SP->_cursrow = SP->_curscol = -1;
33225             }
33226 @@ -1672,7 +1710,7 @@
33227             res = scroll_csr_forward(n, top, bot, top, bot, blank);
33228  
33229             TPUTS_TRACE("change_scroll_region");
33230 -           tputs(tparm(change_scroll_region, 0, maxy), 0, _nc_outch);
33231 +           putp(tparm(change_scroll_region, 0, maxy));
33232             SP->_cursrow = SP->_curscol = -1;
33233         }
33234  
33235 @@ -1686,7 +1724,7 @@
33236             && (non_dest_scroll_region || (memory_below && bot == maxy))) {
33237             NCURSES_CH_T blank2 = NewChar(BLANK_TEXT);
33238             if (bot == maxy && clr_eos) {
33239 -               GoTo(bot - n, 0);
33240 +               GoTo(bot - n + 1, 0);
33241                 ClrToEOS(blank2);
33242             } else {
33243                 for (i = 0; i < n; i++) {
33244 @@ -1704,13 +1742,13 @@
33245                 && save_cursor && restore_cursor) {
33246                 cursor_saved = TRUE;
33247                 TPUTS_TRACE("save_cursor");
33248 -               tputs(save_cursor, 0, _nc_outch);
33249 +               putp(save_cursor);
33250             }
33251             TPUTS_TRACE("change_scroll_region");
33252 -           tputs(tparm(change_scroll_region, top, bot), 0, _nc_outch);
33253 +           putp(tparm(change_scroll_region, top, bot));
33254             if (cursor_saved) {
33255                 TPUTS_TRACE("restore_cursor");
33256 -               tputs(restore_cursor, 0, _nc_outch);
33257 +               putp(restore_cursor);
33258             } else {
33259                 SP->_cursrow = SP->_curscol = -1;
33260             }
33261 @@ -1718,7 +1756,7 @@
33262             res = scroll_csr_backward(-n, top, bot, top, bot, blank);
33263  
33264             TPUTS_TRACE("change_scroll_region");
33265 -           tputs(tparm(change_scroll_region, 0, maxy), 0, _nc_outch);
33266 +           putp(tparm(change_scroll_region, 0, maxy));
33267             SP->_cursrow = SP->_curscol = -1;
33268         }
33269  
33270 @@ -1811,8 +1849,6 @@
33271         SP->_default_color = FALSE;
33272  
33273         mvcur(SP->_cursrow, SP->_curscol, screen_lines - 1, 0);
33274 -       SP->_cursrow = screen_lines - 1;
33275 -       SP->_curscol = 0;
33276  
33277         ClrToEOL(blank, TRUE);
33278      }
33279 diff -urNd -urNd ncurses-5.3/ncurses/widechar/charable.c ncurses-5.3.20030906.orig/ncurses/widechar/charable.c
33280 --- ncurses-5.3/ncurses/widechar/charable.c     Wed Dec 31 18:00:00 1969
33281 +++ ncurses-5.3.20030906.orig/ncurses/widechar/charable.c       Sun Jul 20 14:02:09 2003
33282 @@ -0,0 +1,77 @@
33283 +/****************************************************************************
33284 + * Copyright (c) 2003 Free Software Foundation, Inc.                        *
33285 + *                                                                          *
33286 + * Permission is hereby granted, free of charge, to any person obtaining a  *
33287 + * copy of this software and associated documentation files (the            *
33288 + * "Software"), to deal in the Software without restriction, including      *
33289 + * without limitation the rights to use, copy, modify, merge, publish,      *
33290 + * distribute, distribute with modifications, sublicense, and/or sell       *
33291 + * copies of the Software, and to permit persons to whom the Software is    *
33292 + * furnished to do so, subject to the following conditions:                 *
33293 + *                                                                          *
33294 + * The above copyright notice and this permission notice shall be included  *
33295 + * in all copies or substantial portions of the Software.                   *
33296 + *                                                                          *
33297 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
33298 + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
33299 + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
33300 + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
33301 + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
33302 + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
33303 + * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
33304 + *                                                                          *
33305 + * Except as contained in this notice, the name(s) of the above copyright   *
33306 + * holders shall not be used in advertising or otherwise to promote the     *
33307 + * sale, use or other dealings in this Software without prior written       *
33308 + * authorization.                                                           *
33309 + ****************************************************************************/
33310 +
33311 +/*
33312 +**     Support functions for wide/narrow conversion.
33313 +*/
33314 +
33315 +#include <curses.priv.h>
33316 +
33317 +MODULE_ID("$Id: charable.c,v 1.2 2003/07/05 18:04:08 tom Exp $")
33318 +
33319 +NCURSES_EXPORT(bool) _nc_is_charable(wchar_t ch)
33320 +{
33321 +    bool result;
33322 +#if HAVE_WCTOB
33323 +    result = (wctob(ch) == ch);
33324 +#else
33325 +    result = (_nc_to_char(ch) >= 0);
33326 +#endif
33327 +    return result;
33328 +}
33329 +
33330 +NCURSES_EXPORT(int) _nc_to_char(wint_t ch)
33331 +{
33332 +    int result;
33333 +#if HAVE_WCTOB
33334 +    result = wctob(ch);
33335 +#elif HAVE_WCTOMB
33336 +    char temp[MB_LEN_MAX];
33337 +    result = wctomb(temp, ch);
33338 +    if (strlen(temp) == 1)
33339 +       result = UChar(temp[0]);
33340 +    else
33341 +       result = -1;
33342 +#endif
33343 +    return result;
33344 +}
33345 +
33346 +NCURSES_EXPORT(wint_t) _nc_to_widechar(int ch)
33347 +{
33348 +    wint_t result;
33349 +#if HAVE_BTOWC
33350 +    result = btowc(ch);
33351 +#elif HAVE_MBTOWC
33352 +    char temp[2];
33353 +    temp[0] = ch;
33354 +    temp[1] = '\0';
33355 +    if (mbtowc((wchar_t *) (&result), temp, 1) != 1)
33356 +       result = WEOF;
33357 +#endif
33358 +    return result;
33359 +}
33360 diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_cchar.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_cchar.c
33361 --- ncurses-5.3/ncurses/widechar/lib_cchar.c    Sat Aug 10 17:27:37 2002
33362 +++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_cchar.c      Sun Jul 20 14:02:08 2003
33363 @@ -1,5 +1,5 @@
33364  /****************************************************************************
33365 - * Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
33366 + * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
33367   *                                                                          *
33368   * Permission is hereby granted, free of charge, to any person obtaining a  *
33369   * copy of this software and associated documentation files (the            *
33370 @@ -35,7 +35,7 @@
33371  
33372  #include <curses.priv.h>
33373  
33374 -MODULE_ID("$Id: lib_cchar.c,v 1.6 2002/08/10 22:27:37 tom Exp $")
33375 +MODULE_ID("$Id: lib_cchar.c,v 1.8 2003/05/25 00:07:41 tom Exp $")
33376  
33377  /* 
33378   * The SuSv2 description leaves some room for interpretation.  We'll assume wch
33379 @@ -55,26 +55,28 @@
33380                       wcval, _nc_viswbuf(wch), attrs, color_pair, opts));
33381  
33382      if (opts != NULL || (len = wcslen(wch)) > CCHARW_MAX
33383 -       || (len > 0 && wcwidth(wch[0]) < 0)) {
33384 +       || (len > 1 && wcwidth(wch[0]) < 0)) {
33385         code = ERR;
33386      } else {
33387  
33388 +       /*
33389 +        * If we have a following spacing-character, stop at that point.  We
33390 +        * are only interested in adding non-spacing characters.
33391 +        */
33392         for (i = 1; i < len; ++i) {
33393             if (wcwidth(wch[i]) != 0) {
33394 -               code = ERR;
33395 +               len = i;
33396                 break;
33397             }
33398         }
33399  
33400 -       if (code != ERR) {
33401 -           memset(wcval, 0, sizeof(*wcval));
33402 +       memset(wcval, 0, sizeof(*wcval));
33403  
33404 -           if (len != 0) {
33405 -               SetAttr(*wcval, attrs | color_pair);
33406 -               memcpy(&wcval->chars, wch, len * sizeof(wchar_t));
33407 -               TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len,
33408 -                                 _tracecchar_t(wcval)));
33409 -           }
33410 +       if (len != 0) {
33411 +           SetAttr(*wcval, attrs | color_pair);
33412 +           memcpy(&wcval->chars, wch, len * sizeof(wchar_t));
33413 +           TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len,
33414 +                             _tracecchar_t(wcval)));
33415         }
33416      }
33417  
33418 @@ -100,6 +102,8 @@
33419  
33420         if (wch == NULL) {
33421             code = len;
33422 +       } else if (attrs == 0 || color_pair == 0) {
33423 +           code = ERR;
33424         } else if (len >= 0) {
33425             *attrs = AttrOf(*wcval);
33426             *color_pair = AttrOf(*wcval) & A_COLOR;
33427 diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_get_wstr.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_get_wstr.c
33428 --- ncurses-5.3/ncurses/widechar/lib_get_wstr.c Sat Jul 20 14:28:29 2002
33429 +++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_get_wstr.c   Sun Jul 20 14:02:08 2003
33430 @@ -1,5 +1,5 @@
33431  /****************************************************************************
33432 - * Copyright (c) 2002 Free Software Foundation, Inc.                        *
33433 + * Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
33434   *                                                                          *
33435   * Permission is hereby granted, free of charge, to any person obtaining a  *
33436   * copy of this software and associated documentation files (the            *
33437 @@ -40,7 +40,7 @@
33438  #include <curses.priv.h>
33439  #include <term.h>
33440  
33441 -MODULE_ID("$Id: lib_get_wstr.c,v 1.4 2002/07/20 19:28:29 tom Exp $")
33442 +MODULE_ID("$Id: lib_get_wstr.c,v 1.6 2003/05/17 21:33:03 tom Exp $")
33443  
33444  /*
33445   * This wipes out the last character, no matter whether it was a tab, control
33446 @@ -109,6 +109,25 @@
33447         wrefresh(win);
33448  
33449      while ((code = wget_wch(win, &ch)) != ERR) {
33450 +       /*
33451 +        * Map special characters into key-codes.
33452 +        */
33453 +       if (ch == '\r')
33454 +           ch = '\n';
33455 +       if (ch == '\n') {
33456 +           code = KEY_CODE_YES;
33457 +           ch = KEY_ENTER;
33458 +       }
33459 +       if (ch < KEY_MIN) {
33460 +           if (ch == erasec) {
33461 +               ch = KEY_BACKSPACE;
33462 +               code = KEY_CODE_YES;
33463 +           }
33464 +           if (ch == killc) {
33465 +               ch = KEY_EOL;
33466 +               code = KEY_CODE_YES;
33467 +           }
33468 +       }
33469         if (code == KEY_CODE_YES) {
33470             /*
33471              * Some terminals (the Wyse-50 is the most common) generate a \n
33472 @@ -116,21 +135,18 @@
33473              * choice whether to set kcud=\n for wget_wch(); terminating
33474              * *getn_wstr() with \n should work either way.
33475              */
33476 -           if (ch == '\n'
33477 -               || ch == '\r'
33478 -               || ch == KEY_DOWN
33479 -               || ch == KEY_ENTER) {
33480 +           if (ch == KEY_DOWN || ch == KEY_ENTER) {
33481                 if (oldecho == TRUE
33482                     && win->_cury == win->_maxy
33483                     && win->_scroll)
33484                     wechochar(win, (chtype) '\n');
33485                 break;
33486             }
33487 -           if (ch == erasec || ch == KEY_LEFT || ch == KEY_BACKSPACE) {
33488 +           if (ch == KEY_LEFT || ch == KEY_BACKSPACE) {
33489                 if (tmpstr > oldstr) {
33490                     tmpstr = WipeOut(win, y, x, oldstr, tmpstr, oldecho);
33491                 }
33492 -           } else if (ch == killc) {
33493 +           } else if (ch == KEY_EOL) {
33494                 while (tmpstr > oldstr) {
33495                     tmpstr = WipeOut(win, y, x, oldstr, tmpstr, oldecho);
33496                 }
33497 @@ -141,6 +157,7 @@
33498             beep();
33499         } else {
33500             *tmpstr++ = ch;
33501 +           *tmpstr = 0;
33502             if (oldecho == TRUE) {
33503                 int oldy = win->_cury;
33504                 cchar_t tmp;
33505 @@ -193,7 +210,7 @@
33506      *tmpstr = 0;
33507      if (code == ERR) {
33508         if (tmpstr == oldstr) {
33509 -           *tmpstr++ = (wchar_t)WEOF;
33510 +           *tmpstr++ = (wchar_t) WEOF;
33511             *tmpstr = 0;
33512         }
33513         returnCode(ERR);
33514 diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_ins_wch.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_ins_wch.c
33515 --- ncurses-5.3/ncurses/widechar/lib_ins_wch.c  Sun Mar 10 16:25:06 2002
33516 +++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_ins_wch.c    Tue May 13 20:08:22 2003
33517 @@ -1,5 +1,5 @@
33518  /****************************************************************************
33519 - * Copyright (c) 2002 Free Software Foundation, Inc.                        *
33520 + * Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
33521   *                                                                          *
33522   * Permission is hereby granted, free of charge, to any person obtaining a  *
33523   * copy of this software and associated documentation files (the            *
33524 @@ -39,16 +39,16 @@
33525  
33526  #include <curses.priv.h>
33527  
33528 -MODULE_ID("$Id: lib_ins_wch.c,v 1.1 2002/03/10 22:25:06 tom Exp $")
33529 +MODULE_ID("$Id: lib_ins_wch.c,v 1.3 2003/03/29 21:52:29 tom Exp $")
33530  
33531 -NCURSES_EXPORT(int)
33532 -wins_wch(WINDOW *win, const cchar_t * wch)
33533 +/*
33534 + * Insert the given character, updating the current location to simplify
33535 + * inserting a string.
33536 + */
33537 +static void
33538 +_nc_insert_wch(WINDOW *win, const cchar_t * wch)
33539  {
33540 -    int code = ERR;
33541 -
33542 -    T((T_CALLED("wins_wch(%p, %s)"), win, _tracecchar_t(wch)));
33543 -
33544 -    if (win) {
33545 +    if (win->_curx <= win->_maxx) {
33546         struct ldat *line = &(win->_line[win->_cury]);
33547         NCURSES_CH_T *end = &(line->text[win->_curx]);
33548         NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
33549 @@ -59,6 +59,71 @@
33550             *temp1-- = *temp2--;
33551  
33552         *temp1 = _nc_render(win, *wch);
33553 +
33554 +       win->_curx++;
33555 +    }
33556 +}
33557 +
33558 +NCURSES_EXPORT(int)
33559 +wins_wch(WINDOW *win, const cchar_t * wch)
33560 +{
33561 +    NCURSES_SIZE_T oy;
33562 +    NCURSES_SIZE_T ox;
33563 +    int code = ERR;
33564 +
33565 +    T((T_CALLED("wins_wch(%p, %s)"), win, _tracecchar_t(wch)));
33566 +
33567 +    if (win != 0) {
33568 +       oy = win->_cury;
33569 +       ox = win->_curx;
33570 +
33571 +       _nc_insert_wch(win, wch);
33572 +
33573 +       win->_curx = ox;
33574 +       win->_cury = oy;
33575 +       _nc_synchook(win);
33576 +       code = OK;
33577 +    }
33578 +    returnCode(code);
33579 +}
33580 +
33581 +NCURSES_EXPORT(int)
33582 +wins_nwstr(WINDOW *win, const wchar_t * wstr, int n)
33583 +{
33584 +    int code = ERR;
33585 +    NCURSES_SIZE_T oy;
33586 +    NCURSES_SIZE_T ox;
33587 +    const wchar_t *cp;
33588 +
33589 +    T((T_CALLED("wins_nwstr(%p,%s,%d)"), win, _nc_viswbufn(wstr, n), n));
33590 +
33591 +    if (win != 0
33592 +       && wstr != 0) {
33593 +       if (n < 1)
33594 +           n = wcslen(wstr);
33595 +       if (n > 0) {
33596 +           oy = win->_cury;
33597 +           ox = win->_curx;
33598 +           for (cp = wstr; *cp && ((cp - wstr) < n); cp++) {
33599 +               if (wcwidth(*cp) > 1) {
33600 +                   cchar_t tmp_cchar;
33601 +                   wchar_t tmp_wchar = *cp;
33602 +                   memset(&tmp_cchar, 0, sizeof(tmp_cchar));
33603 +                   (void) setcchar(&tmp_cchar,
33604 +                                   &tmp_wchar,
33605 +                                   WA_NORMAL,
33606 +                                   0,
33607 +                                   (void *) 0);
33608 +                   _nc_insert_wch(win, &tmp_cchar);
33609 +               } else {
33610 +                   _nc_insert_ch(win, *cp);    /* tabs, other ASCII stuff */
33611 +               }
33612 +           }
33613 +
33614 +           win->_curx = ox;
33615 +           win->_cury = oy;
33616 +           _nc_synchook(win);
33617 +       }
33618         code = OK;
33619      }
33620      returnCode(code);
33621 diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_slk_wset.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_slk_wset.c
33622 --- ncurses-5.3/ncurses/widechar/lib_slk_wset.c Wed Dec 31 18:00:00 1969
33623 +++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_slk_wset.c   Sun Jul 20 14:02:08 2003
33624 @@ -0,0 +1,146 @@
33625 +/****************************************************************************
33626 + * Copyright (c) 2003 Free Software Foundation, Inc.                        *
33627 + *                                                                          *
33628 + * Permission is hereby granted, free of charge, to any person obtaining a  *
33629 + * copy of this software and associated documentation files (the            *
33630 + * "Software"), to deal in the Software without restriction, including      *
33631 + * without limitation the rights to use, copy, modify, merge, publish,      *
33632 + * distribute, distribute with modifications, sublicense, and/or sell       *
33633 + * copies of the Software, and to permit persons to whom the Software is    *
33634 + * furnished to do so, subject to the following conditions:                 *
33635 + *                                                                          *
33636 + * The above copyright notice and this permission notice shall be included  *
33637 + * in all copies or substantial portions of the Software.                   *
33638 + *                                                                          *
33639 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
33640 + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
33641 + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
33642 + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
33643 + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
33644 + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
33645 + * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
33646 + *                                                                          *
33647 + * Except as contained in this notice, the name(s) of the above copyright   *
33648 + * holders shall not be used in advertising or otherwise to promote the     *
33649 + * sale, use or other dealings in this Software without prior written       *
33650 + * authorization.                                                           *
33651 + ****************************************************************************/
33652 +
33653 +/****************************************************************************
33654 + *  Author: Thomas E. Dickey, 2003                                          *
33655 + ****************************************************************************/
33656 +
33657 +/*
33658 + *     lib_slk_wset.c
33659 + *      Set soft label text.
33660 + */
33661 +#include <curses.priv.h>
33662 +#include <wctype.h>
33663 +
33664 +MODULE_ID("$Id: lib_slk_wset.c,v 1.4 2003/06/07 22:17:43 tom Exp $")
33665 +
33666 +NCURSES_EXPORT(int)
33667 +slk_wset(int i, const wchar_t * astr, int format)
33668 +{
33669 +    static wchar_t empty[] =
33670 +    {L'\0'};
33671 +    int result = ERR;
33672 +    SLK *slk = SP->_slk;
33673 +    int offset;
33674 +    size_t arglen;
33675 +    const wchar_t *p;
33676 +
33677 +    T((T_CALLED("slk_wset(%d, %s, %d)"), i, _nc_viswbuf(astr), format));
33678 +
33679 +    if (astr == 0)
33680 +       astr = empty;
33681 +    arglen = wcslen(astr);
33682 +    while (iswspace(*astr)) {
33683 +       --arglen;
33684 +       ++astr;                 /* skip over leading spaces  */
33685 +    }
33686 +    p = astr;
33687 +    while (iswprint(*p))
33688 +       p++;                    /* The first non-print stops */
33689 +
33690 +    arglen = (size_t) (p - astr);
33691 +
33692 +    if (slk != NULL &&
33693 +       i >= 1 &&
33694 +       i <= slk->labcnt &&
33695 +       format >= 0 &&
33696 +       format <= 2) {
33697 +       char *new_text;
33698 +       size_t n;
33699 +       size_t used = 0;
33700 +       int mycols;
33701 +       mbstate_t state;
33702 +
33703 +       --i;                    /* Adjust numbering of labels */
33704 +
33705 +       /*
33706 +        * Reduce the actual number of columns to fit in the label field.
33707 +        */
33708 +       while (arglen != 0 && wcswidth(astr, arglen) > slk->maxlen) {
33709 +           --arglen;
33710 +       }
33711 +       mycols = wcswidth(astr, arglen);
33712 +
33713 +       /*
33714 +        * translate the wide-character string to multibyte form.
33715 +        */
33716 +       memset(&state, 0, sizeof(state));
33717 +
33718 +       if ((new_text = (char *) _nc_doalloc(0, MB_LEN_MAX * arglen)) == 0)
33719 +           returnCode(ERR);
33720 +
33721 +       for (n = 0; n < arglen; ++n) {
33722 +           used += wcrtomb(new_text + used, astr[n], &state);
33723 +       }
33724 +       new_text[used] = '\0';
33725 +
33726 +       if (used >= (size_t) (slk->maxlen + 1)) {
33727 +           if ((slk->ent[i].ent_text = (char *) _nc_doalloc(slk->ent[i].ent_text,
33728 +                                                            used + 1)) == 0)
33729 +               returnCode(ERR);
33730 +           if ((slk->ent[i].form_text = (char *) _nc_doalloc(slk->ent[i].form_text,
33731 +                                                             used + 1)) == 0)
33732 +               returnCode(ERR);
33733 +       }
33734 +
33735 +       (void) strcpy(slk->ent[i].ent_text, new_text);
33736 +       free(new_text);
33737 +
33738 +       sprintf(slk->ent[i].form_text, "%*s", (size_t) slk->maxlen, " ");
33739 +
33740 +       switch (format) {
33741 +       default:
33742 +       case 0:         /* left-aligned */
33743 +           offset = 0;
33744 +           break;
33745 +       case 1:         /* centered */
33746 +           offset = (slk->maxlen - mycols) / 2;
33747 +           break;
33748 +       case 2:         /* right-aligned */
33749 +           offset = slk->maxlen - mycols;
33750 +           break;
33751 +       }
33752 +       if (offset < 0)
33753 +           offset = 0;
33754 +       strcpy(slk->ent[i].form_text + offset,
33755 +              slk->ent[i].ent_text);
33756 +       /*
33757 +        * Pad the display with blanks on the right, unless it is already
33758 +        * right-aligned.
33759 +        */
33760 +       if (format != 2 && mycols < slk->maxlen) {
33761 +           sprintf(slk->ent[i].form_text + offset + used,
33762 +                   "%*s",
33763 +                   slk->maxlen - (mycols - offset),
33764 +                   " ");
33765 +       }
33766 +       slk->ent[i].dirty = TRUE;
33767 +       result = OK;
33768 +    }
33769 +    returnCode(result);
33770 +}
33771 diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_unget_wch.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_unget_wch.c
33772 --- ncurses-5.3/ncurses/widechar/lib_unget_wch.c        Sat Jun 29 16:11:02 2002
33773 +++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_unget_wch.c  Sun Jul 20 14:02:09 2003
33774 @@ -1,5 +1,5 @@
33775  /****************************************************************************
33776 - * Copyright (c) 2002 Free Software Foundation, Inc.                        *
33777 + * Copyright (c) 2002,2003 Free Software Foundation, Inc.                        *
33778   *                                                                          *
33779   * Permission is hereby granted, free of charge, to any person obtaining a  *
33780   * copy of this software and associated documentation files (the            *
33781 @@ -39,7 +39,7 @@
33782  
33783  #include <curses.priv.h>
33784  
33785 -MODULE_ID("$Id: lib_unget_wch.c,v 1.3 2002/06/29 21:11:02 tom Exp $")
33786 +MODULE_ID("$Id: lib_unget_wch.c,v 1.5 2003/07/05 19:46:51 tom Exp $")
33787  
33788  NCURSES_EXPORT(int)
33789  unget_wch(const wchar_t wch)
33790 @@ -49,25 +49,29 @@
33791      size_t length;
33792      int n;
33793  
33794 -    T((T_CALLED("unget_wch(%#lx)"), wch));
33795 +    T((T_CALLED("unget_wch(%#lx)"), (unsigned long) wch));
33796  
33797      memset(&state, 0, sizeof(state));
33798      length = wcrtomb(0, wch, &state);
33799  
33800      if (length != (size_t) (-1)
33801         && length != 0) {
33802 -       char *string = malloc(length);
33803 +       char *string;
33804  
33805 -       memset(&state, 0, sizeof(state));
33806 -       wcrtomb(string, wch, &state);
33807 +       if ((string = (char *) malloc(length)) != 0) {
33808 +           memset(&state, 0, sizeof(state));
33809 +           wcrtomb(string, wch, &state);
33810  
33811 -       for (n = (int) (length - 1); n >= 0; --n) {
33812 -           if (ungetch(string[n]) != OK) {
33813 -               result = ERR;
33814 -               break;
33815 +           for (n = (int) (length - 1); n >= 0; --n) {
33816 +               if (ungetch(string[n]) != OK) {
33817 +                   result = ERR;
33818 +                   break;
33819 +               }
33820             }
33821 +           free(string);
33822 +       } else {
33823 +           result = ERR;
33824         }
33825 -       free(string);
33826      } else {
33827         result = ERR;
33828      }
33829 diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_wacs.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_wacs.c
33830 --- ncurses-5.3/ncurses/widechar/lib_wacs.c     Sat Aug 31 14:44:17 2002
33831 +++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_wacs.c       Tue May 13 20:08:22 2003
33832 @@ -33,23 +33,10 @@
33833  #include <curses.priv.h>
33834  #include <term.h>
33835  
33836 -MODULE_ID("$Id: lib_wacs.c,v 1.5 2002/08/31 19:44:17 tom Exp $")
33837 +MODULE_ID("$Id: lib_wacs.c,v 1.6 2002/12/21 12:30:19 tom Exp $")
33838  
33839  NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0;
33840  
33841 -static int
33842 -_nc_unicode_locale(void)
33843 -{
33844 -    char *s;
33845 -    if (((s = getenv("LC_ALL")) != 0 && *s != '\0')
33846 -       || ((s = getenv("LC_ALL")) != 0 && *s != '\0')
33847 -       || ((s = getenv("LC_ALL")) != 0 && *s != '\0')) {
33848 -       if (strstr(s, ".UTF-8") != 0)
33849 -           return 1;
33850 -    }
33851 -    return 0;
33852 -}
33853 -
33854  NCURSES_EXPORT(void)
33855  _nc_init_wacs(void)
33856  {
33857 diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_wunctrl.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_wunctrl.c
33858 --- ncurses-5.3/ncurses/widechar/lib_wunctrl.c  Sat Sep 22 14:18:02 2001
33859 +++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_wunctrl.c    Sun Jul 20 14:02:09 2003
33860 @@ -1,5 +1,5 @@
33861  /****************************************************************************
33862 - * Copyright (c) 2001 Free Software Foundation, Inc.                        *
33863 + * Copyright (c) 2001,2003 Free Software Foundation, Inc.                   *
33864   *                                                                          *
33865   * Permission is hereby granted, free of charge, to any person obtaining a  *
33866   * copy of this software and associated documentation files (the            *
33867 @@ -37,7 +37,7 @@
33868  
33869  #if USE_WIDEC_SUPPORT
33870  
33871 -MODULE_ID("$Id: lib_wunctrl.c,v 1.6 2001/09/22 19:18:02 tom Exp $")
33872 +MODULE_ID("$Id: lib_wunctrl.c,v 1.7 2003/07/05 17:01:43 tom Exp $")
33873  
33874  NCURSES_EXPORT(wchar_t *)
33875  wunctrl(cchar_t * wc)
33876 @@ -46,8 +46,8 @@
33877  
33878      if (Charable(*wc)) {
33879         const char *p;
33880 -       for (p = unctrl(wctob(CharOf(*wc))), sp = str; *p;)
33881 -           *sp++ = btowc(*p++);
33882 +       for (p = unctrl(_nc_to_char(CharOf(*wc))), sp = str; *p;)
33883 +           *sp++ = _nc_to_widechar(*p++);
33884         return str;
33885      } else
33886         return wc->chars;
33887 diff -urNd -urNd ncurses-5.3/panel/Makefile.in ncurses-5.3.20030906.orig/panel/Makefile.in
33888 --- ncurses-5.3/panel/Makefile.in       Sat Jan 19 18:41:18 2002
33889 +++ ncurses-5.3.20030906.orig/panel/Makefile.in Fri Sep 12 16:42:40 2003
33890 @@ -1,6 +1,6 @@
33891 -# $Id: Makefile.in,v 1.41 2002/01/20 00:41:18 tom Exp $
33892 +# $Id: Makefile.in,v 1.45 2003/08/23 23:26:21 tom Exp $
33893  ##############################################################################
33894 -# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
33895 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
33896  #                                                                            #
33897  # Permission is hereby granted, free of charge, to any person obtaining a    #
33898  # copy of this software and associated documentation files (the "Software"), #
33899 @@ -27,7 +27,7 @@
33900  # authorization.                                                             #
33901  ##############################################################################
33902  #
33903 -# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
33904 +# Author: Thomas E. Dickey 1996-2002
33905  #
33906  # Makefile for panels source code.
33907  #
33908 @@ -56,6 +56,11 @@
33909  datadir                = @datadir@
33910  
33911  LIBTOOL                = @LIBTOOL@
33912 +LIBTOOL_CLEAN  = @LIB_CLEAN@
33913 +LIBTOOL_COMPILE        = @LIB_COMPILE@
33914 +LIBTOOL_LINK   = @LIB_LINK@
33915 +LIBTOOL_INSTALL        = @LIB_INSTALL@
33916 +LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
33917  
33918  INSTALL                = @INSTALL@
33919  INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
33920 @@ -72,8 +77,7 @@
33921  CPP            = @CPP@
33922  CFLAGS         = @CFLAGS@
33923  
33924 -CPPFLAGS       = @CPPFLAGS@ -I@top_srcdir@/ncurses \
33925 -                 -DHAVE_CONFIG_H
33926 +CPPFLAGS       = -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@
33927  
33928  CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
33929  
33930 @@ -85,7 +89,7 @@
33931  
33932  CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
33933  
33934 -LINK           = $(LIBTOOL) $(CC)
33935 +LINK           = $(LIBTOOL_LINK) $(CC)
33936  LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
33937  
33938  SHLIB_DIRS     = -L../lib
33939 @@ -98,7 +102,7 @@
33940  REL_VERSION    = @cf_cv_rel_version@
33941  ABI_VERSION    = @cf_cv_abi_version@
33942  
33943 -RANLIB         = @RANLIB@
33944 +RANLIB         = @LIB_PREP@
33945  
33946  IMPORT_LIB     = @IMPORT_LIB@
33947  SHARED_LIB     = @SHARED_LIB@
33948 diff -urNd -urNd ncurses-5.3/progs/MKtermsort.sh ncurses-5.3.20030906.orig/progs/MKtermsort.sh
33949 --- ncurses-5.3/progs/MKtermsort.sh     Sat Jun 29 15:02:48 2002
33950 +++ ncurses-5.3.20030906.orig/progs/MKtermsort.sh       Tue May 13 20:08:22 2003
33951 @@ -1,10 +1,10 @@
33952  #!/bin/sh
33953 -# $Id: MKtermsort.sh,v 1.8 2002/06/29 20:02:48 tom Exp $
33954 +# $Id: MKtermsort.sh,v 1.9 2003/01/11 22:23:50 tom Exp $
33955  #
33956  # MKtermsort.sh -- generate indirection vectors for the various sort methods
33957  #
33958  ##############################################################################
33959 -# Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.                #
33960 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
33961  #                                                                            #
33962  # Permission is hereby granted, free of charge, to any person obtaining a    #
33963  # copy of this software and associated documentation files (the "Software"), #
33964 @@ -47,7 +47,7 @@
33965  
33966  data=data$$
33967  trap 'rm -f $data' 1 2 5 15
33968 -sed -e 's/[    ]\+/    /g' < $DATA >$data
33969 +sed -e 's/[    ][      ]*/     /g' < $DATA >$data
33970  DATA=$data
33971  
33972  echo "/*";
33973 diff -urNd -urNd ncurses-5.3/progs/Makefile.in ncurses-5.3.20030906.orig/progs/Makefile.in
33974 --- ncurses-5.3/progs/Makefile.in       Sat Dec  8 12:48:01 2001
33975 +++ ncurses-5.3.20030906.orig/progs/Makefile.in Fri Sep 12 16:42:40 2003
33976 @@ -1,6 +1,6 @@
33977 -# $Id: Makefile.in,v 1.56 2001/12/08 18:48:01 tom Exp $
33978 +# $Id: Makefile.in,v 1.60 2003/08/30 21:22:14 tom Exp $
33979  ##############################################################################
33980 -# Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.           #
33981 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
33982  #                                                                            #
33983  # Permission is hereby granted, free of charge, to any person obtaining a    #
33984  # copy of this software and associated documentation files (the "Software"), #
33985 @@ -27,7 +27,7 @@
33986  # authorization.                                                             #
33987  ##############################################################################
33988  #
33989 -# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
33990 +# Author: Thomas E. Dickey 1996-2003
33991  #
33992  # Makefile for ncurses source code.
33993  #
33994 @@ -60,6 +60,11 @@
33995  datadir                = @datadir@
33996  
33997  LIBTOOL                = @LIBTOOL@
33998 +LIBTOOL_CLEAN  = @LIB_CLEAN@
33999 +LIBTOOL_COMPILE        = @LIB_COMPILE@
34000 +LIBTOOL_LINK   = @LIB_LINK@
34001 +LIBTOOL_INSTALL        = @LIB_INSTALL@
34002 +LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
34003  
34004  INSTALL                = @INSTALL@
34005  INSTALL_PROGRAM        = @INSTALL_PROGRAM@
34006 @@ -73,8 +78,7 @@
34007  CFLAGS         = @CFLAGS@
34008  
34009  INCDIR         = $(srcdir)/../include
34010 -CPPFLAGS       = -I../progs -I$(srcdir) @CPPFLAGS@ \
34011 -                 -DHAVE_CONFIG_H
34012 +CPPFLAGS       = -I../progs -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
34013  
34014  CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
34015  
34016 @@ -87,15 +91,15 @@
34017  CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
34018  
34019  LD             = @LD@
34020 -LINK           = @LINK_PROGS@ $(LIBTOOL) $(CC)
34021 +LINK           = @LINK_PROGS@ $(LIBTOOL_LINK) $(CC)
34022  LDFLAGS                = @EXTRA_LDFLAGS@ \
34023                 @PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
34024  
34025 -LDFLAGS_LIBTOOL        = $(LDFLAGS)
34026 -LDFLAGS_NORMAL = $(LDFLAGS)
34027 -LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
34028 -LDFLAGS_PROFILE        = $(LDFLAGS) -pg
34029 -LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
34030 +LDFLAGS_LIBTOOL        = $(LDFLAGS) $(CFLAGS_LIBTOOL)
34031 +LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
34032 +LDFLAGS_DEBUG  = $(LDFLAGS) $(CFLAGS_DEBUG)
34033 +LDFLAGS_PROFILE        = $(LDFLAGS) $(CFLAGS_PROFILE) 
34034 +LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
34035  
34036  LDFLAGS_DEFAULT        = $(LDFLAGS_@DFT_UPR_MODEL@)
34037  
34038 @@ -150,31 +154,31 @@
34039         echo "#define PROG_INIT      \"$(actual_init)\""      >>$@
34040  
34041  install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir)
34042 -@MAKE_TERMINFO@        $(LIBTOOL) $(INSTALL_PROGRAM) tic$x     $(DESTDIR)$(bindir)/$(actual_tic)
34043 -@MAKE_TERMINFO@        $(LIBTOOL) $(INSTALL_PROGRAM) toe$x     $(DESTDIR)$(bindir)/$(actual_toe)
34044 +@MAKE_TERMINFO@        $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tic$x     $(DESTDIR)$(bindir)/$(actual_tic)
34045 +@MAKE_TERMINFO@        $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) toe$x     $(DESTDIR)$(bindir)/$(actual_toe)
34046  @MAKE_TERMINFO@        @echo "linking $(actual_infotocap) to $(actual_tic)"
34047  @MAKE_TERMINFO@        -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
34048  @MAKE_TERMINFO@        (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap))
34049  @MAKE_TERMINFO@        @echo "linking $(actual_captoinfo) to $(actual_tic)"
34050  @MAKE_TERMINFO@        -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
34051  @MAKE_TERMINFO@        (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo))
34052 -       $(LIBTOOL) $(INSTALL_PROGRAM) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
34053 -       $(LIBTOOL) $(INSTALL_PROGRAM) clear$x   $(DESTDIR)$(bindir)/$(actual_clear)
34054 -       $(LIBTOOL) $(INSTALL_PROGRAM) tput$x    $(DESTDIR)$(bindir)/$(actual_tput)
34055 -       $(LIBTOOL) $(INSTALL_PROGRAM) tset$x    $(DESTDIR)$(bindir)/$(actual_tset)
34056 +       $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
34057 +       $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) clear$x   $(DESTDIR)$(bindir)/$(actual_clear)
34058 +       $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tput$x    $(DESTDIR)$(bindir)/$(actual_tput)
34059 +       $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tset$x    $(DESTDIR)$(bindir)/$(actual_tset)
34060         @echo "linking $(actual_reset) to $(actual_tset)"
34061         -@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
34062         (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset))
34063  
34064  uninstall.progs:
34065 -@MAKE_TERMINFO@        -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tic)
34066 -@MAKE_TERMINFO@        -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_toe)
34067 +@MAKE_TERMINFO@        -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tic)
34068 +@MAKE_TERMINFO@        -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_toe)
34069  @MAKE_TERMINFO@        -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
34070  @MAKE_TERMINFO@        -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
34071 -       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
34072 -       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
34073 -       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
34074 -       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
34075 +       -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
34076 +       -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
34077 +       -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
34078 +       -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
34079         -@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
34080  
34081  $(DESTDIR)$(bindir) :
34082 @@ -225,7 +229,7 @@
34083         @ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_DEFAULT) -o $@
34084  
34085  termsort.c: $(srcdir)/MKtermsort.sh
34086 -       sh -c "$(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@" >$@
34087 +       sh $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@ >$@
34088  
34089  #
34090  # Utility productions start here
34091 diff -urNd -urNd ncurses-5.3/progs/dump_entry.c ncurses-5.3.20030906.orig/progs/dump_entry.c
34092 --- ncurses-5.3/progs/dump_entry.c      Sun Sep  1 12:54:43 2002
34093 +++ ncurses-5.3.20030906.orig/progs/dump_entry.c        Sun Jul 20 14:02:08 2003
34094 @@ -1,5 +1,5 @@
34095  /****************************************************************************
34096 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
34097 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
34098   *                                                                          *
34099   * Permission is hereby granted, free of charge, to any person obtaining a  *
34100   * copy of this software and associated documentation files (the            *
34101 @@ -39,7 +39,7 @@
34102  #include "termsort.c"          /* this C file is generated */
34103  #include <parametrized.h>      /* so is this */
34104  
34105 -MODULE_ID("$Id: dump_entry.c,v 1.64 2002/09/01 17:54:43 tom Exp $")
34106 +MODULE_ID("$Id: dump_entry.c,v 1.66 2003/05/24 22:43:59 tom Exp $")
34107  
34108  #define INDENT                 8
34109  #define DISCARD(string) string = ABSENT_STRING
34110 @@ -913,15 +913,23 @@
34111              */
34112             char *oldsgr = set_attributes;
34113             char *oldacsc = acs_chars;
34114 -           set_attributes = ABSENT_STRING;
34115 -           SHOW_WHY("# (sgr removed to fit entry within %d bytes)\n",
34116 -                    critlen);
34117 -           if ((len = FMT_ENTRY()) > critlen) {
34118 -               acs_chars = ABSENT_STRING;
34119 -               SHOW_WHY("# (acsc removed to fit entry within %d bytes)\n",
34120 +           bool changed = FALSE;
34121 +
34122 +           if (VALID_STRING(set_attributes)) {
34123 +               set_attributes = ABSENT_STRING;
34124 +               SHOW_WHY("# (sgr removed to fit entry within %d bytes)\n",
34125                          critlen);
34126 +               changed = TRUE;
34127             }
34128 -           if ((len = FMT_ENTRY()) > critlen) {
34129 +           if (!changed || ((len = FMT_ENTRY()) > critlen)) {
34130 +               if (VALID_STRING(acs_chars)) {
34131 +                   acs_chars = ABSENT_STRING;
34132 +                   SHOW_WHY("# (acsc removed to fit entry within %d bytes)\n",
34133 +                            critlen);
34134 +                   changed = TRUE;
34135 +               }
34136 +           }
34137 +           if (!changed || ((len = FMT_ENTRY()) > critlen)) {
34138                 int oldversion = tversion;
34139  
34140                 tversion = V_BSD;
34141 diff -urNd -urNd ncurses-5.3/progs/infocmp.c ncurses-5.3.20030906.orig/progs/infocmp.c
34142 --- ncurses-5.3/progs/infocmp.c Sat Oct  5 20:13:04 2002
34143 +++ ncurses-5.3.20030906.orig/progs/infocmp.c   Sun Jul 20 14:02:08 2003
34144 @@ -1,5 +1,5 @@
34145  /****************************************************************************
34146 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
34147 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
34148   *                                                                          *
34149   * Permission is hereby granted, free of charge, to any person obtaining a  *
34150   * copy of this software and associated documentation files (the            *
34151 @@ -41,7 +41,7 @@
34152  #include <term_entry.h>
34153  #include <dump_entry.h>
34154  
34155 -MODULE_ID("$Id: infocmp.c,v 1.68 2002/10/06 01:13:04 tom Exp $")
34156 +MODULE_ID("$Id: infocmp.c,v 1.70 2003/05/24 21:05:47 tom Exp $")
34157  
34158  #define L_CURL "{"
34159  #define R_CURL "}"
34160 @@ -120,7 +120,7 @@
34161   ***************************************************************************/
34162  
34163  static int
34164 -capcmp(int idx, const char *s, const char *t)
34165 +capcmp(unsigned idx, const char *s, const char *t)
34166  /* capability comparison function */
34167  {
34168      if (!VALID_STRING(s) && !VALID_STRING(t))
34169 @@ -248,7 +248,7 @@
34170  entryeq(TERMTYPE * t1, TERMTYPE * t2)
34171  /* are two entries equivalent? */
34172  {
34173 -    int i;
34174 +    unsigned i;
34175  
34176      for (i = 0; i < NUM_BOOLEANS(t1); i++)
34177         if (t1->Booleans[i] != t2->Booleans[i])
34178 @@ -268,7 +268,7 @@
34179  #define TIC_EXPAND(result) _nc_tic_expand(result, outform==F_TERMINFO, numbers)
34180  
34181  static void
34182 -print_uses(ENTRY * ep, FILE * fp)
34183 +print_uses(ENTRY * ep, FILE *fp)
34184  /* print an entry's use references */
34185  {
34186      int i;
34187 @@ -739,7 +739,7 @@
34188                     (void) fputc('\n', stderr);
34189                 }
34190             }
34191 -           exit(EXIT_FAILURE);
34192 +           ExitProgram(EXIT_FAILURE);
34193         }
34194  
34195         heads[filecount] = _nc_head;
34196 @@ -936,7 +936,7 @@
34197         else
34198             fprintf(stderr, "%s\n", tbl[n]);
34199      }
34200 -    exit(EXIT_FAILURE);
34201 +    ExitProgram(EXIT_FAILURE);
34202  }
34203  
34204  static char *
34205 @@ -975,7 +975,7 @@
34206  static void
34207  dump_initializers(TERMTYPE * term)
34208  {
34209 -    int n;
34210 +    unsigned n;
34211      int size;
34212      const char *str = 0;
34213  
34214 @@ -1145,7 +1145,7 @@
34215  
34216      if (temp == 0 || temp == optarg || *temp != 0) {
34217         fprintf(stderr, "Expected a number, not \"%s\"\n", optarg);
34218 -       exit(EXIT_FAILURE);
34219 +       ExitProgram(EXIT_FAILURE);
34220      }
34221      return (int) value;
34222  }
34223 diff -urNd -urNd ncurses-5.3/progs/tic.c ncurses-5.3.20030906.orig/progs/tic.c
34224 --- ncurses-5.3/progs/tic.c     Sat Oct  5 14:59:41 2002
34225 +++ ncurses-5.3.20030906.orig/progs/tic.c       Sun Jul 20 14:02:09 2003
34226 @@ -1,5 +1,5 @@
34227  /****************************************************************************
34228 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
34229 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
34230   *                                                                          *
34231   * Permission is hereby granted, free of charge, to any person obtaining a  *
34232   * copy of this software and associated documentation files (the            *
34233 @@ -45,7 +45,7 @@
34234  #include <term_entry.h>
34235  #include <transform.h>
34236  
34237 -MODULE_ID("$Id: tic.c,v 1.102 2002/10/05 19:59:41 tom Exp $")
34238 +MODULE_ID("$Id: tic.c,v 1.107 2003/07/19 20:48:24 tom Exp $")
34239  
34240  const char *_nc_progname = "tic";
34241  
34242 @@ -58,7 +58,7 @@
34243  static void (*save_check_termtype) (TERMTYPE *);
34244  static void check_termtype(TERMTYPE * tt);
34245  
34246 -static const char usage_string[] = "[-V] [-v[n]] [-e names] [-CILNRTcfrswx1] source-file\n";
34247 +static const char usage_string[] = "[-V] [-v[n]] [-e names] [-o dir] [-R name] [-CILNTcfrswx1] source-file\n";
34248  
34249  static void
34250  cleanup(void)
34251 @@ -79,7 +79,7 @@
34252  {
34253      perror(msg);
34254      cleanup();
34255 -    exit(EXIT_FAILURE);
34256 +    ExitProgram(EXIT_FAILURE);
34257  }
34258  
34259  static void
34260 @@ -126,7 +126,7 @@
34261         fputs(tbl[j], stderr);
34262         putc('\n', stderr);
34263      }
34264 -    exit(EXIT_FAILURE);
34265 +    ExitProgram(EXIT_FAILURE);
34266  }
34267  
34268  #define L_BRACE '{'
34269 @@ -317,12 +317,12 @@
34270  
34271      if (fp == 0) {
34272         fprintf(stderr, "%s: Can't open %s\n", _nc_progname, filename);
34273 -       exit(EXIT_FAILURE);
34274 +       ExitProgram(EXIT_FAILURE);
34275      }
34276      if (fstat(fileno(fp), &sb) < 0
34277         || (sb.st_mode & S_IFMT) != S_IFREG) {
34278         fprintf(stderr, "%s: %s is not a file\n", _nc_progname, filename);
34279 -       exit(EXIT_FAILURE);
34280 +       ExitProgram(EXIT_FAILURE);
34281      }
34282      return fp;
34283  }
34284 @@ -769,6 +769,205 @@
34285  #define CUR tp->
34286  
34287  /*
34288 + * Check if the alternate character-set capabilities are consistent.
34289 + */
34290 +static void
34291 +check_acs(TERMTYPE * tp)
34292 +{
34293 +    if (VALID_STRING(acs_chars)) {
34294 +       const char *boxes = "lmkjtuvwqxn";
34295 +       char mapped[256];
34296 +       char missing[256];
34297 +       const char *p;
34298 +       char *q;
34299 +
34300 +       memset(mapped, 0, sizeof(mapped));
34301 +       for (p = acs_chars; *p != '\0'; p += 2) {
34302 +           if (p[1] == '\0') {
34303 +               _nc_warning("acsc has odd number of characters");
34304 +               break;
34305 +           }
34306 +           mapped[UChar(p[0])] = p[1];
34307 +       }
34308 +       if (mapped['I'] && !mapped['i']) {
34309 +           _nc_warning("acsc refers to 'I', which is probably an error");
34310 +       }
34311 +       for (p = boxes, q = missing; *p != '\0'; ++p) {
34312 +           if (!mapped[UChar(p[0])]) {
34313 +               *q++ = p[0];
34314 +           }
34315 +           *q = '\0';
34316 +       }
34317 +       if (*missing != '\0' && strcmp(missing, boxes)) {
34318 +           _nc_warning("acsc is missing some line-drawing mapping: %s", missing);
34319 +       }
34320 +    }
34321 +}
34322 +
34323 +/*
34324 + * Check if the color capabilities are consistent
34325 + */
34326 +static void
34327 +check_colors(TERMTYPE * tp)
34328 +{
34329 +    if ((max_colors > 0) != (max_pairs > 0)
34330 +       || ((max_colors > max_pairs) && (initialize_pair == 0)))
34331 +       _nc_warning("inconsistent values for max_colors (%d) and max_pairs (%d)",
34332 +                   max_colors, max_pairs);
34333 +
34334 +    PAIRED(set_foreground, set_background);
34335 +    PAIRED(set_a_foreground, set_a_background);
34336 +    PAIRED(set_color_pair, initialize_pair);
34337 +
34338 +    if (VALID_STRING(set_foreground)
34339 +       && VALID_STRING(set_a_foreground)
34340 +       && !strcmp(set_foreground, set_a_foreground))
34341 +       _nc_warning("expected setf/setaf to be different");
34342 +
34343 +    if (VALID_STRING(set_background)
34344 +       && VALID_STRING(set_a_background)
34345 +       && !strcmp(set_background, set_a_background))
34346 +       _nc_warning("expected setb/setab to be different");
34347 +}
34348 +
34349 +static int
34350 +keypad_final(const char *string)
34351 +{
34352 +    int result = '\0';
34353 +
34354 +    if (VALID_STRING(string)
34355 +       && *string++ == '\033'
34356 +       && *string++ == 'O'
34357 +       && strlen(string) == 1) {
34358 +       result = *string;
34359 +    }
34360 +
34361 +    return result;
34362 +}
34363 +
34364 +static int
34365 +keypad_index(const char *string)
34366 +{
34367 +    char *test;
34368 +    const char *list = "PQRSwxymtuvlqrsPpn";   /* app-keypad except "Enter" */
34369 +    int ch;
34370 +    int result = -1;
34371 +
34372 +    if ((ch = keypad_final(string)) != '\0') {
34373 +       test = strchr(list, ch);
34374 +       if (test != 0)
34375 +           result = (test - list);
34376 +    }
34377 +    return result;
34378 +}
34379 +
34380 +/*
34381 + * Do a quick sanity-check for vt100-style keypads to see if the 5-key keypad
34382 + * is mapped inconsistently.
34383 + */
34384 +static void
34385 +check_keypad(TERMTYPE * tp)
34386 +{
34387 +    char show[80];
34388 +
34389 +    if (VALID_STRING(key_a1) &&
34390 +       VALID_STRING(key_a3) &&
34391 +       VALID_STRING(key_b2) &&
34392 +       VALID_STRING(key_c1) &&
34393 +       VALID_STRING(key_c3)) {
34394 +       char final[6];
34395 +       int list[5];
34396 +       int increase = 0;
34397 +       int j, k, kk;
34398 +       int last;
34399 +       int test;
34400 +
34401 +       final[0] = keypad_final(key_a1);
34402 +       final[1] = keypad_final(key_a3);
34403 +       final[2] = keypad_final(key_b2);
34404 +       final[3] = keypad_final(key_c1);
34405 +       final[4] = keypad_final(key_c3);
34406 +       final[5] = '\0';
34407 +
34408 +       /* special case: legacy coding using 1,2,3,0,. on the bottom */
34409 +       if (!strcmp(final, "qsrpn"))
34410 +           return;
34411 +
34412 +       list[0] = keypad_index(key_a1);
34413 +       list[1] = keypad_index(key_a3);
34414 +       list[2] = keypad_index(key_b2);
34415 +       list[3] = keypad_index(key_c1);
34416 +       list[4] = keypad_index(key_c3);
34417 +
34418 +       /* check that they're all vt100 keys */
34419 +       for (j = 0; j < 5; ++j) {
34420 +           if (list[j] < 0) {
34421 +               return;
34422 +           }
34423 +       }
34424 +
34425 +       /* check if they're all in increasing order */
34426 +       for (j = 1; j < 5; ++j) {
34427 +           if (list[j] > list[j - 1]) {
34428 +               ++increase;
34429 +           }
34430 +       }
34431 +       if (increase != 4) {
34432 +           show[0] = '\0';
34433 +
34434 +           for (j = 0, last = -1; j < 5; ++j) {
34435 +               for (k = 0, kk = -1, test = 100; k < 5; ++k) {
34436 +                   if (list[k] > last &&
34437 +                       list[k] < test) {
34438 +                       test = list[k];
34439 +                       kk = k;
34440 +                   }
34441 +               }
34442 +               last = test;
34443 +               switch (kk) {
34444 +               case 0:
34445 +                   strcat(show, " ka1");
34446 +                   break;
34447 +               case 1:
34448 +                   strcat(show, " ka3");
34449 +                   break;
34450 +               case 2:
34451 +                   strcat(show, " kb2");
34452 +                   break;
34453 +               case 3:
34454 +                   strcat(show, " kc1");
34455 +                   break;
34456 +               case 4:
34457 +                   strcat(show, " kc3");
34458 +                   break;
34459 +               }
34460 +           }
34461 +
34462 +           _nc_warning("vt100 keypad order inconsistent: %s", show);
34463 +       }
34464 +
34465 +    } else if (VALID_STRING(key_a1) ||
34466 +              VALID_STRING(key_a3) ||
34467 +              VALID_STRING(key_b2) ||
34468 +              VALID_STRING(key_c1) ||
34469 +              VALID_STRING(key_c3)) {
34470 +       show[0] = '\0';
34471 +       if (keypad_index(key_a1) >= 0)
34472 +           strcat(show, " ka1");
34473 +       if (keypad_index(key_a3) >= 0)
34474 +           strcat(show, " ka3");
34475 +       if (keypad_index(key_b2) >= 0)
34476 +           strcat(show, " kb2");
34477 +       if (keypad_index(key_c1) >= 0)
34478 +           strcat(show, " kc1");
34479 +       if (keypad_index(key_c3) >= 0)
34480 +           strcat(show, " kc3");
34481 +       if (*show != '\0')
34482 +           _nc_warning("vt100 keypad map incomplete:%s", show);
34483 +    }
34484 +}
34485 +
34486 +/*
34487   * Returns the expected number of parameters for the given capability.
34488   */
34489  static int
34490 @@ -1076,17 +1275,9 @@
34491             check_params(tp, ExtStrname(tp, j, strnames), a);
34492      }
34493  
34494 -    /*
34495 -     * Quick check for color.  We could also check if the ANSI versus
34496 -     * non-ANSI strings are misused.
34497 -     */
34498 -    if ((max_colors > 0) != (max_pairs > 0)
34499 -       || ((max_colors > max_pairs) && (initialize_pair == 0)))
34500 -       _nc_warning("inconsistent values for max_colors (%d) and max_pairs (%d)",
34501 -                   max_colors, max_pairs);
34502 -
34503 -    PAIRED(set_foreground, set_background);
34504 -    PAIRED(set_a_foreground, set_a_background);
34505 +    check_acs(tp);
34506 +    check_colors(tp);
34507 +    check_keypad(tp);
34508  
34509      /*
34510       * These may be mismatched because the terminal description relies on
34511 diff -urNd -urNd ncurses-5.3/progs/tput.c ncurses-5.3.20030906.orig/progs/tput.c
34512 --- ncurses-5.3/progs/tput.c    Sat Jul 20 14:09:47 2002
34513 +++ ncurses-5.3.20030906.orig/progs/tput.c      Tue May 13 20:08:23 2003
34514 @@ -1,5 +1,5 @@
34515  /****************************************************************************
34516 - * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.         *
34517 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
34518   *                                                                          *
34519   * Permission is hereby granted, free of charge, to any person obtaining a  *
34520   * copy of this software and associated documentation files (the            *
34521 @@ -45,7 +45,7 @@
34522  #endif
34523  #include <transform.h>
34524  
34525 -MODULE_ID("$Id: tput.c,v 1.31 2002/07/20 19:09:47 tom Exp $")
34526 +MODULE_ID("$Id: tput.c,v 1.33 2003/02/22 22:10:34 tom Exp $")
34527  
34528  #define PUTS(s)                fputs(s, stdout)
34529  #define PUTCHAR(c)     putchar(c)
34530 @@ -70,14 +70,14 @@
34531      vfprintf(stderr, fmt, argp);
34532      fprintf(stderr, "\n");
34533      va_end(argp);
34534 -    exit(status);
34535 +    ExitProgram(status);
34536  }
34537  
34538  static void
34539  usage(void)
34540  {
34541      fprintf(stderr, "usage: %s [-V] [-S] [-T term] capname\n", prg_name);
34542 -    exit(EXIT_FAILURE);
34543 +    ExitProgram(EXIT_FAILURE);
34544  }
34545  
34546  static void
34547 @@ -297,8 +297,10 @@
34548         token = STRING;
34549         if (argc > 1) {
34550             int k;
34551 -           int numbers[10];
34552 -           char *strings[10];
34553 +           int popcount;
34554 +           long numbers[1 + NUM_PARM];
34555 +           char *strings[1 + NUM_PARM];
34556 +           char *p_is_s[NUM_PARM];
34557  
34558             /* Nasty hack time. The tparm function needs to see numeric
34559              * parameters as numbers, not as pointers to their string
34560 @@ -312,7 +314,7 @@
34561                 if (tmp == 0 || *tmp != 0)
34562                     numbers[k] = 0;
34563             }
34564 -           for (k = argc; k <= 9; k++) {
34565 +           for (k = argc; k <= NUM_PARM; k++) {
34566                 numbers[k] = 0;
34567                 strings[k] = 0;
34568             }
34569 @@ -325,10 +327,18 @@
34570                 s = tparm(s, numbers[1], strings[2], strings[3]);
34571                 break;
34572             default:
34573 +               (void) _nc_tparm_analyze(s, p_is_s, &popcount);
34574 +#define myParam(n) (p_is_s[n - 1] != 0 ? ((long) strings[n]) : numbers[n])
34575                 s = tparm(s,
34576 -                         numbers[1], numbers[2], numbers[3],
34577 -                         numbers[4], numbers[5], numbers[6],
34578 -                         numbers[7], numbers[8], numbers[9]);
34579 +                         myParam(1),
34580 +                         myParam(2),
34581 +                         myParam(3),
34582 +                         myParam(4),
34583 +                         myParam(5),
34584 +                         myParam(6),
34585 +                         myParam(7),
34586 +                         myParam(8),
34587 +                         myParam(9));
34588                 break;
34589             }
34590         }
34591 diff -urNd -urNd ncurses-5.3/progs/tset.c ncurses-5.3.20030906.orig/progs/tset.c
34592 --- ncurses-5.3/progs/tset.c    Sat Aug 24 18:18:16 2002
34593 +++ ncurses-5.3.20030906.orig/progs/tset.c      Tue May 13 20:08:23 2003
34594 @@ -1,5 +1,5 @@
34595  /****************************************************************************
34596 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
34597 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
34598   *                                                                          *
34599   * Permission is hereby granted, free of charge, to any person obtaining a  *
34600   * copy of this software and associated documentation files (the            *
34601 @@ -103,7 +103,7 @@
34602  #include <dump_entry.h>
34603  #include <transform.h>
34604  
34605 -MODULE_ID("$Id: tset.c,v 0.53 2002/08/24 23:18:16 tom Exp $")
34606 +MODULE_ID("$Id: tset.c,v 0.55 2003/02/09 00:30:09 tom Exp $")
34607  
34608  extern char **environ;
34609  
34610 @@ -142,7 +142,7 @@
34611         SET_TTY(STDERR_FILENO, &original);
34612      (void) fprintf(stderr, "\n");
34613      fflush(stderr);
34614 -    exit(EXIT_FAILURE);
34615 +    ExitProgram(EXIT_FAILURE);
34616      /* NOTREACHED */
34617  }
34618  
34619 @@ -627,8 +627,10 @@
34620   **************************************************************************/
34621  
34622  /* some BSD systems have these built in, some systems are missing
34623 - * one or more definitions. The safest solution is to override.
34624 + * one or more definitions. The safest solution is to override unless the
34625 + * commonly-altered ones are defined.
34626   */
34627 +#if !(defined(CERASE) && defined(CINTR) && defined(CKILL) && defined(CQUIT))
34628  #undef CEOF
34629  #undef CERASE
34630  #undef CINTR
34631 @@ -639,18 +641,39 @@
34632  #undef CSTART
34633  #undef CSTOP
34634  #undef CSUSP
34635 +#endif
34636  
34637  /* control-character defaults */
34638 +#ifndef CEOF
34639  #define CEOF   CTRL('D')
34640 +#endif
34641 +#ifndef CERASE
34642  #define CERASE CTRL('H')
34643 +#endif
34644 +#ifndef CINTR
34645  #define CINTR  127             /* ^? */
34646 +#endif
34647 +#ifndef CKILL
34648  #define CKILL  CTRL('U')
34649 +#endif
34650 +#ifndef CLNEXT
34651  #define CLNEXT  CTRL('v')
34652 +#endif
34653 +#ifndef CRPRNT
34654  #define CRPRNT  CTRL('r')
34655 +#endif
34656 +#ifndef CQUIT
34657  #define CQUIT  CTRL('\\')
34658 +#endif
34659 +#ifndef CSTART
34660  #define CSTART CTRL('Q')
34661 +#endif
34662 +#ifndef CSTOP
34663  #define CSTOP  CTRL('S')
34664 +#endif
34665 +#ifndef CSUSP
34666  #define CSUSP  CTRL('Z')
34667 +#endif
34668  
34669  #define        CHK(val, dft)   ((int)val <= 0 ? dft : val)
34670  
34671 @@ -1183,8 +1206,8 @@
34672  #ifdef TERMIOS
34673         if (!quiet) {
34674             report("Erase", VERASE, CERASE);
34675 -           report("Kill", VKILL, CINTR);
34676 -           report("Interrupt", VINTR, CKILL);
34677 +           report("Kill", VKILL, CKILL);
34678 +           report("Interrupt", VINTR, CINTR);
34679         }
34680  #endif
34681      }
34682 @@ -1193,12 +1216,14 @@
34683         err("The -S option is not supported under terminfo.");
34684  
34685      if (sflag) {
34686 +       int len;
34687         /*
34688          * Figure out what shell we're using.  A hack, we look for an
34689          * environmental variable SHELL ending in "csh".
34690          */
34691         if ((p = getenv("SHELL")) != 0
34692 -           && !strcmp(p + strlen(p) - 3, "csh"))
34693 +           && (len = strlen(p)) >= 3
34694 +           && !strcmp(p + len - 3, "csh"))
34695             p = "set noglob;\nsetenv TERM %s;\nunset noglob;\n";
34696         else
34697             p = "TERM=%s;\n";
34698 @@ -1207,5 +1232,3 @@
34699  
34700      return EXIT_SUCCESS;
34701  }
34702 -
34703 -/* tset.c ends here */
34704 diff -urNd -urNd ncurses-5.3/tack/Makefile.in ncurses-5.3.20030906.orig/tack/Makefile.in
34705 --- ncurses-5.3/tack/Makefile.in        Sat Dec  8 12:48:01 2001
34706 +++ ncurses-5.3.20030906.orig/tack/Makefile.in  Fri Sep 12 16:42:40 2003
34707 @@ -1,4 +1,4 @@
34708 -# $Id: Makefile.in,v 1.27 2001/12/08 18:48:01 tom Exp $
34709 +# $Id: Makefile.in,v 1.29 2003/08/23 23:24:08 tom Exp $
34710  # Makefile for tack
34711  #
34712  # The variable 'srcdir' refers to the source-distribution, and can be set with
34713 @@ -29,6 +29,11 @@
34714  datadir                = @datadir@
34715  
34716  LIBTOOL                = @LIBTOOL@
34717 +LIBTOOL_CLEAN  = @LIB_CLEAN@
34718 +LIBTOOL_COMPILE        = @LIB_COMPILE@
34719 +LIBTOOL_LINK   = @LIB_LINK@
34720 +LIBTOOL_INSTALL        = @LIB_INSTALL@
34721 +LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
34722  
34723  INSTALL                = @INSTALL@
34724  INSTALL_PROGRAM        = @INSTALL_PROGRAM@
34725 @@ -55,15 +60,15 @@
34726  CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
34727  
34728  LD             = @LD@
34729 -LINK           = @LINK_PROGS@ $(LIBTOOL) $(CC)
34730 +LINK           = @LINK_PROGS@ $(LIBTOOL_LINK) $(CC)
34731  LDFLAGS                = @EXTRA_LDFLAGS@ \
34732                 @PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
34733  
34734 -LDFLAGS_LIBTOOL        = $(LDFLAGS)
34735 -LDFLAGS_NORMAL = $(LDFLAGS)
34736 -LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
34737 -LDFLAGS_PROFILE        = $(LDFLAGS) -pg
34738 -LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
34739 +LDFLAGS_LIBTOOL        = $(LDFLAGS) $(CFLAGS_LIBTOOL)
34740 +LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
34741 +LDFLAGS_DEBUG  = $(LDFLAGS) $(CFLAGS_DEBUG)
34742 +LDFLAGS_PROFILE        = $(LDFLAGS) $(CFLAGS_PROFILE)
34743 +LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
34744  
34745  LDFLAGS_DEFAULT        = $(LDFLAGS_@DFT_UPR_MODEL@)
34746  
34747 @@ -92,11 +97,11 @@
34748  install.tack: $(PROGS) \
34749         $(DESTDIR)$(bindir) \
34750         $(DESTDIR)$(mandir)
34751 -       $(LIBTOOL) $(INSTALL_PROGRAM) tack$x $(DESTDIR)$(bindir)/tack$x
34752 +       $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tack$x $(DESTDIR)$(bindir)/tack$x
34753         $(INSTALL_DATA) $(srcdir)/tack.1 $(DESTDIR)$(mandir)/tack.1
34754  
34755  uninstall.tack:
34756 -       -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/tack$x
34757 +       -@$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(bindir)/tack$x
34758         -@rm -f $(DESTDIR)$(mandir)/tack.1
34759  
34760  $(DESTDIR)$(bindir) \
34761 diff -urNd -urNd ncurses-5.3/tar-copy.sh ncurses-5.3.20030906.orig/tar-copy.sh
34762 --- ncurses-5.3/tar-copy.sh     Wed Feb 11 06:14:03 1998
34763 +++ ncurses-5.3.20030906.orig/tar-copy.sh       Tue May 13 20:08:23 2003
34764 @@ -1,7 +1,7 @@
34765  #!/bin/sh
34766 -# $Id: tar-copy.sh,v 1.3 1998/02/11 12:14:03 tom Exp $
34767 +# $Id: tar-copy.sh,v 1.4 2003/05/11 00:23:28 tom Exp $
34768  ##############################################################################
34769 -# Copyright (c) 1998 Free Software Foundation, Inc.                          #
34770 +# Copyright (c) 1998,2003 Free Software Foundation, Inc.                     #
34771  #                                                                            #
34772  # Permission is hereby granted, free of charge, to any person obtaining a    #
34773  # copy of this software and associated documentation files (the "Software"), #
34774 @@ -28,7 +28,7 @@
34775  # authorization.                                                             #
34776  ##############################################################################
34777  #
34778 -# Author: Thomas E. Dickey <dickey@clark.net> 1997,1998
34779 +# Author: Thomas E. Dickey
34780  #
34781  # Copy a collection of files using 'tar', so that their dates and links are
34782  # preserved
34783 @@ -55,16 +55,24 @@
34784  WD=`pwd`
34785  
34786  TMP=$WD/copy$$
34787 -trap "rm -f $TMP" 0 1 2 5 15
34788  
34789  cd $2
34790 -if ( tar cf $TMP $1 )
34791 +TEST=`ls -d $1 2>/dev/null`
34792 +if test -z "$TEST"
34793  then
34794 -       cd $3
34795 -       LIST=`tar tf $TMP 2>&1`
34796 -       $DOIT rm -rf $LIST 2>/dev/null
34797 -       $DOIT tar xvf $TMP
34798 +       echo "... no match for \"$1\" in $2"
34799  else
34800 -       echo "Cannot create tar of $1 files"
34801 -       exit 1
34802 +       echo "... installing files matching \"$1\" in $2"
34803 +       trap "rm -f $TMP" 0 1 2 5 15
34804 +       if ( tar cf $TMP $1 )
34805 +       then
34806 +               cd $3
34807 +               LIST=`tar tf $TMP 2>&1`
34808 +               $DOIT rm -rf $LIST 2>/dev/null
34809 +               $DOIT tar xvf $TMP
34810 +               trap 0 1 2 5 15
34811 +       else
34812 +               echo "Cannot create tar of $1 files"
34813 +               exit 1
34814 +       fi
34815  fi
34816 diff -urNd -urNd ncurses-5.3/test/Makefile.in ncurses-5.3.20030906.orig/test/Makefile.in
34817 --- ncurses-5.3/test/Makefile.in        Sat Feb  2 18:54:10 2002
34818 +++ ncurses-5.3.20030906.orig/test/Makefile.in  Fri Sep 12 16:42:40 2003
34819 @@ -1,6 +1,6 @@
34820 -# $Id: Makefile.in,v 1.63 2002/02/03 00:54:10 china Exp $
34821 +# $Id: Makefile.in,v 1.73 2003/08/24 00:05:14 tom Exp $
34822  ##############################################################################
34823 -# Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.           #
34824 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
34825  #                                                                            #
34826  # Permission is hereby granted, free of charge, to any person obtaining a    #
34827  # copy of this software and associated documentation files (the "Software"), #
34828 @@ -27,7 +27,7 @@
34829  # authorization.                                                             #
34830  ##############################################################################
34831  #
34832 -# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,1998
34833 +# Author: Thomas E. Dickey 1996-2002
34834  #
34835  # Makefile for ncurses tests.
34836  
34837 @@ -46,12 +46,15 @@
34838  includedir     = @includedir@
34839  
34840  LIBTOOL                = @LIBTOOL@
34841 +LIBTOOL_CLEAN  = @LIB_CLEAN@
34842 +LIBTOOL_COMPILE        = @LIB_COMPILE@
34843 +LIBTOOL_LINK   = @LIB_LINK@
34844  
34845  CC             = @CC@
34846  CPP            = @CPP@
34847  
34848  CFLAGS         = @CFLAGS@
34849 -CPPFLAGS       =  -I../test -I$(srcdir) @CPPFLAGS@ -DHAVE_CONFIG_H
34850 +CPPFLAGS       =  -I../test -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
34851  
34852  CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
34853  
34854 @@ -69,15 +72,15 @@
34855  MATH_LIB       = @MATH_LIB@
34856  
34857  LD             = @LD@
34858 -LINK           = @LINK_TESTS@ $(LIBTOOL) $(CC) $(CFLAGS)
34859 +LINK           = @LINK_TESTS@ $(LIBTOOL_LINK) $(CC) $(CFLAGS)
34860  
34861  LDFLAGS                = @LD_MODEL@ @TEST_ARGS@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
34862  
34863 -LDFLAGS_LIBTOOL        = $(LDFLAGS)
34864 -LDFLAGS_NORMAL = $(LDFLAGS)
34865 -LDFLAGS_DEBUG  = $(LDFLAGS) @CC_G_OPT@
34866 -LDFLAGS_PROFILE        = $(LDFLAGS) -pg
34867 -LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
34868 +LDFLAGS_LIBTOOL        = $(LDFLAGS) $(CFLAGS_LIBTOOL)
34869 +LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
34870 +LDFLAGS_DEBUG  = $(LDFLAGS) $(CFLAGS_DEBUG)
34871 +LDFLAGS_PROFILE        = $(LDFLAGS) $(CFLAGS_PROFILE)
34872 +LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
34873  
34874  LDFLAGS_DEFAULT        = $(LDFLAGS_@DFT_UPR_MODEL@)
34875  
34876 @@ -89,6 +92,11 @@
34877         blue$x \
34878         bs$x \
34879         cardfile$x \
34880 +       demo_defkey$x \
34881 +       demo_forms$x \
34882 +       demo_keyok$x \
34883 +       demo_menus$x \
34884 +       demo_panels$x \
34885         ditto$x \
34886         dots$x \
34887         filter$x \
34888 @@ -97,13 +105,15 @@
34889         gdc$x \
34890         hanoi$x \
34891         hashtest$x \
34892 +       ins_wide$x \
34893 +       inserts$x \
34894         keynames$x \
34895         knight$x \
34896         lrtest$x \
34897         ncurses$x \
34898         newdemo$x \
34899 -       rain$x \
34900         railroad$x \
34901 +       rain$x \
34902         tclock$x \
34903         testaddch$x \
34904         testcurs$x \
34905 @@ -125,6 +135,21 @@
34906  cardfile$x: $(MODEL)/cardfile.o $(LOCAL_LIBS)
34907         @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/cardfile.o $(LDFLAGS_DEFAULT)
34908  
34909 +demo_defkey$x: $(MODEL)/demo_defkey.o $(LOCAL_LIBS)
34910 +       @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_defkey.o $(LDFLAGS_DEFAULT)
34911 +
34912 +demo_forms$x: $(MODEL)/demo_forms.o $(MODEL)/edit_field.o $(LOCAL_LIBS)
34913 +       @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_forms.o $(MODEL)/edit_field.o $(LDFLAGS_DEFAULT)
34914 +
34915 +demo_keyok$x: $(MODEL)/demo_keyok.o $(LOCAL_LIBS)
34916 +       @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_keyok.o $(LDFLAGS_DEFAULT)
34917 +
34918 +demo_menus$x: $(MODEL)/demo_menus.o $(LOCAL_LIBS)
34919 +       @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_menus.o $(LDFLAGS_DEFAULT)
34920 +
34921 +demo_panels$x: $(MODEL)/demo_panels.o $(LOCAL_LIBS)
34922 +       @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_panels.o $(LDFLAGS_DEFAULT)
34923 +
34924  ditto$x: $(MODEL)/ditto.o $(LOCAL_LIBS)
34925         @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ditto.o $(LDFLAGS_DEFAULT)
34926  
34927 @@ -149,6 +174,12 @@
34928  hashtest$x: $(MODEL)/hashtest.o $(LOCAL_LIBS)
34929         @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/hashtest.o $(LDFLAGS_DEFAULT)
34930  
34931 +inserts$x: $(MODEL)/inserts.o $(LOCAL_LIBS)
34932 +       @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/inserts.o $(LDFLAGS_DEFAULT)
34933 +
34934 +ins_wide$x: $(MODEL)/ins_wide.o $(LOCAL_LIBS)
34935 +       @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ins_wide.o $(LDFLAGS_DEFAULT)
34936 +
34937  keynames$x: $(MODEL)/keynames.o $(LOCAL_LIBS)
34938         @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/keynames.o $(LDFLAGS_DEFAULT)
34939  
34940 @@ -213,9 +244,3 @@
34941  
34942  lint:
34943         sh -c 'for N in $(TESTS); do echo LINT:$$N; $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/$$N.c $(LINT_LIBS); done'
34944 -
34945 -# Use this to get a list of test-programs for the standalone configure script.
34946 -echo_tests :
34947 -       @echo "$(TESTS)"
34948 -echo_suffix :
34949 -       @echo "$x"
34950 diff -urNd -urNd ncurses-5.3/test/README ncurses-5.3.20030906.orig/test/README
34951 --- ncurses-5.3/test/README     Sat Nov 25 01:11:22 1995
34952 +++ ncurses-5.3.20030906.orig/test/README       Sun Jul 20 14:02:09 2003
34953 @@ -1,3 +1,6 @@
34954 +-- $Id: README,v 1.15 2003/07/05 19:17:49 tom Exp $
34955 +-------------------------------------------------------------------------------
34956 +
34957  The programs in this directory are designed to test your newest toy :-)
34958  Check the sources for any further details.
34959  
34960 @@ -20,3 +23,601 @@
34961  This directory also contains:
34962  
34963  tracemunch - Perl script to crunch trace scripts to make them easier to read
34964 +
34965 +-------------------------------------------------------------------------------
34966 +-------------------------------------------------------------------------------
34967 +
34968 +These programs provide examples of use, but do not comprise a complete set of
34969 +tests.  Here is a list of library externals, noting those that are used:
34970 +
34971 +libform:
34972 +-------
34973 +TYPE_ALNUM                     test: demo_forms
34974 +TYPE_ALPHA                     test: demo_forms ncurses
34975 +TYPE_ENUM                      test: demo_forms
34976 +TYPE_INTEGER                   test: demo_forms
34977 +TYPE_IPV4                      -
34978 +TYPE_NUMERIC                   test: demo_forms
34979 +TYPE_REGEXP                    test: demo_forms
34980 +current_field                  test: demo_forms edit_field ncurses
34981 +data_ahead                     -
34982 +data_behind                    -
34983 +dup_field                      -
34984 +dynamic_field_info             -
34985 +field_arg                      -
34986 +field_back                     -
34987 +field_buffer                   test: cardfile demo_forms edit_field ncurses
34988 +field_count                    -
34989 +field_fore                     -
34990 +field_index                    test: demo_forms
34991 +field_info                     test: ncurses
34992 +field_init                     -
34993 +field_just                     -
34994 +field_opts                     test: demo_forms ncurses
34995 +field_opts_off                 test: cardfile
34996 +field_opts_on                  -
34997 +field_pad                      -
34998 +field_status                   -
34999 +field_term                     -
35000 +field_type                     test: demo_forms
35001 +field_userptr                  test: ncurses
35002 +form_driver                    test: cardfile demo_forms edit_field ncurses
35003 +form_fields                    test: cardfile
35004 +form_init                      -
35005 +form_opts                      -
35006 +form_opts_off                  -
35007 +form_opts_on                   -
35008 +form_page                      -
35009 +form_request_by_name           -
35010 +form_request_name              test: edit_field
35011 +form_sub                       test: cardfile demo_forms ncurses
35012 +form_term                      -
35013 +form_userptr                   -
35014 +form_win                       test: cardfile demo_forms edit_field ncurses
35015 +free_field                     test: cardfile demo_forms ncurses
35016 +free_fieldtype                 -
35017 +free_form                      test: cardfile demo_forms ncurses
35018 +link_field                     -
35019 +link_fieldtype                 -
35020 +move_field                     -
35021 +new_field                      test: cardfile demo_forms ncurses
35022 +new_fieldtype                  test: ncurses
35023 +new_form                       test: cardfile demo_forms ncurses
35024 +new_page                       -
35025 +pos_form_cursor                        -
35026 +post_form                      test: cardfile demo_forms ncurses
35027 +scale_form                     test: demo_forms ncurses
35028 +set_current_field              -
35029 +set_field_back                 test: cardfile demo_forms edit_field ncurses
35030 +set_field_buffer               test: cardfile demo_forms edit_field ncurses
35031 +set_field_fore                 -
35032 +set_field_init                 -
35033 +set_field_just                 test: cardfile
35034 +set_field_opts                 test: demo_forms ncurses
35035 +set_field_pad                  -
35036 +set_field_status               -
35037 +set_field_term                 -
35038 +set_field_type                 test: demo_forms ncurses
35039 +set_field_userptr              test: demo_forms ncurses
35040 +set_fieldtype_arg              -
35041 +set_fieldtype_choice           -
35042 +set_form_fields                        -
35043 +set_form_init                  -
35044 +set_form_opts                  -
35045 +set_form_page                  -
35046 +set_form_sub                   test: cardfile demo_forms ncurses
35047 +set_form_term                  -
35048 +set_form_userptr               -
35049 +set_form_win                   test: cardfile demo_forms ncurses
35050 +set_max_field                  -
35051 +set_new_page                   test: demo_forms
35052 +unpost_form                    test: cardfile demo_forms ncurses
35053 +
35054 +libmenu:
35055 +-------
35056 +current_item                   test: ncurses
35057 +free_item                      test: ncurses
35058 +free_menu                      test: ncurses
35059 +item_count                     -
35060 +item_description               -
35061 +item_index                     test: ncurses
35062 +item_init                      -
35063 +item_name                      test: ncurses
35064 +item_opts                      -
35065 +item_opts_off                  -
35066 +item_opts_on                   -
35067 +item_term                      -
35068 +item_userptr                   -
35069 +item_value                     test: ncurses
35070 +item_visible                   -
35071 +menu_back                      -
35072 +menu_driver                    test: ncurses
35073 +menu_fore                      -
35074 +menu_format                    -
35075 +menu_grey                      -
35076 +menu_init                      -
35077 +menu_items                     test: ncurses
35078 +menu_mark                      -
35079 +menu_opts                      -
35080 +menu_opts_off                  test: ncurses
35081 +menu_opts_on                   -
35082 +menu_pad                       -
35083 +menu_pattern                   -
35084 +menu_request_by_name           -
35085 +menu_request_name              -
35086 +menu_spacing                   -
35087 +menu_sub                       -
35088 +menu_term                      -
35089 +menu_userptr                   -
35090 +menu_win                       test: ncurses
35091 +new_item                       test: ncurses
35092 +new_menu                       test: ncurses
35093 +pos_menu_cursor                        lib: menu
35094 +post_menu                      test: ncurses
35095 +scale_menu                     test: ncurses
35096 +set_current_item               -
35097 +set_item_init                  -
35098 +set_item_opts                  -
35099 +set_item_term                  -
35100 +set_item_userptr               -
35101 +set_item_value                 test: ncurses
35102 +set_menu_back                  -
35103 +set_menu_fore                  -
35104 +set_menu_format                        test: ncurses
35105 +set_menu_grey                  -
35106 +set_menu_init                  -
35107 +set_menu_items                 -
35108 +set_menu_mark                  -
35109 +set_menu_opts                  -
35110 +set_menu_pad                   -
35111 +set_menu_pattern               -
35112 +set_menu_spacing               -
35113 +set_menu_sub                   test: ncurses
35114 +set_menu_term                  -
35115 +set_menu_userptr               -
35116 +set_menu_win                   test: ncurses
35117 +set_top_row                    -
35118 +top_row                                -
35119 +unpost_menu                    test: ncurses
35120 +
35121 +libncurses:
35122 +----------
35123 +BC                             -
35124 +COLORS                         test: ncurses xmas
35125 +COLOR_PAIR                     test: blue bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas
35126 +COLOR_PAIRS                    test: ncurses newdemo
35127 +COLS                           test: cardfile demo_defkey demo_forms demo_keyok edit_field firework hashtest ins_wide inserts lrtest ncurses newdemo rain tclock testcurs view worm
35128 +ESCDELAY                       lib: ncurses
35129 +LINES                          test: cardfile demo_defkey demo_keyok edit_field firework hanoi hashtest ins_wide inserts lrtest ncurses newdemo rain tclock testcurs view worm xmas
35130 +PAIR_NUMBER                    lib: ncurses
35131 +PC                             lib: ncurses
35132 +SP                             lib: ncurses
35133 +TABSIZE                                lib: menu
35134 +UP                             -
35135 +acs_map                                test: gdc ins_wide inserts knight ncurses newdemo testcurs
35136 +add_wch                                -
35137 +add_wchnstr                    test: ncurses
35138 +add_wchstr                     test: view
35139 +addch                          test: blue bs ditto hashtest ncurses testaddch view worm
35140 +addchnstr                      -
35141 +addchstr                       -
35142 +addnstr                                -
35143 +addnwstr                       -
35144 +addstr                         test: blue bs cardfile gdc hanoi lrtest ncurses
35145 +addwstr                                -
35146 +assume_default_colors          test: ncurses
35147 +attr_get                       -
35148 +attr_off                       test: ncurses
35149 +attr_on                                test: ncurses
35150 +attr_set                       -
35151 +attroff                                test: filter gdc ncurses tclock
35152 +attron                         test: bs filter gdc ncurses
35153 +attrset                                test: bs firework gdc hanoi ncurses rain tclock testaddch testcurs
35154 +baudrate                       lib: ncurses
35155 +beep                           test: blue bs cardfile demo_forms edit_field hanoi ins_wide inserts knight ncurses tclock testcurs view xmas
35156 +bkgd                           test: demo_forms ncurses tclock view
35157 +bkgdset                                test: ncurses testaddch
35158 +bkgrnd                         -
35159 +bkgrndset                      -
35160 +boolcodes                      progs: dump_entry
35161 +boolfnames                     progs: dump_entry
35162 +boolnames                      progs: dump_entry infocmp
35163 +border                         -
35164 +border_set                     -
35165 +box                            test: cardfile demo_forms edit_field ins_wide inserts lrtest ncurses newdemo testcurs
35166 +box_set                                test: ncurses
35167 +can_change_color               test: ncurses
35168 +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
35169 +chgat                          -
35170 +clear                          test: blue bs gdc ncurses testcurs xmas
35171 +clearok                                test: bs knight
35172 +clrtobot                       test: ncurses
35173 +clrtoeol                       test: blue bs hanoi hashtest ncurses view
35174 +color_content                  test: ncurses
35175 +color_set                      -
35176 +copywin                                test: testcurs
35177 +cur_term                       test: dots lrtest progs: clear tic tput tset
35178 +curs_set                       test: firework gdc hanoi lrtest newdemo rain tclock testcurs worm xmas
35179 +curscr                         test: edit_field knight lrtest ncurses tclock view
35180 +curses_version                 test: ncurses progs: infocmp tic toe tput tset
35181 +def_prog_mode                  test: bs ncurses
35182 +def_shell_mode                 lib: ncurses
35183 +define_key                     test: demo_defkey
35184 +del_curterm                    lib: ncurses
35185 +delay_output                   -
35186 +delch                          -
35187 +deleteln                       -
35188 +delscreen                      -
35189 +delwin                         test: cardfile demo_forms edit_field ncurses newdemo testcurs
35190 +derwin                         test: cardfile demo_forms ncurses
35191 +doupdate                       test: cardfile edit_field ins_wide inserts knight ncurses
35192 +dupwin                         test: edit_field
35193 +echo                           test: bs hanoi ncurses testcurs testscanw
35194 +echo_wchar                     test: ncurses
35195 +echochar                       test: ncurses
35196 +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
35197 +erase                          test: cardfile filter firework firstlast hanoi lrtest ncurses tclock testcurs
35198 +erasechar                      lib: ncurses
35199 +erasewchar                     -
35200 +filter                         test: filter
35201 +flash                          test: cardfile lrtest ncurses tclock testcurs
35202 +flushinp                       test: ncurses newdemo testcurs
35203 +get_wch                                -
35204 +get_wstr                       -
35205 +getbkgd                                test: ncurses
35206 +getbkgrnd                      -
35207 +getcchar                       test: view
35208 +getch                          test: blue bs ditto firework firstlast hanoi hashtest lrtest rain tclock testaddch testcurs view worm xmas
35209 +getmouse                       test: bs knight ncurses
35210 +getn_wstr                      -
35211 +getnstr                                test: filter ncurses
35212 +getstr                         -
35213 +getwin                         test: ncurses
35214 +halfdelay                      test: view
35215 +has_colors                     test: bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testcurs view worm xmas
35216 +has_ic                         test: lrtest
35217 +has_il                         lib: ncurses
35218 +has_key                                lib: ncurses
35219 +hline                          test: gdc ncurses
35220 +hline_set                      -
35221 +idcok                          -
35222 +idlok                          test: ncurses testscanw view
35223 +immedok                                -
35224 +in_wch                         -
35225 +in_wchnstr                     -
35226 +in_wchstr                      -
35227 +inch                           -
35228 +inchnstr                       -
35229 +inchstr                                -
35230 +init_color                     test: ncurses
35231 +init_pair                      test: blue bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas
35232 +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
35233 +innstr                         -
35234 +innwstr                                -
35235 +ins_nwstr                      -
35236 +ins_wch                                -
35237 +ins_wstr                       -
35238 +insch                          -
35239 +insdelln                       -
35240 +insertln                       -
35241 +insnstr                                -
35242 +insstr                         -
35243 +instr                          -
35244 +intrflush                      test: demo_forms
35245 +inwstr                         -
35246 +is_linetouched                 lib: form
35247 +is_term_resized                        -
35248 +is_wintouched                  lib: ncurses
35249 +isendwin                       -
35250 +key_defined                    test: demo_defkey
35251 +key_name                       test: ncurses
35252 +keybound                       test: demo_defkey
35253 +keyname                                test: demo_defkey demo_keyok edit_field keynames ncurses testcurs view progs: tic
35254 +keyok                          test: demo_keyok
35255 +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
35256 +killchar                       lib: ncurses
35257 +killwchar                      -
35258 +leaveok                                test: hanoi
35259 +longname                       test: testcurs progs: tput
35260 +mcprint                                -
35261 +meta                           test: ncurses
35262 +mouse_trafo                    -
35263 +mouseinterval                  -
35264 +mousemask                      test: bs knight ncurses
35265 +move                           test: blue bs cardfile gdc hanoi hashtest knight lrtest ncurses testscanw view worm xmas
35266 +mvadd_wch                      test: ncurses
35267 +mvadd_wchnstr                  -
35268 +mvadd_wchstr                   -
35269 +mvaddch                                test: bs gdc hanoi lrtest ncurses rain tclock xmas
35270 +mvaddchnstr                    test: gdc
35271 +mvaddchstr                     -
35272 +mvaddnstr                      -
35273 +mvaddnwstr                     -
35274 +mvaddstr                       test: bs demo_forms gdc hanoi knight ncurses rain tclock testcurs xmas
35275 +mvaddwstr                      -
35276 +mvchgat                                -
35277 +mvcur                          lib: ncurses
35278 +mvdelch                                -
35279 +mvderwin                       lib: menu
35280 +mvget_wch                      -
35281 +mvget_wstr                     -
35282 +mvgetch                                -
35283 +mvgetn_wstr                    -
35284 +mvgetnstr                      -
35285 +mvgetstr                       -
35286 +mvhline                                test: ncurses
35287 +mvhline_set                    test: ncurses
35288 +mvin_wch                       -
35289 +mvin_wchnstr                   -
35290 +mvin_wchstr                    -
35291 +mvinch                         -
35292 +mvinchnstr                     test: gdc
35293 +mvinchstr                      -
35294 +mvinnstr                       -
35295 +mvinnwstr                      -
35296 +mvins_nwstr                    -
35297 +mvins_wch                      -
35298 +mvins_wstr                     -
35299 +mvinsch                                -
35300 +mvinsnstr                      -
35301 +mvinsstr                       -
35302 +mvinstr                                -
35303 +mvinwstr                       -
35304 +mvprintw                       test: bs firework hanoi ncurses tclock view
35305 +mvscanw                                -
35306 +mvvline                                test: ncurses
35307 +mvvline_set                    test: ncurses
35308 +mvwadd_wch                     -
35309 +mvwadd_wchnstr                 -
35310 +mvwadd_wchstr                  -
35311 +mvwaddch                       test: newdemo testcurs xmas
35312 +mvwaddchnstr                   -
35313 +mvwaddchstr                    -
35314 +mvwaddnstr                     test: newdemo testcurs
35315 +mvwaddnwstr                    -
35316 +mvwaddstr                      test: firstlast ins_wide inserts knight ncurses newdemo testcurs xmas
35317 +mvwaddwstr                     -
35318 +mvwchgat                       -
35319 +mvwdelch                       test: ncurses
35320 +mvwget_wch                     -
35321 +mvwget_wstr                    -
35322 +mvwgetch                       -
35323 +mvwgetn_wstr                   -
35324 +mvwgetnstr                     -
35325 +mvwgetstr                      -
35326 +mvwhline                       lib: ncurses
35327 +mvwhline_set                   -
35328 +mvwin                          test: cardfile testcurs xmas
35329 +mvwin_wch                      -
35330 +mvwin_wchnstr                  -
35331 +mvwin_wchstr                   -
35332 +mvwinch                                test: newdemo testcurs
35333 +mvwinchnstr                    -
35334 +mvwinchstr                     -
35335 +mvwinnstr                      test: testcurs
35336 +mvwinnwstr                     -
35337 +mvwins_nwstr                   -
35338 +mvwins_wch                     test: ins_wide
35339 +mvwins_wstr                    test: ins_wide
35340 +mvwinsch                       test: ins_wide inserts
35341 +mvwinsnstr                     -
35342 +mvwinsstr                      test: inserts testcurs
35343 +mvwinstr                       -
35344 +mvwinwstr                      -
35345 +mvwprintw                      test: ncurses testcurs
35346 +mvwscanw                       test: testcurs
35347 +mvwvline                       test: ins_wide inserts
35348 +mvwvline_set                   -
35349 +napms                          test: firework gdc hanoi lrtest ncurses newdemo railroad rain tclock testcurs view worm xmas progs: tset
35350 +newpad                         test: edit_field ncurses testcurs
35351 +newscr                         lib: ncurses
35352 +newterm                                test: ditto filter gdc
35353 +newwin                         test: cardfile demo_defkey demo_forms demo_keyok edit_field firstlast ins_wide inserts knight ncurses newdemo testcurs xmas
35354 +nl                             test: demo_forms ncurses rain testcurs
35355 +nocbreak                       test: testcurs
35356 +nodelay                                test: firework gdc lrtest ncurses newdemo rain tclock view xmas
35357 +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
35358 +nonl                           test: bs demo_forms hashtest ncurses view worm xmas
35359 +noqiflush                      -
35360 +noraw                          test: demo_forms ncurses testcurs
35361 +notimeout                      -
35362 +numcodes                       progs: dump_entry
35363 +numfnames                      progs: dump_entry
35364 +numnames                       progs: dump_entry infocmp
35365 +ospeed                         progs: tset
35366 +overlay                                test: testcurs xmas
35367 +overwrite                      test: ncurses
35368 +pair_content                   lib: ncurses
35369 +pechochar                      -
35370 +pnoutrefresh                   test: edit_field ncurses
35371 +prefresh                       test: testcurs
35372 +printw                         test: blue bs demo_defkey demo_keyok filter ncurses testcurs testscanw view
35373 +putp                           progs: tput
35374 +putwin                         test: ncurses
35375 +qiflush                                -
35376 +raw                            test: demo_forms ncurses testcurs
35377 +redrawwin                      -
35378 +refresh                                test: blue bs demo_defkey demo_forms demo_keyok ditto filter firstlast gdc hanoi hashtest lrtest ncurses tclock testcurs view worm xmas
35379 +reset_prog_mode                        test: filter ncurses
35380 +reset_shell_mode               test: bs filter
35381 +resetty                                -
35382 +resize_term                    test: view
35383 +resizeterm                     lib: ncurses
35384 +restartterm                    -
35385 +ripoffline                     test: ncurses
35386 +savetty                                -
35387 +scanw                          test: testcurs testscanw
35388 +scr_dump                       -
35389 +scr_init                       -
35390 +scr_restore                    -
35391 +scr_set                                -
35392 +scrl                           -
35393 +scroll                         test: testcurs
35394 +scrollok                       test: demo_defkey demo_keyok ditto hashtest knight ncurses testcurs testscanw view
35395 +set_curterm                    lib: ncurses
35396 +set_term                       test: ditto
35397 +setcchar                       test: ins_wide ncurses view
35398 +setscrreg                      test: view
35399 +setupterm                      test: dots progs: clear tput tset
35400 +slk_attr                       -
35401 +slk_attr_off                   -
35402 +slk_attr_on                    -
35403 +slk_attr_set                   -
35404 +slk_attroff                    lib: ncurses
35405 +slk_attron                     lib: ncurses
35406 +slk_attrset                    -
35407 +slk_clear                      test: ncurses
35408 +slk_color                      test: ncurses
35409 +slk_init                       test: ncurses
35410 +slk_label                      test: ncurses
35411 +slk_noutrefresh                        test: ncurses
35412 +slk_refresh                    test: ncurses
35413 +slk_restore                    test: ncurses
35414 +slk_set                                test: ncurses
35415 +slk_touch                      test: ncurses
35416 +slk_wset                       test: ncurses
35417 +standend                       test: blue gdc ncurses worm
35418 +standout                       test: blue ncurses
35419 +start_color                    test: blue bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas
35420 +stdscr                         test: bs demo_forms ditto filter firework gdc hanoi hashtest ins_wide inserts knight lrtest ncurses rain tclock testcurs testscanw view xmas
35421 +strcodes                       progs: dump_entry
35422 +strfnames                      progs: dump_entry
35423 +strnames                       progs: dump_entry infocmp tic
35424 +subpad                         test: testcurs
35425 +subwin                         test: ncurses newdemo testcurs
35426 +syncok                         -
35427 +term_attrs                     -
35428 +termattrs                      test: ncurses testcurs
35429 +termname                       test: testcurs
35430 +tgetent                                test: railroad
35431 +tgetflag                       -
35432 +tgetnum                                test: railroad
35433 +tgetstr                                test: railroad
35434 +tgoto                          test: railroad
35435 +tigetflag                      progs: tput
35436 +tigetnum                       test: ncurses progs: tput
35437 +tigetstr                       test: blue demo_defkey testcurs progs: tput
35438 +timeout                                test: rain
35439 +touchline                      lib: ncurses
35440 +touchwin                       test: edit_field filter firstlast ncurses xmas
35441 +tparm                          test: dots progs: tic tput
35442 +tputs                          test: dots railroad progs: clear tset
35443 +trace                          test: hanoi hashtest lrtest ncurses testcurs view worm
35444 +ttytype                                lib: ncurses
35445 +typeahead                      test: testcurs
35446 +unctrl                         test: ncurses testcurs
35447 +unget_wch                      -
35448 +ungetch                                test: bs knight
35449 +ungetmouse                     -
35450 +untouchwin                     -
35451 +use_default_colors             test: filter firework gdc hanoi knight ncurses rain tclock worm xmas
35452 +use_env                                progs: tput
35453 +use_extended_names             progs: infocmp tic
35454 +vid_attr                       -
35455 +vid_puts                       -
35456 +vidattr                                lib: ncurses
35457 +vidputs                                lib: ncurses
35458 +vline                          test: gdc ncurses
35459 +vline_set                      -
35460 +vw_printw                      -
35461 +vw_scanw                       -
35462 +vwprintw                       lib: ncurses
35463 +vwscanw                                lib: ncurses
35464 +wadd_wch                       lib: ncurses
35465 +wadd_wchnstr                   lib: ncurses
35466 +wadd_wchstr                    -
35467 +waddch                         test: firstlast knight ncurses
35468 +waddchnstr                     lib: ncurses
35469 +waddchstr                      -
35470 +waddnstr                       lib: form
35471 +waddnwstr                      test: ncurses
35472 +waddstr                                test: demo_forms edit_field firstlast ins_wide knight ncurses testcurs
35473 +waddwstr                       test: ins_wide
35474 +wattr_get                      -
35475 +wattr_off                      lib: menu
35476 +wattr_on                       lib: menu
35477 +wattr_set                      -
35478 +wattroff                       test: demo_forms ncurses testcurs xmas
35479 +wattron                                test: testcurs xmas
35480 +wattrset                       test: demo_forms ncurses newdemo testcurs xmas
35481 +wbkgd                          test: demo_forms ncurses newdemo testcurs
35482 +wbkgdset                       test: ins_wide inserts ncurses
35483 +wbkgrnd                                lib: ncurses
35484 +wbkgrndset                     lib: ncurses
35485 +wborder                                lib: ncurses
35486 +wborder_set                    lib: ncurses
35487 +wchgat                         test: view
35488 +wclear                         test: ncurses testcurs
35489 +wclrtobot                      test: firstlast ncurses testcurs
35490 +wclrtoeol                      test: demo_defkey demo_keyok firstlast ins_wide inserts knight ncurses testcurs
35491 +wcolor_set                     lib: ncurses
35492 +wcursyncup                     lib: form
35493 +wdelch                         test: ncurses testcurs
35494 +wdeleteln                      test: testcurs
35495 +wecho_wchar                    lib: ncurses
35496 +wechochar                      lib: ncurses
35497 +wenclose                       lib: menu
35498 +werase                         test: cardfile demo_forms edit_field firstlast knight ncurses newdemo testcurs xmas
35499 +wget_wch                       test: ins_wide ncurses
35500 +wget_wstr                      -
35501 +wgetch                         test: cardfile demo_defkey demo_keyok edit_field gdc inserts knight ncurses newdemo testcurs
35502 +wgetn_wstr                     test: ncurses
35503 +wgetnstr                       test: ncurses
35504 +wgetstr                                -
35505 +whline                         test: testcurs
35506 +whline_set                     lib: ncurses
35507 +win_wch                                lib: ncurses
35508 +win_wchnstr                    lib: ncurses
35509 +win_wchstr                     -
35510 +winch                          test: knight testcurs
35511 +winchnstr                      lib: ncurses
35512 +winchstr                       -
35513 +winnstr                                test: demo_defkey
35514 +winnwstr                       lib: ncurses
35515 +wins_nwstr                     lib: ncurses
35516 +wins_wch                       lib: ncurses
35517 +wins_wstr                      -
35518 +winsch                         test: testcurs
35519 +winsdelln                      lib: form
35520 +winsertln                      test: testcurs
35521 +winsnstr                       lib: form
35522 +winsstr                                -
35523 +winstr                         -
35524 +winwstr                                lib: ncurses
35525 +wmouse_trafo                   lib: menu
35526 +wmove                          test: demo_defkey demo_keyok firstlast ins_wide inserts knight ncurses newdemo testcurs
35527 +wnoutrefresh                   test: edit_field ins_wide inserts knight ncurses
35528 +wprintw                                test: demo_defkey demo_forms demo_keyok edit_field ins_wide inserts knight ncurses testcurs
35529 +wredrawln                      lib: ncurses
35530 +wrefresh                       test: demo_forms demo_keyok edit_field firstlast knight lrtest ncurses newdemo tclock testcurs view xmas
35531 +wresize                                test: cardfile ncurses
35532 +wscanw                         test: testcurs
35533 +wscrl                          test: ncurses testcurs view
35534 +wsetscrreg                     test: ncurses testcurs
35535 +wstandend                      test: xmas
35536 +wstandout                      test: xmas
35537 +wsyncdown                      lib: ncurses
35538 +wsyncup                                lib: form
35539 +wtimeout                       test: ncurses
35540 +wtouchln                       lib: form
35541 +wunctrl                                -
35542 +wvline                         test: testcurs
35543 +wvline_set                     lib: ncurses
35544 +
35545 +libpanel:
35546 +--------
35547 +bottom_panel                   test: ncurses
35548 +del_panel                      test: ncurses
35549 +hide_panel                     test: ncurses
35550 +move_panel                     test: ncurses
35551 +new_panel                      test: cardfile ncurses
35552 +panel_above                    -
35553 +panel_below                    -
35554 +panel_hidden                   -
35555 +panel_userptr                  test: ncurses
35556 +panel_window                   test: cardfile ncurses
35557 +replace_panel                  -
35558 +set_panel_userptr              test: ncurses
35559 +show_panel                     test: ncurses
35560 +top_panel                      test: cardfile ncurses
35561 +update_panels                  test: cardfile ncurses
35562 diff -urNd -urNd ncurses-5.3/test/aclocal.m4 ncurses-5.3.20030906.orig/test/aclocal.m4
35563 --- ncurses-5.3/test/aclocal.m4 Wed Dec 31 18:00:00 1969
35564 +++ ncurses-5.3.20030906.orig/test/aclocal.m4   Sun Jul 20 14:02:08 2003
35565 @@ -0,0 +1,812 @@
35566 +dnl $Id: aclocal.m4,v 1.4 2003/05/17 22:22:52 tom Exp $
35567 +dnl ---------------------------------------------------------------------------
35568 +dnl ---------------------------------------------------------------------------
35569 +dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52
35570 +dnl -------------
35571 +dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
35572 +dnl redundant.  We don't normally need to add -I/usr/local/include for gcc,
35573 +dnl but old versions (and some misinstalled ones) need that.  To make things
35574 +dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to
35575 +dnl the include-path).
35576 +AC_DEFUN([CF_ADD_INCDIR],
35577 +[
35578 +for cf_add_incdir in $1
35579 +do
35580 +       while true
35581 +       do
35582 +               case $cf_add_incdir in
35583 +               /usr/include) # (vi
35584 +                       ;;
35585 +               /usr/local/include) # (vi
35586 +                       if test "$GCC" = yes
35587 +                       then
35588 +                               cf_save_CPPFLAGS="$CPPFLAGS"
35589 +                               CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
35590 +                               AC_TRY_COMPILE([#include <stdio.h>],
35591 +                                               [printf("Hello")],
35592 +                                               [],
35593 +                                               [CPPFLAGS="$cf_save_CPPFLAGS"])
35594 +                       fi
35595 +                       ;;
35596 +               *) # (vi
35597 +                       CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
35598 +                       ;;
35599 +               esac
35600 +               cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
35601 +               test "$cf_top_incdir" = "$cf_add_incdir" && break
35602 +               cf_add_incdir="$cf_top_incdir"
35603 +       done
35604 +done
35605 +])dnl
35606 +dnl ---------------------------------------------------------------------------
35607 +dnl CF_CHECK_CACHE version: 7 updated: 2001/12/19 00:50:10
35608 +dnl --------------
35609 +dnl Check if we're accidentally using a cache from a different machine.
35610 +dnl Derive the system name, as a check for reusing the autoconf cache.
35611 +dnl
35612 +dnl If we've packaged config.guess and config.sub, run that (since it does a
35613 +dnl better job than uname).  Normally we'll use AC_CANONICAL_HOST, but allow
35614 +dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
35615 +dnl which is useful in cross-compiles.
35616 +AC_DEFUN([CF_CHECK_CACHE],
35617 +[
35618 +if test -f $srcdir/config.guess ; then
35619 +       ifelse([$1],,[AC_CANONICAL_HOST],[$1])
35620 +       system_name="$host_os"
35621 +else
35622 +       system_name="`(uname -s -r) 2>/dev/null`"
35623 +       if test -z "$system_name" ; then
35624 +               system_name="`(hostname) 2>/dev/null`"
35625 +       fi
35626 +fi
35627 +test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
35628 +AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
35629 +
35630 +test -z "$system_name" && system_name="$cf_cv_system_name"
35631 +test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
35632 +
35633 +if test ".$system_name" != ".$cf_cv_system_name" ; then
35634 +       AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
35635 +       AC_ERROR("Please remove config.cache and try again.")
35636 +fi
35637 +])dnl
35638 +dnl ---------------------------------------------------------------------------
35639 +dnl CF_CURSES_ACS_MAP version: 3 updated: 2003/05/17 22:19:02
35640 +dnl -----------------
35641 +dnl Check for likely values of acs_map[]:
35642 +AC_DEFUN([CF_CURSES_ACS_MAP],
35643 +[
35644 +AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[
35645 +cf_cv_curses_acs_map=unknown
35646 +for name in acs_map _acs_map __acs_map _nc_acs_map
35647 +do
35648 +AC_TRY_LINK([
35649 +#include <${cf_cv_ncurses_header-curses.h}>
35650 +],[
35651 +$name['k'] = ACS_PLUS
35652 +],[cf_cv_curses_acs_map=$name; break])
35653 +done
35654 +])
35655 +
35656 +test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
35657 +])
35658 +dnl ---------------------------------------------------------------------------
35659 +dnl CF_CURSES_CHECK_TYPE version: 2 updated: 2003/03/01 23:40:33
35660 +dnl --------------------
35661 +dnl Check if curses.h defines the given type
35662 +AC_DEFUN([CF_CURSES_CHECK_TYPE],
35663 +[
35664 +AC_MSG_CHECKING(for type $1 in ${cf_cv_ncurses_header-curses.h})
35665 +AC_TRY_COMPILE([
35666 +#ifndef _XOPEN_SOURCE_EXTENDED
35667 +#define _XOPEN_SOURCE_EXTENDED
35668 +#endif
35669 +#include <${cf_cv_ncurses_header-curses.h}>],[
35670 +$1 foo
35671 +],cf_result=yes,cf_result=no)
35672 +AC_MSG_RESULT($cf_result)
35673 +if test $cf_result = yes ; then
35674 +       CF_UPPER(cf_result,have_type_$1)
35675 +       AC_DEFINE_UNQUOTED($cf_result)
35676 +else
35677 +       AC_DEFINE_UNQUOTED($1,$2)
35678 +fi
35679 +])dnl
35680 +dnl ---------------------------------------------------------------------------
35681 +dnl CF_CURSES_CPPFLAGS version: 6 updated: 2002/10/27 18:21:42
35682 +dnl ------------------
35683 +dnl Look for the curses headers.
35684 +AC_DEFUN([CF_CURSES_CPPFLAGS],[
35685 +
35686 +AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[
35687 +cf_cv_curses_incdir=no
35688 +case $host_os in #(vi
35689 +hpux10.*|hpux11.*) #(vi
35690 +       test -d /usr/include/curses_colr && \
35691 +       cf_cv_curses_incdir="-I/usr/include/curses_colr"
35692 +       ;;
35693 +sunos3*|sunos4*)
35694 +       test -d /usr/5lib && \
35695 +       test -d /usr/5include && \
35696 +       cf_cv_curses_incdir="-I/usr/5include"
35697 +       ;;
35698 +esac
35699 +])
35700 +test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
35701 +
35702 +AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
35703 +cf_cv_ncurses_header=none
35704 +for cf_header in \
35705 +       curses.h \
35706 +       ncurses.h \
35707 +       ncurses/curses.h \
35708 +       ncurses/ncurses.h
35709 +do
35710 +AC_TRY_COMPILE([#include <${cf_header}>],
35711 +       [initscr(); tgoto("?", 0,0)],
35712 +       [cf_cv_ncurses_header=$cf_header; break],[])
35713 +done
35714 +])
35715 +
35716 +if test "$cf_cv_ncurses_header" = none ; then
35717 +       AC_MSG_ERROR(No curses header-files found)
35718 +fi
35719 +
35720 +# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
35721 +AC_CHECK_HEADERS($cf_cv_ncurses_header)
35722 +
35723 +])dnl
35724 +dnl ---------------------------------------------------------------------------
35725 +dnl CF_CURSES_LIBS version: 22 updated: 2002/10/27 18:21:42
35726 +dnl --------------
35727 +dnl Look for the curses libraries.  Older curses implementations may require
35728 +dnl termcap/termlib to be linked as well.  Call CF_CURSES_CPPFLAGS first.
35729 +AC_DEFUN([CF_CURSES_LIBS],[
35730 +
35731 +AC_MSG_CHECKING(if we have identified curses libraries)
35732 +AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
35733 +       [initscr(); tgoto("?", 0,0)],
35734 +       cf_result=yes,
35735 +       cf_result=no)
35736 +AC_MSG_RESULT($cf_result)
35737 +
35738 +if test "$cf_result" = no ; then
35739 +case $host_os in #(vi
35740 +freebsd*) #(vi
35741 +       AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"])
35742 +       ;;
35743 +hpux10.*|hpux11.*) #(vi
35744 +       AC_CHECK_LIB(cur_colr,initscr,[
35745 +               LIBS="-lcur_colr $LIBS"
35746 +               ac_cv_func_initscr=yes
35747 +               ],[
35748 +       AC_CHECK_LIB(Hcurses,initscr,[
35749 +               # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
35750 +               LIBS="-lHcurses $LIBS"
35751 +               CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
35752 +               ac_cv_func_initscr=yes
35753 +               ])])
35754 +       ;;
35755 +linux*) # Suse Linux does not follow /usr/lib convention
35756 +       LIBS="$LIBS -L/lib"
35757 +       ;;
35758 +sunos3*|sunos4*)
35759 +       test -d /usr/5lib && \
35760 +       LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap"
35761 +       ac_cv_func_initscr=yes
35762 +       ;;
35763 +esac
35764 +
35765 +if test ".$ac_cv_func_initscr" != .yes ; then
35766 +       cf_save_LIBS="$LIBS"
35767 +       cf_term_lib=""
35768 +       cf_curs_lib=""
35769 +
35770 +       if test ".${cf_cv_ncurses_version-no}" != .no
35771 +       then
35772 +               cf_check_list="ncurses curses cursesX"
35773 +       else
35774 +               cf_check_list="cursesX curses ncurses"
35775 +       fi
35776 +
35777 +       # Check for library containing tgoto.  Do this before curses library
35778 +       # because it may be needed to link the test-case for initscr.
35779 +       AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
35780 +               for cf_term_lib in $cf_check_list termcap termlib unknown
35781 +               do
35782 +                       AC_CHECK_LIB($cf_term_lib,tgoto,[break])
35783 +               done
35784 +       ])
35785 +
35786 +       # Check for library containing initscr
35787 +       test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
35788 +       for cf_curs_lib in $cf_check_list xcurses jcurses unknown
35789 +       do
35790 +               AC_CHECK_LIB($cf_curs_lib,initscr,[break])
35791 +       done
35792 +       test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
35793 +
35794 +       LIBS="-l$cf_curs_lib $cf_save_LIBS"
35795 +       if test "$cf_term_lib" = unknown ; then
35796 +               AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
35797 +               AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
35798 +                       [initscr()],
35799 +                       [cf_result=yes],
35800 +                       [cf_result=no])
35801 +               AC_MSG_RESULT($cf_result)
35802 +               test $cf_result = no && AC_ERROR(Cannot link curses library)
35803 +       elif test "$cf_curs_lib" = "$cf_term_lib" ; then
35804 +               :
35805 +       elif test "$cf_term_lib" != predefined ; then
35806 +               AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
35807 +               AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
35808 +                       [initscr(); tgoto((char *)0, 0, 0);],
35809 +                       [cf_result=no],
35810 +                       [
35811 +                       LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
35812 +                       AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
35813 +                               [initscr()],
35814 +                               [cf_result=yes],
35815 +                               [cf_result=error])
35816 +                       ])
35817 +               AC_MSG_RESULT($cf_result)
35818 +       fi
35819 +fi
35820 +fi
35821 +
35822 +])dnl
35823 +dnl ---------------------------------------------------------------------------
35824 +dnl CF_CURSES_WACS_MAP version: 3 updated: 2003/05/17 22:19:02
35825 +dnl ------------------
35826 +dnl Check for likely values of wacs_map[]:
35827 +AC_DEFUN([CF_CURSES_WACS_MAP],
35828 +[
35829 +AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
35830 +       cf_cv_curses_wacs_map=unknown
35831 +       for name in wacs_map _wacs_map __wacs_map _nc_wacs
35832 +       do
35833 +       AC_TRY_LINK([
35834 +#ifndef _XOPEN_SOURCE_EXTENDED
35835 +#define _XOPEN_SOURCE_EXTENDED
35836 +#endif
35837 +#include <${cf_cv_ncurses_header-curses.h}>],
35838 +       [$name['k'] = *WACS_PLUS],
35839 +       [cf_cv_curses_wacs_map=$name
35840 +        break])
35841 +       done])
35842 +])
35843 +dnl ---------------------------------------------------------------------------
35844 +dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
35845 +dnl ----------
35846 +dnl "dirname" is not portable, so we fake it with a shell script.
35847 +AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
35848 +dnl ---------------------------------------------------------------------------
35849 +dnl CF_FIND_LIBRARY version: 7 updated: 2000/04/13 21:38:04
35850 +dnl ---------------
35851 +dnl Look for a non-standard library, given parameters for AC_TRY_LINK.  We
35852 +dnl prefer a standard location, and use -L options only if we do not find the
35853 +dnl library in the standard library location(s).
35854 +dnl    $1 = library name
35855 +dnl    $2 = library class, usually the same as library name
35856 +dnl    $3 = includes
35857 +dnl    $4 = code fragment to compile/link
35858 +dnl    $5 = corresponding function-name
35859 +dnl    $6 = flag, nonnull if failure causes an error-exit
35860 +dnl
35861 +dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had
35862 +dnl to use a -L option.
35863 +AC_DEFUN([CF_FIND_LIBRARY],
35864 +[
35865 +       eval 'cf_cv_have_lib_'$1'=no'
35866 +       cf_libdir=""
35867 +       AC_CHECK_FUNC($5,
35868 +               eval 'cf_cv_have_lib_'$1'=yes',[
35869 +               cf_save_LIBS="$LIBS"
35870 +               AC_MSG_CHECKING(for $5 in -l$1)
35871 +               LIBS="-l$1 $LIBS"
35872 +               AC_TRY_LINK([$3],[$4],
35873 +                       [AC_MSG_RESULT(yes)
35874 +                        eval 'cf_cv_have_lib_'$1'=yes'
35875 +                       ],
35876 +                       [AC_MSG_RESULT(no)
35877 +                       CF_LIBRARY_PATH(cf_search,$2)
35878 +                       for cf_libdir in $cf_search
35879 +                       do
35880 +                               AC_MSG_CHECKING(for -l$1 in $cf_libdir)
35881 +                               LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
35882 +                               AC_TRY_LINK([$3],[$4],
35883 +                                       [AC_MSG_RESULT(yes)
35884 +                                        eval 'cf_cv_have_lib_'$1'=yes'
35885 +                                        break],
35886 +                                       [AC_MSG_RESULT(no)
35887 +                                        LIBS="$cf_save_LIBS"])
35888 +                       done
35889 +                       ])
35890 +               ])
35891 +eval 'cf_found_library=[$]cf_cv_have_lib_'$1
35892 +ifelse($6,,[
35893 +if test $cf_found_library = no ; then
35894 +       AC_ERROR(Cannot link $1 library)
35895 +fi
35896 +])
35897 +])dnl
35898 +dnl ---------------------------------------------------------------------------
35899 +dnl CF_FUNC_CURSES_VERSION version: 3 updated: 2003/05/17 22:19:02
35900 +dnl ----------------------
35901 +dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
35902 +dnl It's a character string "SVR4", not documented.
35903 +AC_DEFUN([CF_FUNC_CURSES_VERSION],
35904 +[
35905 +AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
35906 +AC_TRY_RUN([
35907 +#include <${cf_cv_ncurses_header-curses.h}>
35908 +int main()
35909 +{
35910 +       char temp[1024];
35911 +       sprintf(temp, "%s\n", curses_version());
35912 +       exit(0);
35913 +}]
35914 +,[cf_cv_func_curses_version=yes]
35915 +,[cf_cv_func_curses_version=no]
35916 +,[cf_cv_func_curses_version=unknown])
35917 +rm -f core])
35918 +test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
35919 +])
35920 +dnl ---------------------------------------------------------------------------
35921 +dnl CF_HEADER_PATH version: 8 updated: 2002/11/10 14:46:59
35922 +dnl --------------
35923 +dnl Construct a search-list for a nonstandard header-file
35924 +AC_DEFUN([CF_HEADER_PATH],
35925 +[CF_SUBDIR_PATH($1,$2,include)
35926 +test "$includedir" != NONE && \
35927 +test "$includedir" != "/usr/include" && \
35928 +test -d "$includedir" && {
35929 +       test -d $includedir &&    $1="[$]$1 $includedir"
35930 +       test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
35931 +}
35932 +
35933 +test "$oldincludedir" != NONE && \
35934 +test "$oldincludedir" != "/usr/include" && \
35935 +test -d "$oldincludedir" && {
35936 +       test -d $oldincludedir    && $1="[$]$1 $oldincludedir"
35937 +       test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
35938 +}
35939 +
35940 +])dnl
35941 +dnl ---------------------------------------------------------------------------
35942 +dnl CF_INHERIT_SCRIPT version: 2 updated: 2003/03/01 23:50:42
35943 +dnl -----------------
35944 +dnl If we do not have a given script, look for it in the parent directory.
35945 +AC_DEFUN([CF_INHERIT_SCRIPT],
35946 +[
35947 +test -f $1 || ( test -f ../$1 && cp ../$1 ./ )
35948 +])dnl
35949 +dnl ---------------------------------------------------------------------------
35950 +dnl CF_LIBRARY_PATH version: 7 updated: 2002/11/10 14:46:59
35951 +dnl ---------------
35952 +dnl Construct a search-list for a nonstandard library-file
35953 +AC_DEFUN([CF_LIBRARY_PATH],
35954 +[CF_SUBDIR_PATH($1,$2,lib)])dnl
35955 +dnl ---------------------------------------------------------------------------
35956 +dnl CF_NCURSES_CC_CHECK version: 3 updated: 2003/01/12 18:59:28
35957 +dnl -------------------
35958 +dnl Check if we can compile with ncurses' header file
35959 +dnl $1 is the cache variable to set
35960 +dnl $2 is the header-file to include
35961 +dnl $3 is the root name (ncurses or ncursesw)
35962 +AC_DEFUN([CF_NCURSES_CC_CHECK],[
35963 +       AC_TRY_COMPILE([
35964 +]ifelse($3,ncursesw,[
35965 +#define _XOPEN_SOURCE_EXTENDED
35966 +#undef  HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
35967 +#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
35968 +])[
35969 +#include <$2>],[
35970 +#ifdef NCURSES_VERSION
35971 +]ifelse($3,ncursesw,[
35972 +#ifndef WACS_BSSB
35973 +       make an error
35974 +#endif
35975 +])[
35976 +printf("%s\n", NCURSES_VERSION);
35977 +#else
35978 +#ifdef __NCURSES_H
35979 +printf("old\n");
35980 +#else
35981 +       make an error
35982 +#endif
35983 +#endif
35984 +       ]
35985 +       ,[$1=$cf_header]
35986 +       ,[$1=no])
35987 +])dnl
35988 +dnl ---------------------------------------------------------------------------
35989 +dnl CF_NCURSES_CPPFLAGS version: 16 updated: 2002/12/29 18:30:46
35990 +dnl -------------------
35991 +dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
35992 +dnl the CPPFLAGS variable so we can include its header.
35993 +dnl
35994 +dnl The header files may be installed as either curses.h, or ncurses.h (would
35995 +dnl be obsolete, except that some packagers prefer this name to distinguish it
35996 +dnl from a "native" curses implementation).  If not installed for overwrite,
35997 +dnl the curses.h file would be in an ncurses subdirectory (e.g.,
35998 +dnl /usr/include/ncurses), but someone may have installed overwriting the
35999 +dnl vendor's curses.  Only very old versions (pre-1.9.2d, the first autoconf'd
36000 +dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in
36001 +dnl the header.
36002 +dnl
36003 +dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header
36004 +dnl is already in the include-path, don't even bother with this, since we cannot
36005 +dnl easily determine which file it is.  In this case, it has to be <curses.h>.
36006 +dnl
36007 +dnl The optional parameter gives the root name of the library, in case it is
36008 +dnl not installed as the default curses library.  That is how the
36009 +dnl wide-character version of ncurses is installed.
36010 +AC_DEFUN([CF_NCURSES_CPPFLAGS],
36011 +[AC_REQUIRE([CF_WITH_CURSES_DIR])
36012 +
36013 +cf_ncuhdr_root=ifelse($1,,ncurses,$1)
36014 +
36015 +test -n "$cf_cv_curses_dir" && \
36016 +test "$cf_cv_curses_dir" != "no" && \
36017 +CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
36018 +
36019 +AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
36020 +       cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
36021 +       ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
36022 +       for cf_header in $cf_header_list
36023 +       do
36024 +               CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
36025 +               test "$cf_cv_ncurses_h" != no && break
36026 +       done
36027 +])
36028 +
36029 +if test "$cf_cv_ncurses_h" != no ; then
36030 +       cf_cv_ncurses_header=$cf_cv_ncurses_h
36031 +else
36032 +AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
36033 +       test -n "$verbose" && echo
36034 +       CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
36035 +       test -n "$verbose" && echo search path $cf_search
36036 +       cf_save2_CPPFLAGS="$CPPFLAGS"
36037 +       for cf_incdir in $cf_search
36038 +       do
36039 +               CF_ADD_INCDIR($cf_incdir)
36040 +               for cf_header in \
36041 +                       ncurses.h \
36042 +                       curses.h
36043 +               do
36044 +                       CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
36045 +                       if test "$cf_cv_ncurses_h2" != no ; then
36046 +                               cf_cv_ncurses_h2=$cf_incdir/$cf_header
36047 +                               test -n "$verbose" && echo $ac_n "      ... found $ac_c" 1>&AC_FD_MSG
36048 +                               break
36049 +                       fi
36050 +                       test -n "$verbose" && echo "    ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
36051 +               done
36052 +               CPPFLAGS="$cf_save2_CPPFLAGS"
36053 +               test "$cf_cv_ncurses_h2" != no && break
36054 +       done
36055 +       test "$cf_cv_ncurses_h2" = no && AC_ERROR(not found)
36056 +       ])
36057 +
36058 +       CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
36059 +       cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
36060 +       if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
36061 +               cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
36062 +       fi
36063 +       CF_ADD_INCDIR($cf_1st_incdir)
36064 +
36065 +fi
36066 +
36067 +AC_DEFINE(NCURSES)
36068 +
36069 +case $cf_cv_ncurses_header in # (vi
36070 +*ncurses.h)
36071 +       AC_DEFINE(HAVE_NCURSES_H)
36072 +       ;;
36073 +esac
36074 +
36075 +case $cf_cv_ncurses_header in # (vi
36076 +ncurses/curses.h|ncurses/ncurses.h)
36077 +       AC_DEFINE(HAVE_NCURSES_NCURSES_H)
36078 +       ;;
36079 +ncursesw/curses.h|ncursesw/ncurses.h)
36080 +       AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
36081 +       ;;
36082 +esac
36083 +
36084 +CF_NCURSES_VERSION
36085 +])dnl
36086 +dnl ---------------------------------------------------------------------------
36087 +dnl CF_NCURSES_LIBS version: 11 updated: 2002/12/22 14:22:25
36088 +dnl ---------------
36089 +dnl Look for the ncurses library.  This is a little complicated on Linux,
36090 +dnl because it may be linked with the gpm (general purpose mouse) library.
36091 +dnl Some distributions have gpm linked with (bsd) curses, which makes it
36092 +dnl unusable with ncurses.  However, we don't want to link with gpm unless
36093 +dnl ncurses has a dependency, since gpm is normally set up as a shared library,
36094 +dnl and the linker will record a dependency.
36095 +dnl
36096 +dnl The optional parameter gives the root name of the library, in case it is
36097 +dnl not installed as the default curses library.  That is how the
36098 +dnl wide-character version of ncurses is installed.
36099 +AC_DEFUN([CF_NCURSES_LIBS],
36100 +[AC_REQUIRE([CF_NCURSES_CPPFLAGS])
36101 +
36102 +cf_nculib_root=ifelse($1,,ncurses,$1)
36103 +       # This works, except for the special case where we find gpm, but
36104 +       # ncurses is in a nonstandard location via $LIBS, and we really want
36105 +       # to link gpm.
36106 +cf_ncurses_LIBS=""
36107 +cf_ncurses_SAVE="$LIBS"
36108 +AC_CHECK_LIB(gpm,Gpm_Open,
36109 +       [AC_CHECK_LIB(gpm,initscr,
36110 +               [LIBS="$cf_ncurses_SAVE"],
36111 +               [cf_ncurses_LIBS="-lgpm"])])
36112 +
36113 +case $host_os in #(vi
36114 +freebsd*)
36115 +       # This is only necessary if you are linking against an obsolete
36116 +       # version of ncurses (but it should do no harm, since it's static).
36117 +       AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
36118 +       ;;
36119 +esac
36120 +
36121 +LIBS="$cf_ncurses_LIBS $LIBS"
36122 +
36123 +if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
36124 +then
36125 +       LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
36126 +else
36127 +       CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
36128 +               [#include <${cf_cv_ncurses_header-curses.h}>],
36129 +               [initscr()],
36130 +               initscr)
36131 +fi
36132 +
36133 +if test -n "$cf_ncurses_LIBS" ; then
36134 +       AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
36135 +       cf_ncurses_SAVE="$LIBS"
36136 +       for p in $cf_ncurses_LIBS ; do
36137 +               q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
36138 +               if test "$q" != "$LIBS" ; then
36139 +                       LIBS="$q"
36140 +               fi
36141 +       done
36142 +       AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
36143 +               [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
36144 +               [AC_MSG_RESULT(yes)],
36145 +               [AC_MSG_RESULT(no)
36146 +                LIBS="$cf_ncurses_SAVE"])
36147 +fi
36148 +
36149 +CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
36150 +AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
36151 +])dnl
36152 +dnl ---------------------------------------------------------------------------
36153 +dnl CF_NCURSES_VERSION version: 10 updated: 2002/10/27 18:21:42
36154 +dnl ------------------
36155 +dnl Check for the version of ncurses, to aid in reporting bugs, etc.
36156 +dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS.  We don't use
36157 +dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi.
36158 +AC_DEFUN([CF_NCURSES_VERSION],
36159 +[
36160 +AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
36161 +       cf_cv_ncurses_version=no
36162 +       cf_tempfile=out$$
36163 +       rm -f $cf_tempfile
36164 +       AC_TRY_RUN([
36165 +#include <${cf_cv_ncurses_header-curses.h}>
36166 +#include <stdio.h>
36167 +int main()
36168 +{
36169 +       FILE *fp = fopen("$cf_tempfile", "w");
36170 +#ifdef NCURSES_VERSION
36171 +# ifdef NCURSES_VERSION_PATCH
36172 +       fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
36173 +# else
36174 +       fprintf(fp, "%s\n", NCURSES_VERSION);
36175 +# endif
36176 +#else
36177 +# ifdef __NCURSES_H
36178 +       fprintf(fp, "old\n");
36179 +# else
36180 +       make an error
36181 +# endif
36182 +#endif
36183 +       exit(0);
36184 +}],[
36185 +       cf_cv_ncurses_version=`cat $cf_tempfile`],,[
36186 +
36187 +       # This will not work if the preprocessor splits the line after the
36188 +       # Autoconf token.  The 'unproto' program does that.
36189 +       cat > conftest.$ac_ext <<EOF
36190 +#include <${cf_cv_ncurses_header-curses.h}>
36191 +#undef Autoconf
36192 +#ifdef NCURSES_VERSION
36193 +Autoconf NCURSES_VERSION
36194 +#else
36195 +#ifdef __NCURSES_H
36196 +Autoconf "old"
36197 +#endif
36198 +;
36199 +#endif
36200 +EOF
36201 +       cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
36202 +       AC_TRY_EVAL(cf_try)
36203 +       if test -f conftest.out ; then
36204 +               cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
36205 +               test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
36206 +               rm -f conftest.out
36207 +       fi
36208 +])
36209 +       rm -f $cf_tempfile
36210 +])
36211 +test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
36212 +])dnl
36213 +dnl ---------------------------------------------------------------------------
36214 +dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
36215 +dnl --------------
36216 +dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
36217 +dnl begins with one of the prefix/exec_prefix variables, and then again if the
36218 +dnl result begins with 'NONE'.  This is necessary to work around autoconf's
36219 +dnl delayed evaluation of those symbols.
36220 +AC_DEFUN([CF_PATH_SYNTAX],[
36221 +case ".[$]$1" in #(vi
36222 +.\[$]\(*\)*|.\'*\'*) #(vi
36223 +  ;;
36224 +..|./*|.\\*) #(vi
36225 +  ;;
36226 +.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
36227 +  ;;
36228 +.\[$]{*prefix}*) #(vi
36229 +  eval $1="[$]$1"
36230 +  case ".[$]$1" in #(vi
36231 +  .NONE/*)
36232 +    $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
36233 +    ;;
36234 +  esac
36235 +  ;; #(vi
36236 +.NONE/*)
36237 +  $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
36238 +  ;;
36239 +*)
36240 +  ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
36241 +  ;;
36242 +esac
36243 +])dnl
36244 +dnl ---------------------------------------------------------------------------
36245 +dnl CF_SUBDIR_PATH version: 3 updated: 2002/12/29 18:30:46
36246 +dnl --------------
36247 +dnl Construct a search-list for a nonstandard header/lib-file
36248 +dnl    $1 = the variable to return as result
36249 +dnl    $2 = the package name
36250 +dnl    $3 = the subdirectory, e.g., bin, include or lib
36251 +AC_DEFUN([CF_SUBDIR_PATH],
36252 +[$1=""
36253 +
36254 +test -d [$]HOME && {
36255 +       test -n "$verbose" && echo "    ... testing $3-directories under [$]HOME"
36256 +       test -d [$]HOME/$3 &&          $1="[$]$1 [$]HOME/$3"
36257 +       test -d [$]HOME/$3/$2 &&       $1="[$]$1 [$]HOME/$3/$2"
36258 +       test -d [$]HOME/$3/$2/$3 &&    $1="[$]$1 [$]HOME/$3/$2/$3"
36259 +}
36260 +
36261 +# For other stuff under the home directory, it should be sufficient to put
36262 +# a symbolic link for $HOME/$2 to the actual package location:
36263 +test -d [$]HOME/$2 && {
36264 +       test -n "$verbose" && echo "    ... testing $3-directories under [$]HOME/$2"
36265 +       test -d [$]HOME/$2/$3 &&       $1="[$]$1 [$]HOME/$2/$3"
36266 +       test -d [$]HOME/$2/$3/$2 &&    $1="[$]$1 [$]HOME/$2/$3/$2"
36267 +}
36268 +
36269 +test "$prefix" != /usr/local && \
36270 +test -d /usr/local && {
36271 +       test -n "$verbose" && echo "    ... testing $3-directories under /usr/local"
36272 +       test -d /usr/local/$3 &&       $1="[$]$1 /usr/local/$3"
36273 +       test -d /usr/local/$3/$2 &&    $1="[$]$1 /usr/local/$3/$2"
36274 +       test -d /usr/local/$3/$2/$3 && $1="[$]$1 /usr/local/$3/$2/$3"
36275 +       test -d /usr/local/$2/$3 &&    $1="[$]$1 /usr/local/$2/$3"
36276 +       test -d /usr/local/$2/$3/$2 && $1="[$]$1 /usr/local/$2/$3/$2"
36277 +}
36278 +
36279 +test "$prefix" != NONE && \
36280 +test -d $prefix && {
36281 +       test -n "$verbose" && echo "    ... testing $3-directories under $prefix"
36282 +       test -d $prefix/$3 &&          $1="[$]$1 $prefix/$3"
36283 +       test -d $prefix/$3/$2 &&       $1="[$]$1 $prefix/$3/$2"
36284 +       test -d $prefix/$3/$2/$3 &&    $1="[$]$1 $prefix/$3/$2/$3"
36285 +       test -d $prefix/$2/$3 &&       $1="[$]$1 $prefix/$2/$3"
36286 +       test -d $prefix/$2/$3/$2 &&    $1="[$]$1 $prefix/$2/$3/$2"
36287 +}
36288 +
36289 +test "$prefix" != /opt && \
36290 +test -d /opt && {
36291 +       test -n "$verbose" && echo "    ... testing $3-directories under /opt"
36292 +       test -d /opt/$3 &&             $1="[$]$1 /opt/$3"
36293 +       test -d /opt/$3/$2 &&          $1="[$]$1 /opt/$3/$2"
36294 +       test -d /opt/$3/$2/$3 &&       $1="[$]$1 /opt/$3/$2/$3"
36295 +       test -d /opt/$2/$3 &&          $1="[$]$1 /opt/$2/$3"
36296 +       test -d /opt/$2/$3/$2 &&       $1="[$]$1 /opt/$2/$3/$2"
36297 +}
36298 +
36299 +test "$prefix" != /usr && \
36300 +test -d /usr && {
36301 +       test -n "$verbose" && echo "    ... testing $3-directories under /usr"
36302 +       test -d /usr/$3 &&             $1="[$]$1 /usr/$3"
36303 +       test -d /usr/$3/$2 &&          $1="[$]$1 /usr/$3/$2"
36304 +       test -d /usr/$3/$2/$3 &&       $1="[$]$1 /usr/$3/$2/$3"
36305 +       test -d /usr/$2/$3 &&          $1="[$]$1 /usr/$2/$3"
36306 +}
36307 +])dnl
36308 +dnl ---------------------------------------------------------------------------
36309 +dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
36310 +dnl ------------------
36311 +dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
36312 +dnl older SCO configurations.
36313 +AC_DEFUN([CF_SYS_TIME_SELECT],
36314 +[
36315 +AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
36316 +AC_CACHE_VAL(cf_cv_sys_time_select,[
36317 +AC_TRY_COMPILE([
36318 +#include <sys/types.h>
36319 +#ifdef HAVE_SYS_TIME_H
36320 +#include <sys/time.h>
36321 +#endif
36322 +#ifdef HAVE_SYS_SELECT_H
36323 +#include <sys/select.h>
36324 +#endif
36325 +],[],[cf_cv_sys_time_select=yes],
36326 +     [cf_cv_sys_time_select=no])
36327 +     ])
36328 +AC_MSG_RESULT($cf_cv_sys_time_select)
36329 +test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
36330 +])dnl
36331 +dnl ---------------------------------------------------------------------------
36332 +dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
36333 +dnl --------
36334 +dnl Make an uppercase version of a variable
36335 +dnl $1=uppercase($2)
36336 +AC_DEFUN([CF_UPPER],
36337 +[
36338 +$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
36339 +])dnl
36340 +dnl ---------------------------------------------------------------------------
36341 +dnl CF_UTF8_LIB version: 4 updated: 2003/03/01 18:36:42
36342 +dnl -----------
36343 +dnl Check for multibyte support, and if not found, utf8 compatibility library
36344 +AC_DEFUN([CF_UTF8_LIB],
36345 +[
36346 +AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
36347 +       cf_save_LIBS="$LIBS"
36348 +       AC_TRY_LINK([
36349 +#include <stdlib.h>],[putwc(0,0);],
36350 +       [cf_cv_utf8_lib=yes],
36351 +       [LIBS="-lutf8 $LIBS"
36352 +        AC_TRY_LINK([
36353 +#include <libutf8.h>],[putwc(0,0);],
36354 +               [cf_cv_utf8_lib=add-on],
36355 +               [cf_cv_utf8_lib=no])
36356 +       LIBS="$cf_save_LIBS"
36357 +])])
36358 +
36359 +# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
36360 +# ncurses/ncursesw:
36361 +if test "$cf_cv_utf8_lib" = "add-on" ; then
36362 +       AC_DEFINE(HAVE_LIBUTF8_H)
36363 +       LIBS="-lutf8 $LIBS"
36364 +fi
36365 +])dnl
36366 +dnl ---------------------------------------------------------------------------
36367 +dnl CF_WITH_CURSES_DIR version: 2 updated: 2002/11/10 14:46:59
36368 +dnl ------------------
36369 +dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
36370 +dnl libraries.
36371 +AC_DEFUN([CF_WITH_CURSES_DIR],[
36372 +AC_ARG_WITH(curses-dir,
36373 +       [  --with-curses-dir=DIR   directory in which (n)curses is installed],
36374 +       [CF_PATH_SYNTAX(withval)
36375 +        cf_cv_curses_dir=$withval],
36376 +       [cf_cv_curses_dir=no])
36377 +])dnl
36378 diff -urNd -urNd ncurses-5.3/test/bs.c ncurses-5.3.20030906.orig/test/bs.c
36379 --- ncurses-5.3/test/bs.c       Sat Jun 29 18:32:18 2002
36380 +++ ncurses-5.3.20030906.orig/test/bs.c Tue May 13 20:08:23 2003
36381 @@ -7,11 +7,9 @@
36382   * v2.0 featuring strict ANSI/POSIX conformance, November 1993.
36383   * v2.1 with ncurses mouse support, September 1995
36384   *
36385 - * $Id: bs.c,v 1.36 2002/06/29 23:32:18 tom Exp $
36386 + * $Id: bs.c,v 1.37 2002/10/19 22:11:47 tom Exp $
36387   */
36388  
36389 -#include <ctype.h>
36390 -#include <assert.h>
36391  #include <time.h>
36392  
36393  #include <test.priv.h>
36394 diff -urNd -urNd ncurses-5.3/test/cardfile.c ncurses-5.3.20030906.orig/test/cardfile.c
36395 --- ncurses-5.3/test/cardfile.c Sun Sep  1 12:59:48 2002
36396 +++ ncurses-5.3.20030906.orig/test/cardfile.c   Tue May 13 20:08:23 2003
36397 @@ -1,5 +1,5 @@
36398  /****************************************************************************
36399 - * Copyright (c) 1999-2001,2002 Free Software Foundation, Inc.              *
36400 + * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
36401   *                                                                          *
36402   * Permission is hereby granted, free of charge, to any person obtaining a  *
36403   * copy of this software and associated documentation files (the            *
36404 @@ -29,26 +29,28 @@
36405  /*
36406   * Author: Thomas E. Dickey <dickey@clark.net> 1999
36407   *
36408 - * $Id: cardfile.c,v 1.19 2002/09/01 17:59:48 tom Exp $
36409 + * $Id: cardfile.c,v 1.23 2003/04/26 16:43:56 tom Exp $
36410   *
36411 - * File format: text beginning in column 1 is a title; other text forms the content.
36412 + * File format: text beginning in column 1 is a title; other text is content.
36413   */
36414  
36415  #include <test.priv.h>
36416  
36417 -#if HAVE_FORM_H && HAVE_PANEL_H && HAVE_LIBFORM && HAVE_LIBPANEL
36418 +#if USE_LIBFORM && USE_LIBPANEL
36419  
36420  #include <form.h>
36421  #include <panel.h>
36422  
36423 -#include <ctype.h>
36424 -
36425  #define VISIBLE_CARDS 10
36426  #define OFFSET_CARD 2
36427  
36428 -#ifndef CTRL
36429 -#define CTRL(x)                ((x) & 0x1f)
36430 -#endif
36431 +enum {
36432 +    MY_CTRL_x = MAX_FORM_COMMAND
36433 +    ,MY_CTRL_N
36434 +    ,MY_CTRL_P
36435 +    ,MY_CTRL_Q
36436 +    ,MY_CTRL_W
36437 +};
36438  
36439  typedef struct _card {
36440      struct _card *link;
36441 @@ -273,14 +275,14 @@
36442  
36443      switch (c) {
36444      case CTRL('W'):
36445 -       return (MAX_FORM_COMMAND + 4);
36446 +       return (MY_CTRL_W);
36447      case CTRL('N'):
36448 -       return (MAX_FORM_COMMAND + 3);
36449 +       return (MY_CTRL_N);
36450      case CTRL('P'):
36451 -       return (MAX_FORM_COMMAND + 2);
36452 +       return (MY_CTRL_P);
36453      case CTRL('Q'):
36454      case 033:
36455 -       return (MAX_FORM_COMMAND + 1);
36456 +       return (MY_CTRL_Q);
36457  
36458      case KEY_BACKSPACE:
36459         return (REQ_DEL_PREV);
36460 @@ -311,10 +313,12 @@
36461      f[0] = new_field(1, form_wide, 0, 0, 0, 0);
36462      set_field_back(f[0], A_REVERSE);
36463      set_field_buffer(f[0], 0, p->title);
36464 +    field_opts_off(f[0], O_BLANK);
36465  
36466      f[1] = new_field(form_high - 1, form_wide, 1, 0, 0, 0);
36467      set_field_buffer(f[1], 0, p->content);
36468      set_field_just(f[1], JUSTIFY_LEFT);
36469 +    field_opts_off(f[1], O_BLANK);
36470  
36471      f[2] = 0;
36472      return f;
36473 @@ -394,18 +398,19 @@
36474             break;
36475         case E_UNKNOWN_COMMAND:
36476             switch (ch) {
36477 -           case MAX_FORM_COMMAND + 1:
36478 +           case MY_CTRL_Q:
36479                 finished = TRUE;
36480                 break;
36481 -           case MAX_FORM_COMMAND + 2:
36482 +           case MY_CTRL_P:
36483                 top_card = prev_card(top_card);
36484                 order_cards(top_card, visible_cards);
36485                 break;
36486 -           case MAX_FORM_COMMAND + 3:
36487 +           case MY_CTRL_N:
36488                 top_card = next_card(top_card);
36489                 order_cards(top_card, visible_cards);
36490                 break;
36491 -           case MAX_FORM_COMMAND + 4:
36492 +           case MY_CTRL_W:
36493 +               form_driver(top_card->form, REQ_VALIDATION);
36494                 write_data(fname);
36495                 break;
36496  #if defined(KEY_RESIZE) && HAVE_WRESIZE
36497 diff -urNd -urNd ncurses-5.3/test/configure ncurses-5.3.20030906.orig/test/configure
36498 --- ncurses-5.3/test/configure  Sat Apr  6 17:16:16 2002
36499 +++ ncurses-5.3.20030906.orig/test/configure    Sun Jul 20 14:02:08 2003
36500 @@ -1,7 +1,7 @@
36501  #! /bin/sh
36502  
36503  # Guess values for system-dependent variables and create Makefiles.
36504 -# Generated automatically using autoconf version 2.13.20000819 
36505 +# Generated automatically using autoconf version 2.13.20020210 
36506  # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
36507  #
36508  # This configure script is free software; the Free Software Foundation
36509 @@ -183,6 +183,7 @@
36510  EOF
36511  cat <<EOF
36512  --enable and --with options recognized:
36513 +  --with-curses-dir=DIR   directory in which (n)curses is installed
36514    --with-5lib             use SunOS sysv-libraries
36515    --with-ncursesw         use wide ncurses-libraries (installed)
36516    --with-ncurses          use ncurses-libraries (installed)
36517 @@ -336,7 +337,7 @@
36518      verbose=yes ;;
36519  
36520    -version | --version | --versio | --versi | --vers)
36521 -    echo "configure generated by autoconf version 2.13.20000819"
36522 +    echo "configure generated by autoconf version 2.13.20020210"
36523      exit 0 ;;
36524  
36525    -with-* | --with-*)
36526 @@ -526,10 +527,91 @@
36527  
36528  
36529  
36530 +
36531 +test -f config.guess || ( test -f ../config.guess && cp ../config.guess ./ )
36532 +
36533 +
36534 +test -f config.sub || ( test -f ../config.sub && cp ../config.sub ./ )
36535 +
36536 +ac_aux_dir=
36537 +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
36538 +  if test -f $ac_dir/install-sh; then
36539 +    ac_aux_dir=$ac_dir
36540 +    ac_install_sh="$ac_aux_dir/install-sh -c"
36541 +    break
36542 +  elif test -f $ac_dir/install.sh; then
36543 +    ac_aux_dir=$ac_dir
36544 +    ac_install_sh="$ac_aux_dir/install.sh -c"
36545 +    break
36546 +  fi
36547 +done
36548 +if test -z "$ac_aux_dir"; then
36549 +  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
36550 +fi
36551 +ac_config_guess=$ac_aux_dir/config.guess
36552 +ac_config_sub=$ac_aux_dir/config.sub
36553 +ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
36554 +
36555 +
36556 +if test -f $srcdir/config.guess ; then
36557 +       
36558 +# Make sure we can run config.sub.
36559 +if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
36560 +else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
36561 +fi
36562 +
36563 +echo $ac_n "checking host system type""... $ac_c" 1>&6
36564 +echo "configure:565: checking host system type" >&5
36565 +
36566 +host_alias=$host
36567 +case "$host_alias" in
36568 +NONE)
36569 +  case $nonopt in
36570 +  NONE)
36571 +    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
36572 +    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
36573 +    fi ;;
36574 +  *) host_alias=$nonopt ;;
36575 +  esac ;;
36576 +esac
36577 +
36578 +host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
36579 +host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
36580 +host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
36581 +host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
36582 +echo "$ac_t""$host" 1>&6
36583 +
36584 +       system_name="$host_os"
36585 +else
36586 +       system_name="`(uname -s -r) 2>/dev/null`"
36587 +       if test -z "$system_name" ; then
36588 +               system_name="`(hostname) 2>/dev/null`"
36589 +       fi
36590 +fi
36591 +test -n "$system_name" && cat >> confdefs.h <<EOF
36592 +#define SYSTEM_NAME "$system_name"
36593 +EOF
36594 +
36595 +if eval "test \"`echo '$''{'cf_cv_system_name'+set}'`\" = set"; then
36596 +  echo $ac_n "(cached) $ac_c" 1>&6
36597 +else
36598 +  cf_cv_system_name="$system_name"
36599 +fi
36600 +
36601 +
36602 +test -z "$system_name" && system_name="$cf_cv_system_name"
36603 +test -n "$cf_cv_system_name" && echo "$ac_t""Configuring for $cf_cv_system_name" 1>&6
36604 +
36605 +if test ".$system_name" != ".$cf_cv_system_name" ; then
36606 +       echo "$ac_t""Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" 1>&6
36607 +       { echo "configure: error: "Please remove config.cache and try again."" 1>&2; exit 1; }
36608 +fi
36609 +
36610 +
36611  # Extract the first word of "gcc", so it can be a program name with args.
36612  set dummy gcc; ac_word=$2
36613  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
36614 -echo "configure:533: checking for $ac_word" >&5
36615 +echo "configure:615: checking for $ac_word" >&5
36616  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
36617    echo $ac_n "(cached) $ac_c" 1>&6
36618  else
36619 @@ -559,7 +641,7 @@
36620    # Extract the first word of "cc", so it can be a program name with args.
36621  set dummy cc; ac_word=$2
36622  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
36623 -echo "configure:563: checking for $ac_word" >&5
36624 +echo "configure:645: checking for $ac_word" >&5
36625  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
36626    echo $ac_n "(cached) $ac_c" 1>&6
36627  else
36628 @@ -610,7 +692,7 @@
36629        # Extract the first word of "cl", so it can be a program name with args.
36630  set dummy cl; ac_word=$2
36631  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
36632 -echo "configure:614: checking for $ac_word" >&5
36633 +echo "configure:696: checking for $ac_word" >&5
36634  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
36635    echo $ac_n "(cached) $ac_c" 1>&6
36636  else
36637 @@ -642,7 +724,7 @@
36638  fi
36639  
36640  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
36641 -echo "configure:646: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
36642 +echo "configure:728: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
36643  
36644  ac_ext=c
36645  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
36646 @@ -653,12 +735,12 @@
36647  
36648  cat > conftest.$ac_ext << EOF
36649  
36650 -#line 657 "configure"
36651 +#line 739 "configure"
36652  #include "confdefs.h"
36653  
36654  main(){return(0);}
36655  EOF
36656 -if { (eval echo configure:662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
36657 +if { (eval echo configure:744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
36658    ac_cv_prog_cc_works=yes
36659    # If we can't run a trivial program, we are probably using a cross compiler.
36660    if (./conftest; exit) 2>/dev/null; then
36661 @@ -684,12 +766,12 @@
36662    { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
36663  fi
36664  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
36665 -echo "configure:688: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
36666 +echo "configure:770: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
36667  echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
36668  cross_compiling=$ac_cv_prog_cc_cross
36669  
36670  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
36671 -echo "configure:693: checking whether we are using GNU C" >&5
36672 +echo "configure:775: checking whether we are using GNU C" >&5
36673  if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
36674    echo $ac_n "(cached) $ac_c" 1>&6
36675  else
36676 @@ -698,7 +780,7 @@
36677    yes;
36678  #endif
36679  EOF
36680 -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
36681 +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
36682    ac_cv_prog_gcc=yes
36683  else
36684    ac_cv_prog_gcc=no
36685 @@ -717,7 +799,7 @@
36686  ac_save_CFLAGS="$CFLAGS"
36687  CFLAGS=
36688  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
36689 -echo "configure:721: checking whether ${CC-cc} accepts -g" >&5
36690 +echo "configure:803: checking whether ${CC-cc} accepts -g" >&5
36691  if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
36692    echo $ac_n "(cached) $ac_c" 1>&6
36693  else
36694 @@ -748,6 +830,86 @@
36695    fi
36696  fi
36697  
36698 +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
36699 +echo "configure:835: checking how to run the C preprocessor" >&5
36700 +# On Suns, sometimes $CPP names a directory.
36701 +if test -n "$CPP" && test -d "$CPP"; then
36702 +  CPP=
36703 +fi
36704 +if test -z "$CPP"; then
36705 +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
36706 +  echo $ac_n "(cached) $ac_c" 1>&6
36707 +else
36708 +    # This must be in double quotes, not single quotes, because CPP may get
36709 +  # substituted into the Makefile and "${CC-cc}" will confuse make.
36710 +  CPP="${CC-cc} -E"
36711 +  # On the NeXT, cc -E runs the code through the compiler's parser,
36712 +  # not just through cpp.
36713 +  cat > conftest.$ac_ext <<EOF
36714 +#line 850 "configure"
36715 +#include "confdefs.h"
36716 +#include <assert.h>
36717 +Syntax Error
36718 +EOF
36719 +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
36720 +{ (eval echo configure:856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
36721 +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
36722 +if test -z "$ac_err"; then
36723 +  :
36724 +else
36725 +  echo "$ac_err" >&5
36726 +  echo "configure: failed program was:" >&5
36727 +  cat conftest.$ac_ext >&5
36728 +  rm -rf conftest*
36729 +  CPP="${CC-cc} -E -traditional-cpp"
36730 +  cat > conftest.$ac_ext <<EOF
36731 +#line 867 "configure"
36732 +#include "confdefs.h"
36733 +#include <assert.h>
36734 +Syntax Error
36735 +EOF
36736 +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
36737 +{ (eval echo configure:873: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
36738 +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
36739 +if test -z "$ac_err"; then
36740 +  :
36741 +else
36742 +  echo "$ac_err" >&5
36743 +  echo "configure: failed program was:" >&5
36744 +  cat conftest.$ac_ext >&5
36745 +  rm -rf conftest*
36746 +  CPP="${CC-cc} -nologo -E"
36747 +  cat > conftest.$ac_ext <<EOF
36748 +#line 884 "configure"
36749 +#include "confdefs.h"
36750 +#include <assert.h>
36751 +Syntax Error
36752 +EOF
36753 +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
36754 +{ (eval echo configure:890: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
36755 +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
36756 +if test -z "$ac_err"; then
36757 +  :
36758 +else
36759 +  echo "$ac_err" >&5
36760 +  echo "configure: failed program was:" >&5
36761 +  cat conftest.$ac_ext >&5
36762 +  rm -rf conftest*
36763 +  CPP=/lib/cpp
36764 +fi
36765 +rm -f conftest*
36766 +fi
36767 +rm -f conftest*
36768 +fi
36769 +rm -f conftest*
36770 +  ac_cv_prog_CPP="$CPP"
36771 +fi
36772 +  CPP="$ac_cv_prog_CPP"
36773 +else
36774 +  ac_cv_prog_CPP="$CPP"
36775 +fi
36776 +echo "$ac_t""$CPP" 1>&6
36777 +
36778  
36779  CC_G_OPT="-g"                          
36780  CC_SHARED_OPTS=unknown                 
36781 @@ -775,6 +937,45 @@
36782  cf_cv_abi_version=""                   
36783  cf_cv_rel_version=""                   
36784  
36785 +cf_cv_screen=curses
36786 +cf_cv_libtype=
36787 +
36788 +
36789 +
36790 +# Check whether --with-curses-dir or --without-curses-dir was given.
36791 +if test "${with_curses_dir+set}" = set; then
36792 +  withval="$with_curses_dir"
36793 +  
36794 +case ".$withval" in #(vi
36795 +.\$\(*\)*|.\'*\'*) #(vi
36796 +  ;;
36797 +..|./*|.\\*) #(vi
36798 +  ;;
36799 +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
36800 +  ;;
36801 +.\${*prefix}*) #(vi
36802 +  eval withval="$withval"
36803 +  case ".$withval" in #(vi
36804 +  .NONE/*)
36805 +    withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
36806 +    ;;
36807 +  esac
36808 +  ;; #(vi
36809 +.NONE/*)
36810 +  withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
36811 +  ;;
36812 +*)
36813 +  { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; }
36814 +  ;;
36815 +esac
36816 +
36817 +        cf_cv_curses_dir=$withval
36818 +else
36819 +  cf_cv_curses_dir=no
36820 +fi
36821 +
36822 +
36823 +
36824  
36825  # Check whether --with-5lib or --without-5lib was given.
36826  if test "${with_5lib+set}" = set; then
36827 @@ -785,87 +986,303 @@
36828  
36829  
36830  
36831 -
36832  # Check whether --with-ncursesw or --without-ncursesw was given.
36833  if test "${with_ncursesw+set}" = set; then
36834    withval="$with_ncursesw"
36835 +  cf_cv_screen=ncursesw
36836 +fi
36837 +
36838 +
36839 +
36840 +# Check whether --with-ncurses or --without-ncurses was given.
36841 +if test "${with_ncurses+set}" = set; then
36842 +  withval="$with_ncurses"
36843 +  cf_cv_screen=ncurses
36844 +fi
36845 +
36846 +
36847 +case $cf_cv_screen in
36848 +curses)
36849 +       
36850 +
36851 +echo $ac_n "checking for extra include directories""... $ac_c" 1>&6
36852 +echo "configure:1010: checking for extra include directories" >&5
36853 +if eval "test \"`echo '$''{'cf_cv_curses_incdir'+set}'`\" = set"; then
36854 +  echo $ac_n "(cached) $ac_c" 1>&6
36855 +else
36856    
36857 -        cat >> confdefs.h <<\EOF
36858 -#define _GNU_SOURCE 1
36859 -EOF
36860 +cf_cv_curses_incdir=no
36861 +case $host_os in #(vi
36862 +hpux10.*|hpux11.*) #(vi
36863 +       test -d /usr/include/curses_colr && \
36864 +       cf_cv_curses_incdir="-I/usr/include/curses_colr"
36865 +       ;;
36866 +sunos3*|sunos4*)
36867 +       test -d /usr/5lib && \
36868 +       test -d /usr/5include && \
36869 +       cf_cv_curses_incdir="-I/usr/5include"
36870 +       ;;
36871 +esac
36872  
36873 -        cat >> confdefs.h <<\EOF
36874 -#define _XOPEN_SOURCE_EXTENDED 1
36875 +fi
36876 +
36877 +echo "$ac_t""$cf_cv_curses_incdir" 1>&6
36878 +test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
36879 +
36880 +echo $ac_n "checking if we have identified curses headers""... $ac_c" 1>&6
36881 +echo "configure:1034: checking if we have identified curses headers" >&5
36882 +if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then
36883 +  echo $ac_n "(cached) $ac_c" 1>&6
36884 +else
36885 +  
36886 +cf_cv_ncurses_header=none
36887 +for cf_header in \
36888 +       curses.h \
36889 +       ncurses.h \
36890 +       ncurses/curses.h \
36891 +       ncurses/ncurses.h
36892 +do
36893 +cat > conftest.$ac_ext <<EOF
36894 +#line 1047 "configure"
36895 +#include "confdefs.h"
36896 +#include <${cf_header}>
36897 +int main() {
36898 +initscr(); tgoto("?", 0,0)
36899 +; return 0; }
36900  EOF
36901 +if { (eval echo configure:1054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
36902 +  rm -rf conftest*
36903 +  cf_cv_ncurses_header=$cf_header; break
36904 +else
36905 +  echo "configure: failed program was:" >&5
36906 +  cat conftest.$ac_ext >&5
36907 +fi
36908 +rm -f conftest*
36909 +done
36910  
36911 -        echo $ac_n "checking for initscr""... $ac_c" 1>&6
36912 -echo "configure:803: checking for initscr" >&5
36913 -if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
36914 +fi
36915 +
36916 +echo "$ac_t""$cf_cv_ncurses_header" 1>&6
36917 +
36918 +if test "$cf_cv_ncurses_header" = none ; then
36919 +       { echo "configure: error: No curses header-files found" 1>&2; exit 1; }
36920 +fi
36921 +
36922 +# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
36923 +for ac_hdr in $cf_cv_ncurses_header
36924 +do
36925 +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
36926 +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
36927 +echo "configure:1077: checking for $ac_hdr" >&5
36928 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
36929    echo $ac_n "(cached) $ac_c" 1>&6
36930  else
36931    cat > conftest.$ac_ext <<EOF
36932 -#line 808 "configure"
36933 +#line 1082 "configure"
36934  #include "confdefs.h"
36935 -/* System header to define __stub macros and hopefully few prototypes,
36936 -    which can conflict with char initscr(); below.  */
36937 -#include <assert.h>
36938 -/* Override any gcc2 internal prototype to avoid an error.  */
36939 -/* We use char because int might match the return type of a gcc2
36940 -    builtin and then its argument prototype would still apply.  */
36941 -char initscr();
36942 +#include <$ac_hdr>
36943 +EOF
36944 +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
36945 +{ (eval echo configure:1087: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
36946 +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
36947 +if test -z "$ac_err"; then
36948 +  rm -rf conftest*
36949 +  eval "ac_cv_header_$ac_safe=yes"
36950 +else
36951 +  echo "$ac_err" >&5
36952 +  echo "configure: failed program was:" >&5
36953 +  cat conftest.$ac_ext >&5
36954 +  rm -rf conftest*
36955 +  eval "ac_cv_header_$ac_safe=no"
36956 +fi
36957 +rm -f conftest*
36958 +fi
36959 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
36960 +  echo "$ac_t""yes" 1>&6
36961 +    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
36962 +  cat >> confdefs.h <<EOF
36963 +#define $ac_tr_hdr 1
36964 +EOF
36965
36966 +else
36967 +  echo "$ac_t""no" 1>&6
36968 +fi
36969 +done
36970  
36971 -int main() {
36972  
36973 -/* The GNU C library defines this for functions which it implements
36974 -    to always fail with ENOSYS.  Some functions are actually named
36975 -    something starting with __ and the normal name is an alias.  */
36976 -#if defined (__stub_initscr) || defined (__stub___initscr)
36977 -choke me
36978 +
36979 +       
36980 +echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
36981 +echo "configure:1117: checking for ncurses version" >&5
36982 +if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
36983 +  echo $ac_n "(cached) $ac_c" 1>&6
36984 +else
36985 +  
36986 +       cf_cv_ncurses_version=no
36987 +       cf_tempfile=out$$
36988 +       rm -f $cf_tempfile
36989 +       if test "$cross_compiling" = yes; then
36990 +  
36991 +
36992 +       # This will not work if the preprocessor splits the line after the
36993 +       # Autoconf token.  The 'unproto' program does that.
36994 +       cat > conftest.$ac_ext <<EOF
36995 +#include <${cf_cv_ncurses_header-curses.h}>
36996 +#undef Autoconf
36997 +#ifdef NCURSES_VERSION
36998 +Autoconf NCURSES_VERSION
36999  #else
37000 -initscr();
37001 +#ifdef __NCURSES_H
37002 +Autoconf "old"
37003 +#endif
37004 +;
37005 +#endif
37006 +EOF
37007 +       cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
37008 +       { (eval echo configure:1143: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
37009 +       if test -f conftest.out ; then
37010 +               cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
37011 +               test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
37012 +               rm -f conftest.out
37013 +       fi
37014 +
37015 +else
37016 +  cat > conftest.$ac_ext <<EOF
37017 +#line 1152 "configure"
37018 +#include "confdefs.h"
37019 +
37020 +#include <${cf_cv_ncurses_header-curses.h}>
37021 +#include <stdio.h>
37022 +int main()
37023 +{
37024 +       FILE *fp = fopen("$cf_tempfile", "w");
37025 +#ifdef NCURSES_VERSION
37026 +# ifdef NCURSES_VERSION_PATCH
37027 +       fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
37028 +# else
37029 +       fprintf(fp, "%s\n", NCURSES_VERSION);
37030 +# endif
37031 +#else
37032 +# ifdef __NCURSES_H
37033 +       fprintf(fp, "old\n");
37034 +# else
37035 +       make an error
37036 +# endif
37037  #endif
37038 +       exit(0);
37039 +}
37040 +EOF
37041 +if { (eval echo configure:1176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
37042 +then
37043 +  
37044 +       cf_cv_ncurses_version=`cat $cf_tempfile`
37045 +else
37046 +  echo "configure: failed program was:" >&5
37047 +  cat conftest.$ac_ext >&5
37048 +fi
37049 +rm -fr conftest*
37050 +fi
37051 +
37052 +       rm -f $cf_tempfile
37053 +
37054 +fi
37055 +
37056 +echo "$ac_t""$cf_cv_ncurses_version" 1>&6
37057 +test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF
37058 +#define NCURSES 1
37059 +EOF
37060 +
37061 +
37062 +       
37063  
37064 +echo $ac_n "checking if we have identified curses libraries""... $ac_c" 1>&6
37065 +echo "configure:1200: checking if we have identified curses libraries" >&5
37066 +cat > conftest.$ac_ext <<EOF
37067 +#line 1202 "configure"
37068 +#include "confdefs.h"
37069 +#include <${cf_cv_ncurses_header-curses.h}>
37070 +int main() {
37071 +initscr(); tgoto("?", 0,0)
37072  ; return 0; }
37073  EOF
37074 -if { (eval echo configure:831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37075 +if { (eval echo configure:1209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37076    rm -rf conftest*
37077 -  eval "ac_cv_func_initscr=yes"
37078 +  cf_result=yes
37079  else
37080    echo "configure: failed program was:" >&5
37081    cat conftest.$ac_ext >&5
37082    rm -rf conftest*
37083 -  eval "ac_cv_func_initscr=no"
37084 +  cf_result=no
37085  fi
37086  rm -f conftest*
37087 +echo "$ac_t""$cf_result" 1>&6
37088 +
37089 +if test "$cf_result" = no ; then
37090 +case $host_os in #(vi
37091 +freebsd*) #(vi
37092 +       echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
37093 +echo "configure:1225: checking for tgoto in -lmytinfo" >&5
37094 +ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
37095 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
37096 +  echo $ac_n "(cached) $ac_c" 1>&6
37097 +else
37098 +  ac_save_LIBS="$LIBS"
37099 +LIBS="-lmytinfo  $LIBS"
37100 +cat > conftest.$ac_ext <<EOF
37101 +#line 1233 "configure"
37102 +#include "confdefs.h"
37103 +/* Override any gcc2 internal prototype to avoid an error.  */
37104 +/* We use char because int might match the return type of a gcc2
37105 +    builtin and then its argument prototype would still apply.  */
37106 +char tgoto();
37107 +
37108 +int main() {
37109 +tgoto()
37110 +; return 0; }
37111 +EOF
37112 +if { (eval echo configure:1244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37113 +  rm -rf conftest*
37114 +  eval "ac_cv_lib_$ac_lib_var=yes"
37115 +else
37116 +  echo "configure: failed program was:" >&5
37117 +  cat conftest.$ac_ext >&5
37118 +  rm -rf conftest*
37119 +  eval "ac_cv_lib_$ac_lib_var=no"
37120  fi
37121 +rm -f conftest*
37122 +LIBS="$ac_save_LIBS"
37123  
37124 -if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then
37125 +fi
37126 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
37127    echo "$ac_t""yes" 1>&6
37128 -  :
37129 +  LIBS="-lmytinfo $LIBS"
37130  else
37131    echo "$ac_t""no" 1>&6
37132 +fi
37133  
37134 -        echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
37135 -echo "configure:850: checking for Gpm_Open in -lgpm" >&5
37136 -ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
37137 +       ;;
37138 +hpux10.*|hpux11.*) #(vi
37139 +       echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6
37140 +echo "configure:1267: checking for initscr in -lcur_colr" >&5
37141 +ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'`
37142  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
37143    echo $ac_n "(cached) $ac_c" 1>&6
37144  else
37145    ac_save_LIBS="$LIBS"
37146 -LIBS="-lgpm  $LIBS"
37147 +LIBS="-lcur_colr  $LIBS"
37148  cat > conftest.$ac_ext <<EOF
37149 -#line 858 "configure"
37150 +#line 1275 "configure"
37151  #include "confdefs.h"
37152  /* Override any gcc2 internal prototype to avoid an error.  */
37153  /* We use char because int might match the return type of a gcc2
37154      builtin and then its argument prototype would still apply.  */
37155 -char Gpm_Open();
37156 +char initscr();
37157  
37158  int main() {
37159 -Gpm_Open()
37160 +initscr()
37161  ; return 0; }
37162  EOF
37163 -if { (eval echo configure:869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37164 +if { (eval echo configure:1286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37165    rm -rf conftest*
37166    eval "ac_cv_lib_$ac_lib_var=yes"
37167  else
37168 @@ -880,144 +1297,857 @@
37169  fi
37170  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
37171    echo "$ac_t""yes" 1>&6
37172 -    ac_tr_lib=HAVE_LIB`echo gpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \
37173 -    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
37174 -  cat >> confdefs.h <<EOF
37175 -#define $ac_tr_lib 1
37176 -EOF
37177 +  
37178 +               LIBS="-lcur_colr $LIBS"
37179 +               ac_cv_func_initscr=yes
37180 +               
37181 +else
37182 +  echo "$ac_t""no" 1>&6
37183  
37184 -  LIBS="-lgpm $LIBS"
37185 +       echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6
37186 +echo "configure:1309: checking for initscr in -lHcurses" >&5
37187 +ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'`
37188 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
37189 +  echo $ac_n "(cached) $ac_c" 1>&6
37190 +else
37191 +  ac_save_LIBS="$LIBS"
37192 +LIBS="-lHcurses  $LIBS"
37193 +cat > conftest.$ac_ext <<EOF
37194 +#line 1317 "configure"
37195 +#include "confdefs.h"
37196 +/* Override any gcc2 internal prototype to avoid an error.  */
37197 +/* We use char because int might match the return type of a gcc2
37198 +    builtin and then its argument prototype would still apply.  */
37199 +char initscr();
37200 +
37201 +int main() {
37202 +initscr()
37203 +; return 0; }
37204 +EOF
37205 +if { (eval echo configure:1328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37206 +  rm -rf conftest*
37207 +  eval "ac_cv_lib_$ac_lib_var=yes"
37208 +else
37209 +  echo "configure: failed program was:" >&5
37210 +  cat conftest.$ac_ext >&5
37211 +  rm -rf conftest*
37212 +  eval "ac_cv_lib_$ac_lib_var=no"
37213 +fi
37214 +rm -f conftest*
37215 +LIBS="$ac_save_LIBS"
37216  
37217 +fi
37218 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
37219 +  echo "$ac_t""yes" 1>&6
37220 +  
37221 +               # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
37222 +               LIBS="-lHcurses $LIBS"
37223 +               CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
37224 +               ac_cv_func_initscr=yes
37225 +               
37226  else
37227    echo "$ac_t""no" 1>&6
37228  fi
37229  
37230 -        LIB_NAME=ncursesw
37231 -        echo $ac_n "checking for putwc""... $ac_c" 1>&6
37232 -echo "configure:898: checking for putwc" >&5
37233 -if eval "test \"`echo '$''{'ac_cv_func_putwc'+set}'`\" = set"; then
37234 +fi
37235 +
37236 +       ;;
37237 +linux*) # Suse Linux does not follow /usr/lib convention
37238 +       LIBS="$LIBS -L/lib"
37239 +       ;;
37240 +sunos3*|sunos4*)
37241 +       test -d /usr/5lib && \
37242 +       LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap"
37243 +       ac_cv_func_initscr=yes
37244 +       ;;
37245 +esac
37246 +
37247 +if test ".$ac_cv_func_initscr" != .yes ; then
37248 +       cf_save_LIBS="$LIBS"
37249 +       cf_term_lib=""
37250 +       cf_curs_lib=""
37251 +
37252 +       if test ".${cf_cv_ncurses_version-no}" != .no
37253 +       then
37254 +               cf_check_list="ncurses curses cursesX"
37255 +       else
37256 +               cf_check_list="cursesX curses ncurses"
37257 +       fi
37258 +
37259 +       # Check for library containing tgoto.  Do this before curses library
37260 +       # because it may be needed to link the test-case for initscr.
37261 +       echo $ac_n "checking for tgoto""... $ac_c" 1>&6
37262 +echo "configure:1381: checking for tgoto" >&5
37263 +if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then
37264    echo $ac_n "(cached) $ac_c" 1>&6
37265  else
37266    cat > conftest.$ac_ext <<EOF
37267 -#line 903 "configure"
37268 +#line 1386 "configure"
37269  #include "confdefs.h"
37270  /* System header to define __stub macros and hopefully few prototypes,
37271 -    which can conflict with char putwc(); below.  */
37272 +    which can conflict with char tgoto(); below.  */
37273  #include <assert.h>
37274  /* Override any gcc2 internal prototype to avoid an error.  */
37275  /* We use char because int might match the return type of a gcc2
37276      builtin and then its argument prototype would still apply.  */
37277 -char putwc();
37278 +char tgoto();
37279  
37280  int main() {
37281  
37282  /* The GNU C library defines this for functions which it implements
37283      to always fail with ENOSYS.  Some functions are actually named
37284      something starting with __ and the normal name is an alias.  */
37285 -#if defined (__stub_putwc) || defined (__stub___putwc)
37286 +#if defined (__stub_tgoto) || defined (__stub___tgoto)
37287  choke me
37288  #else
37289 -putwc();
37290 +tgoto();
37291  #endif
37292  
37293  ; return 0; }
37294  EOF
37295 -if { (eval echo configure:926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37296 +if { (eval echo configure:1409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37297    rm -rf conftest*
37298 -  eval "ac_cv_func_putwc=yes"
37299 +  eval "ac_cv_func_tgoto=yes"
37300  else
37301    echo "configure: failed program was:" >&5
37302    cat conftest.$ac_ext >&5
37303    rm -rf conftest*
37304 -  eval "ac_cv_func_putwc=no"
37305 +  eval "ac_cv_func_tgoto=no"
37306  fi
37307  rm -f conftest*
37308  fi
37309  
37310 -if eval "test \"`echo '$ac_cv_func_'putwc`\" = yes"; then
37311 +if eval "test \"`echo '$ac_cv_func_'tgoto`\" = yes"; then
37312    echo "$ac_t""yes" 1>&6
37313 -  :
37314 +  cf_term_lib=predefined
37315  else
37316    echo "$ac_t""no" 1>&6
37317  
37318 -echo $ac_n "checking for putwc in libutf8""... $ac_c" 1>&6
37319 -echo "configure:945: checking for putwc in libutf8" >&5
37320 -if eval "test \"`echo '$''{'cf_cv_libutf8'+set}'`\" = set"; then
37321 +               for cf_term_lib in $cf_check_list termcap termlib unknown
37322 +               do
37323 +                       echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6
37324 +echo "configure:1430: checking for tgoto in -l$cf_term_lib" >&5
37325 +ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'`
37326 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
37327    echo $ac_n "(cached) $ac_c" 1>&6
37328  else
37329 -  
37330 -       cf_save_LIBS="$LIBS"
37331 -       LIBS="-lutf8 $LIBS"
37332 +  ac_save_LIBS="$LIBS"
37333 +LIBS="-l$cf_term_lib  $LIBS"
37334  cat > conftest.$ac_ext <<EOF
37335 -#line 953 "configure"
37336 +#line 1438 "configure"
37337  #include "confdefs.h"
37338 +/* Override any gcc2 internal prototype to avoid an error.  */
37339 +/* We use char because int might match the return type of a gcc2
37340 +    builtin and then its argument prototype would still apply.  */
37341 +char tgoto();
37342  
37343 -#include <libutf8.h>
37344  int main() {
37345 -putwc(0,0);
37346 +tgoto()
37347  ; return 0; }
37348  EOF
37349 -if { (eval echo configure:961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37350 +if { (eval echo configure:1449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37351    rm -rf conftest*
37352 -  cf_cv_libutf8=yes
37353 +  eval "ac_cv_lib_$ac_lib_var=yes"
37354  else
37355    echo "configure: failed program was:" >&5
37356    cat conftest.$ac_ext >&5
37357    rm -rf conftest*
37358 -  cf_cv_libutf8=no
37359 +  eval "ac_cv_lib_$ac_lib_var=no"
37360  fi
37361  rm -f conftest*
37362 -       LIBS="$cf_save_LIBS"
37363 +LIBS="$ac_save_LIBS"
37364  
37365  fi
37366 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
37367 +  echo "$ac_t""yes" 1>&6
37368 +  break
37369 +else
37370 +  echo "$ac_t""no" 1>&6
37371 +fi
37372  
37373 -echo "$ac_t""$cf_cv_libutf8" 1>&6
37374 +               done
37375 +       
37376 +fi
37377  
37378 -if test "$cf_cv_libutf8" = yes ; then
37379 -       cat >> confdefs.h <<\EOF
37380 -#define HAVE_LIBUTF8_H 1
37381 +
37382 +       # Check for library containing initscr
37383 +       test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
37384 +       for cf_curs_lib in $cf_check_list xcurses jcurses unknown
37385 +       do
37386 +               echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6
37387 +echo "configure:1479: checking for initscr in -l$cf_curs_lib" >&5
37388 +ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'`
37389 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
37390 +  echo $ac_n "(cached) $ac_c" 1>&6
37391 +else
37392 +  ac_save_LIBS="$LIBS"
37393 +LIBS="-l$cf_curs_lib  $LIBS"
37394 +cat > conftest.$ac_ext <<EOF
37395 +#line 1487 "configure"
37396 +#include "confdefs.h"
37397 +/* Override any gcc2 internal prototype to avoid an error.  */
37398 +/* We use char because int might match the return type of a gcc2
37399 +    builtin and then its argument prototype would still apply.  */
37400 +char initscr();
37401 +
37402 +int main() {
37403 +initscr()
37404 +; return 0; }
37405  EOF
37406 +if { (eval echo configure:1498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37407 +  rm -rf conftest*
37408 +  eval "ac_cv_lib_$ac_lib_var=yes"
37409 +else
37410 +  echo "configure: failed program was:" >&5
37411 +  cat conftest.$ac_ext >&5
37412 +  rm -rf conftest*
37413 +  eval "ac_cv_lib_$ac_lib_var=no"
37414 +fi
37415 +rm -f conftest*
37416 +LIBS="$ac_save_LIBS"
37417  
37418 -       LIBS="-lutf8 $LIBS"
37419  fi
37420 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
37421 +  echo "$ac_t""yes" 1>&6
37422 +  break
37423 +else
37424 +  echo "$ac_t""no" 1>&6
37425 +fi
37426 +
37427 +       done
37428 +       test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; }
37429  
37430 +       LIBS="-l$cf_curs_lib $cf_save_LIBS"
37431 +       if test "$cf_term_lib" = unknown ; then
37432 +               echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6
37433 +echo "configure:1524: checking if we can link with $cf_curs_lib library" >&5
37434 +               cat > conftest.$ac_ext <<EOF
37435 +#line 1526 "configure"
37436 +#include "confdefs.h"
37437 +#include <${cf_cv_ncurses_header-curses.h}>
37438 +int main() {
37439 +initscr()
37440 +; return 0; }
37441 +EOF
37442 +if { (eval echo configure:1533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37443 +  rm -rf conftest*
37444 +  cf_result=yes
37445 +else
37446 +  echo "configure: failed program was:" >&5
37447 +  cat conftest.$ac_ext >&5
37448 +  rm -rf conftest*
37449 +  cf_result=no
37450 +fi
37451 +rm -f conftest*
37452 +               echo "$ac_t""$cf_result" 1>&6
37453 +               test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; }
37454 +       elif test "$cf_curs_lib" = "$cf_term_lib" ; then
37455 +               :
37456 +       elif test "$cf_term_lib" != predefined ; then
37457 +               echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6
37458 +echo "configure:1549: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
37459 +               cat > conftest.$ac_ext <<EOF
37460 +#line 1551 "configure"
37461 +#include "confdefs.h"
37462 +#include <${cf_cv_ncurses_header-curses.h}>
37463 +int main() {
37464 +initscr(); tgoto((char *)0, 0, 0);
37465 +; return 0; }
37466 +EOF
37467 +if { (eval echo configure:1558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37468 +  rm -rf conftest*
37469 +  cf_result=no
37470 +else
37471 +  echo "configure: failed program was:" >&5
37472 +  cat conftest.$ac_ext >&5
37473 +  rm -rf conftest*
37474 +  
37475 +                       LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
37476 +                       cat > conftest.$ac_ext <<EOF
37477 +#line 1568 "configure"
37478 +#include "confdefs.h"
37479 +#include <${cf_cv_ncurses_header-curses.h}>
37480 +int main() {
37481 +initscr()
37482 +; return 0; }
37483 +EOF
37484 +if { (eval echo configure:1575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37485 +  rm -rf conftest*
37486 +  cf_result=yes
37487 +else
37488 +  echo "configure: failed program was:" >&5
37489 +  cat conftest.$ac_ext >&5
37490 +  rm -rf conftest*
37491 +  cf_result=error
37492 +fi
37493 +rm -f conftest*
37494 +                       
37495 +fi
37496 +rm -f conftest*
37497 +               echo "$ac_t""$cf_result" 1>&6
37498 +       fi
37499 +fi
37500  fi
37501  
37502 -        for p in $HOME /usr/local /usr
37503 -        do
37504 -               if test -f $p/include/ncursesw/curses.h
37505 -               then
37506 -                       CPPFLAGS="$CPPFLAGS -I$p/include/ncursesw"
37507 -                       test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
37508 -                       test $p != /usr && LIBS="-L$p/lib $LIBS"
37509 -                       break
37510 -               elif test $p != /usr
37511 -               then
37512 -                       if test -f $p/include/curses.h
37513 +
37514 +       ;;
37515 +ncurses)
37516 +       
37517 +
37518 +cf_ncuhdr_root=ncurses
37519 +
37520 +test -n "$cf_cv_curses_dir" && \
37521 +test "$cf_cv_curses_dir" != "no" && \
37522 +CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
37523 +
37524 +echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6
37525 +echo "configure:1605: checking for $cf_ncuhdr_root header in include-path" >&5
37526 +if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then
37527 +  echo $ac_n "(cached) $ac_c" 1>&6
37528 +else
37529 +  
37530 +       cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
37531 +       ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
37532 +       for cf_header in $cf_header_list
37533 +       do
37534 +               
37535 +       cat > conftest.$ac_ext <<EOF
37536 +#line 1616 "configure"
37537 +#include "confdefs.h"
37538 +
37539 +
37540 +#include <$cf_header>
37541 +int main() {
37542 +
37543 +#ifdef NCURSES_VERSION
37544 +
37545 +printf("%s\n", NCURSES_VERSION);
37546 +#else
37547 +#ifdef __NCURSES_H
37548 +printf("old\n");
37549 +#else
37550 +       make an error
37551 +#endif
37552 +#endif
37553 +       
37554 +       
37555 +; return 0; }
37556 +EOF
37557 +if { (eval echo configure:1637: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
37558 +  rm -rf conftest*
37559 +  cf_cv_ncurses_h=$cf_header
37560 +       
37561 +else
37562 +  echo "configure: failed program was:" >&5
37563 +  cat conftest.$ac_ext >&5
37564 +  rm -rf conftest*
37565 +  cf_cv_ncurses_h=no
37566 +fi
37567 +rm -f conftest*
37568 +
37569 +               test "$cf_cv_ncurses_h" != no && break
37570 +       done
37571 +
37572 +fi
37573 +
37574 +echo "$ac_t""$cf_cv_ncurses_h" 1>&6
37575 +
37576 +if test "$cf_cv_ncurses_h" != no ; then
37577 +       cf_cv_ncurses_header=$cf_cv_ncurses_h
37578 +else
37579 +echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6
37580 +echo "configure:1660: checking for $cf_ncuhdr_root include-path" >&5
37581 +if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then
37582 +  echo $ac_n "(cached) $ac_c" 1>&6
37583 +else
37584 +  
37585 +       test -n "$verbose" && echo
37586 +       cf_search=""
37587 +
37588 +test -d $HOME && {
37589 +       test -n "$verbose" && echo "    ... testing include-directories under $HOME"
37590 +       test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
37591 +       test -d $HOME/include/$cf_ncuhdr_root &&       cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
37592 +       test -d $HOME/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
37593 +}
37594 +
37595 +# For other stuff under the home directory, it should be sufficient to put
37596 +# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location:
37597 +test -d $HOME/$cf_ncuhdr_root && {
37598 +       test -n "$verbose" && echo "    ... testing include-directories under $HOME/$cf_ncuhdr_root"
37599 +       test -d $HOME/$cf_ncuhdr_root/include &&       cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
37600 +       test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
37601 +}
37602 +
37603 +test "$prefix" != /usr/local && \
37604 +test -d /usr/local && {
37605 +       test -n "$verbose" && echo "    ... testing include-directories under /usr/local"
37606 +       test -d /usr/local/include &&       cf_search="$cf_search /usr/local/include"
37607 +       test -d /usr/local/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
37608 +       test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
37609 +       test -d /usr/local/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
37610 +       test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
37611 +}
37612 +
37613 +test "$prefix" != NONE && \
37614 +test -d $prefix && {
37615 +       test -n "$verbose" && echo "    ... testing include-directories under $prefix"
37616 +       test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
37617 +       test -d $prefix/include/$cf_ncuhdr_root &&       cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
37618 +       test -d $prefix/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
37619 +       test -d $prefix/$cf_ncuhdr_root/include &&       cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
37620 +       test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
37621 +}
37622 +
37623 +test "$prefix" != /opt && \
37624 +test -d /opt && {
37625 +       test -n "$verbose" && echo "    ... testing include-directories under /opt"
37626 +       test -d /opt/include &&             cf_search="$cf_search /opt/include"
37627 +       test -d /opt/include/$cf_ncuhdr_root &&          cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
37628 +       test -d /opt/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
37629 +       test -d /opt/$cf_ncuhdr_root/include &&          cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
37630 +       test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&       cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
37631 +}
37632 +
37633 +test "$prefix" != /usr && \
37634 +test -d /usr && {
37635 +       test -n "$verbose" && echo "    ... testing include-directories under /usr"
37636 +       test -d /usr/include &&             cf_search="$cf_search /usr/include"
37637 +       test -d /usr/include/$cf_ncuhdr_root &&          cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
37638 +       test -d /usr/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
37639 +       test -d /usr/$cf_ncuhdr_root/include &&          cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
37640 +}
37641 +
37642 +test "$includedir" != NONE && \
37643 +test "$includedir" != "/usr/include" && \
37644 +test -d "$includedir" && {
37645 +       test -d $includedir &&    cf_search="$cf_search $includedir"
37646 +       test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
37647 +}
37648 +
37649 +test "$oldincludedir" != NONE && \
37650 +test "$oldincludedir" != "/usr/include" && \
37651 +test -d "$oldincludedir" && {
37652 +       test -d $oldincludedir    && cf_search="$cf_search $oldincludedir"
37653 +       test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
37654 +}
37655 +
37656 +
37657 +       test -n "$verbose" && echo search path $cf_search
37658 +       cf_save2_CPPFLAGS="$CPPFLAGS"
37659 +       for cf_incdir in $cf_search
37660 +       do
37661 +               
37662 +for cf_add_incdir in $cf_incdir
37663 +do
37664 +       while true
37665 +       do
37666 +               case $cf_add_incdir in
37667 +               /usr/include) # (vi
37668 +                       ;;
37669 +               /usr/local/include) # (vi
37670 +                       if test "$GCC" = yes
37671                         then
37672 -                               CPPFLAGS="$CPPFLAGS -I$p/include"
37673 -                               LIBS="-L$p/lib $LIBS"
37674 +                               cf_save_CPPFLAGS="$CPPFLAGS"
37675 +                               CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
37676 +                               cat > conftest.$ac_ext <<EOF
37677 +#line 1755 "configure"
37678 +#include "confdefs.h"
37679 +#include <stdio.h>
37680 +int main() {
37681 +printf("Hello")
37682 +; return 0; }
37683 +EOF
37684 +if { (eval echo configure:1762: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
37685 +  :
37686 +else
37687 +  echo "configure: failed program was:" >&5
37688 +  cat conftest.$ac_ext >&5
37689 +  rm -rf conftest*
37690 +  CPPFLAGS="$cf_save_CPPFLAGS"
37691 +fi
37692 +rm -f conftest*
37693 +                       fi
37694 +                       ;;
37695 +               *) # (vi
37696 +                       CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
37697 +                       ;;
37698 +               esac
37699 +               cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
37700 +               test "$cf_top_incdir" = "$cf_add_incdir" && break
37701 +               cf_add_incdir="$cf_top_incdir"
37702 +       done
37703 +done
37704 +
37705 +               for cf_header in \
37706 +                       ncurses.h \
37707 +                       curses.h
37708 +               do
37709 +                       
37710 +       cat > conftest.$ac_ext <<EOF
37711 +#line 1789 "configure"
37712 +#include "confdefs.h"
37713 +
37714 +
37715 +#include <$cf_header>
37716 +int main() {
37717 +
37718 +#ifdef NCURSES_VERSION
37719 +
37720 +printf("%s\n", NCURSES_VERSION);
37721 +#else
37722 +#ifdef __NCURSES_H
37723 +printf("old\n");
37724 +#else
37725 +       make an error
37726 +#endif
37727 +#endif
37728 +       
37729 +       
37730 +; return 0; }
37731 +EOF
37732 +if { (eval echo configure:1810: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
37733 +  rm -rf conftest*
37734 +  cf_cv_ncurses_h2=$cf_header
37735 +       
37736 +else
37737 +  echo "configure: failed program was:" >&5
37738 +  cat conftest.$ac_ext >&5
37739 +  rm -rf conftest*
37740 +  cf_cv_ncurses_h2=no
37741 +fi
37742 +rm -f conftest*
37743 +
37744 +                       if test "$cf_cv_ncurses_h2" != no ; then
37745 +                               cf_cv_ncurses_h2=$cf_incdir/$cf_header
37746 +                               test -n "$verbose" && echo $ac_n "      ... found $ac_c" 1>&6
37747                                 break
37748                         fi
37749 -               fi
37750 -        done
37751 +                       test -n "$verbose" && echo "    ... tested $cf_incdir/$cf_header" 1>&6
37752 +               done
37753 +               CPPFLAGS="$cf_save2_CPPFLAGS"
37754 +               test "$cf_cv_ncurses_h2" != no && break
37755 +       done
37756 +       test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; }
37757         
37758  fi
37759  
37760 +echo "$ac_t""$cf_cv_ncurses_h2" 1>&6
37761 +
37762 +       cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
37763 +       cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
37764 +       if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
37765 +               cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
37766 +       fi
37767 +       
37768 +for cf_add_incdir in $cf_1st_incdir
37769 +do
37770 +       while true
37771 +       do
37772 +               case $cf_add_incdir in
37773 +               /usr/include) # (vi
37774 +                       ;;
37775 +               /usr/local/include) # (vi
37776 +                       if test "$GCC" = yes
37777 +                       then
37778 +                               cf_save_CPPFLAGS="$CPPFLAGS"
37779 +                               CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
37780 +                               cat > conftest.$ac_ext <<EOF
37781 +#line 1857 "configure"
37782 +#include "confdefs.h"
37783 +#include <stdio.h>
37784 +int main() {
37785 +printf("Hello")
37786 +; return 0; }
37787 +EOF
37788 +if { (eval echo configure:1864: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
37789 +  :
37790 +else
37791 +  echo "configure: failed program was:" >&5
37792 +  cat conftest.$ac_ext >&5
37793 +  rm -rf conftest*
37794 +  CPPFLAGS="$cf_save_CPPFLAGS"
37795 +fi
37796 +rm -f conftest*
37797 +                       fi
37798 +                       ;;
37799 +               *) # (vi
37800 +                       CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
37801 +                       ;;
37802 +               esac
37803 +               cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
37804 +               test "$cf_top_incdir" = "$cf_add_incdir" && break
37805 +               cf_add_incdir="$cf_top_incdir"
37806 +       done
37807 +done
37808 +
37809 +
37810  fi
37811  
37812 +cat >> confdefs.h <<\EOF
37813 +#define NCURSES 1
37814 +EOF
37815  
37816  
37817 -# Check whether --with-ncurses or --without-ncurses was given.
37818 -if test "${with_ncurses+set}" = set; then
37819 -  withval="$with_ncurses"
37820 -  echo $ac_n "checking for initscr""... $ac_c" 1>&6
37821 -echo "configure:1016: checking for initscr" >&5
37822 +case $cf_cv_ncurses_header in # (vi
37823 +*ncurses.h)
37824 +       cat >> confdefs.h <<\EOF
37825 +#define HAVE_NCURSES_H 1
37826 +EOF
37827 +
37828 +       ;;
37829 +esac
37830 +
37831 +case $cf_cv_ncurses_header in # (vi
37832 +ncurses/curses.h|ncurses/ncurses.h)
37833 +       cat >> confdefs.h <<\EOF
37834 +#define HAVE_NCURSES_NCURSES_H 1
37835 +EOF
37836 +
37837 +       ;;
37838 +ncursesw/curses.h|ncursesw/ncurses.h)
37839 +       cat >> confdefs.h <<\EOF
37840 +#define HAVE_NCURSESW_NCURSES_H 1
37841 +EOF
37842 +
37843 +       ;;
37844 +esac
37845 +
37846 +
37847 +echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
37848 +echo "configure:1919: checking for ncurses version" >&5
37849 +if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
37850 +  echo $ac_n "(cached) $ac_c" 1>&6
37851 +else
37852 +  
37853 +       cf_cv_ncurses_version=no
37854 +       cf_tempfile=out$$
37855 +       rm -f $cf_tempfile
37856 +       if test "$cross_compiling" = yes; then
37857 +  
37858 +
37859 +       # This will not work if the preprocessor splits the line after the
37860 +       # Autoconf token.  The 'unproto' program does that.
37861 +       cat > conftest.$ac_ext <<EOF
37862 +#include <${cf_cv_ncurses_header-curses.h}>
37863 +#undef Autoconf
37864 +#ifdef NCURSES_VERSION
37865 +Autoconf NCURSES_VERSION
37866 +#else
37867 +#ifdef __NCURSES_H
37868 +Autoconf "old"
37869 +#endif
37870 +;
37871 +#endif
37872 +EOF
37873 +       cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
37874 +       { (eval echo configure:1945: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
37875 +       if test -f conftest.out ; then
37876 +               cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
37877 +               test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
37878 +               rm -f conftest.out
37879 +       fi
37880 +
37881 +else
37882 +  cat > conftest.$ac_ext <<EOF
37883 +#line 1954 "configure"
37884 +#include "confdefs.h"
37885 +
37886 +#include <${cf_cv_ncurses_header-curses.h}>
37887 +#include <stdio.h>
37888 +int main()
37889 +{
37890 +       FILE *fp = fopen("$cf_tempfile", "w");
37891 +#ifdef NCURSES_VERSION
37892 +# ifdef NCURSES_VERSION_PATCH
37893 +       fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
37894 +# else
37895 +       fprintf(fp, "%s\n", NCURSES_VERSION);
37896 +# endif
37897 +#else
37898 +# ifdef __NCURSES_H
37899 +       fprintf(fp, "old\n");
37900 +# else
37901 +       make an error
37902 +# endif
37903 +#endif
37904 +       exit(0);
37905 +}
37906 +EOF
37907 +if { (eval echo configure:1978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
37908 +then
37909 +  
37910 +       cf_cv_ncurses_version=`cat $cf_tempfile`
37911 +else
37912 +  echo "configure: failed program was:" >&5
37913 +  cat conftest.$ac_ext >&5
37914 +fi
37915 +rm -fr conftest*
37916 +fi
37917 +
37918 +       rm -f $cf_tempfile
37919 +
37920 +fi
37921 +
37922 +echo "$ac_t""$cf_cv_ncurses_version" 1>&6
37923 +test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF
37924 +#define NCURSES 1
37925 +EOF
37926 +
37927 +
37928 +
37929 +       
37930 +
37931 +cf_nculib_root=ncurses
37932 +       # This works, except for the special case where we find gpm, but
37933 +       # ncurses is in a nonstandard location via $LIBS, and we really want
37934 +       # to link gpm.
37935 +cf_ncurses_LIBS=""
37936 +cf_ncurses_SAVE="$LIBS"
37937 +echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
37938 +echo "configure:2009: checking for Gpm_Open in -lgpm" >&5
37939 +ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
37940 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
37941 +  echo $ac_n "(cached) $ac_c" 1>&6
37942 +else
37943 +  ac_save_LIBS="$LIBS"
37944 +LIBS="-lgpm  $LIBS"
37945 +cat > conftest.$ac_ext <<EOF
37946 +#line 2017 "configure"
37947 +#include "confdefs.h"
37948 +/* Override any gcc2 internal prototype to avoid an error.  */
37949 +/* We use char because int might match the return type of a gcc2
37950 +    builtin and then its argument prototype would still apply.  */
37951 +char Gpm_Open();
37952 +
37953 +int main() {
37954 +Gpm_Open()
37955 +; return 0; }
37956 +EOF
37957 +if { (eval echo configure:2028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37958 +  rm -rf conftest*
37959 +  eval "ac_cv_lib_$ac_lib_var=yes"
37960 +else
37961 +  echo "configure: failed program was:" >&5
37962 +  cat conftest.$ac_ext >&5
37963 +  rm -rf conftest*
37964 +  eval "ac_cv_lib_$ac_lib_var=no"
37965 +fi
37966 +rm -f conftest*
37967 +LIBS="$ac_save_LIBS"
37968 +
37969 +fi
37970 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
37971 +  echo "$ac_t""yes" 1>&6
37972 +  echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
37973 +echo "configure:2044: checking for initscr in -lgpm" >&5
37974 +ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
37975 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
37976 +  echo $ac_n "(cached) $ac_c" 1>&6
37977 +else
37978 +  ac_save_LIBS="$LIBS"
37979 +LIBS="-lgpm  $LIBS"
37980 +cat > conftest.$ac_ext <<EOF
37981 +#line 2052 "configure"
37982 +#include "confdefs.h"
37983 +/* Override any gcc2 internal prototype to avoid an error.  */
37984 +/* We use char because int might match the return type of a gcc2
37985 +    builtin and then its argument prototype would still apply.  */
37986 +char initscr();
37987 +
37988 +int main() {
37989 +initscr()
37990 +; return 0; }
37991 +EOF
37992 +if { (eval echo configure:2063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
37993 +  rm -rf conftest*
37994 +  eval "ac_cv_lib_$ac_lib_var=yes"
37995 +else
37996 +  echo "configure: failed program was:" >&5
37997 +  cat conftest.$ac_ext >&5
37998 +  rm -rf conftest*
37999 +  eval "ac_cv_lib_$ac_lib_var=no"
38000 +fi
38001 +rm -f conftest*
38002 +LIBS="$ac_save_LIBS"
38003 +
38004 +fi
38005 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
38006 +  echo "$ac_t""yes" 1>&6
38007 +  LIBS="$cf_ncurses_SAVE"
38008 +else
38009 +  echo "$ac_t""no" 1>&6
38010 +cf_ncurses_LIBS="-lgpm"
38011 +fi
38012 +
38013 +else
38014 +  echo "$ac_t""no" 1>&6
38015 +fi
38016 +
38017 +
38018 +case $host_os in #(vi
38019 +freebsd*)
38020 +       # This is only necessary if you are linking against an obsolete
38021 +       # version of ncurses (but it should do no harm, since it's static).
38022 +       echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
38023 +echo "configure:2094: checking for tgoto in -lmytinfo" >&5
38024 +ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
38025 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
38026 +  echo $ac_n "(cached) $ac_c" 1>&6
38027 +else
38028 +  ac_save_LIBS="$LIBS"
38029 +LIBS="-lmytinfo  $LIBS"
38030 +cat > conftest.$ac_ext <<EOF
38031 +#line 2102 "configure"
38032 +#include "confdefs.h"
38033 +/* Override any gcc2 internal prototype to avoid an error.  */
38034 +/* We use char because int might match the return type of a gcc2
38035 +    builtin and then its argument prototype would still apply.  */
38036 +char tgoto();
38037 +
38038 +int main() {
38039 +tgoto()
38040 +; return 0; }
38041 +EOF
38042 +if { (eval echo configure:2113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38043 +  rm -rf conftest*
38044 +  eval "ac_cv_lib_$ac_lib_var=yes"
38045 +else
38046 +  echo "configure: failed program was:" >&5
38047 +  cat conftest.$ac_ext >&5
38048 +  rm -rf conftest*
38049 +  eval "ac_cv_lib_$ac_lib_var=no"
38050 +fi
38051 +rm -f conftest*
38052 +LIBS="$ac_save_LIBS"
38053 +
38054 +fi
38055 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
38056 +  echo "$ac_t""yes" 1>&6
38057 +  cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
38058 +else
38059 +  echo "$ac_t""no" 1>&6
38060 +fi
38061 +
38062 +       ;;
38063 +esac
38064 +
38065 +LIBS="$cf_ncurses_LIBS $LIBS"
38066 +
38067 +if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
38068 +then
38069 +       LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
38070 +else
38071 +       
38072 +       eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
38073 +       cf_libdir=""
38074 +       echo $ac_n "checking for initscr""... $ac_c" 1>&6
38075 +echo "configure:2146: checking for initscr" >&5
38076  if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
38077    echo $ac_n "(cached) $ac_c" 1>&6
38078  else
38079    cat > conftest.$ac_ext <<EOF
38080 -#line 1021 "configure"
38081 +#line 2151 "configure"
38082  #include "confdefs.h"
38083  /* System header to define __stub macros and hopefully few prototypes,
38084      which can conflict with char initscr(); below.  */
38085 @@ -1040,7 +2170,7 @@
38086  
38087  ; return 0; }
38088  EOF
38089 -if { (eval echo configure:1044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38090 +if { (eval echo configure:2174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38091    rm -rf conftest*
38092    eval "ac_cv_func_initscr=yes"
38093  else
38094 @@ -1054,12 +2184,665 @@
38095  
38096  if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then
38097    echo "$ac_t""yes" 1>&6
38098 -  :
38099 +  eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
38100  else
38101    echo "$ac_t""no" 1>&6
38102  
38103 -        echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
38104 -echo "configure:1063: checking for Gpm_Open in -lgpm" >&5
38105 +               cf_save_LIBS="$LIBS"
38106 +               echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6
38107 +echo "configure:2194: checking for initscr in -l$cf_nculib_root" >&5
38108 +               LIBS="-l$cf_nculib_root $LIBS"
38109 +               cat > conftest.$ac_ext <<EOF
38110 +#line 2197 "configure"
38111 +#include "confdefs.h"
38112 +#include <${cf_cv_ncurses_header-curses.h}>
38113 +int main() {
38114 +initscr()
38115 +; return 0; }
38116 +EOF
38117 +if { (eval echo configure:2204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38118 +  rm -rf conftest*
38119 +  echo "$ac_t""yes" 1>&6
38120 +                        eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
38121 +                       
38122 +else
38123 +  echo "configure: failed program was:" >&5
38124 +  cat conftest.$ac_ext >&5
38125 +  rm -rf conftest*
38126 +  echo "$ac_t""no" 1>&6
38127 +                       cf_search=""
38128 +
38129 +test -d $HOME && {
38130 +       test -n "$verbose" && echo "    ... testing lib-directories under $HOME"
38131 +       test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
38132 +       test -d $HOME/lib/$cf_nculib_root &&       cf_search="$cf_search $HOME/lib/$cf_nculib_root"
38133 +       test -d $HOME/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
38134 +}
38135 +
38136 +# For other stuff under the home directory, it should be sufficient to put
38137 +# a symbolic link for $HOME/$cf_nculib_root to the actual package location:
38138 +test -d $HOME/$cf_nculib_root && {
38139 +       test -n "$verbose" && echo "    ... testing lib-directories under $HOME/$cf_nculib_root"
38140 +       test -d $HOME/$cf_nculib_root/lib &&       cf_search="$cf_search $HOME/$cf_nculib_root/lib"
38141 +       test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
38142 +}
38143 +
38144 +test "$prefix" != /usr/local && \
38145 +test -d /usr/local && {
38146 +       test -n "$verbose" && echo "    ... testing lib-directories under /usr/local"
38147 +       test -d /usr/local/lib &&       cf_search="$cf_search /usr/local/lib"
38148 +       test -d /usr/local/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
38149 +       test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
38150 +       test -d /usr/local/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
38151 +       test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
38152 +}
38153 +
38154 +test "$prefix" != NONE && \
38155 +test -d $prefix && {
38156 +       test -n "$verbose" && echo "    ... testing lib-directories under $prefix"
38157 +       test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
38158 +       test -d $prefix/lib/$cf_nculib_root &&       cf_search="$cf_search $prefix/lib/$cf_nculib_root"
38159 +       test -d $prefix/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
38160 +       test -d $prefix/$cf_nculib_root/lib &&       cf_search="$cf_search $prefix/$cf_nculib_root/lib"
38161 +       test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
38162 +}
38163 +
38164 +test "$prefix" != /opt && \
38165 +test -d /opt && {
38166 +       test -n "$verbose" && echo "    ... testing lib-directories under /opt"
38167 +       test -d /opt/lib &&             cf_search="$cf_search /opt/lib"
38168 +       test -d /opt/lib/$cf_nculib_root &&          cf_search="$cf_search /opt/lib/$cf_nculib_root"
38169 +       test -d /opt/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
38170 +       test -d /opt/$cf_nculib_root/lib &&          cf_search="$cf_search /opt/$cf_nculib_root/lib"
38171 +       test -d /opt/$cf_nculib_root/lib/$cf_nculib_root &&       cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
38172 +}
38173 +
38174 +test "$prefix" != /usr && \
38175 +test -d /usr && {
38176 +       test -n "$verbose" && echo "    ... testing lib-directories under /usr"
38177 +       test -d /usr/lib &&             cf_search="$cf_search /usr/lib"
38178 +       test -d /usr/lib/$cf_nculib_root &&          cf_search="$cf_search /usr/lib/$cf_nculib_root"
38179 +       test -d /usr/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
38180 +       test -d /usr/$cf_nculib_root/lib &&          cf_search="$cf_search /usr/$cf_nculib_root/lib"
38181 +}
38182 +
38183 +                       for cf_libdir in $cf_search
38184 +                       do
38185 +                               echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6
38186 +echo "configure:2273: checking for -l$cf_nculib_root in $cf_libdir" >&5
38187 +                               LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
38188 +                               cat > conftest.$ac_ext <<EOF
38189 +#line 2276 "configure"
38190 +#include "confdefs.h"
38191 +#include <${cf_cv_ncurses_header-curses.h}>
38192 +int main() {
38193 +initscr()
38194 +; return 0; }
38195 +EOF
38196 +if { (eval echo configure:2283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38197 +  rm -rf conftest*
38198 +  echo "$ac_t""yes" 1>&6
38199 +                                        eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
38200 +                                        break
38201 +else
38202 +  echo "configure: failed program was:" >&5
38203 +  cat conftest.$ac_ext >&5
38204 +  rm -rf conftest*
38205 +  echo "$ac_t""no" 1>&6
38206 +                                        LIBS="$cf_save_LIBS"
38207 +fi
38208 +rm -f conftest*
38209 +                       done
38210 +                       
38211 +fi
38212 +rm -f conftest*
38213 +               
38214 +fi
38215 +
38216 +eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
38217 +
38218 +if test $cf_found_library = no ; then
38219 +       { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; }
38220 +fi
38221 +
38222 +
38223 +fi
38224 +
38225 +if test -n "$cf_ncurses_LIBS" ; then
38226 +       echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6
38227 +echo "configure:2314: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
38228 +       cf_ncurses_SAVE="$LIBS"
38229 +       for p in $cf_ncurses_LIBS ; do
38230 +               q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
38231 +               if test "$q" != "$LIBS" ; then
38232 +                       LIBS="$q"
38233 +               fi
38234 +       done
38235 +       cat > conftest.$ac_ext <<EOF
38236 +#line 2323 "configure"
38237 +#include "confdefs.h"
38238 +#include <${cf_cv_ncurses_header-curses.h}>
38239 +int main() {
38240 +initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
38241 +; return 0; }
38242 +EOF
38243 +if { (eval echo configure:2330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38244 +  rm -rf conftest*
38245 +  echo "$ac_t""yes" 1>&6
38246 +else
38247 +  echo "configure: failed program was:" >&5
38248 +  cat conftest.$ac_ext >&5
38249 +  rm -rf conftest*
38250 +  echo "$ac_t""no" 1>&6
38251 +                LIBS="$cf_ncurses_SAVE"
38252 +fi
38253 +rm -f conftest*
38254 +fi
38255 +
38256 +
38257 +cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
38258 +
38259 +cat >> confdefs.h <<EOF
38260 +#define $cf_nculib_ROOT 1
38261 +EOF
38262 +
38263 +
38264 +       LIB_NAME=ncurses
38265 +       ;;
38266 +ncursesw)
38267 +       cf_cv_libtype=w
38268 +       
38269 +echo $ac_n "checking for multibyte character support""... $ac_c" 1>&6
38270 +echo "configure:2357: checking for multibyte character support" >&5
38271 +if eval "test \"`echo '$''{'cf_cv_utf8_lib'+set}'`\" = set"; then
38272 +  echo $ac_n "(cached) $ac_c" 1>&6
38273 +else
38274 +  
38275 +       cf_save_LIBS="$LIBS"
38276 +       cat > conftest.$ac_ext <<EOF
38277 +#line 2364 "configure"
38278 +#include "confdefs.h"
38279 +
38280 +#include <stdlib.h>
38281 +int main() {
38282 +putwc(0,0);
38283 +; return 0; }
38284 +EOF
38285 +if { (eval echo configure:2372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38286 +  rm -rf conftest*
38287 +  cf_cv_utf8_lib=yes
38288 +else
38289 +  echo "configure: failed program was:" >&5
38290 +  cat conftest.$ac_ext >&5
38291 +  rm -rf conftest*
38292 +  LIBS="-lutf8 $LIBS"
38293 +        cat > conftest.$ac_ext <<EOF
38294 +#line 2381 "configure"
38295 +#include "confdefs.h"
38296 +
38297 +#include <libutf8.h>
38298 +int main() {
38299 +putwc(0,0);
38300 +; return 0; }
38301 +EOF
38302 +if { (eval echo configure:2389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38303 +  rm -rf conftest*
38304 +  cf_cv_utf8_lib=add-on
38305 +else
38306 +  echo "configure: failed program was:" >&5
38307 +  cat conftest.$ac_ext >&5
38308 +  rm -rf conftest*
38309 +  cf_cv_utf8_lib=no
38310 +fi
38311 +rm -f conftest*
38312 +       LIBS="$cf_save_LIBS"
38313 +
38314 +fi
38315 +rm -f conftest*
38316 +fi
38317 +
38318 +echo "$ac_t""$cf_cv_utf8_lib" 1>&6
38319 +
38320 +# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
38321 +# ncurses/ncursesw:
38322 +if test "$cf_cv_utf8_lib" = "add-on" ; then
38323 +       cat >> confdefs.h <<\EOF
38324 +#define HAVE_LIBUTF8_H 1
38325 +EOF
38326 +
38327 +       LIBS="-lutf8 $LIBS"
38328 +fi
38329 +
38330 +       
38331 +
38332 +cf_ncuhdr_root=ncursesw
38333 +
38334 +test -n "$cf_cv_curses_dir" && \
38335 +test "$cf_cv_curses_dir" != "no" && \
38336 +CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
38337 +
38338 +echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6
38339 +echo "configure:2426: checking for $cf_ncuhdr_root header in include-path" >&5
38340 +if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then
38341 +  echo $ac_n "(cached) $ac_c" 1>&6
38342 +else
38343 +  
38344 +       cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
38345 +       ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
38346 +       for cf_header in $cf_header_list
38347 +       do
38348 +               
38349 +       cat > conftest.$ac_ext <<EOF
38350 +#line 2437 "configure"
38351 +#include "confdefs.h"
38352 +
38353 +
38354 +#define _XOPEN_SOURCE_EXTENDED
38355 +#undef  HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
38356 +#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
38357 +
38358 +#include <$cf_header>
38359 +int main() {
38360 +
38361 +#ifdef NCURSES_VERSION
38362 +
38363 +#ifndef WACS_BSSB
38364 +       make an error
38365 +#endif
38366 +
38367 +printf("%s\n", NCURSES_VERSION);
38368 +#else
38369 +#ifdef __NCURSES_H
38370 +printf("old\n");
38371 +#else
38372 +       make an error
38373 +#endif
38374 +#endif
38375 +       
38376 +       
38377 +; return 0; }
38378 +EOF
38379 +if { (eval echo configure:2466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
38380 +  rm -rf conftest*
38381 +  cf_cv_ncurses_h=$cf_header
38382 +       
38383 +else
38384 +  echo "configure: failed program was:" >&5
38385 +  cat conftest.$ac_ext >&5
38386 +  rm -rf conftest*
38387 +  cf_cv_ncurses_h=no
38388 +fi
38389 +rm -f conftest*
38390 +
38391 +               test "$cf_cv_ncurses_h" != no && break
38392 +       done
38393 +
38394 +fi
38395 +
38396 +echo "$ac_t""$cf_cv_ncurses_h" 1>&6
38397 +
38398 +if test "$cf_cv_ncurses_h" != no ; then
38399 +       cf_cv_ncurses_header=$cf_cv_ncurses_h
38400 +else
38401 +echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6
38402 +echo "configure:2489: checking for $cf_ncuhdr_root include-path" >&5
38403 +if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then
38404 +  echo $ac_n "(cached) $ac_c" 1>&6
38405 +else
38406 +  
38407 +       test -n "$verbose" && echo
38408 +       cf_search=""
38409 +
38410 +test -d $HOME && {
38411 +       test -n "$verbose" && echo "    ... testing include-directories under $HOME"
38412 +       test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
38413 +       test -d $HOME/include/$cf_ncuhdr_root &&       cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
38414 +       test -d $HOME/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
38415 +}
38416 +
38417 +# For other stuff under the home directory, it should be sufficient to put
38418 +# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location:
38419 +test -d $HOME/$cf_ncuhdr_root && {
38420 +       test -n "$verbose" && echo "    ... testing include-directories under $HOME/$cf_ncuhdr_root"
38421 +       test -d $HOME/$cf_ncuhdr_root/include &&       cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
38422 +       test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
38423 +}
38424 +
38425 +test "$prefix" != /usr/local && \
38426 +test -d /usr/local && {
38427 +       test -n "$verbose" && echo "    ... testing include-directories under /usr/local"
38428 +       test -d /usr/local/include &&       cf_search="$cf_search /usr/local/include"
38429 +       test -d /usr/local/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
38430 +       test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
38431 +       test -d /usr/local/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
38432 +       test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
38433 +}
38434 +
38435 +test "$prefix" != NONE && \
38436 +test -d $prefix && {
38437 +       test -n "$verbose" && echo "    ... testing include-directories under $prefix"
38438 +       test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
38439 +       test -d $prefix/include/$cf_ncuhdr_root &&       cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
38440 +       test -d $prefix/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
38441 +       test -d $prefix/$cf_ncuhdr_root/include &&       cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
38442 +       test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
38443 +}
38444 +
38445 +test "$prefix" != /opt && \
38446 +test -d /opt && {
38447 +       test -n "$verbose" && echo "    ... testing include-directories under /opt"
38448 +       test -d /opt/include &&             cf_search="$cf_search /opt/include"
38449 +       test -d /opt/include/$cf_ncuhdr_root &&          cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
38450 +       test -d /opt/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
38451 +       test -d /opt/$cf_ncuhdr_root/include &&          cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
38452 +       test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&       cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
38453 +}
38454 +
38455 +test "$prefix" != /usr && \
38456 +test -d /usr && {
38457 +       test -n "$verbose" && echo "    ... testing include-directories under /usr"
38458 +       test -d /usr/include &&             cf_search="$cf_search /usr/include"
38459 +       test -d /usr/include/$cf_ncuhdr_root &&          cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
38460 +       test -d /usr/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
38461 +       test -d /usr/$cf_ncuhdr_root/include &&          cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
38462 +}
38463 +
38464 +test "$includedir" != NONE && \
38465 +test "$includedir" != "/usr/include" && \
38466 +test -d "$includedir" && {
38467 +       test -d $includedir &&    cf_search="$cf_search $includedir"
38468 +       test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
38469 +}
38470 +
38471 +test "$oldincludedir" != NONE && \
38472 +test "$oldincludedir" != "/usr/include" && \
38473 +test -d "$oldincludedir" && {
38474 +       test -d $oldincludedir    && cf_search="$cf_search $oldincludedir"
38475 +       test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
38476 +}
38477 +
38478 +
38479 +       test -n "$verbose" && echo search path $cf_search
38480 +       cf_save2_CPPFLAGS="$CPPFLAGS"
38481 +       for cf_incdir in $cf_search
38482 +       do
38483 +               
38484 +for cf_add_incdir in $cf_incdir
38485 +do
38486 +       while true
38487 +       do
38488 +               case $cf_add_incdir in
38489 +               /usr/include) # (vi
38490 +                       ;;
38491 +               /usr/local/include) # (vi
38492 +                       if test "$GCC" = yes
38493 +                       then
38494 +                               cf_save_CPPFLAGS="$CPPFLAGS"
38495 +                               CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
38496 +                               cat > conftest.$ac_ext <<EOF
38497 +#line 2584 "configure"
38498 +#include "confdefs.h"
38499 +#include <stdio.h>
38500 +int main() {
38501 +printf("Hello")
38502 +; return 0; }
38503 +EOF
38504 +if { (eval echo configure:2591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
38505 +  :
38506 +else
38507 +  echo "configure: failed program was:" >&5
38508 +  cat conftest.$ac_ext >&5
38509 +  rm -rf conftest*
38510 +  CPPFLAGS="$cf_save_CPPFLAGS"
38511 +fi
38512 +rm -f conftest*
38513 +                       fi
38514 +                       ;;
38515 +               *) # (vi
38516 +                       CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
38517 +                       ;;
38518 +               esac
38519 +               cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
38520 +               test "$cf_top_incdir" = "$cf_add_incdir" && break
38521 +               cf_add_incdir="$cf_top_incdir"
38522 +       done
38523 +done
38524 +
38525 +               for cf_header in \
38526 +                       ncurses.h \
38527 +                       curses.h
38528 +               do
38529 +                       
38530 +       cat > conftest.$ac_ext <<EOF
38531 +#line 2618 "configure"
38532 +#include "confdefs.h"
38533 +
38534 +
38535 +#define _XOPEN_SOURCE_EXTENDED
38536 +#undef  HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
38537 +#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
38538 +
38539 +#include <$cf_header>
38540 +int main() {
38541 +
38542 +#ifdef NCURSES_VERSION
38543 +
38544 +#ifndef WACS_BSSB
38545 +       make an error
38546 +#endif
38547 +
38548 +printf("%s\n", NCURSES_VERSION);
38549 +#else
38550 +#ifdef __NCURSES_H
38551 +printf("old\n");
38552 +#else
38553 +       make an error
38554 +#endif
38555 +#endif
38556 +       
38557 +       
38558 +; return 0; }
38559 +EOF
38560 +if { (eval echo configure:2647: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
38561 +  rm -rf conftest*
38562 +  cf_cv_ncurses_h2=$cf_header
38563 +       
38564 +else
38565 +  echo "configure: failed program was:" >&5
38566 +  cat conftest.$ac_ext >&5
38567 +  rm -rf conftest*
38568 +  cf_cv_ncurses_h2=no
38569 +fi
38570 +rm -f conftest*
38571 +
38572 +                       if test "$cf_cv_ncurses_h2" != no ; then
38573 +                               cf_cv_ncurses_h2=$cf_incdir/$cf_header
38574 +                               test -n "$verbose" && echo $ac_n "      ... found $ac_c" 1>&6
38575 +                               break
38576 +                       fi
38577 +                       test -n "$verbose" && echo "    ... tested $cf_incdir/$cf_header" 1>&6
38578 +               done
38579 +               CPPFLAGS="$cf_save2_CPPFLAGS"
38580 +               test "$cf_cv_ncurses_h2" != no && break
38581 +       done
38582 +       test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; }
38583 +       
38584 +fi
38585 +
38586 +echo "$ac_t""$cf_cv_ncurses_h2" 1>&6
38587 +
38588 +       cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
38589 +       cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
38590 +       if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
38591 +               cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
38592 +       fi
38593 +       
38594 +for cf_add_incdir in $cf_1st_incdir
38595 +do
38596 +       while true
38597 +       do
38598 +               case $cf_add_incdir in
38599 +               /usr/include) # (vi
38600 +                       ;;
38601 +               /usr/local/include) # (vi
38602 +                       if test "$GCC" = yes
38603 +                       then
38604 +                               cf_save_CPPFLAGS="$CPPFLAGS"
38605 +                               CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
38606 +                               cat > conftest.$ac_ext <<EOF
38607 +#line 2694 "configure"
38608 +#include "confdefs.h"
38609 +#include <stdio.h>
38610 +int main() {
38611 +printf("Hello")
38612 +; return 0; }
38613 +EOF
38614 +if { (eval echo configure:2701: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
38615 +  :
38616 +else
38617 +  echo "configure: failed program was:" >&5
38618 +  cat conftest.$ac_ext >&5
38619 +  rm -rf conftest*
38620 +  CPPFLAGS="$cf_save_CPPFLAGS"
38621 +fi
38622 +rm -f conftest*
38623 +                       fi
38624 +                       ;;
38625 +               *) # (vi
38626 +                       CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
38627 +                       ;;
38628 +               esac
38629 +               cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
38630 +               test "$cf_top_incdir" = "$cf_add_incdir" && break
38631 +               cf_add_incdir="$cf_top_incdir"
38632 +       done
38633 +done
38634 +
38635 +
38636 +fi
38637 +
38638 +cat >> confdefs.h <<\EOF
38639 +#define NCURSES 1
38640 +EOF
38641 +
38642 +
38643 +case $cf_cv_ncurses_header in # (vi
38644 +*ncurses.h)
38645 +       cat >> confdefs.h <<\EOF
38646 +#define HAVE_NCURSES_H 1
38647 +EOF
38648 +
38649 +       ;;
38650 +esac
38651 +
38652 +case $cf_cv_ncurses_header in # (vi
38653 +ncurses/curses.h|ncurses/ncurses.h)
38654 +       cat >> confdefs.h <<\EOF
38655 +#define HAVE_NCURSES_NCURSES_H 1
38656 +EOF
38657 +
38658 +       ;;
38659 +ncursesw/curses.h|ncursesw/ncurses.h)
38660 +       cat >> confdefs.h <<\EOF
38661 +#define HAVE_NCURSESW_NCURSES_H 1
38662 +EOF
38663 +
38664 +       ;;
38665 +esac
38666 +
38667 +
38668 +echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
38669 +echo "configure:2756: checking for ncurses version" >&5
38670 +if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
38671 +  echo $ac_n "(cached) $ac_c" 1>&6
38672 +else
38673 +  
38674 +       cf_cv_ncurses_version=no
38675 +       cf_tempfile=out$$
38676 +       rm -f $cf_tempfile
38677 +       if test "$cross_compiling" = yes; then
38678 +  
38679 +
38680 +       # This will not work if the preprocessor splits the line after the
38681 +       # Autoconf token.  The 'unproto' program does that.
38682 +       cat > conftest.$ac_ext <<EOF
38683 +#include <${cf_cv_ncurses_header-curses.h}>
38684 +#undef Autoconf
38685 +#ifdef NCURSES_VERSION
38686 +Autoconf NCURSES_VERSION
38687 +#else
38688 +#ifdef __NCURSES_H
38689 +Autoconf "old"
38690 +#endif
38691 +;
38692 +#endif
38693 +EOF
38694 +       cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
38695 +       { (eval echo configure:2782: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
38696 +       if test -f conftest.out ; then
38697 +               cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
38698 +               test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
38699 +               rm -f conftest.out
38700 +       fi
38701 +
38702 +else
38703 +  cat > conftest.$ac_ext <<EOF
38704 +#line 2791 "configure"
38705 +#include "confdefs.h"
38706 +
38707 +#include <${cf_cv_ncurses_header-curses.h}>
38708 +#include <stdio.h>
38709 +int main()
38710 +{
38711 +       FILE *fp = fopen("$cf_tempfile", "w");
38712 +#ifdef NCURSES_VERSION
38713 +# ifdef NCURSES_VERSION_PATCH
38714 +       fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
38715 +# else
38716 +       fprintf(fp, "%s\n", NCURSES_VERSION);
38717 +# endif
38718 +#else
38719 +# ifdef __NCURSES_H
38720 +       fprintf(fp, "old\n");
38721 +# else
38722 +       make an error
38723 +# endif
38724 +#endif
38725 +       exit(0);
38726 +}
38727 +EOF
38728 +if { (eval echo configure:2815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
38729 +then
38730 +  
38731 +       cf_cv_ncurses_version=`cat $cf_tempfile`
38732 +else
38733 +  echo "configure: failed program was:" >&5
38734 +  cat conftest.$ac_ext >&5
38735 +fi
38736 +rm -fr conftest*
38737 +fi
38738 +
38739 +       rm -f $cf_tempfile
38740 +
38741 +fi
38742 +
38743 +echo "$ac_t""$cf_cv_ncurses_version" 1>&6
38744 +test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF
38745 +#define NCURSES 1
38746 +EOF
38747 +
38748 +
38749 +
38750 +       
38751 +
38752 +cf_nculib_root=ncursesw
38753 +       # This works, except for the special case where we find gpm, but
38754 +       # ncurses is in a nonstandard location via $LIBS, and we really want
38755 +       # to link gpm.
38756 +cf_ncurses_LIBS=""
38757 +cf_ncurses_SAVE="$LIBS"
38758 +echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
38759 +echo "configure:2846: checking for Gpm_Open in -lgpm" >&5
38760  ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
38761  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
38762    echo $ac_n "(cached) $ac_c" 1>&6
38763 @@ -1067,7 +2850,7 @@
38764    ac_save_LIBS="$LIBS"
38765  LIBS="-lgpm  $LIBS"
38766  cat > conftest.$ac_ext <<EOF
38767 -#line 1071 "configure"
38768 +#line 2854 "configure"
38769  #include "confdefs.h"
38770  /* Override any gcc2 internal prototype to avoid an error.  */
38771  /* We use char because int might match the return type of a gcc2
38772 @@ -1078,7 +2861,7 @@
38773  Gpm_Open()
38774  ; return 0; }
38775  EOF
38776 -if { (eval echo configure:1082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38777 +if { (eval echo configure:2865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38778    rm -rf conftest*
38779    eval "ac_cv_lib_$ac_lib_var=yes"
38780  else
38781 @@ -1093,52 +2876,115 @@
38782  fi
38783  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
38784    echo "$ac_t""yes" 1>&6
38785 -    ac_tr_lib=HAVE_LIB`echo gpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \
38786 -    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
38787 -  cat >> confdefs.h <<EOF
38788 -#define $ac_tr_lib 1
38789 -EOF
38790 +  echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
38791 +echo "configure:2881: checking for initscr in -lgpm" >&5
38792 +ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
38793 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
38794 +  echo $ac_n "(cached) $ac_c" 1>&6
38795 +else
38796 +  ac_save_LIBS="$LIBS"
38797 +LIBS="-lgpm  $LIBS"
38798 +cat > conftest.$ac_ext <<EOF
38799 +#line 2889 "configure"
38800 +#include "confdefs.h"
38801 +/* Override any gcc2 internal prototype to avoid an error.  */
38802 +/* We use char because int might match the return type of a gcc2
38803 +    builtin and then its argument prototype would still apply.  */
38804 +char initscr();
38805  
38806 -  LIBS="-lgpm $LIBS"
38807 +int main() {
38808 +initscr()
38809 +; return 0; }
38810 +EOF
38811 +if { (eval echo configure:2900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38812 +  rm -rf conftest*
38813 +  eval "ac_cv_lib_$ac_lib_var=yes"
38814 +else
38815 +  echo "configure: failed program was:" >&5
38816 +  cat conftest.$ac_ext >&5
38817 +  rm -rf conftest*
38818 +  eval "ac_cv_lib_$ac_lib_var=no"
38819 +fi
38820 +rm -f conftest*
38821 +LIBS="$ac_save_LIBS"
38822  
38823 +fi
38824 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
38825 +  echo "$ac_t""yes" 1>&6
38826 +  LIBS="$cf_ncurses_SAVE"
38827  else
38828    echo "$ac_t""no" 1>&6
38829 +cf_ncurses_LIBS="-lgpm"
38830  fi
38831  
38832 -        LIB_NAME=ncurses
38833 -        for p in $HOME /usr/local /usr
38834 -        do
38835 -               if test -f $p/include/ncurses/curses.h
38836 -               then
38837 -                       CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
38838 -                       test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
38839 -                       test $p != /usr && LIBS="-L$p/lib $LIBS"
38840 -                       break
38841 -               elif test $p != /usr
38842 -               then
38843 -                       if test -f $p/include/curses.h
38844 -                       then
38845 -                               CPPFLAGS="$CPPFLAGS -I$p/include"
38846 -                               LIBS="-L$p/lib $LIBS"
38847 -                               break
38848 -                       fi
38849 -               fi
38850 -        done
38851 -       
38852 +else
38853 +  echo "$ac_t""no" 1>&6
38854  fi
38855  
38856 +
38857 +case $host_os in #(vi
38858 +freebsd*)
38859 +       # This is only necessary if you are linking against an obsolete
38860 +       # version of ncurses (but it should do no harm, since it's static).
38861 +       echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
38862 +echo "configure:2931: checking for tgoto in -lmytinfo" >&5
38863 +ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
38864 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
38865 +  echo $ac_n "(cached) $ac_c" 1>&6
38866 +else
38867 +  ac_save_LIBS="$LIBS"
38868 +LIBS="-lmytinfo  $LIBS"
38869 +cat > conftest.$ac_ext <<EOF
38870 +#line 2939 "configure"
38871 +#include "confdefs.h"
38872 +/* Override any gcc2 internal prototype to avoid an error.  */
38873 +/* We use char because int might match the return type of a gcc2
38874 +    builtin and then its argument prototype would still apply.  */
38875 +char tgoto();
38876 +
38877 +int main() {
38878 +tgoto()
38879 +; return 0; }
38880 +EOF
38881 +if { (eval echo configure:2950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38882 +  rm -rf conftest*
38883 +  eval "ac_cv_lib_$ac_lib_var=yes"
38884 +else
38885 +  echo "configure: failed program was:" >&5
38886 +  cat conftest.$ac_ext >&5
38887 +  rm -rf conftest*
38888 +  eval "ac_cv_lib_$ac_lib_var=no"
38889  fi
38890 +rm -f conftest*
38891 +LIBS="$ac_save_LIBS"
38892  
38893 +fi
38894 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
38895 +  echo "$ac_t""yes" 1>&6
38896 +  cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
38897 +else
38898 +  echo "$ac_t""no" 1>&6
38899 +fi
38900  
38901 +       ;;
38902 +esac
38903  
38904 +LIBS="$cf_ncurses_LIBS $LIBS"
38905  
38906 -echo $ac_n "checking for initscr""... $ac_c" 1>&6
38907 -echo "configure:1137: checking for initscr" >&5
38908 +if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
38909 +then
38910 +       LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
38911 +else
38912 +       
38913 +       eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
38914 +       cf_libdir=""
38915 +       echo $ac_n "checking for initscr""... $ac_c" 1>&6
38916 +echo "configure:2983: checking for initscr" >&5
38917  if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
38918    echo $ac_n "(cached) $ac_c" 1>&6
38919  else
38920    cat > conftest.$ac_ext <<EOF
38921 -#line 1142 "configure"
38922 +#line 2988 "configure"
38923  #include "confdefs.h"
38924  /* System header to define __stub macros and hopefully few prototypes,
38925      which can conflict with char initscr(); below.  */
38926 @@ -1161,7 +3007,7 @@
38927  
38928  ; return 0; }
38929  EOF
38930 -if { (eval echo configure:1165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38931 +if { (eval echo configure:3011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38932    rm -rf conftest*
38933    eval "ac_cv_func_initscr=yes"
38934  else
38935 @@ -1175,69 +3021,185 @@
38936  
38937  if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then
38938    echo "$ac_t""yes" 1>&6
38939 -  :
38940 +  eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
38941  else
38942    echo "$ac_t""no" 1>&6
38943  
38944 -echo $ac_n "checking for initscr in -l$LIB_NAME""... $ac_c" 1>&6
38945 -echo "configure:1184: checking for initscr in -l$LIB_NAME" >&5
38946 -ac_lib_var=`echo $LIB_NAME'_'initscr | sed 'y%./+-%__p_%'`
38947 -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
38948 -  echo $ac_n "(cached) $ac_c" 1>&6
38949 -else
38950 -  ac_save_LIBS="$LIBS"
38951 -LIBS="-l$LIB_NAME  $LIBS"
38952 -cat > conftest.$ac_ext <<EOF
38953 -#line 1192 "configure"
38954 +               cf_save_LIBS="$LIBS"
38955 +               echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6
38956 +echo "configure:3031: checking for initscr in -l$cf_nculib_root" >&5
38957 +               LIBS="-l$cf_nculib_root $LIBS"
38958 +               cat > conftest.$ac_ext <<EOF
38959 +#line 3034 "configure"
38960  #include "confdefs.h"
38961 -/* Override any gcc2 internal prototype to avoid an error.  */
38962 -/* We use char because int might match the return type of a gcc2
38963 -    builtin and then its argument prototype would still apply.  */
38964 -char initscr();
38965 +#include <${cf_cv_ncurses_header-curses.h}>
38966 +int main() {
38967 +initscr()
38968 +; return 0; }
38969 +EOF
38970 +if { (eval echo configure:3041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
38971 +  rm -rf conftest*
38972 +  echo "$ac_t""yes" 1>&6
38973 +                        eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
38974 +                       
38975 +else
38976 +  echo "configure: failed program was:" >&5
38977 +  cat conftest.$ac_ext >&5
38978 +  rm -rf conftest*
38979 +  echo "$ac_t""no" 1>&6
38980 +                       cf_search=""
38981 +
38982 +test -d $HOME && {
38983 +       test -n "$verbose" && echo "    ... testing lib-directories under $HOME"
38984 +       test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
38985 +       test -d $HOME/lib/$cf_nculib_root &&       cf_search="$cf_search $HOME/lib/$cf_nculib_root"
38986 +       test -d $HOME/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
38987 +}
38988 +
38989 +# For other stuff under the home directory, it should be sufficient to put
38990 +# a symbolic link for $HOME/$cf_nculib_root to the actual package location:
38991 +test -d $HOME/$cf_nculib_root && {
38992 +       test -n "$verbose" && echo "    ... testing lib-directories under $HOME/$cf_nculib_root"
38993 +       test -d $HOME/$cf_nculib_root/lib &&       cf_search="$cf_search $HOME/$cf_nculib_root/lib"
38994 +       test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
38995 +}
38996 +
38997 +test "$prefix" != /usr/local && \
38998 +test -d /usr/local && {
38999 +       test -n "$verbose" && echo "    ... testing lib-directories under /usr/local"
39000 +       test -d /usr/local/lib &&       cf_search="$cf_search /usr/local/lib"
39001 +       test -d /usr/local/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
39002 +       test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
39003 +       test -d /usr/local/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
39004 +       test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
39005 +}
39006 +
39007 +test "$prefix" != NONE && \
39008 +test -d $prefix && {
39009 +       test -n "$verbose" && echo "    ... testing lib-directories under $prefix"
39010 +       test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
39011 +       test -d $prefix/lib/$cf_nculib_root &&       cf_search="$cf_search $prefix/lib/$cf_nculib_root"
39012 +       test -d $prefix/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
39013 +       test -d $prefix/$cf_nculib_root/lib &&       cf_search="$cf_search $prefix/$cf_nculib_root/lib"
39014 +       test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
39015 +}
39016 +
39017 +test "$prefix" != /opt && \
39018 +test -d /opt && {
39019 +       test -n "$verbose" && echo "    ... testing lib-directories under /opt"
39020 +       test -d /opt/lib &&             cf_search="$cf_search /opt/lib"
39021 +       test -d /opt/lib/$cf_nculib_root &&          cf_search="$cf_search /opt/lib/$cf_nculib_root"
39022 +       test -d /opt/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
39023 +       test -d /opt/$cf_nculib_root/lib &&          cf_search="$cf_search /opt/$cf_nculib_root/lib"
39024 +       test -d /opt/$cf_nculib_root/lib/$cf_nculib_root &&       cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
39025 +}
39026 +
39027 +test "$prefix" != /usr && \
39028 +test -d /usr && {
39029 +       test -n "$verbose" && echo "    ... testing lib-directories under /usr"
39030 +       test -d /usr/lib &&             cf_search="$cf_search /usr/lib"
39031 +       test -d /usr/lib/$cf_nculib_root &&          cf_search="$cf_search /usr/lib/$cf_nculib_root"
39032 +       test -d /usr/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
39033 +       test -d /usr/$cf_nculib_root/lib &&          cf_search="$cf_search /usr/$cf_nculib_root/lib"
39034 +}
39035  
39036 +                       for cf_libdir in $cf_search
39037 +                       do
39038 +                               echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6
39039 +echo "configure:3110: checking for -l$cf_nculib_root in $cf_libdir" >&5
39040 +                               LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
39041 +                               cat > conftest.$ac_ext <<EOF
39042 +#line 3113 "configure"
39043 +#include "confdefs.h"
39044 +#include <${cf_cv_ncurses_header-curses.h}>
39045  int main() {
39046  initscr()
39047  ; return 0; }
39048  EOF
39049 -if { (eval echo configure:1203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39050 +if { (eval echo configure:3120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39051    rm -rf conftest*
39052 -  eval "ac_cv_lib_$ac_lib_var=yes"
39053 +  echo "$ac_t""yes" 1>&6
39054 +                                        eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
39055 +                                        break
39056  else
39057    echo "configure: failed program was:" >&5
39058    cat conftest.$ac_ext >&5
39059    rm -rf conftest*
39060 -  eval "ac_cv_lib_$ac_lib_var=no"
39061 +  echo "$ac_t""no" 1>&6
39062 +                                        LIBS="$cf_save_LIBS"
39063  fi
39064  rm -f conftest*
39065 -LIBS="$ac_save_LIBS"
39066 +                       done
39067 +                       
39068 +fi
39069 +rm -f conftest*
39070 +               
39071 +fi
39072 +
39073 +eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
39074  
39075 +if test $cf_found_library = no ; then
39076 +       { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; }
39077  fi
39078 -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
39079 -  echo "$ac_t""yes" 1>&6
39080 -    ac_tr_lib=HAVE_LIB`echo $LIB_NAME | sed -e 's/[^a-zA-Z0-9_]/_/g' \
39081 -    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
39082 -  cat >> confdefs.h <<EOF
39083 -#define $ac_tr_lib 1
39084 -EOF
39085  
39086 -  LIBS="-l$LIB_NAME $LIBS"
39087  
39088 +fi
39089 +
39090 +if test -n "$cf_ncurses_LIBS" ; then
39091 +       echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6
39092 +echo "configure:3151: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
39093 +       cf_ncurses_SAVE="$LIBS"
39094 +       for p in $cf_ncurses_LIBS ; do
39095 +               q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
39096 +               if test "$q" != "$LIBS" ; then
39097 +                       LIBS="$q"
39098 +               fi
39099 +       done
39100 +       cat > conftest.$ac_ext <<EOF
39101 +#line 3160 "configure"
39102 +#include "confdefs.h"
39103 +#include <${cf_cv_ncurses_header-curses.h}>
39104 +int main() {
39105 +initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
39106 +; return 0; }
39107 +EOF
39108 +if { (eval echo configure:3167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39109 +  rm -rf conftest*
39110 +  echo "$ac_t""yes" 1>&6
39111  else
39112 +  echo "configure: failed program was:" >&5
39113 +  cat conftest.$ac_ext >&5
39114 +  rm -rf conftest*
39115    echo "$ac_t""no" 1>&6
39116 +                LIBS="$cf_ncurses_SAVE"
39117  fi
39118 -
39119 +rm -f conftest*
39120  fi
39121  
39122 -echo $ac_n "checking for form_driver in -lform""... $ac_c" 1>&6
39123 -echo "configure:1233: checking for form_driver in -lform" >&5
39124 -ac_lib_var=`echo form'_'form_driver | sed 'y%./+-%__p_%'`
39125 +
39126 +cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
39127 +
39128 +cat >> confdefs.h <<EOF
39129 +#define $cf_nculib_ROOT 1
39130 +EOF
39131 +
39132 +
39133 +       LIB_NAME=ncursesw
39134 +       ;;
39135 +esac
39136 +
39137 +
39138 +
39139 +echo $ac_n "checking for form_driver in -lform$cf_cv_libtype""... $ac_c" 1>&6
39140 +echo "configure:3195: checking for form_driver in -lform$cf_cv_libtype" >&5
39141 +ac_lib_var=`echo form$cf_cv_libtype'_'form_driver | sed 'y%./+-%__p_%'`
39142  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
39143    echo $ac_n "(cached) $ac_c" 1>&6
39144  else
39145    ac_save_LIBS="$LIBS"
39146 -LIBS="-lform  $LIBS"
39147 +LIBS="-lform$cf_cv_libtype  $LIBS"
39148  cat > conftest.$ac_ext <<EOF
39149 -#line 1241 "configure"
39150 +#line 3203 "configure"
39151  #include "confdefs.h"
39152  /* Override any gcc2 internal prototype to avoid an error.  */
39153  /* We use char because int might match the return type of a gcc2
39154 @@ -1248,7 +3210,7 @@
39155  form_driver()
39156  ; return 0; }
39157  EOF
39158 -if { (eval echo configure:1252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39159 +if { (eval echo configure:3214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39160    rm -rf conftest*
39161    eval "ac_cv_lib_$ac_lib_var=yes"
39162  else
39163 @@ -1263,28 +3225,28 @@
39164  fi
39165  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
39166    echo "$ac_t""yes" 1>&6
39167 -    ac_tr_lib=HAVE_LIB`echo form | sed -e 's/[^a-zA-Z0-9_]/_/g' \
39168 +    ac_tr_lib=HAVE_LIB`echo form$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \
39169      -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
39170    cat >> confdefs.h <<EOF
39171  #define $ac_tr_lib 1
39172  EOF
39173  
39174 -  LIBS="-lform $LIBS"
39175 +  LIBS="-lform$cf_cv_libtype $LIBS"
39176  
39177  else
39178    echo "$ac_t""no" 1>&6
39179  fi
39180  
39181 -echo $ac_n "checking for menu_driver in -lmenu""... $ac_c" 1>&6
39182 -echo "configure:1280: checking for menu_driver in -lmenu" >&5
39183 -ac_lib_var=`echo menu'_'menu_driver | sed 'y%./+-%__p_%'`
39184 +echo $ac_n "checking for menu_driver in -lmenu$cf_cv_libtype""... $ac_c" 1>&6
39185 +echo "configure:3242: checking for menu_driver in -lmenu$cf_cv_libtype" >&5
39186 +ac_lib_var=`echo menu$cf_cv_libtype'_'menu_driver | sed 'y%./+-%__p_%'`
39187  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
39188    echo $ac_n "(cached) $ac_c" 1>&6
39189  else
39190    ac_save_LIBS="$LIBS"
39191 -LIBS="-lmenu  $LIBS"
39192 +LIBS="-lmenu$cf_cv_libtype  $LIBS"
39193  cat > conftest.$ac_ext <<EOF
39194 -#line 1288 "configure"
39195 +#line 3250 "configure"
39196  #include "confdefs.h"
39197  /* Override any gcc2 internal prototype to avoid an error.  */
39198  /* We use char because int might match the return type of a gcc2
39199 @@ -1295,7 +3257,7 @@
39200  menu_driver()
39201  ; return 0; }
39202  EOF
39203 -if { (eval echo configure:1299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39204 +if { (eval echo configure:3261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39205    rm -rf conftest*
39206    eval "ac_cv_lib_$ac_lib_var=yes"
39207  else
39208 @@ -1310,28 +3272,28 @@
39209  fi
39210  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
39211    echo "$ac_t""yes" 1>&6
39212 -    ac_tr_lib=HAVE_LIB`echo menu | sed -e 's/[^a-zA-Z0-9_]/_/g' \
39213 +    ac_tr_lib=HAVE_LIB`echo menu$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \
39214      -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
39215    cat >> confdefs.h <<EOF
39216  #define $ac_tr_lib 1
39217  EOF
39218  
39219 -  LIBS="-lmenu $LIBS"
39220 +  LIBS="-lmenu$cf_cv_libtype $LIBS"
39221  
39222  else
39223    echo "$ac_t""no" 1>&6
39224  fi
39225  
39226 -echo $ac_n "checking for new_panel in -lpanel""... $ac_c" 1>&6
39227 -echo "configure:1327: checking for new_panel in -lpanel" >&5
39228 -ac_lib_var=`echo panel'_'new_panel | sed 'y%./+-%__p_%'`
39229 +echo $ac_n "checking for new_panel in -lpanel$cf_cv_libtype""... $ac_c" 1>&6
39230 +echo "configure:3289: checking for new_panel in -lpanel$cf_cv_libtype" >&5
39231 +ac_lib_var=`echo panel$cf_cv_libtype'_'new_panel | sed 'y%./+-%__p_%'`
39232  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
39233    echo $ac_n "(cached) $ac_c" 1>&6
39234  else
39235    ac_save_LIBS="$LIBS"
39236 -LIBS="-lpanel  $LIBS"
39237 +LIBS="-lpanel$cf_cv_libtype  $LIBS"
39238  cat > conftest.$ac_ext <<EOF
39239 -#line 1335 "configure"
39240 +#line 3297 "configure"
39241  #include "confdefs.h"
39242  /* Override any gcc2 internal prototype to avoid an error.  */
39243  /* We use char because int might match the return type of a gcc2
39244 @@ -1342,7 +3304,7 @@
39245  new_panel()
39246  ; return 0; }
39247  EOF
39248 -if { (eval echo configure:1346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39249 +if { (eval echo configure:3308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39250    rm -rf conftest*
39251    eval "ac_cv_lib_$ac_lib_var=yes"
39252  else
39253 @@ -1357,13 +3319,13 @@
39254  fi
39255  if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
39256    echo "$ac_t""yes" 1>&6
39257 -    ac_tr_lib=HAVE_LIB`echo panel | sed -e 's/[^a-zA-Z0-9_]/_/g' \
39258 +    ac_tr_lib=HAVE_LIB`echo panel$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \
39259      -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
39260    cat >> confdefs.h <<EOF
39261  #define $ac_tr_lib 1
39262  EOF
39263  
39264 -  LIBS="-lpanel $LIBS"
39265 +  LIBS="-lpanel$cf_cv_libtype $LIBS"
39266  
39267  else
39268    echo "$ac_t""no" 1>&6
39269 @@ -1371,12 +3333,12 @@
39270  
39271  
39272  echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
39273 -echo "configure:1375: checking return type of signal handlers" >&5
39274 +echo "configure:3337: checking return type of signal handlers" >&5
39275  if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
39276    echo $ac_n "(cached) $ac_c" 1>&6
39277  else
39278    cat > conftest.$ac_ext <<EOF
39279 -#line 1380 "configure"
39280 +#line 3342 "configure"
39281  #include "confdefs.h"
39282  #include <sys/types.h>
39283  #include <signal.h>
39284 @@ -1393,7 +3355,7 @@
39285  int i;
39286  ; return 0; }
39287  EOF
39288 -if { (eval echo configure:1397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39289 +if { (eval echo configure:3359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39290    rm -rf conftest*
39291    ac_cv_type_signal=void
39292  else
39293 @@ -1412,93 +3374,13 @@
39294  
39295  
39296  
39297 -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
39298 -echo "configure:1417: checking how to run the C preprocessor" >&5
39299 -# On Suns, sometimes $CPP names a directory.
39300 -if test -n "$CPP" && test -d "$CPP"; then
39301 -  CPP=
39302 -fi
39303 -if test -z "$CPP"; then
39304 -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
39305 -  echo $ac_n "(cached) $ac_c" 1>&6
39306 -else
39307 -    # This must be in double quotes, not single quotes, because CPP may get
39308 -  # substituted into the Makefile and "${CC-cc}" will confuse make.
39309 -  CPP="${CC-cc} -E"
39310 -  # On the NeXT, cc -E runs the code through the compiler's parser,
39311 -  # not just through cpp.
39312 -  cat > conftest.$ac_ext <<EOF
39313 -#line 1432 "configure"
39314 -#include "confdefs.h"
39315 -#include <assert.h>
39316 -Syntax Error
39317 -EOF
39318 -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
39319 -{ (eval echo configure:1438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
39320 -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
39321 -if test -z "$ac_err"; then
39322 -  :
39323 -else
39324 -  echo "$ac_err" >&5
39325 -  echo "configure: failed program was:" >&5
39326 -  cat conftest.$ac_ext >&5
39327 -  rm -rf conftest*
39328 -  CPP="${CC-cc} -E -traditional-cpp"
39329 -  cat > conftest.$ac_ext <<EOF
39330 -#line 1449 "configure"
39331 -#include "confdefs.h"
39332 -#include <assert.h>
39333 -Syntax Error
39334 -EOF
39335 -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
39336 -{ (eval echo configure:1455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
39337 -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
39338 -if test -z "$ac_err"; then
39339 -  :
39340 -else
39341 -  echo "$ac_err" >&5
39342 -  echo "configure: failed program was:" >&5
39343 -  cat conftest.$ac_ext >&5
39344 -  rm -rf conftest*
39345 -  CPP="${CC-cc} -nologo -E"
39346 -  cat > conftest.$ac_ext <<EOF
39347 -#line 1466 "configure"
39348 -#include "confdefs.h"
39349 -#include <assert.h>
39350 -Syntax Error
39351 -EOF
39352 -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
39353 -{ (eval echo configure:1472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
39354 -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
39355 -if test -z "$ac_err"; then
39356 -  :
39357 -else
39358 -  echo "$ac_err" >&5
39359 -  echo "configure: failed program was:" >&5
39360 -  cat conftest.$ac_ext >&5
39361 -  rm -rf conftest*
39362 -  CPP=/lib/cpp
39363 -fi
39364 -rm -f conftest*
39365 -fi
39366 -rm -f conftest*
39367 -fi
39368 -rm -f conftest*
39369 -  ac_cv_prog_CPP="$CPP"
39370 -fi
39371 -  CPP="$ac_cv_prog_CPP"
39372 -else
39373 -  ac_cv_prog_CPP="$CPP"
39374 -fi
39375 -echo "$ac_t""$CPP" 1>&6
39376 -
39377  echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
39378 -echo "configure:1497: checking for ANSI C header files" >&5
39379 +echo "configure:3379: checking for ANSI C header files" >&5
39380  if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
39381    echo $ac_n "(cached) $ac_c" 1>&6
39382  else
39383    cat > conftest.$ac_ext <<EOF
39384 -#line 1502 "configure"
39385 +#line 3384 "configure"
39386  #include "confdefs.h"
39387  #include <stdlib.h>
39388  #include <stdarg.h>
39389 @@ -1506,7 +3388,7 @@
39390  #include <float.h>
39391  EOF
39392  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
39393 -{ (eval echo configure:1510: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
39394 +{ (eval echo configure:3392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
39395  ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
39396  if test -z "$ac_err"; then
39397    rm -rf conftest*
39398 @@ -1523,7 +3405,7 @@
39399  if test $ac_cv_header_stdc = yes; then
39400    # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
39401  cat > conftest.$ac_ext <<EOF
39402 -#line 1527 "configure"
39403 +#line 3409 "configure"
39404  #include "confdefs.h"
39405  #include <string.h>
39406  EOF
39407 @@ -1541,7 +3423,7 @@
39408  if test $ac_cv_header_stdc = yes; then
39409    # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
39410  cat > conftest.$ac_ext <<EOF
39411 -#line 1545 "configure"
39412 +#line 3427 "configure"
39413  #include "confdefs.h"
39414  #include <stdlib.h>
39415  EOF
39416 @@ -1562,7 +3444,7 @@
39417    :
39418  else
39419    cat > conftest.$ac_ext <<EOF
39420 -#line 1566 "configure"
39421 +#line 3448 "configure"
39422  #include "confdefs.h"
39423  #include <ctype.h>
39424  #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
39425 @@ -1573,7 +3455,7 @@
39426  exit (0); }
39427  
39428  EOF
39429 -if { (eval echo configure:1577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
39430 +if { (eval echo configure:3459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
39431  then
39432    :
39433  else
39434 @@ -1597,12 +3479,12 @@
39435  fi
39436  
39437  echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
39438 -echo "configure:1601: checking whether time.h and sys/time.h may both be included" >&5
39439 +echo "configure:3483: checking whether time.h and sys/time.h may both be included" >&5
39440  if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
39441    echo $ac_n "(cached) $ac_c" 1>&6
39442  else
39443    cat > conftest.$ac_ext <<EOF
39444 -#line 1606 "configure"
39445 +#line 3488 "configure"
39446  #include "confdefs.h"
39447  #include <sys/types.h>
39448  #include <sys/time.h>
39449 @@ -1611,7 +3493,7 @@
39450  struct tm *tp;
39451  ; return 0; }
39452  EOF
39453 -if { (eval echo configure:1615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39454 +if { (eval echo configure:3497: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39455    rm -rf conftest*
39456    ac_cv_header_time=yes
39457  else
39458 @@ -1648,17 +3530,17 @@
39459  do
39460  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
39461  echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
39462 -echo "configure:1652: checking for $ac_hdr" >&5
39463 +echo "configure:3534: checking for $ac_hdr" >&5
39464  if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
39465    echo $ac_n "(cached) $ac_c" 1>&6
39466  else
39467    cat > conftest.$ac_ext <<EOF
39468 -#line 1657 "configure"
39469 +#line 3539 "configure"
39470  #include "confdefs.h"
39471  #include <$ac_hdr>
39472  EOF
39473  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
39474 -{ (eval echo configure:1662: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
39475 +{ (eval echo configure:3544: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
39476  ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
39477  if test -z "$ac_err"; then
39478    rm -rf conftest*
39479 @@ -1691,19 +3573,21 @@
39480  napms \
39481  resize_term \
39482  resizeterm \
39483 +slk_color \
39484  strdup \
39485  use_default_colors \
39486  vsscanf \
39487 +wchgat \
39488  wresize \
39489  
39490  do
39491  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
39492 -echo "configure:1702: checking for $ac_func" >&5
39493 +echo "configure:3586: checking for $ac_func" >&5
39494  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
39495    echo $ac_n "(cached) $ac_c" 1>&6
39496  else
39497    cat > conftest.$ac_ext <<EOF
39498 -#line 1707 "configure"
39499 +#line 3591 "configure"
39500  #include "confdefs.h"
39501  /* System header to define __stub macros and hopefully few prototypes,
39502      which can conflict with char $ac_func(); below.  */
39503 @@ -1726,7 +3610,7 @@
39504  
39505  ; return 0; }
39506  EOF
39507 -if { (eval echo configure:1730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39508 +if { (eval echo configure:3614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39509    rm -rf conftest*
39510    eval "ac_cv_func_$ac_func=yes"
39511  else
39512 @@ -1751,8 +3635,85 @@
39513  done
39514  
39515  
39516 +cat > conftest.$ac_ext <<EOF
39517 +#line 3640 "configure"
39518 +#include "confdefs.h"
39519 +
39520 +#include <${cf_cv_ncurses_header-curses.h}>
39521 +int main() {
39522 +
39523 +       (void) assume_default_colors (0, 0);
39524 +       (void) curses_version ();
39525 +       (void) define_key (0, 0);
39526 +       (void) is_term_resized (0, 0);
39527 +       (void) key_defined (0);
39528 +       (void) keybound (0, 0);
39529 +       (void) keyok (0, 0);
39530 +       (void) resize_term (0, 0);
39531 +       (void) resizeterm (0, 0);
39532 +       (void) use_default_colors ();
39533 +       (void) use_extended_names (0);
39534 +       (void) wresize (0, 0, 0);
39535 +       
39536 +; return 0; }
39537 +EOF
39538 +if { (eval echo configure:3661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39539 +  rm -rf conftest*
39540 +  cat >> confdefs.h <<\EOF
39541 +#define NCURSES_EXT_FUNCS 1
39542 +EOF
39543 +
39544 +else
39545 +  echo "configure: failed program was:" >&5
39546 +  cat conftest.$ac_ext >&5
39547 +fi
39548 +rm -f conftest*
39549 +
39550 +
39551 +echo $ac_n "checking if sys/time.h works with sys/select.h""... $ac_c" 1>&6
39552 +echo "configure:3675: checking if sys/time.h works with sys/select.h" >&5
39553 +if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
39554 +  echo $ac_n "(cached) $ac_c" 1>&6
39555 +else
39556 +  
39557 +cat > conftest.$ac_ext <<EOF
39558 +#line 3681 "configure"
39559 +#include "confdefs.h"
39560 +
39561 +#include <sys/types.h>
39562 +#ifdef HAVE_SYS_TIME_H
39563 +#include <sys/time.h>
39564 +#endif
39565 +#ifdef HAVE_SYS_SELECT_H
39566 +#include <sys/select.h>
39567 +#endif
39568 +
39569 +int main() {
39570 +
39571 +; return 0; }
39572 +EOF
39573 +if { (eval echo configure:3696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39574 +  rm -rf conftest*
39575 +  cf_cv_sys_time_select=yes
39576 +else
39577 +  echo "configure: failed program was:" >&5
39578 +  cat conftest.$ac_ext >&5
39579 +  rm -rf conftest*
39580 +  cf_cv_sys_time_select=no
39581 +fi
39582 +rm -f conftest*
39583 +     
39584 +fi
39585 +
39586 +echo "$ac_t""$cf_cv_sys_time_select" 1>&6
39587 +test "$cf_cv_sys_time_select" = yes && cat >> confdefs.h <<\EOF
39588 +#define HAVE_SYS_TIME_SELECT 1
39589 +EOF
39590 +
39591 +
39592 +
39593  echo $ac_n "checking for function curses_version""... $ac_c" 1>&6
39594 -echo "configure:1756: checking for function curses_version" >&5
39595 +echo "configure:3717: checking for function curses_version" >&5
39596  if eval "test \"`echo '$''{'cf_cv_func_curses_version'+set}'`\" = set"; then
39597    echo $ac_n "(cached) $ac_c" 1>&6
39598  else
39599 @@ -1761,10 +3722,10 @@
39600    cf_cv_func_curses_version=unknown
39601  else
39602    cat > conftest.$ac_ext <<EOF
39603 -#line 1765 "configure"
39604 +#line 3726 "configure"
39605  #include "confdefs.h"
39606  
39607 -#include <curses.h>
39608 +#include <${cf_cv_ncurses_header-curses.h}>
39609  int main()
39610  {
39611         char temp[1024];
39612 @@ -1773,7 +3734,7 @@
39613  }
39614  
39615  EOF
39616 -if { (eval echo configure:1777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
39617 +if { (eval echo configure:3738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
39618  then
39619    cf_cv_func_curses_version=yes
39620  
39621 @@ -1796,8 +3757,9 @@
39622  EOF
39623  
39624  
39625 +
39626  echo $ac_n "checking for alternate character set array""... $ac_c" 1>&6
39627 -echo "configure:1801: checking for alternate character set array" >&5
39628 +echo "configure:3763: checking for alternate character set array" >&5
39629  if eval "test \"`echo '$''{'cf_cv_curses_acs_map'+set}'`\" = set"; then
39630    echo $ac_n "(cached) $ac_c" 1>&6
39631  else
39632 @@ -1806,10 +3768,10 @@
39633  for name in acs_map _acs_map __acs_map _nc_acs_map
39634  do
39635  cat > conftest.$ac_ext <<EOF
39636 -#line 1810 "configure"
39637 +#line 3772 "configure"
39638  #include "confdefs.h"
39639  
39640 -#include <curses.h>
39641 +#include <${cf_cv_ncurses_header-curses.h}>
39642  
39643  int main() {
39644  
39645 @@ -1817,7 +3779,7 @@
39646  
39647  ; return 0; }
39648  EOF
39649 -if { (eval echo configure:1821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39650 +if { (eval echo configure:3783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39651    rm -rf conftest*
39652    cf_cv_curses_acs_map=$name; break
39653  else
39654 @@ -1836,69 +3798,60 @@
39655  EOF
39656  
39657  
39658 +
39659  echo $ac_n "checking for wide alternate character set array""... $ac_c" 1>&6
39660 -echo "configure:1841: checking for wide alternate character set array" >&5
39661 +echo "configure:3804: checking for wide alternate character set array" >&5
39662  if eval "test \"`echo '$''{'cf_cv_curses_wacs_map'+set}'`\" = set"; then
39663    echo $ac_n "(cached) $ac_c" 1>&6
39664  else
39665    
39666 -cf_cv_curses_wacs_map=unknown
39667 -for name in wacs_map _wacs_map __wacs_map _nc_wacs
39668 -do
39669 -cat > conftest.$ac_ext <<EOF
39670 -#line 1850 "configure"
39671 +       cf_cv_curses_wacs_map=unknown
39672 +       for name in wacs_map _wacs_map __wacs_map _nc_wacs
39673 +       do
39674 +       cat > conftest.$ac_ext <<EOF
39675 +#line 3813 "configure"
39676  #include "confdefs.h"
39677  
39678  #ifndef _XOPEN_SOURCE_EXTENDED
39679  #define _XOPEN_SOURCE_EXTENDED
39680  #endif
39681 -#include <curses.h>
39682 -
39683 +#include <${cf_cv_ncurses_header-curses.h}>
39684  int main() {
39685 -
39686 -$name['k'] = *WACS_PLUS        
39687 -
39688 +$name['k'] = *WACS_PLUS
39689  ; return 0; }
39690  EOF
39691 -if { (eval echo configure:1864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39692 +if { (eval echo configure:3824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
39693    rm -rf conftest*
39694 -  cf_cv_curses_wacs_map=$name; break
39695 +  cf_cv_curses_wacs_map=$name
39696 +        break
39697  else
39698    echo "configure: failed program was:" >&5
39699    cat conftest.$ac_ext >&5
39700  fi
39701  rm -f conftest*
39702 -done
39703 -
39704 +       done
39705  fi
39706  
39707  echo "$ac_t""$cf_cv_curses_wacs_map" 1>&6
39708  
39709 -test "$cf_cv_curses_wacs_map" != unknown && cat >> confdefs.h <<EOF
39710 -#define CURSES_WACS_ARRAY $cf_cv_curses_wacs_map
39711 -EOF
39712 -
39713 -
39714  
39715 -
39716 -
39717 -echo $ac_n "checking for type attr_t in curses.h""... $ac_c" 1>&6
39718 -echo "configure:1887: checking for type attr_t in curses.h" >&5
39719 +echo $ac_n "checking for type attr_t in ${cf_cv_ncurses_header-curses.h}""... $ac_c" 1>&6
39720 +echo "configure:3840: checking for type attr_t in ${cf_cv_ncurses_header-curses.h}" >&5
39721  cat > conftest.$ac_ext <<EOF
39722 -#line 1889 "configure"
39723 +#line 3842 "configure"
39724  #include "confdefs.h"
39725  
39726  #ifndef _XOPEN_SOURCE_EXTENDED
39727  #define _XOPEN_SOURCE_EXTENDED
39728  #endif
39729 -#include <curses.h>
39730 +#include <${cf_cv_ncurses_header-curses.h}>
39731  int main() {
39732  
39733  attr_t foo
39734  
39735  ; return 0; }
39736  EOF
39737 -if { (eval echo configure:1902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39738 +if { (eval echo configure:3855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39739    rm -rf conftest*
39740    cf_result=yes
39741  else
39742 @@ -1910,7 +3863,7 @@
39743  rm -f conftest*
39744  echo "$ac_t""$cf_result" 1>&6
39745  if test $cf_result = yes ; then
39746 -        
39747 +       
39748  cf_result=`echo "have_type_attr_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
39749  
39750         cat >> confdefs.h <<EOF
39751 @@ -1925,23 +3878,23 @@
39752  fi
39753  
39754  
39755 -echo $ac_n "checking for type mbstate_t in curses.h""... $ac_c" 1>&6
39756 -echo "configure:1930: checking for type mbstate_t in curses.h" >&5
39757 +echo $ac_n "checking for type mbstate_t in ${cf_cv_ncurses_header-curses.h}""... $ac_c" 1>&6
39758 +echo "configure:3883: checking for type mbstate_t in ${cf_cv_ncurses_header-curses.h}" >&5
39759  cat > conftest.$ac_ext <<EOF
39760 -#line 1932 "configure"
39761 +#line 3885 "configure"
39762  #include "confdefs.h"
39763  
39764  #ifndef _XOPEN_SOURCE_EXTENDED
39765  #define _XOPEN_SOURCE_EXTENDED
39766  #endif
39767 -#include <curses.h>
39768 +#include <${cf_cv_ncurses_header-curses.h}>
39769  int main() {
39770  
39771  mbstate_t foo
39772  
39773  ; return 0; }
39774  EOF
39775 -if { (eval echo configure:1945: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39776 +if { (eval echo configure:3898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39777    rm -rf conftest*
39778    cf_result=yes
39779  else
39780 @@ -1953,7 +3906,7 @@
39781  rm -f conftest*
39782  echo "$ac_t""$cf_result" 1>&6
39783  if test $cf_result = yes ; then
39784 -        
39785 +       
39786  cf_result=`echo "have_type_mbstate_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
39787  
39788         cat >> confdefs.h <<EOF
39789 @@ -1969,48 +3922,6 @@
39790  
39791  
39792  
39793 -echo $ac_n "checking if sys/time.h works with sys/select.h""... $ac_c" 1>&6
39794 -echo "configure:1974: checking if sys/time.h works with sys/select.h" >&5
39795 -if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
39796 -  echo $ac_n "(cached) $ac_c" 1>&6
39797 -else
39798 -  
39799 -cat > conftest.$ac_ext <<EOF
39800 -#line 1980 "configure"
39801 -#include "confdefs.h"
39802 -
39803 -#include <sys/types.h>
39804 -#ifdef HAVE_SYS_TIME_H
39805 -#include <sys/time.h>
39806 -#endif
39807 -#ifdef HAVE_SYS_SELECT_H
39808 -#include <sys/select.h>
39809 -#endif
39810 -
39811 -int main() {
39812 -
39813 -; return 0; }
39814 -EOF
39815 -if { (eval echo configure:1995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
39816 -  rm -rf conftest*
39817 -  cf_cv_sys_time_select=yes
39818 -else
39819 -  echo "configure: failed program was:" >&5
39820 -  cat conftest.$ac_ext >&5
39821 -  rm -rf conftest*
39822 -  cf_cv_sys_time_select=no
39823 -fi
39824 -rm -f conftest*
39825 -     
39826 -fi
39827 -
39828 -echo "$ac_t""$cf_cv_sys_time_select" 1>&6
39829 -test "$cf_cv_sys_time_select" = yes && cat >> confdefs.h <<\EOF
39830 -#define HAVE_SYS_TIME_SELECT 1
39831 -EOF
39832 -
39833 -
39834 -
39835  trap '' 1 2 15
39836  cat > confcache <<\EOF
39837  # This file is a shell script that caches the results of configure
39838 @@ -2101,7 +4012,7 @@
39839      echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
39840      exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
39841    -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
39842 -    echo "$CONFIG_STATUS generated by autoconf version 2.13.20000819"
39843 +    echo "$CONFIG_STATUS generated by autoconf version 2.13.20020210"
39844      exit 0 ;;
39845    -help | --help | --hel | --he | --h)
39846      echo "\$ac_cs_usage"; exit 0 ;;
39847 @@ -2143,7 +4054,13 @@
39848  s%@oldincludedir@%$oldincludedir%g
39849  s%@infodir@%$infodir%g
39850  s%@mandir@%$mandir%g
39851 +s%@host@%$host%g
39852 +s%@host_alias@%$host_alias%g
39853 +s%@host_cpu@%$host_cpu%g
39854 +s%@host_vendor@%$host_vendor%g
39855 +s%@host_os@%$host_os%g
39856  s%@CC@%$CC%g
39857 +s%@CPP@%$CPP%g
39858  s%@CC_G_OPT@%$CC_G_OPT%g
39859  s%@CC_SHARED_OPTS@%$CC_SHARED_OPTS%g
39860  s%@DFT_DEP_SUFFIX@%$DFT_DEP_SUFFIX%g
39861 @@ -2168,7 +4085,6 @@
39862  s%@TEST_DEPS@%$TEST_DEPS%g
39863  s%@cf_cv_abi_version@%$cf_cv_abi_version%g
39864  s%@cf_cv_rel_version@%$cf_cv_rel_version%g
39865 -s%@CPP@%$CPP%g
39866  
39867  CEOF
39868  EOF
39869 @@ -2379,11 +4295,9 @@
39870  # work consistently for different make-programs (the '\$(MODEL)/' confuses
39871  # some, and the '\$x' confuses others).
39872  TEST_EOF
39873 -LIST=`make echo_tests`
39874 -LAST=`make echo_suffix`
39875 -for n in $LIST
39876 +LIST=`sed -e 's/[      ].*//' -e '/^[#@]/d' $srcdir/modules`
39877 +for N in $LIST
39878  do
39879 -       N=`echo $n | sed -e s/${LAST}\$//`
39880         cat >>Makefile <<TEST_EOF
39881  
39882  \$(MODEL)/$N.o : $N.c \\
39883 diff -urNd -urNd ncurses-5.3/test/configure.in ncurses-5.3.20030906.orig/test/configure.in
39884 --- ncurses-5.3/test/configure.in       Sat Sep  7 11:55:23 2002
39885 +++ ncurses-5.3.20030906.orig/test/configure.in Sun Jul 20 14:02:08 2003
39886 @@ -1,5 +1,5 @@
39887  dnl***************************************************************************
39888 -dnl Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
39889 +dnl Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
39890  dnl                                                                          *
39891  dnl Permission is hereby granted, free of charge, to any person obtaining a  *
39892  dnl copy of this software and associated documentation files (the            *
39893 @@ -28,7 +28,7 @@
39894  dnl
39895  dnl Author: Thomas E. Dickey 1996, etc.
39896  dnl
39897 -dnl $Id: configure.in,v 1.36 2002/09/07 16:55:23 tom Exp $
39898 +dnl $Id: configure.in,v 1.43 2003/05/17 21:56:58 tom Exp $
39899  dnl This is a simple configuration-script for the ncurses test programs that
39900  dnl allows the test-directory to be separately configured against a reference
39901  dnl system (i.e., sysvr4 curses)
39902 @@ -38,11 +38,16 @@
39903  dnl
39904  dnl See http://invisible-island.net/autoconf/ for additional information.
39905  dnl ---------------------------------------------------------------------------
39906 -AC_PREREQ(2.13.20000819)
39907 +AC_PREREQ(2.13.20020210)
39908  AC_INIT(ncurses.c)
39909  AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
39910  
39911 +CF_INHERIT_SCRIPT(config.guess)
39912 +CF_INHERIT_SCRIPT(config.sub)
39913 +CF_CHECK_CACHE
39914 +
39915  AC_PROG_CC
39916 +AC_PROG_CPP
39917  
39918  dnl Things that we don't need (or must override) if we're not building ncurses
39919  CC_G_OPT="-g"                          AC_SUBST(CC_G_OPT)
39920 @@ -71,6 +76,11 @@
39921  cf_cv_abi_version=""                   AC_SUBST(cf_cv_abi_version)
39922  cf_cv_rel_version=""                   AC_SUBST(cf_cv_rel_version)
39923  
39924 +cf_cv_screen=curses
39925 +cf_cv_libtype=
39926 +
39927 +CF_WITH_CURSES_DIR
39928 +
39929  dnl SunOS 4.x
39930  AC_ARG_WITH(5lib,
39931         [  --with-5lib             use SunOS sysv-libraries],
39932 @@ -78,92 +88,44 @@
39933          CPPFLAGS="$CPPFLAGS -I/usr/5include"])
39934  
39935  dnl ---------------------------------------------------------------------------
39936 -dnl Check for libutf8
39937 -AC_DEFUN([CF_LIBUTF8],
39938 -[
39939 -AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
39940 -       cf_save_LIBS="$LIBS"
39941 -       LIBS="-lutf8 $LIBS"
39942 -AC_TRY_LINK([
39943 -#include <libutf8.h>],[putwc(0,0);],
39944 -       [cf_cv_libutf8=yes],
39945 -       [cf_cv_libutf8=no])
39946 -       LIBS="$cf_save_LIBS"
39947 -])
39948 -
39949 -if test "$cf_cv_libutf8" = yes ; then
39950 -       AC_DEFINE(HAVE_LIBUTF8_H)
39951 -       LIBS="-lutf8 $LIBS"
39952 -fi
39953 -])dnl
39954 -
39955 -dnl ---------------------------------------------------------------------------
39956  dnl NcursesW, installed in conventional location
39957  AC_ARG_WITH(ncursesw,
39958         [  --with-ncursesw         use wide ncurses-libraries (installed)],
39959 -       [
39960 -        AC_DEFINE(_GNU_SOURCE)
39961 -        AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
39962 -        AC_CHECK_FUNC(initscr,,[
39963 -        AC_CHECK_LIB(gpm,Gpm_Open)
39964 -        LIB_NAME=ncursesw
39965 -        AC_CHECK_FUNC(putwc,,[CF_LIBUTF8])
39966 -        for p in $HOME /usr/local /usr
39967 -        do
39968 -               if test -f $p/include/ncursesw/curses.h
39969 -               then
39970 -                       CPPFLAGS="$CPPFLAGS -I$p/include/ncursesw"
39971 -                       test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
39972 -                       test $p != /usr && LIBS="-L$p/lib $LIBS"
39973 -                       break
39974 -               elif test $p != /usr
39975 -               then
39976 -                       if test -f $p/include/curses.h
39977 -                       then
39978 -                               CPPFLAGS="$CPPFLAGS -I$p/include"
39979 -                               LIBS="-L$p/lib $LIBS"
39980 -                               break
39981 -                       fi
39982 -               fi
39983 -        done
39984 -       ],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])])
39985 +       [cf_cv_screen=ncursesw])
39986  
39987  dnl Ncurses, installed in conventional location
39988  AC_ARG_WITH(ncurses,
39989         [  --with-ncurses          use ncurses-libraries (installed)],
39990 -       [AC_CHECK_FUNC(initscr,,[
39991 -        AC_CHECK_LIB(gpm,Gpm_Open)
39992 -        LIB_NAME=ncurses
39993 -        for p in $HOME /usr/local /usr
39994 -        do
39995 -               if test -f $p/include/ncurses/curses.h
39996 -               then
39997 -                       CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
39998 -                       test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
39999 -                       test $p != /usr && LIBS="-L$p/lib $LIBS"
40000 -                       break
40001 -               elif test $p != /usr
40002 -               then
40003 -                       if test -f $p/include/curses.h
40004 -                       then
40005 -                               CPPFLAGS="$CPPFLAGS -I$p/include"
40006 -                               LIBS="-L$p/lib $LIBS"
40007 -                               break
40008 -                       fi
40009 -               fi
40010 -        done
40011 -       ],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])])
40012 +       [cf_cv_screen=ncurses])
40013 +
40014 +case $cf_cv_screen in
40015 +curses)
40016 +       CF_CURSES_CPPFLAGS
40017 +       CF_NCURSES_VERSION
40018 +       CF_CURSES_LIBS
40019 +       ;;
40020 +ncurses)
40021 +       CF_NCURSES_CPPFLAGS
40022 +       CF_NCURSES_LIBS
40023 +       LIB_NAME=ncurses
40024 +       ;;
40025 +ncursesw)
40026 +       cf_cv_libtype=w
40027 +       CF_UTF8_LIB
40028 +       CF_NCURSES_CPPFLAGS(ncursesw)
40029 +       CF_NCURSES_LIBS(ncursesw)
40030 +       LIB_NAME=ncursesw
40031 +       ;;
40032 +esac
40033  
40034  dnl If we've not specified a library, assume we're using sysvr4 libraries
40035  dnl installed conventionally (e.g., SunOS 5.x - solaris).
40036  
40037  dnl Autoconf builds up the $LIBS in reverse order
40038  
40039 -AC_CHECK_FUNC(initscr,,[
40040 -AC_CHECK_LIB($LIB_NAME,initscr)])
40041 -AC_CHECK_LIB(form,form_driver)
40042 -AC_CHECK_LIB(menu,menu_driver)
40043 -AC_CHECK_LIB(panel,new_panel)
40044 +AC_CHECK_LIB(form$cf_cv_libtype,form_driver)
40045 +AC_CHECK_LIB(menu$cf_cv_libtype,menu_driver)
40046 +AC_CHECK_LIB(panel$cf_cv_libtype,new_panel)
40047  
40048  AC_TYPE_SIGNAL
40049  
40050 @@ -190,117 +152,37 @@
40051  napms \
40052  resize_term \
40053  resizeterm \
40054 +slk_color \
40055  strdup \
40056  use_default_colors \
40057  vsscanf \
40058 +wchgat \
40059  wresize \
40060  )
40061  
40062 -dnl ---------------------------------------------------------------------------
40063 -dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
40064 -dnl It's a character string "SVR4", not documented.
40065 -AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
40066 -AC_TRY_RUN([
40067 -#include <curses.h>
40068 -int main()
40069 -{
40070 -       char temp[1024];
40071 -       sprintf(temp, "%s\n", curses_version());
40072 -       exit(0);
40073 -}]
40074 -,[cf_cv_func_curses_version=yes]
40075 -,[cf_cv_func_curses_version=no]
40076 -,[cf_cv_func_curses_version=unknown])
40077 -rm -f core])
40078 -test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
40079 -
40080 -dnl ---------------------------------------------------------------------------
40081 -dnl Check for likely values of acs_map[]:
40082 -AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[
40083 -cf_cv_curses_acs_map=unknown
40084 -for name in acs_map _acs_map __acs_map _nc_acs_map
40085 -do
40086  AC_TRY_LINK([
40087 -#include <curses.h>
40088 -],[
40089 -$name['k'] = ACS_PLUS
40090 -],[cf_cv_curses_acs_map=$name; break])
40091 -done
40092 -])
40093 -
40094 -test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
40095 -
40096 -dnl ---------------------------------------------------------------------------
40097 -dnl Check for likely values of wacs_map[]:
40098 -AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
40099 -cf_cv_curses_wacs_map=unknown
40100 -for name in wacs_map _wacs_map __wacs_map _nc_wacs
40101 -do
40102 -AC_TRY_LINK([
40103 -#ifndef _XOPEN_SOURCE_EXTENDED
40104 -#define _XOPEN_SOURCE_EXTENDED
40105 -#endif
40106 -#include <curses.h>
40107 -],[
40108 -$name['k'] = *WACS_PLUS        
40109 -],[cf_cv_curses_wacs_map=$name; break])
40110 -done
40111 -])
40112 -
40113 -test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map)
40114 -
40115 -dnl --------------------------------------------------------------------------- 
40116 -dnl Make an uppercase version of a variable 
40117 -dnl $1=uppercase($2) 
40118 -AC_DEFUN([CF_UPPER], 
40119 -[ 
40120 -$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
40121 -])dnl 
40122 -
40123 -dnl ---------------------------------------------------------------------------
40124 -dnl Check if curses.h defines the given type
40125 -AC_DEFUN([CF_CURSES_TYPE],
40126 +#include <${cf_cv_ncurses_header-curses.h}>],
40127  [
40128 -AC_MSG_CHECKING(for type $1 in curses.h)
40129 -AC_TRY_COMPILE([
40130 -#ifndef _XOPEN_SOURCE_EXTENDED
40131 -#define _XOPEN_SOURCE_EXTENDED
40132 -#endif
40133 -#include <curses.h>],[
40134 -$1 foo
40135 -],cf_result=yes,cf_result=no)
40136 -AC_MSG_RESULT($cf_result)
40137 -if test $cf_result = yes ; then
40138 -       CF_UPPER(cf_result,have_type_$1)
40139 -       AC_DEFINE_UNQUOTED($cf_result)
40140 -else
40141 -       AC_DEFINE_UNQUOTED($1,$2)
40142 -fi
40143 -])dnl
40144 -
40145 -CF_CURSES_TYPE(attr_t,long)
40146 -CF_CURSES_TYPE(mbstate_t,long)
40147 -
40148 -dnl ---------------------------------------------------------------------------
40149 -dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
40150 -dnl older SCO configurations.
40151 -dnl [CF_SYS_TIME_SELECT]
40152 +       (void) assume_default_colors (0, 0);
40153 +       (void) curses_version ();
40154 +       (void) define_key (0, 0);
40155 +       (void) is_term_resized (0, 0);
40156 +       (void) key_defined (0);
40157 +       (void) keybound (0, 0);
40158 +       (void) keyok (0, 0);
40159 +       (void) resize_term (0, 0);
40160 +       (void) resizeterm (0, 0);
40161 +       (void) use_default_colors ();
40162 +       (void) use_extended_names (0);
40163 +       (void) wresize (0, 0, 0);
40164 +       ],[AC_DEFINE(NCURSES_EXT_FUNCS)])
40165  
40166 -AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
40167 -AC_CACHE_VAL(cf_cv_sys_time_select,[
40168 -AC_TRY_COMPILE([
40169 -#include <sys/types.h>
40170 -#ifdef HAVE_SYS_TIME_H
40171 -#include <sys/time.h>
40172 -#endif
40173 -#ifdef HAVE_SYS_SELECT_H
40174 -#include <sys/select.h>
40175 -#endif
40176 -],[],[cf_cv_sys_time_select=yes],
40177 -     [cf_cv_sys_time_select=no])
40178 -     ])
40179 -AC_MSG_RESULT($cf_cv_sys_time_select)
40180 -test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
40181 +CF_SYS_TIME_SELECT
40182 +CF_FUNC_CURSES_VERSION
40183 +CF_CURSES_ACS_MAP
40184 +CF_CURSES_WACS_MAP
40185 +CF_CURSES_CHECK_TYPE(attr_t,long)
40186 +CF_CURSES_CHECK_TYPE(mbstate_t,long)
40187  
40188  dnl ---------------------------------------------------------------------------
40189  
40190 @@ -311,11 +193,9 @@
40191  # work consistently for different make-programs (the '\$(MODEL)/' confuses
40192  # some, and the '\$x' confuses others).
40193  TEST_EOF
40194 -LIST=`make echo_tests`
40195 -LAST=`make echo_suffix`
40196 -for n in $LIST
40197 +LIST=`sed -e 's/[[     ]].*//' -e '/^[[#@]]/d' $srcdir/modules`
40198 +for N in $LIST
40199  do
40200 -       N=`echo $n | sed -e s/${LAST}\$//`
40201         cat >>Makefile <<TEST_EOF
40202  
40203  \$(MODEL)/$N.o : $N.c \\
40204 diff -urNd -urNd ncurses-5.3/test/demo_defkey.c ncurses-5.3.20030906.orig/test/demo_defkey.c
40205 --- ncurses-5.3/test/demo_defkey.c      Wed Dec 31 18:00:00 1969
40206 +++ ncurses-5.3.20030906.orig/test/demo_defkey.c        Sun Jul 20 14:02:08 2003
40207 @@ -0,0 +1,250 @@
40208 +/*
40209 + * $Id: demo_defkey.c,v 1.11 2003/05/17 23:33:28 tom Exp $
40210 + *
40211 + * Demonstrate the define_key() function.
40212 + * Thomas Dickey - 2002/11/23
40213 + */
40214 +
40215 +#include <test.priv.h>
40216 +
40217 +#if defined(NCURSES_VERSION) && NCURSES_EXT_FUNCS
40218 +
40219 +#include <term.h>
40220 +
40221 +#define MY_LOGFILE "demo_defkey.log"
40222 +
40223 +/*
40224 + * Log the most recently-written line to our logfile
40225 + */
40226 +static void
40227 +log_last_line(WINDOW *win)
40228 +{
40229 +    FILE *fp;
40230 +    int y, x, n;
40231 +    char temp[256];
40232 +
40233 +    if ((fp = fopen(MY_LOGFILE, "a")) != 0) {
40234 +       getyx(win, y, x);
40235 +       wmove(win, y - 1, 0);
40236 +       n = winnstr(win, temp, sizeof(temp));
40237 +       while (n-- > 0) {
40238 +           if (isspace(temp[n]))
40239 +               temp[n] = '\0';
40240 +           else
40241 +               break;
40242 +       }
40243 +       wmove(win, y, x);
40244 +       fprintf(fp, "%s\n", temp);
40245 +       fclose(fp);
40246 +    }
40247 +}
40248 +
40249 +/*
40250 + * Convert a character to visible form.
40251 + */
40252 +static char *
40253 +visichar(int ch)
40254 +{
40255 +    static char temp[10];
40256 +
40257 +    ch = UChar(ch);
40258 +    if (ch == '\\') {
40259 +       strcpy(temp, "\\\\");
40260 +    } else if (ch == '\033') {
40261 +       strcpy(temp, "\\E");
40262 +    } else if (ch < ' ') {
40263 +       sprintf(temp, "\\%03o", ch);
40264 +    } else if (ch >= 127) {
40265 +       sprintf(temp, "\\%03o", ch);
40266 +    } else {
40267 +       sprintf(temp, "%c", ch);
40268 +    }
40269 +    return temp;
40270 +}
40271 +
40272 +/*
40273 + * Convert a string to visible form.
40274 + */
40275 +static char *
40276 +visible(const char *string)
40277 +{
40278 +    char *result = 0;
40279 +    unsigned need = 1;
40280 +    int pass;
40281 +    int n;
40282 +
40283 +    if (string != 0 && *string != '\0') {
40284 +       for (pass = 0; pass < 2; ++pass) {
40285 +           for (n = 0; string[n] != '\0'; ++n) {
40286 +               char temp[80];
40287 +               strcpy(temp, visichar(string[n]));
40288 +               if (pass)
40289 +                   strcat(result, temp);
40290 +               else
40291 +                   need += strlen(temp);
40292 +           }
40293 +           if (!pass)
40294 +               result = calloc(need, 1);
40295 +       }
40296 +    } else {
40297 +       result = calloc(1, 1);
40298 +    }
40299 +    return result;
40300 +}
40301 +
40302 +static void
40303 +really_define_key(WINDOW *win, const char *new_string, int code)
40304 +{
40305 +    int rc;
40306 +    const char *code_name = keyname(code);
40307 +    char *old_string;
40308 +    char *vis_string = 0;
40309 +    char temp[80];
40310 +
40311 +    if (code_name == 0) {
40312 +       sprintf(temp, "Keycode %d", code);
40313 +       code_name = temp;
40314 +    }
40315 +
40316 +    if ((old_string = keybound(code, 0)) != 0) {
40317 +       wprintw(win, "%s is %s\n",
40318 +               code_name,
40319 +               vis_string = visible(old_string));
40320 +    } else {
40321 +       wprintw(win, "%s is not bound\n",
40322 +               code_name);
40323 +    }
40324 +    log_last_line(win);
40325 +    if (vis_string != 0) {
40326 +       free(vis_string);
40327 +       vis_string = 0;
40328 +    }
40329 +
40330 +    vis_string = visible(new_string);
40331 +    if ((rc = key_defined(new_string)) > 0) {
40332 +       wprintw(win, "%s was bound to %s\n", vis_string, keyname(rc));
40333 +       log_last_line(win);
40334 +    } else if (new_string != 0 && rc < 0) {
40335 +       wprintw(win, "%s conflicts with longer strings\n", vis_string);
40336 +       log_last_line(win);
40337 +    }
40338 +    rc = define_key(new_string, code);
40339 +    if (rc == ERR) {
40340 +       wprintw(win, "%s unchanged\n", code_name);
40341 +       log_last_line(win);
40342 +    } else if (new_string != 0) {
40343 +       wprintw(win, "%s is now bound to %s\n",
40344 +               vis_string,
40345 +               code_name);
40346 +       log_last_line(win);
40347 +    } else if (old_string != 0) {
40348 +       wprintw(win, "%s deleted\n", code_name);
40349 +       log_last_line(win);
40350 +    }
40351 +    if (vis_string != 0 && *vis_string != 0)
40352 +       free(vis_string);
40353 +    if (old_string != 0)
40354 +       free(old_string);
40355 +}
40356 +
40357 +static void
40358 +duplicate(WINDOW *win, NCURSES_CONST char *name, int code)
40359 +{
40360 +    char *value = tigetstr(name);
40361 +
40362 +    if (value != 0) {
40363 +       const char *prefix = 0;
40364 +       char temp[BUFSIZ];
40365 +
40366 +       if (!strncmp(value, "\033[", 2)) {
40367 +           prefix = "\033O";
40368 +       } else if (!strncmp(value, "\033O", 2)) {
40369 +           prefix = "\033[";
40370 +       }
40371 +       if (prefix != 0) {
40372 +           sprintf(temp, "%s%s", prefix, value + 2);
40373 +           really_define_key(win, temp, code);
40374 +       }
40375 +    }
40376 +}
40377 +
40378 +static void
40379 +redefine(WINDOW *win, char *string, int code)
40380 +{
40381 +    really_define_key(win, string, code);
40382 +}
40383 +
40384 +static void
40385 +remove_definition(WINDOW *win, int code)
40386 +{
40387 +    really_define_key(win, 0, code);
40388 +}
40389 +
40390 +int
40391 +main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
40392 +{
40393 +    char *fkeys[12];
40394 +    int n;
40395 +    int ch;
40396 +    WINDOW *win;
40397 +
40398 +    unlink(MY_LOGFILE);
40399 +
40400 +    initscr();
40401 +    (void) cbreak();           /* take input chars one at a time, no wait for \n */
40402 +    (void) noecho();           /* don't echo input */
40403 +
40404 +    printw("This demo is best on xterm: it reverses the definitions for f1-f12,\n");
40405 +    printw("adds duplicate definitions for cursor application and normal modes,\n");
40406 +    printw("and removes any definitions for the mini keypad.  Type any of those:\n");
40407 +    refresh();
40408 +
40409 +    win = newwin(LINES - 3, COLS, 3, 0);
40410 +    scrollok(win, TRUE);
40411 +    keypad(win, TRUE);
40412 +    wmove(win, 0, 0);
40413 +
40414 +    /* we do the define_key() calls after keypad(), since the first call to
40415 +     * keypad() initializes the corresponding data.
40416 +     */
40417 +    for (n = 0; n < 12; ++n) {
40418 +       char name[10];
40419 +       sprintf(name, "kf%d", n + 1);
40420 +       fkeys[n] = tigetstr(name);
40421 +    }
40422 +    for (n = 0; n < 12; ++n) {
40423 +       redefine(win, fkeys[11 - n], KEY_F(n + 1));
40424 +    }
40425 +
40426 +    duplicate(win, "kcub1", KEY_LEFT);
40427 +    duplicate(win, "kcuu1", KEY_UP);
40428 +    duplicate(win, "kcud1", KEY_DOWN);
40429 +    duplicate(win, "kcuf1", KEY_RIGHT);
40430 +
40431 +    remove_definition(win, KEY_A1);
40432 +    remove_definition(win, KEY_A3);
40433 +    remove_definition(win, KEY_B2);
40434 +    remove_definition(win, KEY_C1);
40435 +    remove_definition(win, KEY_C3);
40436 +
40437 +    really_define_key(win, "\033O", 1023);
40438 +
40439 +    while ((ch = wgetch(win)) != ERR) {
40440 +       const char *name = keyname(ch);
40441 +       wprintw(win, "Keycode %d, name %s\n",
40442 +               ch,
40443 +               name != 0 ? name : "<null>");
40444 +       log_last_line(win);
40445 +       wclrtoeol(win);
40446 +    }
40447 +    endwin();
40448 +    return EXIT_SUCCESS;
40449 +}
40450 +#else
40451 +int
40452 +main(void)
40453 +{
40454 +    printf("This program requires the ncurses library\n");
40455 +    ExitProgram(EXIT_FAILURE);
40456 +}
40457 +#endif
40458 diff -urNd -urNd ncurses-5.3/test/demo_forms.c ncurses-5.3.20030906.orig/test/demo_forms.c
40459 --- ncurses-5.3/test/demo_forms.c       Wed Dec 31 18:00:00 1969
40460 +++ ncurses-5.3.20030906.orig/test/demo_forms.c Tue May 13 20:08:23 2003
40461 @@ -0,0 +1,295 @@
40462 +/*
40463 + * $Id: demo_forms.c,v 1.3 2003/05/03 22:08:20 tom Exp $
40464 + *
40465 + * Demonstrate a variety of functions from the form library.
40466 + * Thomas Dickey - 2003/4/26
40467 + */
40468 +/*
40469 +TYPE_ALNUM                     -
40470 +TYPE_ENUM                      -
40471 +TYPE_INTEGER                   -
40472 +TYPE_IPV4                      -
40473 +TYPE_NUMERIC                   -
40474 +TYPE_REGEXP                    -
40475 +data_ahead                     -
40476 +data_behind                    -
40477 +dup_field                      -
40478 +dynamic_field_info             -
40479 +field_arg                      -
40480 +field_back                     -
40481 +field_count                    -
40482 +field_fore                     -
40483 +field_init                     -
40484 +field_just                     -
40485 +field_opts_on                  -
40486 +field_pad                      -
40487 +field_status                   -
40488 +field_term                     -
40489 +field_type                     -
40490 +form_init                      -
40491 +form_opts                      -
40492 +form_opts_off                  -
40493 +form_opts_on                   -
40494 +form_page                      -
40495 +form_request_by_name           -
40496 +form_term                      -
40497 +form_userptr                   -
40498 +free_fieldtype                 -
40499 +link_field                     -
40500 +link_fieldtype                 -
40501 +move_field                     -
40502 +new_page                       -
40503 +pos_form_cursor                        -
40504 +set_current_field              -
40505 +set_field_fore                 -
40506 +set_field_init                 -
40507 +set_field_pad                  -
40508 +set_field_status               -
40509 +set_field_term                 -
40510 +set_fieldtype_arg              -
40511 +set_fieldtype_choice           -
40512 +set_form_fields                        -
40513 +set_form_init                  -
40514 +set_form_opts                  -
40515 +set_form_page                  -
40516 +set_form_term                  -
40517 +set_form_userptr               -
40518 +set_max_field                  -
40519 +*/
40520 +
40521 +#include <test.priv.h>
40522 +
40523 +#if USE_LIBFORM
40524 +
40525 +#include <edit_field.h>
40526 +
40527 +static FIELD *
40528 +make_label(int frow, int fcol, NCURSES_CONST char *label)
40529 +{
40530 +    FIELD *f = new_field(1, strlen(label), frow, fcol, 0, 0);
40531 +
40532 +    if (f) {
40533 +       set_field_buffer(f, 0, label);
40534 +       set_field_opts(f, field_opts(f) & ~O_ACTIVE);
40535 +    }
40536 +    return (f);
40537 +}
40538 +
40539 +/*
40540 + * Define each field with an extra one, for reflecting "actual" text.
40541 + */
40542 +static FIELD *
40543 +make_field(int frow, int fcol, int rows, int cols)
40544 +{
40545 +    FIELD *f = new_field(rows, cols, frow, fcol, 0, 1);
40546 +
40547 +    if (f) {
40548 +       set_field_back(f, A_UNDERLINE);
40549 +       set_field_userptr(f, (void *) 0);
40550 +    }
40551 +    return (f);
40552 +}
40553 +
40554 +static void
40555 +display_form(FORM * f)
40556 +{
40557 +    WINDOW *w;
40558 +    int rows, cols;
40559 +
40560 +    scale_form(f, &rows, &cols);
40561 +
40562 +    /*
40563 +     * Put the form at the upper-left corner of the display, with just a box
40564 +     * around it.
40565 +     */
40566 +    if ((w = newwin(rows + 2, cols + 4, 0, 0)) != (WINDOW *) 0) {
40567 +       set_form_win(f, w);
40568 +       set_form_sub(f, derwin(w, rows, cols, 1, 2));
40569 +       box(w, 0, 0);
40570 +       keypad(w, TRUE);
40571 +    }
40572 +
40573 +    if (post_form(f) != E_OK)
40574 +       wrefresh(w);
40575 +}
40576 +
40577 +static void
40578 +erase_form(FORM * f)
40579 +{
40580 +    WINDOW *w = form_win(f);
40581 +    WINDOW *s = form_sub(f);
40582 +
40583 +    unpost_form(f);
40584 +    werase(w);
40585 +    wrefresh(w);
40586 +    delwin(s);
40587 +    delwin(w);
40588 +}
40589 +
40590 +static int
40591 +my_form_driver(FORM * form, int c)
40592 +{
40593 +    switch (c) {
40594 +    case EDIT_FIELD('q'):
40595 +       if (form_driver(form, REQ_VALIDATION) == E_OK)
40596 +           return (TRUE);
40597 +       break;
40598 +    case EDIT_FIELD('h'):
40599 +       help_edit_field();
40600 +       break;
40601 +    default:
40602 +       beep();
40603 +       break;
40604 +    }
40605 +    return (FALSE);
40606 +}
40607 +
40608 +static void
40609 +show_current_field(WINDOW *win, FORM * form)
40610 +{
40611 +    FIELD *field;
40612 +    FIELDTYPE *type;
40613 +    char *buffer;
40614 +    int nbuf;
40615 +
40616 +    if (has_colors()) {
40617 +       wbkgd(win, COLOR_PAIR(1));
40618 +    }
40619 +    werase(win);
40620 +    wprintw(win, "Cursor: %d,%d\n", form->currow, form->curcol);
40621 +    if ((field = current_field(form)) != 0) {
40622 +       wprintw(win, "Field %d:", field_index(field));
40623 +       if ((type = field_type(field)) != 0) {
40624 +           if (type == TYPE_ALNUM)
40625 +               waddstr(win, "ALNUM");
40626 +           else if (type == TYPE_ALPHA)
40627 +               waddstr(win, "ALPHA");
40628 +           else if (type == TYPE_ENUM)
40629 +               waddstr(win, "ENUM");
40630 +           else if (type == TYPE_INTEGER)
40631 +               waddstr(win, "INTEGER");
40632 +           else if (type == TYPE_NUMERIC)
40633 +               waddstr(win, "NUMERIC");
40634 +           else if (type == TYPE_REGEXP)
40635 +               waddstr(win, "REGEXP");
40636 +           else
40637 +               waddstr(win, "other");
40638 +       }
40639 +       waddstr(win, "\n");
40640 +       for (nbuf = 0; nbuf <= 2; ++nbuf) {
40641 +           if ((buffer = field_buffer(field, nbuf)) != 0) {
40642 +               wprintw(win, "buffer %d:", nbuf);
40643 +               wattrset(win, A_REVERSE);
40644 +               waddstr(win, buffer);
40645 +               wattroff(win, A_REVERSE);
40646 +               waddstr(win, "\n");
40647 +           }
40648 +       }
40649 +    }
40650 +    wrefresh(win);
40651 +}
40652 +
40653 +static void
40654 +demo_forms(void)
40655 +{
40656 +    WINDOW *w;
40657 +    FORM *form;
40658 +    FIELD *f[100];
40659 +    int finished = 0, c;
40660 +    unsigned n = 0;
40661 +    int pg;
40662 +    WINDOW *also;
40663 +
40664 +    help_edit_field();
40665 +
40666 +    mvaddstr(4, 57, "Forms Entry Test");
40667 +
40668 +    refresh();
40669 +
40670 +    /* describe the form */
40671 +    for (pg = 0; pg < 3; ++pg) {
40672 +       char label[80];
40673 +       sprintf(label, "Sample Form Page %d", pg + 1);
40674 +       f[n++] = make_label(0, 15, label);
40675 +       set_new_page(f[n - 1], TRUE);
40676 +
40677 +       f[n++] = make_label(2, 0, "Last Name");
40678 +       f[n++] = make_field(3, 0, 1, 18);
40679 +       set_field_type(f[n - 1], TYPE_ALPHA, 1);
40680 +
40681 +       f[n++] = make_label(2, 20, "First Name");
40682 +       f[n++] = make_field(3, 20, 1, 12);
40683 +       set_field_type(f[n - 1], TYPE_ALPHA, 1);
40684 +
40685 +       f[n++] = make_label(2, 34, "Middle Name");
40686 +       f[n++] = make_field(3, 34, 1, 12);
40687 +       set_field_type(f[n - 1], TYPE_ALPHA, 1);
40688 +
40689 +       f[n++] = make_label(5, 0, "Comments");
40690 +       f[n++] = make_field(6, 0, 4, 46);
40691 +    }
40692 +
40693 +    f[n++] = (FIELD *) 0;
40694 +
40695 +    form = new_form(f);
40696 +
40697 +    display_form(form);
40698 +
40699 +    w = form_win(form);
40700 +    also = newwin(getmaxy(stdscr) - getmaxy(w), COLS, getmaxy(w), 0);
40701 +    show_current_field(also, form);
40702 +
40703 +    while (!finished) {
40704 +       switch (edit_field(form, &c)) {
40705 +       case E_OK:
40706 +           break;
40707 +       case E_UNKNOWN_COMMAND:
40708 +           finished = my_form_driver(form, c);
40709 +           break;
40710 +       default:
40711 +           beep();
40712 +           break;
40713 +       }
40714 +       show_current_field(also, form);
40715 +    }
40716 +
40717 +    erase_form(form);
40718 +
40719 +    free_form(form);
40720 +    for (c = 0; f[c] != 0; c++)
40721 +       free_field(f[c]);
40722 +    noraw();
40723 +    nl();
40724 +}
40725 +
40726 +int
40727 +main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
40728 +{
40729 +    initscr();
40730 +    cbreak();
40731 +    noecho();
40732 +    raw();
40733 +    nonl();                    /* lets us read ^M's */
40734 +    intrflush(stdscr, FALSE);
40735 +    keypad(stdscr, TRUE);
40736 +
40737 +    if (has_colors()) {
40738 +       start_color();
40739 +       init_pair(1, COLOR_WHITE, COLOR_BLUE);
40740 +       bkgd(COLOR_PAIR(1));
40741 +       refresh();
40742 +    }
40743 +
40744 +    demo_forms();
40745 +
40746 +    endwin();
40747 +    return EXIT_SUCCESS;
40748 +}
40749 +#else
40750 +int
40751 +main(void)
40752 +{
40753 +    printf("This program requires the curses form library\n");
40754 +    ExitProgram(EXIT_FAILURE);
40755 +}
40756 +#endif
40757 diff -urNd -urNd ncurses-5.3/test/demo_keyok.c ncurses-5.3.20030906.orig/test/demo_keyok.c
40758 --- ncurses-5.3/test/demo_keyok.c       Wed Dec 31 18:00:00 1969
40759 +++ ncurses-5.3.20030906.orig/test/demo_keyok.c Sun Jul 20 14:02:08 2003
40760 @@ -0,0 +1,55 @@
40761 +/*
40762 + * $Id: demo_keyok.c,v 1.3 2003/05/17 23:18:34 tom Exp $
40763 + *
40764 + * Demonstrate the keyok() function.
40765 + * Thomas Dickey - 2002/11/23
40766 + */
40767 +
40768 +#include <test.priv.h>
40769 +
40770 +#if defined(NCURSES_VERSION) && NCURSES_EXT_FUNCS
40771 +int
40772 +main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
40773 +{
40774 +    int lastch = ERR;
40775 +    int ch;
40776 +    WINDOW *win;
40777 +
40778 +    initscr();
40779 +    (void) cbreak();           /* take input chars one at a time, no wait for \n */
40780 +    (void) noecho();           /* don't echo input */
40781 +
40782 +    printw("Typing any function key will disable it, but typing it twice in\n");
40783 +    printw("a row will turn it back on (just for a demo).");
40784 +    refresh();
40785 +
40786 +    win = newwin(LINES - 2, COLS, 2, 0);
40787 +    scrollok(win, TRUE);
40788 +    keypad(win, TRUE);
40789 +    wmove(win, 0, 0);
40790 +
40791 +    while ((ch = wgetch(win)) != ERR) {
40792 +       const char *name = keyname(ch);
40793 +       wprintw(win, "Keycode %d, name %s\n",
40794 +               ch,
40795 +               name != 0 ? name : "<null>");
40796 +       wclrtoeol(win);
40797 +       wrefresh(win);
40798 +       if (ch >= KEY_MIN) {
40799 +           keyok(ch, FALSE);
40800 +           lastch = ch;
40801 +       } else if (lastch >= KEY_MIN) {
40802 +           keyok(lastch, TRUE);
40803 +       }
40804 +    }
40805 +    endwin();
40806 +    return EXIT_SUCCESS;
40807 +}
40808 +#else
40809 +int
40810 +main(void)
40811 +{
40812 +    printf("This program requires the ncurses library\n");
40813 +    ExitProgram(EXIT_FAILURE);
40814 +}
40815 +#endif
40816 diff -urNd -urNd ncurses-5.3/test/demo_menus.c ncurses-5.3.20030906.orig/test/demo_menus.c
40817 --- ncurses-5.3/test/demo_menus.c       Wed Dec 31 18:00:00 1969
40818 +++ ncurses-5.3.20030906.orig/test/demo_menus.c Tue May 13 20:08:23 2003
40819 @@ -0,0 +1,73 @@
40820 +/*
40821 + * $Id: demo_menus.c,v 1.1 2003/04/26 22:10:43 tom Exp $
40822 + *
40823 + * Demonstrate a variety of functions from the menu library.
40824 + * Thomas Dickey - 2003/4/26
40825 + */
40826 +/*
40827 +item_count                     -
40828 +item_description               -
40829 +item_init                      -
40830 +item_opts                      -
40831 +item_opts_off                  -
40832 +item_opts_on                   -
40833 +item_term                      -
40834 +item_userptr                   -
40835 +item_visible                   -
40836 +menu_back                      -
40837 +menu_fore                      -
40838 +menu_format                    -
40839 +menu_grey                      -
40840 +menu_init                      -
40841 +menu_mark                      -
40842 +menu_opts                      -
40843 +menu_opts_on                   -
40844 +menu_pad                       -
40845 +menu_pattern                   -
40846 +menu_request_by_name           -
40847 +menu_request_name              -
40848 +menu_spacing                   -
40849 +menu_sub                       -
40850 +menu_term                      -
40851 +menu_userptr                   -
40852 +set_current_item               -
40853 +set_item_init                  -
40854 +set_item_opts                  -
40855 +set_item_term                  -
40856 +set_item_userptr               -
40857 +set_menu_back                  -
40858 +set_menu_fore                  -
40859 +set_menu_grey                  -
40860 +set_menu_init                  -
40861 +set_menu_items                 -
40862 +set_menu_mark                  -
40863 +set_menu_opts                  -
40864 +set_menu_pad                   -
40865 +set_menu_pattern               -
40866 +set_menu_spacing               -
40867 +set_menu_term                  -
40868 +set_menu_userptr               -
40869 +set_top_row                    -
40870 +top_row                                -
40871 +*/
40872 +
40873 +#include <test.priv.h>
40874 +
40875 +#if USE_LIBMENU
40876 +
40877 +#include <menu.h>
40878 +
40879 +int
40880 +main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
40881 +{
40882 +    printf("Not implemented - demo for menu library\n");
40883 +    return EXIT_SUCCESS;
40884 +}
40885 +#else
40886 +int
40887 +main(void)
40888 +{
40889 +    printf("This program requires the curses menu library\n");
40890 +    ExitProgram(EXIT_FAILURE);
40891 +}
40892 +#endif
40893 diff -urNd -urNd ncurses-5.3/test/demo_panels.c ncurses-5.3.20030906.orig/test/demo_panels.c
40894 --- ncurses-5.3/test/demo_panels.c      Wed Dec 31 18:00:00 1969
40895 +++ ncurses-5.3.20030906.orig/test/demo_panels.c        Tue May 13 20:08:23 2003
40896 @@ -0,0 +1,33 @@
40897 +/*
40898 + * $Id: demo_panels.c,v 1.1 2003/04/26 22:11:23 tom Exp $
40899 + *
40900 + * Demonstrate a variety of functions from the panel library.
40901 + * Thomas Dickey - 2003/4/26
40902 + */
40903 +/*
40904 +panel_above                    -
40905 +panel_below                    -
40906 +panel_hidden                   -
40907 +replace_panel                  -
40908 +*/
40909 +
40910 +#include <test.priv.h>
40911 +
40912 +#if USE_LIBPANEL
40913 +
40914 +#include <panel.h>
40915 +
40916 +int
40917 +main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
40918 +{
40919 +    printf("Not implemented - demo for panel library\n");
40920 +    return EXIT_SUCCESS;
40921 +}
40922 +#else
40923 +int
40924 +main(void)
40925 +{
40926 +    printf("This program requires the curses panel library\n");
40927 +    ExitProgram(EXIT_FAILURE);
40928 +}
40929 +#endif
40930 diff -urNd -urNd ncurses-5.3/test/edit_field.c ncurses-5.3.20030906.orig/test/edit_field.c
40931 --- ncurses-5.3/test/edit_field.c       Wed Dec 31 18:00:00 1969
40932 +++ ncurses-5.3.20030906.orig/test/edit_field.c Sun Jul 20 14:02:08 2003
40933 @@ -0,0 +1,402 @@
40934 +/*
40935 + * $Id: edit_field.c,v 1.7 2003/05/17 23:16:13 tom Exp $
40936 + *
40937 + * A wrapper for form_driver() which keeps track of the user's editing changes
40938 + * for each field, and makes the result available as a null-terminated string
40939 + * in field_buffer(field,1).
40940 + *
40941 + * Thomas Dickey - 2003/4/26.
40942 + */
40943 +
40944 +#include <test.priv.h>
40945 +
40946 +#if USE_LIBFORM
40947 +
40948 +#include <edit_field.h>
40949 +
40950 +#define MY_QUIT                EDIT_FIELD('q')
40951 +#define MY_INS_MODE    EDIT_FIELD('t')
40952 +
40953 +static struct {
40954 +    int code;
40955 +    int result;
40956 +    const char *help;
40957 +} commands[] = {
40958 +
40959 +    {
40960 +       CTRL('A'), REQ_NEXT_CHOICE, ""
40961 +    },
40962 +    {
40963 +       CTRL('B'), REQ_PREV_WORD, "go to previous word"
40964 +    },
40965 +    {
40966 +       CTRL('C'), REQ_CLR_EOL, "clear to end of line"
40967 +    },
40968 +    {
40969 +       CTRL('D'), REQ_DOWN_FIELD, "move downward to field"
40970 +    },
40971 +    {
40972 +       CTRL('E'), REQ_END_FIELD, "go to end of field"
40973 +    },
40974 +    {
40975 +       CTRL('F'), REQ_NEXT_PAGE, "go to next page"
40976 +    },
40977 +    {
40978 +       CTRL('G'), REQ_DEL_WORD, "delete current word"
40979 +    },
40980 +    {
40981 +       CTRL('H'), REQ_DEL_PREV, "delete previous character"
40982 +    },
40983 +    {
40984 +       CTRL('I'), REQ_INS_CHAR, "insert character"
40985 +    },
40986 +    {
40987 +       CTRL('K'), REQ_CLR_EOF, "clear to end of field"
40988 +    },
40989 +    {
40990 +       CTRL('L'), REQ_LEFT_FIELD, "go to field to left"
40991 +    },
40992 +    {
40993 +       CTRL('M'), REQ_NEW_LINE, "insert/overlay new line"
40994 +    },
40995 +    {
40996 +       CTRL('N'), REQ_NEXT_FIELD, "go to next field"
40997 +    },
40998 +    {
40999 +       CTRL('O'), REQ_INS_LINE, "insert blank line at cursor"
41000 +    },
41001 +    {
41002 +       CTRL('P'), REQ_PREV_FIELD, "go to previous field"
41003 +    },
41004 +    {
41005 +       CTRL('Q'), MY_QUIT, "exit form"
41006 +    },
41007 +    {
41008 +       CTRL('R'), REQ_RIGHT_FIELD, "go to field to right"
41009 +    },
41010 +    {
41011 +       CTRL('S'), REQ_BEG_FIELD, "go to beginning of field"
41012 +    },
41013 +    {
41014 +       CTRL('U'), REQ_UP_FIELD, "move upward to field"
41015 +    },
41016 +    {
41017 +       CTRL('V'), REQ_DEL_CHAR, "delete character"
41018 +    },
41019 +    {
41020 +       CTRL('W'), REQ_NEXT_WORD, "go to next word"
41021 +    },
41022 +    {
41023 +       CTRL('X'), REQ_CLR_FIELD, "clear field"
41024 +    },
41025 +    {
41026 +       CTRL('Y'), REQ_DEL_LINE, "delete line"
41027 +    },
41028 +    {
41029 +       CTRL('Z'), REQ_PREV_CHOICE, ""
41030 +    },
41031 +    {
41032 +       CTRL('['), MY_QUIT, "exit form"
41033 +    },
41034 +    {
41035 +       CTRL(']'), MY_INS_MODE, "toggle REQ_INS_MODE/REQ_OVL_MODE",
41036 +    },
41037 +    {
41038 +       KEY_F(1), EDIT_FIELD('h'), "show this screen",
41039 +    },
41040 +    {
41041 +       KEY_BACKSPACE, REQ_DEL_PREV, "delete previous character"
41042 +    },
41043 +    {
41044 +       KEY_DOWN, REQ_DOWN_CHAR, "move down 1 character"
41045 +    },
41046 +    {
41047 +       KEY_END, REQ_LAST_FIELD, "go to last field"
41048 +    },
41049 +    {
41050 +       KEY_HOME, REQ_FIRST_FIELD, "go to first field"
41051 +    },
41052 +    {
41053 +       KEY_LEFT, REQ_LEFT_CHAR, "move left 1 character"
41054 +    },
41055 +    {
41056 +       KEY_LL, REQ_LAST_FIELD, "go to last field"
41057 +    },
41058 +    {
41059 +       KEY_NEXT, REQ_NEXT_FIELD, "go to next field"
41060 +    },
41061 +    {
41062 +       KEY_NPAGE, REQ_NEXT_PAGE, "go to next page"
41063 +    },
41064 +    {
41065 +       KEY_PPAGE, REQ_PREV_PAGE, "go to previous page"
41066 +    },
41067 +    {
41068 +       KEY_PREVIOUS, REQ_PREV_FIELD, "go to previous field"
41069 +    },
41070 +    {
41071 +       KEY_RIGHT, REQ_RIGHT_CHAR, "move right 1 character"
41072 +    },
41073 +    {
41074 +       KEY_UP, REQ_UP_CHAR, "move up 1 character"
41075 +    }
41076 +};
41077 +
41078 +static WINDOW *old_window;
41079 +
41080 +static void
41081 +begin_popup(void)
41082 +{
41083 +    doupdate();
41084 +    old_window = dupwin(curscr);
41085 +}
41086 +
41087 +static void
41088 +end_popup(void)
41089 +{
41090 +    touchwin(old_window);
41091 +    wnoutrefresh(old_window);
41092 +    doupdate();
41093 +    delwin(old_window);
41094 +}
41095 +
41096 +/*
41097 + * Display a temporary window listing the keystroke-commands we recognize.
41098 + */
41099 +void
41100 +help_edit_field(void)
41101 +{
41102 +    int x0 = 4;
41103 +    int y0 = 2;
41104 +    int y1 = 0;
41105 +    int y2 = 0;
41106 +    int wide = COLS - ((x0 + 1) * 2);
41107 +    int high = LINES - ((y0 + 1) * 2);
41108 +    WINDOW *help = newwin(high, wide, y0, x0);
41109 +    WINDOW *data = newpad(2 + SIZEOF(commands), wide - 4);
41110 +    unsigned n;
41111 +    int ch = ERR;
41112 +
41113 +    begin_popup();
41114 +
41115 +    keypad(help, TRUE);
41116 +    keypad(data, TRUE);
41117 +    waddstr(data, "Defined form-traversal keys:\n");
41118 +    for (n = 0; n < SIZEOF(commands); ++n) {
41119 +       const char *name;
41120 +#ifdef NCURSES_VERSION
41121 +       if ((name = form_request_name(commands[n].result)) == 0)
41122 +#endif
41123 +           name = commands[n].help;
41124 +       wprintw(data, "%s -- %s\n",
41125 +               keyname(commands[n].code),
41126 +               name != 0 ? name : commands[n].help);
41127 +    }
41128 +    waddstr(data, "Arrow keys move within a field as you would expect.");
41129 +    y2 = getcury(data);
41130 +
41131 +    do {
41132 +       switch (ch) {
41133 +       case CTRL('P'):
41134 +       case KEY_UP:
41135 +           if (y1 > 0)
41136 +               --y1;
41137 +           else
41138 +               beep();
41139 +           break;
41140 +       case CTRL('N'):
41141 +       case KEY_DOWN:
41142 +           if (y1 < y2)
41143 +               ++y1;
41144 +           else
41145 +               beep();
41146 +           break;
41147 +       default:
41148 +           beep();
41149 +           break;
41150 +       case ERR:
41151 +           break;
41152 +       }
41153 +       werase(help);
41154 +       box(help, 0, 0);
41155 +       wnoutrefresh(help);
41156 +       pnoutrefresh(data, y1, 0, y0 + 1, x0 + 1, high, wide);
41157 +       doupdate();
41158 +    } while ((ch = wgetch(data)) != ERR && ch != QUIT && ch != ESCAPE);
41159 +    werase(help);
41160 +    wrefresh(help);
41161 +    delwin(help);
41162 +    delwin(data);
41163 +
41164 +    end_popup();
41165 +}
41166 +
41167 +static int
41168 +offset_in_field(FORM * form)
41169 +{
41170 +    FIELD *field = current_field(form);
41171 +    return form->curcol + form->currow * field->dcols;
41172 +}
41173 +
41174 +int
41175 +edit_field(FORM * form, int *result)
41176 +{
41177 +    int ch = wgetch(form_win(form));
41178 +    int status;
41179 +    FIELD *before;
41180 +    FIELD *after;
41181 +    unsigned n;
41182 +    char lengths[80];
41183 +    int length;
41184 +    char *buffer;
41185 +    int before_row = form->currow;
41186 +    int before_col = form->curcol;
41187 +    int before_off = offset_in_field(form);
41188 +
41189 +    before = current_field(form);
41190 +    set_field_back(before, A_NORMAL);
41191 +    if (ch <= KEY_MAX) {
41192 +       set_field_back(before, A_REVERSE);
41193 +    } else if (ch <= MAX_FORM_COMMAND) {
41194 +       set_field_back(before, A_UNDERLINE);
41195 +    }
41196 +
41197 +    *result = ch;
41198 +    for (n = 0; n < SIZEOF(commands); ++n) {
41199 +       if (commands[n].code == ch) {
41200 +           *result = commands[n].result;
41201 +           break;
41202 +       }
41203 +    }
41204 +
41205 +    status = form_driver(form, *result);
41206 +
41207 +    if (status == E_OK) {
41208 +       bool modified = TRUE;
41209 +
41210 +       length = 0;
41211 +       if ((buffer = field_buffer(before, 1)) != 0)
41212 +           length = atoi(buffer);
41213 +       if (length < before_off)
41214 +           length = before_off;
41215 +       switch (*result) {
41216 +       case REQ_CLR_EOF:
41217 +           length = before_off;
41218 +           break;
41219 +       case REQ_CLR_EOL:
41220 +           if (before_row + 1 == before->rows)
41221 +               length = before_off;
41222 +           break;
41223 +       case REQ_CLR_FIELD:
41224 +           length = 0;
41225 +           break;
41226 +       case REQ_DEL_CHAR:
41227 +           if (length > before_off)
41228 +               --length;
41229 +           break;
41230 +       case REQ_DEL_PREV:
41231 +           if (length > 0) {
41232 +               if (before_col > 0) {
41233 +                   --length;
41234 +               } else if (before_row > 0) {
41235 +                   length -= before->cols + before_col;
41236 +               }
41237 +           }
41238 +           break;
41239 +       case REQ_NEW_LINE:
41240 +           length += before->cols;
41241 +           break;
41242 +#if 0
41243 +           /* FIXME: finish these */
41244 +       case REQ_DEL_LINE:      /* delete line */
41245 +       case REQ_DEL_WORD:      /* delete word at cursor */
41246 +       case REQ_INS_CHAR:      /* insert blank char at cursor */
41247 +       case REQ_INS_LINE:      /* insert blank line at cursor */
41248 +       case REQ_INS_MODE:      /* begin insert mode */
41249 +       case REQ_OVL_MODE:      /* begin overlay mode */
41250 +#endif
41251 +           /* ignore all of the motion commands */
41252 +       case REQ_SCR_BCHAR:     /* FALLTHRU */
41253 +       case REQ_SCR_BHPAGE:    /* FALLTHRU */
41254 +       case REQ_SCR_BLINE:     /* FALLTHRU */
41255 +       case REQ_SCR_BPAGE:     /* FALLTHRU */
41256 +       case REQ_SCR_FCHAR:     /* FALLTHRU */
41257 +       case REQ_SCR_FHPAGE:    /* FALLTHRU */
41258 +       case REQ_SCR_FLINE:     /* FALLTHRU */
41259 +       case REQ_SCR_FPAGE:     /* FALLTHRU */
41260 +       case REQ_SCR_HBHALF:    /* FALLTHRU */
41261 +       case REQ_SCR_HBLINE:    /* FALLTHRU */
41262 +       case REQ_SCR_HFHALF:    /* FALLTHRU */
41263 +       case REQ_SCR_HFLINE:    /* FALLTHRU */
41264 +       case REQ_BEG_FIELD:     /* FALLTHRU */
41265 +       case REQ_BEG_LINE:      /* FALLTHRU */
41266 +       case REQ_DOWN_CHAR:     /* FALLTHRU */
41267 +       case REQ_DOWN_FIELD:    /* FALLTHRU */
41268 +       case REQ_END_FIELD:     /* FALLTHRU */
41269 +       case REQ_END_LINE:      /* FALLTHRU */
41270 +       case REQ_FIRST_FIELD:   /* FALLTHRU */
41271 +       case REQ_FIRST_PAGE:    /* FALLTHRU */
41272 +       case REQ_LAST_FIELD:    /* FALLTHRU */
41273 +       case REQ_LAST_PAGE:     /* FALLTHRU */
41274 +       case REQ_LEFT_CHAR:     /* FALLTHRU */
41275 +       case REQ_LEFT_FIELD:    /* FALLTHRU */
41276 +       case REQ_NEXT_CHAR:     /* FALLTHRU */
41277 +       case REQ_NEXT_CHOICE:   /* FALLTHRU */
41278 +       case REQ_NEXT_FIELD:    /* FALLTHRU */
41279 +       case REQ_NEXT_LINE:     /* FALLTHRU */
41280 +       case REQ_NEXT_PAGE:     /* FALLTHRU */
41281 +       case REQ_NEXT_WORD:     /* FALLTHRU */
41282 +       case REQ_PREV_CHAR:     /* FALLTHRU */
41283 +       case REQ_PREV_CHOICE:   /* FALLTHRU */
41284 +       case REQ_PREV_FIELD:    /* FALLTHRU */
41285 +       case REQ_PREV_LINE:     /* FALLTHRU */
41286 +       case REQ_PREV_PAGE:     /* FALLTHRU */
41287 +       case REQ_PREV_WORD:     /* FALLTHRU */
41288 +       case REQ_RIGHT_CHAR:    /* FALLTHRU */
41289 +       case REQ_RIGHT_FIELD:   /* FALLTHRU */
41290 +       case REQ_SFIRST_FIELD:  /* FALLTHRU */
41291 +       case REQ_SLAST_FIELD:   /* FALLTHRU */
41292 +       case REQ_SNEXT_FIELD:   /* FALLTHRU */
41293 +       case REQ_SPREV_FIELD:   /* FALLTHRU */
41294 +       case REQ_UP_CHAR:       /* FALLTHRU */
41295 +       case REQ_UP_FIELD:      /* FALLTHRU */
41296 +       case REQ_VALIDATION:    /* FALLTHRU */
41297 +           modified = FALSE;
41298 +           break;
41299 +
41300 +       default:
41301 +           modified = FALSE;
41302 +           if (ch >= MIN_FORM_COMMAND) {
41303 +               beep();
41304 +           } else if (isprint(ch)) {
41305 +               modified = TRUE;
41306 +           }
41307 +           break;
41308 +       }
41309 +
41310 +       /*
41311 +        * If we do not force a re-validation, then field_buffer 0 will
41312 +        * be lagging by one character.
41313 +        */
41314 +       if (modified && form_driver(form, REQ_VALIDATION) == E_OK && *result
41315 +           < MIN_FORM_COMMAND)
41316 +           ++length;
41317 +
41318 +       sprintf(lengths, "%d", length);
41319 +       set_field_buffer(before, 1, lengths);
41320 +    }
41321 +
41322 +    if ((after = current_field(form)) != before)
41323 +       set_field_back(before, A_UNDERLINE);
41324 +    return status;
41325 +}
41326 +#else
41327 +
41328 +extern void no_edit_field(void);
41329 +
41330 +void
41331 +no_edit_field(void)
41332 +{
41333 +}
41334 +
41335 +#endif
41336 diff -urNd -urNd ncurses-5.3/test/edit_field.h ncurses-5.3.20030906.orig/test/edit_field.h
41337 --- ncurses-5.3/test/edit_field.h       Wed Dec 31 18:00:00 1969
41338 +++ ncurses-5.3.20030906.orig/test/edit_field.h Tue May 13 20:08:23 2003
41339 @@ -0,0 +1,17 @@
41340 +/*
41341 + * $Id: edit_field.h,v 1.1 2003/04/26 22:54:50 tom Exp $
41342 + *
41343 + * Interface of edit_field.c
41344 + */
41345 +
41346 +#ifndef EDIT_FORM_H_incl
41347 +#define EDIT_FORM_H_incl 1
41348 +
41349 +#include <form.h>
41350 +
41351 +#define EDIT_FIELD(c) (MAX_FORM_COMMAND + c)
41352 +
41353 +extern void help_edit_field(void);
41354 +extern int edit_field(FORM * form, int *result);
41355 +
41356 +#endif /* EDIT_FORM_H_incl */
41357 diff -urNd -urNd ncurses-5.3/test/gdc.6 ncurses-5.3.20030906.orig/test/gdc.6
41358 --- ncurses-5.3/test/gdc.6      Wed Dec  7 00:29:08 1994
41359 +++ ncurses-5.3.20030906.orig/test/gdc.6        Tue May 13 20:08:23 2003
41360 @@ -1,3 +1,4 @@
41361 +.\" $Id: gdc.6,v 1.2 2003/03/15 20:50:03 tom Exp $
41362  .TH GDC 6
41363  .SH NAME
41364  gdc \- grand digital clock (curses)
41365 @@ -16,7 +17,7 @@
41366  seconds (default never).
41367  The optional
41368  .B -s
41369 -flag makes digits scroll as they change. In this curses mode implementation,
41370 +flag makes digits scroll as they change. In some curses mode implementations,
41371  the scrolling option has trouble keeping up.
41372  .SH AUTHOR
41373  Amos Shapir, modified for curses by John Lupien.
41374 diff -urNd -urNd ncurses-5.3/test/hashtest.c ncurses-5.3.20030906.orig/test/hashtest.c
41375 --- ncurses-5.3/test/hashtest.c Sat Jun 29 18:32:18 2002
41376 +++ ncurses-5.3.20030906.orig/test/hashtest.c   Tue May 13 20:08:23 2003
41377 @@ -3,7 +3,7 @@
41378   *
41379   * Generate timing statistics for vertical-motion optimization.
41380   *
41381 - * $Id: hashtest.c,v 1.22 2002/06/29 23:32:18 tom Exp $
41382 + * $Id: hashtest.c,v 1.23 2002/10/19 22:11:24 tom Exp $
41383   */
41384  
41385  #ifdef TRACE
41386 @@ -14,8 +14,6 @@
41387  #define USE_TRACE 0
41388  #endif
41389  
41390 -#include <ctype.h>
41391 -
41392  #include <test.priv.h>
41393  
41394  #define LO_CHAR ' '
41395 diff -urNd -urNd ncurses-5.3/test/ins_wide.c ncurses-5.3.20030906.orig/test/ins_wide.c
41396 --- ncurses-5.3/test/ins_wide.c Wed Dec 31 18:00:00 1969
41397 +++ ncurses-5.3.20030906.orig/test/ins_wide.c   Fri Sep 12 16:41:56 2003
41398 @@ -0,0 +1,218 @@
41399 +/*
41400 + * $Id: ins_wide.c,v 1.3 2003/08/09 22:07:23 tom Exp $
41401 + *
41402 + * Demonstrate the wins_wstr() and wins_wch functions.
41403 + * Thomas Dickey - 2002/11/23
41404 + *
41405 + * Note: to provide inputs for *ins_wch(), we use setcchar().  A quirk of the
41406 + * X/Open definition for that function is that the string contains no
41407 + * characters with negative width.  Any control character (such as tab) falls
41408 + * into that category.  So it follows that *ins_wch() cannot render a tab
41409 + * character because there is no legal way to construct a cchar_t containing
41410 + * one.  X/Open does not document this, and it would be logical to assume that
41411 + * *ins_wstr() has the same limitation, but it uses a wchar_t string directly,
41412 + * and does not document how tabs are handled.
41413 + */
41414 +
41415 +#include <test.priv.h>
41416 +
41417 +#define TABSIZE 8
41418 +
41419 +#if USE_WIDEC_SUPPORT
41420 +static int margin = (2 * TABSIZE) - 1;
41421 +
41422 +static void
41423 +legend(WINDOW *win, wchar_t * buffer, int length)
41424 +{
41425 +    wmove(win, 0, 0);
41426 +    wprintw(win,
41427 +           "The Strings/Chars displays should match.  Enter any characters.\n");
41428 +    wprintw(win,
41429 +           "Use down-arrow or ^N to repeat on the next line, 'q' to exit.\n");
41430 +    wclrtoeol(win);
41431 +    wprintw(win, "Inserted %d characters <", length);
41432 +    waddwstr(win, buffer);
41433 +    waddstr(win, ">");
41434 +}
41435 +
41436 +static int
41437 +ColOf(wchar_t * buffer, int length)
41438 +{
41439 +    int n;
41440 +    int result;
41441 +
41442 +    for (n = 0, result = margin + 1; n < length; ++n) {
41443 +       int ch = buffer[n];
41444 +       switch (ch) {
41445 +       case '\n':
41446 +           /* actually newline should clear the remainder of the line
41447 +            * and move to the next line - but that seems a little awkward
41448 +            * in this example.
41449 +            */
41450 +       case '\r':
41451 +           result = 0;
41452 +           break;
41453 +       case '\b':
41454 +           if (result > 0)
41455 +               --result;
41456 +           break;
41457 +       case '\t':
41458 +           result += (TABSIZE - (result % TABSIZE));
41459 +           break;
41460 +       case '\177':
41461 +           result += 2;
41462 +           break;
41463 +       default:
41464 +           ++result;
41465 +           if (ch < 32)
41466 +               ++result;
41467 +           break;
41468 +       }
41469 +    }
41470 +    return result;
41471 +}
41472 +
41473 +int
41474 +main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
41475 +{
41476 +    cchar_t tmp_cchar;
41477 +    wchar_t tmp_wchar[2];
41478 +    wint_t ch;
41479 +    int code;
41480 +    int limit;
41481 +    int row = 1;
41482 +    int col;
41483 +    int length;
41484 +    wchar_t buffer[BUFSIZ];
41485 +    WINDOW *work;
41486 +    WINDOW *show;
41487 +
41488 +    putenv("TABSIZE=8");
41489 +    initscr();
41490 +    (void) cbreak();           /* take input chars one at a time, no wait for \n */
41491 +    (void) noecho();           /* don't echo input */
41492 +    keypad(stdscr, TRUE);
41493 +
41494 +    limit = LINES - 5;
41495 +    work = newwin(limit, COLS, 0, 0);
41496 +    show = newwin(4, COLS, limit + 1, 0);
41497 +    keypad(work, TRUE);
41498 +
41499 +    for (col = margin + 1; col < COLS; col += TABSIZE)
41500 +       mvwvline(work, row, col, '.', limit - 2);
41501 +
41502 +    box(work, 0, 0);
41503 +    mvwvline(work, row, margin, ACS_VLINE, limit - 2);
41504 +    mvwvline(work, row, margin + 1, ACS_VLINE, limit - 2);
41505 +    limit /= 2;
41506 +
41507 +    mvwaddstr(work, 1, 2, "String");
41508 +    mvwaddstr(work, limit + 1, 2, "Chars");
41509 +    wnoutrefresh(work);
41510 +
41511 +    buffer[length = 0] = '\0';
41512 +    legend(show, buffer, length);
41513 +    wnoutrefresh(show);
41514 +
41515 +    doupdate();
41516 +
41517 +    /*
41518 +     * Show the characters inserted in color, to distinguish from those that
41519 +     * are shifted.
41520 +     */
41521 +    if (has_colors()) {
41522 +       start_color();
41523 +       init_pair(1, COLOR_WHITE, COLOR_BLUE);
41524 +       wbkgdset(work, COLOR_PAIR(1) | ' ');
41525 +    }
41526 +
41527 +    while ((code = wget_wch(work, &ch)) != ERR) {
41528 +
41529 +       switch (code) {
41530 +       case KEY_CODE_YES:
41531 +           switch (ch) {
41532 +           case KEY_DOWN:
41533 +               ch = CTRL('N');
41534 +               break;
41535 +           case KEY_BACKSPACE:
41536 +               ch = '\b';
41537 +               break;
41538 +           default:
41539 +               beep();
41540 +               continue;
41541 +           }
41542 +           break;
41543 +       }
41544 +       if (ch == 'q')
41545 +           break;
41546 +
41547 +       wmove(work, row, margin + 1);
41548 +       if (ch == CTRL('N')) {
41549 +           if (row < limit) {
41550 +               ++row;
41551 +               /* put the whole string in, all at once */
41552 +               mvwins_wstr(work, row, margin + 1, buffer);
41553 +
41554 +               /* do the corresponding single-character insertion */
41555 +               for (col = 0; col < length; ++col) {
41556 +                   memset(&tmp_cchar, 0, sizeof(tmp_cchar));
41557 +                   if (setcchar(&tmp_cchar,
41558 +                                &(buffer[col]),
41559 +                                A_NORMAL,
41560 +                                0,
41561 +                                (void *) 0) != ERR) {
41562 +                       mvwins_wch(work, limit + row, ColOf(buffer, col), &tmp_cchar);
41563 +                   } else {
41564 +                       beep(); /* even for tabs! */
41565 +                       mvwinsch(work,
41566 +                                limit + row,
41567 +                                ColOf(buffer, col), buffer[col]);
41568 +                   }
41569 +               }
41570 +           } else {
41571 +               beep();
41572 +           }
41573 +       } else {
41574 +           buffer[length++] = ch;
41575 +           buffer[length] = '\0';
41576 +           /* put the string in, one character at a time */
41577 +           mvwins_wstr(work,
41578 +                       row,
41579 +                       ColOf(buffer, length - 1), buffer + length - 1);
41580 +
41581 +           /* do the corresponding single-character insertion */
41582 +           tmp_wchar[0] = ch;
41583 +           tmp_wchar[1] = 0;
41584 +           if (setcchar(&tmp_cchar,
41585 +                        tmp_wchar,
41586 +                        A_NORMAL,
41587 +                        0,
41588 +                        (void *) 0) != ERR) {
41589 +               mvwins_wch(work,
41590 +                          limit + row,
41591 +                          ColOf(buffer, length - 1), &tmp_cchar);
41592 +           } else {
41593 +               beep();         /* even for tabs! */
41594 +               mvwinsch(work,
41595 +                        limit + row,
41596 +                        ColOf(buffer, length - 1), ch);
41597 +           }
41598 +           wnoutrefresh(work);
41599 +
41600 +           legend(show, buffer, length);
41601 +           wnoutrefresh(show);
41602 +
41603 +           doupdate();
41604 +       }
41605 +    }
41606 +    endwin();
41607 +    ExitProgram(EXIT_SUCCESS);
41608 +}
41609 +#else
41610 +int
41611 +main(void)
41612 +{
41613 +    printf("This program requires the wide-ncurses library\n");
41614 +    ExitProgram(EXIT_FAILURE);
41615 +}
41616 +#endif
41617 diff -urNd -urNd ncurses-5.3/test/inserts.c ncurses-5.3.20030906.orig/test/inserts.c
41618 --- ncurses-5.3/test/inserts.c  Wed Dec 31 18:00:00 1969
41619 +++ ncurses-5.3.20030906.orig/test/inserts.c    Fri Sep 12 16:41:56 2003
41620 @@ -0,0 +1,162 @@
41621 +/*
41622 + * $Id: inserts.c,v 1.5 2003/08/09 22:07:06 tom Exp $
41623 + *
41624 + * Demonstrate the winsstr() and winsch functions.
41625 + * Thomas Dickey - 2002/10/19
41626 + */
41627 +
41628 +#include <test.priv.h>
41629 +
41630 +#define TABSIZE 8
41631 +
41632 +static int margin = (2 * TABSIZE) - 1;
41633 +
41634 +static void
41635 +legend(WINDOW *win, char *buffer, int length)
41636 +{
41637 +    wmove(win, 0, 0);
41638 +    wprintw(win,
41639 +           "The Strings/Chars displays should match.  Enter any characters.\n");
41640 +    wprintw(win,
41641 +           "Use down-arrow or ^N to repeat on the next line, 'q' to exit.\n");
41642 +    wclrtoeol(win);
41643 +    wprintw(win, "Inserted %d characters <%s>", length, buffer);
41644 +}
41645 +
41646 +static int
41647 +ColOf(char *buffer, int length)
41648 +{
41649 +    int n;
41650 +    int result;
41651 +
41652 +    for (n = 0, result = margin + 1; n < length; ++n) {
41653 +       int ch = UChar(buffer[n]);
41654 +       switch (ch) {
41655 +       case '\n':
41656 +           /* actually newline should clear the remainder of the line
41657 +            * and move to the next line - but that seems a little awkward
41658 +            * in this example.
41659 +            */
41660 +       case '\r':
41661 +           result = 0;
41662 +           break;
41663 +       case '\b':
41664 +           if (result > 0)
41665 +               --result;
41666 +           break;
41667 +       case '\t':
41668 +           result += (TABSIZE - (result % TABSIZE));
41669 +           break;
41670 +       case '\177':
41671 +           result += 2;
41672 +           break;
41673 +       default:
41674 +           ++result;
41675 +           if (ch < 32)
41676 +               ++result;
41677 +           break;
41678 +       }
41679 +    }
41680 +    return result;
41681 +}
41682 +
41683 +int
41684 +main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
41685 +{
41686 +    int ch;
41687 +    int limit;
41688 +    int row = 1;
41689 +    int col;
41690 +    int length;
41691 +    char buffer[BUFSIZ];
41692 +    WINDOW *work;
41693 +    WINDOW *show;
41694 +
41695 +    putenv("TABSIZE=8");
41696 +    initscr();
41697 +    (void) cbreak();           /* take input chars one at a time, no wait for \n */
41698 +    (void) noecho();           /* don't echo input */
41699 +    keypad(stdscr, TRUE);
41700 +
41701 +    limit = LINES - 5;
41702 +    work = newwin(limit, COLS, 0, 0);
41703 +    show = newwin(4, COLS, limit + 1, 0);
41704 +    keypad(work, TRUE);
41705 +
41706 +    for (col = margin + 1; col < COLS; col += TABSIZE)
41707 +       mvwvline(work, row, col, '.', limit - 2);
41708 +
41709 +    box(work, 0, 0);
41710 +    mvwvline(work, row, margin, ACS_VLINE, limit - 2);
41711 +    mvwvline(work, row, margin + 1, ACS_VLINE, limit - 2);
41712 +    limit /= 2;
41713 +
41714 +    mvwaddstr(work, 1, 2, "String");
41715 +    mvwaddstr(work, limit + 1, 2, "Chars");
41716 +    wnoutrefresh(work);
41717 +
41718 +    buffer[length = 0] = '\0';
41719 +    legend(show, buffer, length);
41720 +    wnoutrefresh(show);
41721 +
41722 +    doupdate();
41723 +
41724 +    /*
41725 +     * Show the characters inserted in color, to distinguish from those that
41726 +     * are shifted.
41727 +     */
41728 +    if (has_colors()) {
41729 +       start_color();
41730 +       init_pair(1, COLOR_WHITE, COLOR_BLUE);
41731 +       wbkgdset(work, COLOR_PAIR(1) | ' ');
41732 +    }
41733 +
41734 +    while ((ch = wgetch(work)) != 'q') {
41735 +       wmove(work, row, margin + 1);
41736 +       switch (ch) {
41737 +       case CTRL('N'):
41738 +       case KEY_DOWN:
41739 +           if (row < limit) {
41740 +               ++row;
41741 +               /* put the whole string in, all at once */
41742 +               mvwinsstr(work, row, margin + 1, buffer);
41743 +
41744 +               /* do the corresponding single-character insertion */
41745 +               for (col = 0; col < length; ++col) {
41746 +                   mvwinsch(work, limit + row, ColOf(buffer, col), buffer[col]);
41747 +               }
41748 +           } else {
41749 +               beep();
41750 +           }
41751 +           break;
41752 +       case KEY_BACKSPACE:
41753 +           ch = '\b';
41754 +           /* FALLTHRU */
41755 +       default:
41756 +           if (ch <= 0 || ch > 255) {
41757 +               beep();
41758 +               break;
41759 +           }
41760 +           buffer[length++] = ch;
41761 +           buffer[length] = '\0';
41762 +           /* put the string in, one character at a time */
41763 +           mvwinsstr(work,
41764 +                     row,
41765 +                     ColOf(buffer, length - 1), buffer + length - 1);
41766 +
41767 +           /* do the corresponding single-character insertion */
41768 +           mvwinsch(work,
41769 +                    limit + row,
41770 +                    ColOf(buffer, length - 1), ch);
41771 +           wnoutrefresh(work);
41772 +
41773 +           legend(show, buffer, length);
41774 +           wnoutrefresh(show);
41775 +
41776 +           doupdate();
41777 +           break;
41778 +       }
41779 +    }
41780 +    endwin();
41781 +    ExitProgram(EXIT_SUCCESS);
41782 +}
41783 diff -urNd -urNd ncurses-5.3/test/keynames.c ncurses-5.3.20030906.orig/test/keynames.c
41784 --- ncurses-5.3/test/keynames.c Sun Sep  1 14:42:42 2002
41785 +++ ncurses-5.3.20030906.orig/test/keynames.c   Sun Jul 20 14:02:08 2003
41786 @@ -1,5 +1,5 @@
41787  /*
41788 - * $Id: keynames.c,v 1.4 2002/09/01 19:42:42 tom Exp $
41789 + * $Id: keynames.c,v 1.5 2003/05/17 23:18:49 tom Exp $
41790   */
41791  
41792  #include <test.priv.h>
41793 @@ -9,7 +9,7 @@
41794  {
41795      int n;
41796      for (n = -1; n < 512; n++) {
41797 -       char *result = keyname(n);
41798 +       const char *result = keyname(n);
41799         if (result != 0)
41800             printf("%d(%5o):%s\n", n, n, result);
41801      }
41802 diff -urNd -urNd ncurses-5.3/test/knight.c ncurses-5.3.20030906.orig/test/knight.c
41803 --- ncurses-5.3/test/knight.c   Sat Jun 29 18:32:18 2002
41804 +++ ncurses-5.3.20030906.orig/test/knight.c     Tue May 13 20:08:23 2003
41805 @@ -6,11 +6,9 @@
41806   * Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995.  Mouse support
41807   * added September 20th 1995.
41808   *
41809 - * $Id: knight.c,v 1.25 2002/06/29 23:32:18 tom Exp $
41810 + * $Id: knight.c,v 1.26 2002/10/19 22:11:24 tom Exp $
41811   */
41812  
41813 -#include <ctype.h>
41814 -
41815  #include <test.priv.h>
41816  
41817  /* board size */
41818 diff -urNd -urNd ncurses-5.3/test/listused.sh ncurses-5.3.20030906.orig/test/listused.sh
41819 --- ncurses-5.3/test/listused.sh        Wed Dec 31 18:00:00 1969
41820 +++ ncurses-5.3.20030906.orig/test/listused.sh  Sun Jul 20 14:02:09 2003
41821 @@ -0,0 +1,155 @@
41822 +#!/bin/sh
41823 +# $Id: listused.sh,v 1.5 2003/07/05 19:02:41 tom Exp $
41824 +# A very simple script to list entrypoints that are used by either a test
41825 +# program, or within the libraries.  This relies on the output format of 'nm',
41826 +# and assumes that the libraries are configured with TRACE defined, and using
41827 +# these options:
41828 +#      --disable-macros
41829 +#      --enable-widec
41830 +# Static libraries are used, to provide some filtering based on internal usage
41831 +# of the different symbols.
41832 +
41833 +# keep the sorting independent of locale:
41834 +if test "${LANGUAGE+set}"    = set; then LANGUAGE=C;    export LANGUAGE;    fi
41835 +if test "${LANG+set}"        = set; then LANG=C;        export LANG;        fi
41836 +if test "${LC_ALL+set}"      = set; then LC_ALL=C;      export LC_ALL;      fi
41837 +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
41838 +if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
41839 +if test "${LC_COLLATE+set}"  = set; then LC_COLLATE=C;  export LC_COLLATE;  fi
41840 +
41841 +NM_OPTS=
41842 +
41843 +if test ! -d ../objects ; then
41844 +       echo "? need objects to run this script"
41845 +       exit 1
41846 +elif test ! -d ../lib ; then
41847 +       echo "? need libraries to run this script"
41848 +       exit 1
41849 +fi
41850 +
41851 +PROGS=
41852 +for name in `(echo "test:";sort modules; echo "progs:";sort ../progs/modules) |sed -e 's/[     ].*//' -e '/^[#@]/d'`
41853 +do
41854 +       case $name in
41855 +       *:)
41856 +               PROGS="$PROGS $name"
41857 +               ;;
41858 +       *)
41859 +               NAME=../objects/${name}.o
41860 +               if test -f $NAME
41861 +               then
41862 +                       PROGS="$PROGS $NAME"
41863 +               fi
41864 +               ;;
41865 +       esac
41866 +done
41867 +
41868 +# For each library -
41869 +for lib in ../lib/*.a
41870 +do
41871 +       LIB=`basename $lib .a`
41872 +       case $LIB in
41873 +       *_*|*+*)
41874 +               continue
41875 +               ;;
41876 +       esac
41877 +
41878 +       tmp=`echo $LIB|sed -e 's/w$//'`
41879 +       echo
41880 +       echo "${tmp}:"
41881 +       echo $tmp |sed -e 's/./-/g'
41882 +       # Construct a list of public externals provided by the library.
41883 +       WANT=`nm $NM_OPTS $lib |\
41884 +               sed     -e 's/^[^ ]*//' \
41885 +                       -e 's/^ *//' \
41886 +                       -e '/^[ a-z] /d' \
41887 +                       -e '/:$/d' \
41888 +                       -e '/^$/d' \
41889 +                       -e '/^U /d' \
41890 +                       -e 's/^[A-Z] //' \
41891 +                       -e '/^_/d' |\
41892 +               sort -u`
41893 +       # List programs which use that external.
41894 +       for name in $WANT
41895 +       do
41896 +               HAVE=
41897 +               tags=
41898 +               last=
41899 +               for prog in $PROGS
41900 +               do
41901 +                       case $prog in
41902 +                       *:)
41903 +                               tags=$prog
41904 +                               ;;
41905 +                       *)
41906 +                               TEST=`nm $NM_OPTS $prog |\
41907 +                                       sed     -e 's/^[^ ]*//' \
41908 +                                               -e 's/^ *//' \
41909 +                                               -e '/^[ a-z] /d' \
41910 +                                               -e '/:$/d' \
41911 +                                               -e '/^$/d' \
41912 +                                               -e 's/^[A-Z] //' \
41913 +                                               -e '/^_/d' \
41914 +                                               -e 's/^'${name}'$/_/' \
41915 +                                               -e '/^[^_]/d'`
41916 +                               if test -n "$TEST"
41917 +                               then
41918 +                                       have=`basename $prog .o`
41919 +                                       if test -n "$HAVE"
41920 +                                       then
41921 +                                               if test "$last" = "$tags"
41922 +                                               then
41923 +                                                       HAVE="$HAVE $have"
41924 +                                               else
41925 +                                                       HAVE="$HAVE $tags $have"
41926 +                                               fi
41927 +                                       else
41928 +                                               HAVE="$tags $have"
41929 +                                       fi
41930 +                                       last="$tags"
41931 +                               fi
41932 +                               ;;
41933 +                       esac
41934 +               done
41935 +               # if we did not find a program using it directly, see if it
41936 +               # is used within a library.
41937 +               if test -z "$HAVE"
41938 +               then
41939 +                       for tmp in ../lib/*.a
41940 +                       do 
41941 +                               case $tmp in
41942 +                               *_*|*+*)
41943 +                                       continue
41944 +                                       ;;
41945 +                               esac
41946 +                               TEST=`nm $NM_OPTS $tmp |\
41947 +                                       sed     -e 's/^[^ ]*//' \
41948 +                                               -e 's/^ *//' \
41949 +                                               -e '/^[ a-z] /d' \
41950 +                                               -e '/:$/d' \
41951 +                                               -e '/^$/d' \
41952 +                                               -e '/^[A-TV-Z] /d' \
41953 +                                               -e 's/^[A-Z] //' \
41954 +                                               -e '/^_/d' \
41955 +                                               -e 's/^'${name}'$/_/' \
41956 +                                               -e '/^[^_]/d'`
41957 +                               if test -n "$TEST"
41958 +                               then
41959 +                                       tmp=`basename $tmp .a |sed -e 's/w$//'`
41960 +                                       HAVE=`echo $tmp | sed -e 's/lib/lib: /'`
41961 +                                       break
41962 +                               fi
41963 +                       done
41964 +               fi
41965 +               test -z "$HAVE" && HAVE="-"
41966 +               lenn=`expr 39 - length $name`
41967 +               lenn=`expr $lenn / 8`
41968 +               tabs=
41969 +               while test $lenn != 0
41970 +               do
41971 +                       tabs="${tabs}   "
41972 +                       lenn=`expr $lenn - 1`
41973 +               done
41974 +               echo "${name}${tabs}${HAVE}"
41975 +       done
41976 +done
41977 diff -urNd -urNd ncurses-5.3/test/modules ncurses-5.3.20030906.orig/test/modules
41978 --- ncurses-5.3/test/modules    Sat Feb 12 19:05:13 2000
41979 +++ ncurses-5.3.20030906.orig/test/modules      Tue May 13 20:08:23 2003
41980 @@ -1,7 +1,7 @@
41981  # Test-Program modules
41982 -# $Id: modules,v 1.13 2000/02/13 01:05:13 tom Exp $
41983 +# $Id: modules,v 1.19 2003/04/26 16:31:10 tom Exp $
41984  ##############################################################################
41985 -# Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.                #
41986 +# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.                #
41987  #                                                                            #
41988  # Permission is hereby granted, free of charge, to any person obtaining a    #
41989  # copy of this software and associated documentation files (the "Software"), #
41990 @@ -28,28 +28,36 @@
41991  # authorization.                                                             #
41992  ##############################################################################
41993  #
41994 -# Author: Thomas E. Dickey <dickey@clark.net> 1997
41995 +# Author: Thomas E. Dickey 1997-2003
41996  #
41997  
41998  @ base
41999  blue           progs           $(srcdir)       ../include/term.h
42000  bs             progs           $(srcdir)
42001 -cardfile       progs           $(srcdir)       ../include/panel.h ../include/menu.h ../include/form.h
42002 +cardfile       progs           $(srcdir)       ../include/panel.h ../include/form.h
42003 +demo_defkey    progs           $(srcdir)
42004 +demo_keyok     progs           $(srcdir)
42005 +demo_forms     progs           $(srcdir)       ../include/form.h
42006 +demo_menus     progs           $(srcdir)       ../include/menu.h
42007 +demo_panels    progs           $(srcdir)       ../include/panel.h
42008  ditto          progs           $(srcdir)
42009  dots           progs           $(srcdir)       ../include/term.h
42010 -filter         progs           $(srcdir)
42011 +edit_field     progs           $(srcdir)
42012 +filter         progs           $(srcdir)       ../include/form.h
42013  firework       progs           $(srcdir)       ../include/term.h
42014  firstlast      progs           $(srcdir)
42015  gdc            progs           $(srcdir)
42016  hanoi          progs           $(srcdir)
42017  hashtest       progs           $(srcdir)
42018 +ins_wide       progs           $(srcdir)
42019 +inserts                progs           $(srcdir)
42020  keynames       progs           $(srcdir)
42021  knight         progs           $(srcdir)
42022  lrtest         progs           $(srcdir)
42023  ncurses                progs           $(srcdir)       ../include/panel.h ../include/menu.h ../include/form.h
42024  newdemo                progs           $(srcdir)
42025 -rain           progs           $(srcdir)       ../include/term.h
42026  railroad       progs           $(srcdir)       ../include/termcap.h
42027 +rain           progs           $(srcdir)       ../include/term.h
42028  tclock         progs           $(srcdir)
42029  testaddch      progs           $(srcdir)
42030  testcurs       progs           $(srcdir)
42031 diff -urNd -urNd ncurses-5.3/test/ncurses.c ncurses-5.3.20030906.orig/test/ncurses.c
42032 --- ncurses-5.3/test/ncurses.c  Sat Sep 14 19:39:33 2002
42033 +++ ncurses-5.3.20030906.orig/test/ncurses.c    Sun Jul 20 14:02:09 2003
42034 @@ -1,5 +1,5 @@
42035  /****************************************************************************
42036 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
42037 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
42038   *                                                                          *
42039   * Permission is hereby granted, free of charge, to any person obtaining a  *
42040   * copy of this software and associated documentation files (the            *
42041 @@ -40,14 +40,10 @@
42042     Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
42043             Thomas E. Dickey (beginning revision 1.27 in 1996).
42044  
42045 -$Id: ncurses.c,v 1.180 2002/09/15 00:39:33 tom Exp $
42046 +$Id: ncurses.c,v 1.197 2003/07/06 00:06:06 tom Exp $
42047  
42048  ***************************************************************************/
42049  
42050 -#include <stdio.h>
42051 -#include <ctype.h>
42052 -#include <assert.h>
42053 -
42054  #include <test.priv.h>
42055  
42056  #if HAVE_GETTIMEOFDAY
42057 @@ -59,25 +55,16 @@
42058  #endif
42059  #endif
42060  
42061 -#if HAVE_PANEL_H && HAVE_LIBPANEL
42062 -#define USE_LIBPANEL 1
42063 +#if USE_LIBPANEL
42064  #include <panel.h>
42065 -#else
42066 -#define USE_LIBPANEL 0
42067  #endif
42068  
42069 -#if HAVE_MENU_H && HAVE_LIBMENU
42070 -#define USE_LIBMENU 1
42071 +#if USE_LIBMENU
42072  #include <menu.h>
42073 -#else
42074 -#define USE_LIBMENU 0
42075  #endif
42076  
42077 -#if HAVE_FORM_H && HAVE_LIBFORM
42078 -#define USE_LIBFORM 1
42079 +#if USE_LIBFORM
42080  #include <form.h>
42081 -#else
42082 -#define USE_LIBFORM 0
42083  #endif
42084  
42085  #ifdef NCURSES_VERSION
42086 @@ -122,13 +109,7 @@
42087  #endif
42088  
42089  #define P(string)      printw("%s\n", string)
42090 -#ifdef CTRL
42091 -#undef CTRL
42092 -#endif
42093 -#define CTRL(x)                ((x) & 0x1f)
42094  
42095 -#define QUIT           CTRL('Q')
42096 -#define ESCAPE         CTRL('[')
42097  #define BLANK          ' '     /* this is the background character */
42098  
42099  #undef max_colors
42100 @@ -181,6 +162,74 @@
42101  }
42102  #define Getchar() wGetchar(stdscr)
42103  
42104 +/* replaces wgetnstr(), since we want to be able to edit values */
42105 +static void
42106 +wGetstring(WINDOW *win, char *buffer, int limit)
42107 +{
42108 +    int y0, x0, x, ch;
42109 +    bool done = FALSE;
42110 +
42111 +    echo();
42112 +    getyx(win, y0, x0);
42113 +    wattrset(win, A_REVERSE);
42114 +
42115 +    x = strlen(buffer);
42116 +    while (!done) {
42117 +       if (x > (int) strlen(buffer))
42118 +           x = (int) strlen(buffer);
42119 +       wmove(win, y0, x0);
42120 +       wprintw(win, "%-*s", limit, buffer);
42121 +       wmove(win, y0, x0 + x);
42122 +       switch (ch = wGetchar(win)) {
42123 +       case '\n':
42124 +       case KEY_ENTER:
42125 +           done = TRUE;
42126 +           break;
42127 +       case CTRL('U'):
42128 +           *buffer = '\0';
42129 +           break;
42130 +       case '\b':
42131 +       case KEY_BACKSPACE:
42132 +       case KEY_DC:
42133 +           if (x > 0) {
42134 +               int j;
42135 +               for (j = --x; (buffer[j] = buffer[j + 1]) != '\0'; ++j) {
42136 +                   ;
42137 +               }
42138 +           } else {
42139 +               beep();
42140 +           }
42141 +           break;
42142 +       case KEY_LEFT:
42143 +           if (x > 0) {
42144 +               --x;
42145 +           } else {
42146 +               flash();
42147 +           }
42148 +           break;
42149 +       case KEY_RIGHT:
42150 +           ++x;
42151 +           break;
42152 +       default:
42153 +           if (!isprint(ch) || ch >= KEY_MIN) {
42154 +               beep();
42155 +           } else if ((int) strlen(buffer) < limit) {
42156 +               int j;
42157 +               for (j = strlen(buffer) + 1; j > x; --j) {
42158 +                   buffer[j] = buffer[j - 1];
42159 +               }
42160 +               buffer[x++] = ch;
42161 +           } else {
42162 +               flash();
42163 +           }
42164 +       }
42165 +    }
42166 +
42167 +    wattroff(win, A_REVERSE);
42168 +    wmove(win, y0, x0);
42169 +    noecho();
42170 +}
42171 +
42172  #if USE_WIDEC_SUPPORT
42173  static int
42174  wGet_wchar(WINDOW *win, wint_t * result)
42175 @@ -206,6 +255,98 @@
42176  }
42177  #define Get_wchar(result) wGet_wchar(stdscr, result)
42178  
42179 +/* replaces wgetn_wstr(), since we want to be able to edit values */
42180 +static void
42181 +wGet_wstring(WINDOW *win, wchar_t * buffer, int limit)
42182 +{
42183 +    int y0, x0, x;
42184 +    wint_t ch;
42185 +    bool done = FALSE;
42186 +
42187 +    echo();
42188 +    getyx(win, y0, x0);
42189 +    wattrset(win, A_REVERSE);
42190 +
42191 +    x = wcslen(buffer);
42192 +    while (!done) {
42193 +       if (x > (int) wcslen(buffer))
42194 +           x = (int) wcslen(buffer);
42195 +       wmove(win, y0, x0);
42196 +       waddnwstr(win, buffer, limit);
42197 +       if (x < limit)
42198 +           wprintw(win, "%*s", limit - x, " ");
42199 +       wmove(win, y0, x0 + x);
42200 +       switch (wGet_wchar(win, &ch)) {
42201 +       case KEY_CODE_YES:
42202 +           switch (ch) {
42203 +           case KEY_ENTER:
42204 +               ch = '\n';
42205 +               break;
42206 +           case KEY_BACKSPACE:
42207 +           case KEY_DC:
42208 +               ch = '\b';
42209 +               break;
42210 +           case KEY_LEFT:
42211 +           case KEY_RIGHT:
42212 +               break;
42213 +           default:
42214 +               ch = -1;
42215 +               break;
42216 +           }
42217 +       case OK:
42218 +           break;
42219 +       default:
42220 +           ch = -1;
42221 +           break;
42222 +       }
42223 +
42224 +       switch (ch) {
42225 +       case '\n':
42226 +           done = TRUE;
42227 +           break;
42228 +       case CTRL('U'):
42229 +           *buffer = '\0';
42230 +           break;
42231 +       case '\b':
42232 +           if (x > 0) {
42233 +               int j;
42234 +               for (j = --x; (buffer[j] = buffer[j + 1]) != '\0'; ++j) {
42235 +                   ;
42236 +               }
42237 +           } else {
42238 +               beep();
42239 +           }
42240 +           break;
42241 +       case KEY_LEFT:
42242 +           if (x > 0) {
42243 +               --x;
42244 +           } else {
42245 +               flash();
42246 +           }
42247 +           break;
42248 +       case KEY_RIGHT:
42249 +           ++x;
42250 +           break;
42251 +       default:
42252 +           if (!isprint(ch) || ch >= KEY_MIN) {
42253 +               beep();
42254 +           } else if ((int) wcslen(buffer) < limit) {
42255 +               int j;
42256 +               for (j = wcslen(buffer) + 1; j > x; --j) {
42257 +                   buffer[j] = buffer[j - 1];
42258 +               }
42259 +               buffer[x++] = ch;
42260 +           } else {
42261 +               flash();
42262 +           }
42263 +       }
42264 +    }
42265 +
42266 +    wattroff(win, A_REVERSE);
42267 +    wmove(win, y0, x0);
42268 +    noecho();
42269 +}
42270 +
42271  #endif
42272  
42273  static void
42274 @@ -606,6 +747,7 @@
42275   * For wgetch_test(), we create pairs of windows - one for a box, one for text.
42276   * Resize both and paint the box in the parent.
42277   */
42278 +#ifdef KEY_RESIZE
42279  static void
42280  resize_wide_boxes(int level, WINDOW *win)
42281  {
42282 @@ -640,17 +782,39 @@
42283      }
42284      doupdate();
42285  }
42286 +#endif /* KEY_RESIZE */
42287 +
42288 +static char *
42289 +wcstos(const wchar_t * src)
42290 +{
42291 +    int need;
42292 +    mbstate_t state;
42293 +    char *result = 0;
42294 +    const wchar_t *tmp = src;
42295 +
42296 +    memset(&state, 0, sizeof(state));
42297 +    if ((need = wcsrtombs(0, &tmp, 0, &state)) > 0) {
42298 +       result = calloc(need + 1, 1);
42299 +       tmp = src;
42300 +       if (wcsrtombs(result, &tmp, need, &state) != (size_t) need) {
42301 +           free(result);
42302 +           result = 0;
42303 +       }
42304 +    }
42305 +    return result;
42306 +}
42307  
42308  static void
42309  wget_wch_test(int level, WINDOW *win, int delay)
42310  {
42311 -    char buf[BUFSIZ];
42312 +    wchar_t buf[BUFSIZ];
42313      int first_y, first_x;
42314      wint_t c;
42315      int incount = 0;
42316      bool flags[256];
42317      bool blocking = (delay < 0);
42318      int y, x, code;
42319 +    char *temp;
42320  
42321      memset(flags, FALSE, sizeof(flags));
42322      flags['k'] = (win == stdscr);
42323 @@ -686,9 +850,14 @@
42324         } else if (c == 'g') {
42325             waddstr(win, "getstr test: ");
42326             echo();
42327 -           wgetnstr(win, buf, sizeof(buf) - 1);
42328 +           wgetn_wstr(win, (wint_t *) buf, sizeof(buf) - 1);
42329             noecho();
42330 -           wprintw(win, "I saw %d characters:\n\t`%s'.", strlen(buf), buf);
42331 +           if ((temp = wcstos(buf)) != 0) {
42332 +               wprintw(win, "I saw %d characters:\n\t`%s'.", wcslen(buf), temp);
42333 +               free(temp);
42334 +           } else {
42335 +               wprintw(win, "I saw %d characters (cannot convert).", wcslen(buf));
42336 +           }
42337             wclrtoeol(win);
42338             wgetch_wrap(win, first_y);
42339         } else if (c == 'k') {
42340 @@ -782,11 +951,40 @@
42341   *
42342   ****************************************************************************/
42343  
42344 +#define MAX_ATTRSTRING 31
42345 +#define LEN_ATTRSTRING 26
42346 +
42347 +static char attr_test_string[] = "abcde fghij klmno pqrst uvwxy z";
42348 +
42349 +static void
42350 +adjust_attr_string(int adjust)
42351 +{
42352 +    int first = ((int) UChar(attr_test_string[0])) + adjust;
42353 +    int last = first + LEN_ATTRSTRING;
42354 +
42355 +    if (first >= ' ' && last <= '~') { /* 32..126 */
42356 +       int j, k;
42357 +       for (j = 0, k = first; k <= last; ++j, ++k) {
42358 +           attr_test_string[j] = k;
42359 +           if (((k + 1 - first) % 5) == 0) {
42360 +               ++j;
42361 +               if (j < MAX_ATTRSTRING)
42362 +                   attr_test_string[j] = ' ';
42363 +           }
42364 +       }
42365 +       while (j < MAX_ATTRSTRING)
42366 +           attr_test_string[j++] = ' ';
42367 +       attr_test_string[j] = '\0';
42368 +    } else {
42369 +       beep();
42370 +    }
42371 +}
42372 +
42373  static int
42374  show_attr(int row, int skip, chtype attr, const char *name)
42375  {
42376 -    static const char *string = "abcde fghij klmno pqrst uvwxy z";
42377      int ncv = tigetnum("ncv");
42378 +    chtype test = attr & ~A_ALTCHARSET;
42379  
42380      mvprintw(row, 8, "%s mode:", name);
42381      mvprintw(row, 24, "|");
42382 @@ -804,29 +1002,24 @@
42383       * is possible to turn off the A_ALTCHARSET flag for the characters which
42384       * are added, and it would be an unexpected result to have the mapped
42385       * characters visible on the screen.
42386 -     *
42387 -     * This example works because the indices into acs_map[] are mostly from
42388 -     * the lowercase characters.
42389       */
42390      if (attr & A_ALTCHARSET) {
42391 -       const char *s = string;
42392 -       while (*s) {
42393 -           int ch = *s++;
42394 -#ifdef CURSES_ACS_ARRAY
42395 -           if ((ch = CURSES_ACS_ARRAY[ch]) == 0)
42396 -               ch = ' ';
42397 -#endif
42398 +       const char *s;
42399 +       int ch;
42400 +
42401 +       for (s = attr_test_string; *s != '\0'; ++s) {
42402 +           ch = UChar(*s);
42403             addch(ch);
42404         }
42405      } else {
42406 -       addstr(string);
42407 +       addstr(attr_test_string);
42408      }
42409      attroff(attr);
42410      if (skip)
42411         printw("%*s", skip, " ");
42412      printw("|");
42413 -    if (attr != A_NORMAL) {
42414 -       if (!(termattrs() & attr)) {
42415 +    if (test != A_NORMAL) {
42416 +       if (!(termattrs() & test)) {
42417             printw(" (N/A)");
42418         } else if (ncv > 0 && (getbkgd(stdscr) & A_COLOR)) {
42419             static const chtype table[] =
42420 @@ -867,7 +1060,8 @@
42421      } else if (ch == CTRL('L')) {
42422         touchwin(stdscr);
42423         touchwin(curscr);
42424 -    } else if (has_colors()) {
42425 +       wrefresh(curscr);
42426 +    } else {
42427         switch (ch) {
42428         case 'a':
42429             *ac = 0;
42430 @@ -875,39 +1069,40 @@
42431         case 'A':
42432             *ac = A_ALTCHARSET;
42433             break;
42434 -       case 'f':
42435 -           *fg = (*fg + 1);
42436 -           break;
42437 -       case 'F':
42438 -           *fg = (*fg - 1);
42439 -           break;
42440 -       case 'b':
42441 -           *bg = (*bg + 1);
42442 +       case '<':
42443 +           adjust_attr_string(-1);
42444             break;
42445 -       case 'B':
42446 -           *bg = (*bg - 1);
42447 +       case '>':
42448 +           adjust_attr_string(1);
42449             break;
42450         default:
42451 -           return FALSE;
42452 -       }
42453 -       if (*fg >= max_colors)
42454 -           *fg = 0;
42455 -       if (*fg < 0)
42456 -           *fg = max_colors - 1;
42457 -       if (*bg >= max_colors)
42458 -           *bg = 0;
42459 -       if (*bg < 0)
42460 -           *bg = max_colors - 1;
42461 -    } else {
42462 -       switch (ch) {
42463 -       case 'a':
42464 -           *ac = 0;
42465 -           break;
42466 -       case 'A':
42467 -           *ac = A_ALTCHARSET;
42468 +           if (has_colors()) {
42469 +               switch (ch) {
42470 +               case 'f':
42471 +                   *fg = (*fg + 1);
42472 +                   break;
42473 +               case 'F':
42474 +                   *fg = (*fg - 1);
42475 +                   break;
42476 +               case 'b':
42477 +                   *bg = (*bg + 1);
42478 +                   break;
42479 +               case 'B':
42480 +                   *bg = (*bg - 1);
42481 +                   break;
42482 +               default:
42483 +                   return FALSE;
42484 +               }
42485 +               if (*fg >= max_colors)
42486 +                   *fg = 0;
42487 +               if (*fg < 0)
42488 +                   *fg = max_colors - 1;
42489 +               if (*bg >= max_colors)
42490 +                   *bg = 0;
42491 +               if (*bg < 0)
42492 +                   *bg = max_colors - 1;
42493 +           }
42494             break;
42495 -       default:
42496 -           return FALSE;
42497         }
42498      }
42499      return TRUE;
42500 @@ -965,12 +1160,12 @@
42501         mvprintw(row + 1, 8,
42502                  "Enter a digit to set gaps on each side of displayed attributes");
42503         mvprintw(row + 2, 8,
42504 -                "^L = repaint");
42505 +                "^L repaints, </> shifts, ");
42506         if (has_colors())
42507 -           printw(".  f/F/b/F toggle colors (now %d/%d), a/A altcharset (%d)",
42508 +           printw("f/F/b/F toggle color (now %d/%d), a/A ACS (%d)",
42509                    fg, bg, ac != 0);
42510         else
42511 -           printw(".  a/A altcharset (%d)", ac != 0);
42512 +           printw("a/A ACS (%d)", ac != 0);
42513  
42514         refresh();
42515      } while (attr_getc(&n, &fg, &bg, &ac));
42516 @@ -1241,15 +1436,73 @@
42517   *
42518   ****************************************************************************/
42519  
42520 +#define SLK_HELP 17
42521 +#define SLK_WORK (SLK_HELP + 3)
42522 +
42523 +static void
42524 +slk_help(void)
42525 +{
42526 +    static const char *table[] =
42527 +    {
42528 +       "Available commands are:"
42529 +       ,""
42530 +       ,"^L         -- repaint this message and activate soft keys"
42531 +       ,"a/d        -- activate/disable soft keys"
42532 +       ,"c          -- set centered format for labels"
42533 +       ,"l          -- set left-justified format for labels"
42534 +       ,"r          -- set right-justified format for labels"
42535 +       ,"[12345678] -- set label; labels are numbered 1 through 8"
42536 +       ,"e          -- erase stdscr (should not erase labels)"
42537 +       ,"s          -- test scrolling of shortened screen"
42538 +#if HAVE_SLK_COLOR
42539 +       ,"F/B        -- cycle through foreground/background colors"
42540 +#endif
42541 +       ,"x, q       -- return to main menu"
42542 +       ,""
42543 +       ,"Note: if activating the soft keys causes your terminal to scroll up"
42544 +       ,"one line, your terminal auto-scrolls when anything is written to the"
42545 +       ,"last screen position.  The ncurses code does not yet handle this"
42546 +       ,"gracefully."
42547 +    };
42548 +    unsigned j;
42549 +
42550 +    move(2, 0);
42551 +    for (j = 0; j < SIZEOF(table); ++j) {
42552 +       P(table[j]);
42553 +    }
42554 +    refresh();
42555 +}
42556 +
42557  static void
42558  slk_test(void)
42559  /* exercise the soft keys */
42560  {
42561      int c, fmt = 1;
42562      char buf[9];
42563 +    char *s;
42564 +#if HAVE_SLK_COLOR
42565 +    short fg = COLOR_BLACK;
42566 +    short bg = COLOR_WHITE;
42567 +    bool new_color = FALSE;
42568 +#endif
42569  
42570      c = CTRL('l');
42571 +#if HAVE_SLK_COLOR
42572 +    if (has_colors()) {
42573 +       new_color = TRUE;
42574 +    }
42575 +#endif
42576 +
42577      do {
42578 +#if HAVE_SLK_COLOR
42579 +       if (new_color) {
42580 +           init_pair(1, bg, fg);
42581 +           slk_color(1);
42582 +           new_color = FALSE;
42583 +           mvprintw(SLK_WORK, 0, "Colors %d/%d\n", fg, bg);
42584 +           refresh();
42585 +       }
42586 +#endif
42587         move(0, 0);
42588         switch (c) {
42589         case CTRL('l'):
42590 @@ -1258,25 +1511,7 @@
42591             mvaddstr(0, 20, "Soft Key Exerciser");
42592             attroff(A_BOLD);
42593  
42594 -           move(2, 0);
42595 -           P("Available commands are:");
42596 -           P("");
42597 -           P("^L         -- refresh screen");
42598 -           P("a          -- activate or restore soft keys");
42599 -           P("d          -- disable soft keys");
42600 -           P("c          -- set centered format for labels");
42601 -           P("l          -- set left-justified format for labels");
42602 -           P("r          -- set right-justified format for labels");
42603 -           P("[12345678] -- set label; labels are numbered 1 through 8");
42604 -           P("e          -- erase stdscr (should not erase labels)");
42605 -           P("s          -- test scrolling of shortened screen");
42606 -           P("x, q       -- return to main menu");
42607 -           P("");
42608 -           P("Note: if activating the soft keys causes your terminal to");
42609 -           P("scroll up one line, your terminal auto-scrolls when anything");
42610 -           P("is written to the last screen position.  The ncurses code");
42611 -           P("does not yet handle this gracefully.");
42612 -           refresh();
42613 +           slk_help();
42614             /* fall through */
42615  
42616         case 'a':
42617 @@ -1288,7 +1523,7 @@
42618             break;
42619  
42620         case 's':
42621 -           mvprintw(20, 0, "Press Q to stop the scrolling-test: ");
42622 +           mvprintw(SLK_WORK, 0, "Press Q to stop the scrolling-test: ");
42623             while ((c = Getchar()) != 'Q' && (c != ERR))
42624                 addch((chtype) c);
42625             break;
42626 @@ -1317,20 +1552,155 @@
42627         case '6':
42628         case '7':
42629         case '8':
42630 -           (void) mvaddstr(20, 0, "Please enter the label value: ");
42631 -           echo();
42632 -           wgetnstr(stdscr, buf, 8);
42633 -           noecho();
42634 +           (void) mvaddstr(SLK_WORK, 0, "Please enter the label value: ");
42635 +           strcpy(buf, "");
42636 +           if ((s = slk_label(c - '0')) != 0) {
42637 +               strncpy(buf, s, 8);
42638 +           }
42639 +           wGetstring(stdscr, buf, 8);
42640             slk_set((c - '0'), buf, fmt);
42641             slk_refresh();
42642 -           move(20, 0);
42643 -           clrtoeol();
42644 +           move(SLK_WORK, 0);
42645 +           clrtobot();
42646 +           break;
42647 +
42648 +       case 'x':
42649 +       case 'q':
42650 +           goto done;
42651 +
42652 +#if HAVE_SLK_COLOR
42653 +       case 'F':
42654 +           if (has_colors()) {
42655 +               fg = (fg + 1) % max_colors;
42656 +               new_color = TRUE;
42657 +           }
42658 +           break;
42659 +       case 'B':
42660 +           if (has_colors()) {
42661 +               bg = (bg + 1) % max_colors;
42662 +               new_color = TRUE;
42663 +           }
42664 +           break;
42665 +#endif
42666 +
42667 +       default:
42668 +           beep();
42669 +       }
42670 +    } while
42671 +       ((c = Getchar()) != EOF);
42672 +
42673 +  done:
42674 +    erase();
42675 +    endwin();
42676 +}
42677 +
42678 +#if USE_WIDEC_SUPPORT
42679 +static void
42680 +wide_slk_test(void)
42681 +/* exercise the soft keys */
42682 +{
42683 +    int c, fmt = 1;
42684 +    wchar_t buf[9];
42685 +    char *s;
42686 +    short fg = COLOR_BLACK;
42687 +    short bg = COLOR_WHITE;
42688 +    bool new_color = FALSE;
42689 +
42690 +    c = CTRL('l');
42691 +    if (has_colors()) {
42692 +       new_color = TRUE;
42693 +    }
42694 +    do {
42695 +       if (new_color) {
42696 +           init_pair(1, bg, fg);
42697 +           slk_color(1);
42698 +           new_color = FALSE;
42699 +           mvprintw(SLK_WORK, 0, "Colors %d/%d\n", fg, bg);
42700 +           refresh();
42701 +       }
42702 +       move(0, 0);
42703 +       switch (c) {
42704 +       case CTRL('l'):
42705 +           erase();
42706 +           attr_on(WA_BOLD, NULL);
42707 +           mvaddstr(0, 20, "Soft Key Exerciser");
42708 +           attr_off(WA_BOLD, NULL);
42709 +
42710 +           slk_help();
42711 +           /* fall through */
42712 +
42713 +       case 'a':
42714 +           slk_restore();
42715 +           break;
42716 +
42717 +       case 'e':
42718 +           wclear(stdscr);
42719 +           break;
42720 +
42721 +       case 's':
42722 +           mvprintw(SLK_WORK, 0, "Press Q to stop the scrolling-test: ");
42723 +           while ((c = Getchar()) != 'Q' && (c != ERR))
42724 +               addch((chtype) c);
42725 +           break;
42726 +
42727 +       case 'd':
42728 +           slk_clear();
42729 +           break;
42730 +
42731 +       case 'l':
42732 +           fmt = 0;
42733 +           break;
42734 +
42735 +       case 'c':
42736 +           fmt = 1;
42737 +           break;
42738 +
42739 +       case 'r':
42740 +           fmt = 2;
42741 +           break;
42742 +
42743 +       case '1':
42744 +       case '2':
42745 +       case '3':
42746 +       case '4':
42747 +       case '5':
42748 +       case '6':
42749 +       case '7':
42750 +       case '8':
42751 +           (void) mvaddstr(SLK_WORK, 0, "Please enter the label value: ");
42752 +           *buf = 0;
42753 +           if ((s = slk_label(c - '0')) != 0) {
42754 +               int j;
42755 +               for (j = 0; j < 8; ++j) {
42756 +                   if ((buf[j] = UChar(s[j])) == 0)
42757 +                       break;
42758 +               }
42759 +               buf[j] = 0;
42760 +           }
42761 +           wGet_wstring(stdscr, buf, 8);
42762 +           slk_wset((c - '0'), buf, fmt);
42763 +           slk_refresh();
42764 +           move(SLK_WORK, 0);
42765 +           clrtobot();
42766             break;
42767  
42768         case 'x':
42769         case 'q':
42770             goto done;
42771  
42772 +       case 'F':
42773 +           if (has_colors()) {
42774 +               fg = (fg + 1) % max_colors;
42775 +               new_color = TRUE;
42776 +           }
42777 +           break;
42778 +       case 'B':
42779 +           if (has_colors()) {
42780 +               bg = (bg + 1) % max_colors;
42781 +               new_color = TRUE;
42782 +           }
42783 +           break;
42784 +
42785         default:
42786             beep();
42787         }
42788 @@ -1341,6 +1711,7 @@
42789      erase();
42790      endwin();
42791  }
42792 +#endif
42793  
42794  /****************************************************************************
42795   *
42796 @@ -1624,13 +1995,15 @@
42797  }
42798  
42799  static int
42800 -show_2_wacs(int n, const char *name, char *code)
42801 +show_2_wacs(int n, const char *name, const char *code)
42802  {
42803      const int height = 16;
42804      int row = 4 + (n % height);
42805      int col = (n / height) * COLS / 2;
42806 +    char temp[80];
42807 +
42808      mvprintw(row, col, "%*s : ", COLS / 4, name);
42809 -    addstr(code);
42810 +    addstr(strcpy(temp, code));
42811      return n + 1;
42812  }
42813  
42814 @@ -1683,7 +2056,8 @@
42815      n = show_2_wacs(n, "WACS_S3",      "\342\216\273");
42816      n = show_2_wacs(n, "WACS_S7",      "\342\216\274");
42817      n = show_2_wacs(n, "WACS_S9",      "\342\216\275");
42818 -    /* *INDENT-OFF* */
42819 +    /* *INDENT-ON* */
42820 +
42821  }
42822  
42823  static void
42824 @@ -3747,12 +4121,80 @@
42825      }
42826  }
42827  
42828 +/*
42829 + * Allow a middle initial, optionally with a '.' to end it.
42830 + */
42831 +static bool
42832 +mi_field_check(FIELD * fld, const void *data GCC_UNUSED)
42833 +{
42834 +    char *s = field_buffer(fld, 0);
42835 +    int state = 0;
42836 +    int n;
42837 +
42838 +    for (n = 0; s[n] != '\0'; ++n) {
42839 +       switch (state) {
42840 +       case 0:
42841 +           if (s[n] == '.') {
42842 +               if (n != 1)
42843 +                   return FALSE;
42844 +               state = 2;
42845 +           } else if (isspace(UChar(s[n]))) {
42846 +               state = 2;
42847 +           }
42848 +           break;
42849 +       case 2:
42850 +           if (!isspace(UChar(s[n])))
42851 +               return FALSE;
42852 +           break;
42853 +       }
42854 +    }
42855 +
42856 +    /* force the form to display a leading capital */
42857 +    if (islower(UChar(s[0]))) {
42858 +       s[0] = toupper(UChar(s[0]));
42859 +       set_field_buffer(fld, 0, s);
42860 +    }
42861 +    return TRUE;
42862 +}
42863 +
42864 +static bool
42865 +mi_char_check(int ch, const void *data GCC_UNUSED)
42866 +{
42867 +    return ((isalpha(ch) || ch == '.') ? TRUE : FALSE);
42868 +}
42869 +
42870 +/*
42871 + * Passwords should be at least 6 characters.
42872 + */
42873 +static bool
42874 +pw_field_check(FIELD * fld, const void *data GCC_UNUSED)
42875 +{
42876 +    char *s = field_buffer(fld, 0);
42877 +    int n;
42878 +
42879 +    for (n = 0; s[n] != '\0'; ++n) {
42880 +       if (isspace(UChar(s[n]))) {
42881 +           if (n < 6)
42882 +               return FALSE;
42883 +       }
42884 +    }
42885 +    return TRUE;
42886 +}
42887 +
42888 +static bool
42889 +pw_char_check(int ch, const void *data GCC_UNUSED)
42890 +{
42891 +    return (isgraph(ch) ? TRUE : FALSE);
42892 +}
42893 +
42894  static void
42895  demo_forms(void)
42896  {
42897      WINDOW *w;
42898      FORM *form;
42899      FIELD *f[12], *secure;
42900 +    FIELDTYPE *fty_middle = new_fieldtype(mi_field_check, mi_char_check);
42901 +    FIELDTYPE *fty_passwd = new_fieldtype(pw_field_check, pw_char_check);
42902      int finished = 0, c;
42903      unsigned n = 0;
42904  
42905 @@ -3775,17 +4217,26 @@
42906  
42907      /* describe the form */
42908      f[n++] = make_label(0, 15, "Sample Form");
42909 +
42910      f[n++] = make_label(2, 0, "Last Name");
42911      f[n++] = make_field(3, 0, 1, 18, FALSE);
42912 +    set_field_type(f[n - 1], TYPE_ALPHA, 1);
42913 +
42914      f[n++] = make_label(2, 20, "First Name");
42915      f[n++] = make_field(3, 20, 1, 12, FALSE);
42916 +    set_field_type(f[n - 1], TYPE_ALPHA, 1);
42917 +
42918      f[n++] = make_label(2, 34, "Middle Name");
42919      f[n++] = make_field(3, 34, 1, 12, FALSE);
42920 +    set_field_type(f[n - 1], fty_middle);
42921 +
42922      f[n++] = make_label(5, 0, "Comments");
42923      f[n++] = make_field(6, 0, 4, 46, FALSE);
42924 +
42925      f[n++] = make_label(5, 20, "Password:");
42926      secure =
42927         f[n++] = make_field(5, 30, 1, 9, TRUE);
42928 +    set_field_type(f[n - 1], fty_passwd);
42929      f[n++] = (FIELD *) 0;
42930  
42931      form = new_form(f);
42932 @@ -3982,6 +4433,11 @@
42933         slk_test();
42934         break;
42935  
42936 +#if USE_WIDEC_SUPPORT
42937 +    case 'E':
42938 +       wide_slk_test();
42939 +       break;
42940 +#endif
42941      case 'f':
42942         acs_display();
42943         break;
42944 @@ -4252,6 +4708,9 @@
42945         (void) puts("c = color test pattern");
42946         (void) puts("d = edit RGB color values");
42947         (void) puts("e = exercise soft keys");
42948 +#if USE_WIDEC_SUPPORT
42949 +       (void) puts("E = exercise soft keys using wide-characters");
42950 +#endif
42951         (void) puts("f = display ACS characters");
42952  #if USE_WIDEC_SUPPORT
42953         (void) puts("F = display Wide-ACS characters");
42954 diff -urNd -urNd ncurses-5.3/test/railroad.c ncurses-5.3.20030906.orig/test/railroad.c
42955 --- ncurses-5.3/test/railroad.c Sat Apr  6 14:45:22 2002
42956 +++ ncurses-5.3.20030906.orig/test/railroad.c   Tue May 13 20:08:23 2003
42957 @@ -29,14 +29,12 @@
42958  /*
42959   * Author: Thomas E. Dickey <dickey@clark.net> 2000
42960   *
42961 - * $Id: railroad.c,v 1.10 2002/04/06 20:45:22 tom Exp $
42962 + * $Id: railroad.c,v 1.11 2002/10/19 22:11:24 tom Exp $
42963   *
42964   * A simple demo of the termcap interface.
42965   */
42966  #include <test.priv.h>
42967  
42968 -#include <ctype.h>
42969 -
42970  static char *wipeit;
42971  static char *moveit;
42972  static int length;
42973 diff -urNd -urNd ncurses-5.3/test/tclock.c ncurses-5.3.20030906.orig/test/tclock.c
42974 --- ncurses-5.3/test/tclock.c   Sat Jun 29 18:34:13 2002
42975 +++ ncurses-5.3.20030906.orig/test/tclock.c     Tue May 13 20:08:23 2003
42976 @@ -1,6 +1,6 @@
42977 -/* $Id: tclock.c,v 1.22 2002/06/29 23:34:13 tom Exp $ */
42978 +/* $Id: tclock.c,v 1.24 2002/12/29 01:40:30 tom Exp $ */
42979  
42980 -#include "test.priv.h"
42981 +#include <test.priv.h>
42982  
42983  #include <math.h>
42984  
42985 @@ -125,9 +125,11 @@
42986      int sdx, sdy;
42987      int ch;
42988      int lastbeep = -1;
42989 +    bool odd = FALSE;
42990      time_t tim;
42991      struct tm *t;
42992      char szChar[10];
42993 +    char *text;
42994      int my_bg = COLOR_BLACK;
42995  #if HAVE_GETTIMEOFDAY
42996      struct timeval current;
42997 @@ -151,6 +153,7 @@
42998         init_pair(1, COLOR_RED, my_bg);
42999         init_pair(2, COLOR_MAGENTA, my_bg);
43000         init_pair(3, COLOR_GREEN, my_bg);
43001 +       init_pair(4, COLOR_WHITE, COLOR_BLUE);
43002      }
43003  #ifdef KEY_RESIZE
43004      keypad(stdscr, TRUE);
43005 @@ -218,11 +221,16 @@
43006         if (has_colors())
43007             attrset(COLOR_PAIR(0));
43008  
43009 -       mvaddstr(LINES - 2, 0, ctime(&tim));
43010 +       text = ctime(&tim);
43011 +       mvprintw(2, 0, "%.*s", (int) (strlen(text) - 1), text);
43012         refresh();
43013         if ((t->tm_sec % 5) == 0
43014             && t->tm_sec != lastbeep) {
43015             lastbeep = t->tm_sec;
43016 +           if (has_colors()) {
43017 +               odd = !odd;
43018 +               bkgd(odd ? COLOR_PAIR(4) : COLOR_PAIR(0));
43019 +           }
43020             beep();
43021         }
43022  
43023 diff -urNd -urNd ncurses-5.3/test/test.priv.h ncurses-5.3.20030906.orig/test/test.priv.h
43024 --- ncurses-5.3/test/test.priv.h        Sat Jun 29 18:36:12 2002
43025 +++ ncurses-5.3.20030906.orig/test/test.priv.h  Tue May 13 20:08:23 2003
43026 @@ -1,5 +1,5 @@
43027  /****************************************************************************
43028 - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
43029 + * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
43030   *                                                                          *
43031   * Permission is hereby granted, free of charge, to any person obtaining a  *
43032   * copy of this software and associated documentation files (the            *
43033 @@ -29,17 +29,32 @@
43034  /****************************************************************************
43035   *  Author: Thomas E. Dickey <dickey@clark.net> 1996                        *
43036   ****************************************************************************/
43037 -/* $Id: test.priv.h,v 1.35 2002/06/29 23:36:12 tom Exp $ */
43038 +/* $Id: test.priv.h,v 1.45 2003/04/26 18:23:36 tom Exp $ */
43039 +
43040 +#ifndef __TEST_PRIV_H
43041 +#define __TEST_PRIV_H 1
43042  
43043 -#if HAVE_CONFIG_H
43044  #include <ncurses_cfg.h>
43045 -#else
43046 -#define HAVE_CURSES_VERSION 0
43047 -#define HAVE_RESIZETERM 0
43048 -#define HAVE_USE_DEFAULT_COLORS 0
43049 -#define HAVE_WRESIZE 0
43050 +
43051 +/*
43052 + * Fix ifdef's that look for the form/menu/panel libraries, if we are building
43053 + * with wide-character ncurses.
43054 + */
43055 +#ifdef  HAVE_LIBFORMW
43056 +#define HAVE_LIBFORM 1
43057 +#endif
43058 +
43059 +#ifdef  HAVE_LIBMENUW
43060 +#define HAVE_LIBMENU 1
43061 +#endif
43062 +
43063 +#ifdef  HAVE_LIBPANELW
43064 +#define HAVE_LIBPANEL 1
43065  #endif
43066  
43067 +/*
43068 + * Fallback definitions to accommodate broken compilers
43069 + */
43070  #ifndef HAVE_CURSES_VERSION
43071  #define HAVE_CURSES_VERSION 0
43072  #endif
43073 @@ -80,10 +95,18 @@
43074  #define HAVE_PANEL_H 0
43075  #endif
43076  
43077 +#ifndef HAVE_SLK_COLOR
43078 +#define HAVE_SLK_COLOR 0
43079 +#endif
43080 +
43081  #ifndef HAVE_WRESIZE
43082  #define HAVE_WRESIZE 0
43083  #endif
43084  
43085 +#ifndef NCURSES_EXT_FUNCS
43086 +#define NCURSES_EXT_FUNCS 0
43087 +#endif
43088 +
43089  #ifndef NCURSES_NOMACROS
43090  #define NCURSES_NOMACROS 0
43091  #endif
43092 @@ -125,6 +148,9 @@
43093  #define setlocale(name,string) /* nothing */
43094  #endif
43095  
43096 +#include <assert.h>
43097 +#include <ctype.h>
43098 +
43099  #ifndef GCC_NORETURN
43100  #define GCC_NORETURN /* nothing */
43101  #endif
43102 @@ -144,24 +170,48 @@
43103  #endif
43104  #endif
43105  
43106 +#if HAVE_PANEL_H && HAVE_LIBPANEL
43107 +#define USE_LIBPANEL 1
43108 +#else
43109 +#define USE_LIBPANEL 0
43110 +#endif
43111 +
43112 +#if HAVE_MENU_H && HAVE_LIBMENU
43113 +#define USE_LIBMENU 1
43114 +#else
43115 +#define USE_LIBMENU 0
43116 +#endif
43117 +
43118 +#if HAVE_FORM_H && HAVE_LIBFORM
43119 +#define USE_LIBFORM 1
43120 +#else
43121 +#define USE_LIBFORM 0
43122 +#endif
43123 +
43124  #ifndef HAVE_TYPE_ATTR_T
43125  #if !USE_WIDEC_SUPPORT
43126  #define attr_t long
43127  #endif
43128  #endif
43129  
43130 -#ifndef NCURSES_CH_T
43131 +#undef NCURSES_CH_T
43132  #if !USE_WIDEC_SUPPORT
43133  #define NCURSES_CH_T chtype
43134  #else
43135  #define NCURSES_CH_T cchar_t
43136  #endif
43137 -#endif
43138  
43139  #ifndef CCHARW_MAX
43140  #define CCHARW_MAX 5
43141  #endif
43142  
43143 +#ifndef CTRL
43144 +#define CTRL(x)                ((x) & 0x1f)
43145 +#endif
43146 +
43147 +#define QUIT           CTRL('Q')
43148 +#define ESCAPE         CTRL('[')
43149 +
43150  #ifndef KEY_MIN
43151  #define KEY_MIN 256    /* not defined in Solaris 8 */
43152  #endif
43153 @@ -216,3 +266,21 @@
43154  #ifndef NCURSES_CONST
43155  #define NCURSES_CONST /* nothing */
43156  #endif
43157 +
43158 +/* out-of-band values for representing absent capabilities */
43159 +#define ABSENT_BOOLEAN         (-1)            /* 255 */
43160 +#define ABSENT_NUMERIC         (-1)
43161 +#define ABSENT_STRING          (char *)0
43162 +
43163 +/* out-of-band values for representing cancels */
43164 +#define CANCELLED_BOOLEAN      (char)(-2)      /* 254 */
43165 +#define CANCELLED_NUMERIC      (-2)
43166 +#define CANCELLED_STRING       (char *)(-1)
43167 +
43168 +#define VALID_BOOLEAN(s) ((unsigned char)(s) <= 1) /* reject "-1" */
43169 +#define VALID_NUMERIC(s) ((s) >= 0)
43170 +#define VALID_STRING(s)  ((s) != CANCELLED_STRING && (s) != ABSENT_STRING)
43171 +
43172 +#define VT_ACSC "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~"
43173 +
43174 +#endif /* __TEST_PRIV_H */
43175 diff -urNd -urNd ncurses-5.3/test/testcurs.c ncurses-5.3.20030906.orig/test/testcurs.c
43176 --- ncurses-5.3/test/testcurs.c Sat Sep 14 17:45:15 2002
43177 +++ ncurses-5.3.20030906.orig/test/testcurs.c   Tue May 13 20:08:23 2003
43178 @@ -7,11 +7,10 @@
43179   *  wrs(5/28/93) -- modified to be consistent (perform identically) with either
43180   *                  PDCurses or under Unix System V, R4
43181   *
43182 - * $Id: testcurs.c,v 1.31 2002/09/14 22:45:15 tom Exp $
43183 + * $Id: testcurs.c,v 1.32 2002/10/19 22:11:24 tom Exp $
43184   */
43185  
43186  #include <test.priv.h>
43187 -#include <ctype.h>
43188  
43189  #if defined(XCURSES)
43190  char *XCursesProgramName = "testcurs";
43191 diff -urNd -urNd ncurses-5.3/test/testscanw.c ncurses-5.3.20030906.orig/test/testscanw.c
43192 --- ncurses-5.3/test/testscanw.c        Sat Jun 29 18:32:18 2002
43193 +++ ncurses-5.3.20030906.orig/test/testscanw.c  Tue May 13 20:08:23 2003
43194 @@ -2,10 +2,9 @@
43195   * Date:  1997/03/17
43196   * From:  bayern@morpheus.cis.yale.edu
43197   *
43198 - * $Id: testscanw.c,v 1.9 2002/06/29 23:32:18 tom Exp $
43199 + * $Id: testscanw.c,v 1.10 2002/10/19 22:11:24 tom Exp $
43200   */
43201  #include <test.priv.h>
43202 -#include <ctype.h>
43203  
43204  int
43205  main(int argc, char *argv[])
43206 diff -urNd -urNd ncurses-5.3/test/view.c ncurses-5.3.20030906.orig/test/view.c
43207 --- ncurses-5.3/test/view.c     Sat Jun 29 18:28:27 2002
43208 +++ ncurses-5.3.20030906.orig/test/view.c       Sun Jul 20 14:02:08 2003
43209 @@ -23,10 +23,9 @@
43210   * scroll operation worked, and the refresh() code only had to do a
43211   * partial repaint.
43212   *
43213 - * $Id: view.c,v 1.53 2002/06/29 23:28:27 tom Exp $
43214 + * $Id: view.c,v 1.57 2003/05/17 21:58:43 tom Exp $
43215   */
43216  
43217 -#include <ctype.h>
43218  #include <time.h>
43219  
43220  #include <test.priv.h>
43221 @@ -54,7 +53,7 @@
43222  static RETSIGTYPE finish(int sig) GCC_NORETURN;
43223  static void show_all(const char *tag);
43224  
43225 -#if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZETERM
43226 +#if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZE_TERM
43227  #define CAN_RESIZE 1
43228  #else
43229  #define CAN_RESIZE 0
43230 @@ -496,14 +495,17 @@
43231         clrtoeol();
43232         if ((s = lptr[i - 1]) != 0) {
43233             int len = ch_len(s);
43234 -           if (len > shift)
43235 +           if (len > shift) {
43236  #if USE_WIDEC_SUPPORT
43237                 add_wchstr(s + shift);
43238  #else
43239                 addchstr(s + shift);
43240  #endif
43241 +           }
43242 +#if defined(NCURSES_VERSION) || defined(HAVE_WCHGAT)
43243             if (try_color)
43244                 wchgat(stdscr, -1, A_NORMAL, my_pair, NULL);
43245 +#endif
43246         }
43247      }
43248      setscrreg(1, LINES - 1);