summaryrefslogtreecommitdiffstats
path: root/meta/packages/ncurses
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-07-21 10:10:31 +0000
committerRichard Purdie <richard@openedhand.com>2006-07-21 10:10:31 +0000
commitb2f192faabe412adce79534e22efe9fb69ee40e2 (patch)
tree7076c49d4286f8a1733650bd8fbc7161af200d57 /meta/packages/ncurses
parent2cf0eadf9f730027833af802d7e6c90b44248f80 (diff)
downloadpoky-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.gz
Rename /openembedded/ -> /meta/
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/ncurses')
-rw-r--r--meta/packages/ncurses/ncurses-native_5.4.bb6
-rw-r--r--meta/packages/ncurses/ncurses.inc86
-rw-r--r--meta/packages/ncurses/ncurses/20030906.patch43248
-rw-r--r--meta/packages/ncurses/ncurses/configure.patch193
-rw-r--r--meta/packages/ncurses/ncurses/mk_shared_lib.patch27
-rw-r--r--meta/packages/ncurses/ncurses/run_tic.patch23
-rw-r--r--meta/packages/ncurses/ncurses/tic.patch19
-rw-r--r--meta/packages/ncurses/ncurses/visibility.patch4904
-rw-r--r--meta/packages/ncurses/ncurses_5.4.bb7
9 files changed, 48513 insertions, 0 deletions
diff --git a/meta/packages/ncurses/ncurses-native_5.4.bb b/meta/packages/ncurses/ncurses-native_5.4.bb
new file mode 100644
index 0000000000..26d0897c9f
--- /dev/null
+++ b/meta/packages/ncurses/ncurses-native_5.4.bb
@@ -0,0 +1,6 @@
1SECTION = "libs"
2include ncurses_${PV}.bb
3inherit native
4EXTRA_OEMAKE = '"BUILD_CCFLAGS=${BUILD_CCFLAGS}"'
5DEPENDS = ""
6FILESPATH = "${FILE_DIRNAME}/local:${FILE_DIRNAME}/ncurses-${PV}-${PR}:${FILE_DIRNAME}/ncurses-${PV}:${FILE_DIRNAME}/ncurses:${FILE_DIRNAME}"
diff --git a/meta/packages/ncurses/ncurses.inc b/meta/packages/ncurses/ncurses.inc
new file mode 100644
index 0000000000..030cd1034c
--- /dev/null
+++ b/meta/packages/ncurses/ncurses.inc
@@ -0,0 +1,86 @@
1DESCRIPTION = "Ncurses library"
2HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html"
3LICENSE = "MIT"
4SECTION = "libs"
5DEPENDS = "ncurses-native"
6PACKAGES_prepend = "ncurses-tools "
7PACKAGES_append = " ncurses-terminfo"
8FILES_ncurses_append = " ${datadir}/tabset"
9RSUGGESTS_${PN} = "ncurses-terminfo"
10RPROVIDES = "libncurses5"
11
12inherit autotools
13
14# This keeps only tput/tset in ncurses
15# clear/reset are in already busybox
16FILES_ncurses-tools = "${bindir}/tic ${bindir}/toe ${bindir}/infotocap ${bindir}/captoinfo ${bindir}/infocmp ${bindir}/clear.${PN} ${bindir}/reset.${PN} ${bindir}/tack "
17FILES_ncurses-terminfo = "${datadir}/terminfo"
18FILES_${PN} = "${bindir}/tput ${bindir}/tset ${libdir}/lib*.so.* usr/share/tabset etc/terminfo"
19
20PARALLEL_MAKE=""
21
22EXTRA_OECONF = "--with-shared \
23 --without-profile \
24 --without-debug \
25 --disable-rpath \
26 --enable-echo \
27 --enable-const \
28 --without-ada \
29 --enable-termcap \
30 --without-cxx-binding \
31 --with-terminfo-dirs=${sysconfdir}/terminfo:${datadir}/terminfo \
32 --enable-overwrite"
33export BUILD_CCFLAGS = "-I${S}/ncurses -I${S}/include ${BUILD_CFLAGS}"
34export BUILD_LDFLAGS = ""
35export EXTRA_OEMAKE = '"BUILD_LDFLAGS=" "BUILD_CCFLAGS=${BUILD_CCFLAGS}"'
36
37do_stage() {
38 autotools_stage_all
39 ln -sf curses.h ${STAGING_INCDIR}/ncurses.h
40 ln -sf libncurses.so ${STAGING_LIBDIR}/libtermcap.so
41 ln -sf libncurses.a ${STAGING_LIBDIR}/libtermcap.a
42}
43
44do_install() {
45 autotools_do_install
46
47 # our ncurses has termcap support
48 ln -sf libncurses.so ${D}${libdir}/libtermcap.so
49 ln -sf libncurses.a ${D}${libdir}/libtermcap.a
50
51 # include some basic terminfo files
52 # stolen ;) from gentoo and modified a bit
53 for x in ansi console dumb linux rxvt screen sun vt{52,100,102,200,220} xterm-color xterm-xfree86
54 do
55 local termfile="$(find "${D}${datadir}/terminfo/" -name "${x}" 2>/dev/null)"
56 local basedir="$(basename $(dirname "${termfile}"))"
57
58 if [ -n "${termfile}" ]
59 then
60 install -d ${D}${sysconfdir}/terminfo/${basedir}
61 mv ${termfile} ${D}${sysconfdir}/terminfo/${basedir}/
62 ln -s /etc/terminfo/${basedir}/${x} \
63 ${D}${datadir}/terminfo/${basedir}/${x}
64 fi
65 done
66 # i think we can use xterm-color as default xterm
67 if [ -e ${D}${sysconfdir}/terminfo/x/xterm-color ]
68 then
69 ln -sf xterm-color ${D}${sysconfdir}/terminfo/x/xterm
70 fi
71
72 mv ${D}${bindir}/clear ${D}${bindir}/clear.${PN}
73 mv ${D}${bindir}/reset ${D}${bindir}/reset.${PN}
74}
75
76
77pkg_postinst_ncurses-tools () {
78 update-alternatives --install ${bindir}/clear clear clear.${PN} 100
79 update-alternatives --install ${bindir}/reset reset reset.${PN} 100
80}
81
82
83pkg_prerm_ncurses-tools () {
84 update-alternatives --remove clear clear.${PN}
85 update-alternatives --remove reset reset.${PN}
86}
diff --git a/meta/packages/ncurses/ncurses/20030906.patch b/meta/packages/ncurses/ncurses/20030906.patch
new file mode 100644
index 0000000000..f65dfafef1
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/20030906.patch
@@ -0,0 +1,43248 @@
1diff -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
151diff -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 ::
190diff -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
225diff -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
400diff -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
525diff -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>).
1066diff -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
1090diff -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
2283diff -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 <!--
2422diff -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
2519diff -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);
2555diff -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
3055diff -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
3328diff -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
11668diff -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
12196diff -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]
12250diff -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 <!--
12389diff -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
12419diff -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
12458diff -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>
12479diff -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
12509diff -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>
12543diff -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
12579diff -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>
12600diff -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
12837diff -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
12867diff -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
12897diff -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>
12918diff -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
12951diff -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.
12981diff -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
13064diff -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.
13094diff -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
13133diff -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>
13154diff -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
13246diff -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>
13267diff -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
13297diff -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>
13416diff -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>
13437diff -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
13503diff -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>
13524diff -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>
13554diff -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
13584diff -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>
13605diff -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
13635diff -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>
13667diff -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
13706diff -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
13882diff -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
13967diff -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>
14016diff -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>
14037diff -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>
14160diff -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
14207diff -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>
14228diff -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>
14249diff -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
14387diff -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
14417diff -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>
14438diff -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>
14517diff -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
15091diff -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-
15139diff -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
15169diff -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>
15190diff -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
15379diff -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@
15421diff -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 */
15449diff -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},
15638diff -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:
15664diff -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)
15911diff -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 */
15931diff -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 */
16032diff -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
16093diff -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)
16125diff -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
16184diff -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/$/T}/
16210-s/ [A-Z0-9_()\-]\+ [0-9\-]\+ [Y\-][B\-][C\-][G\-][EK\-]\** / T{/
16211+s/ [A-Z0-9_()\-][A-Z0-9_()\-]* [0-9\-][0-9\-]* [Y\-][B\-][C\-][G\-][EK\-]\** / T{/
16212 s/ bool / /p
16213 s/ num / /p
16214 s/ str / /p
16215diff -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
16281diff -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
16319diff -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
16347diff -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
16375diff -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
16409diff -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
16455diff -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),
16484diff -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.
16512diff -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
16559diff -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).
16587diff -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.
16625diff -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),
16653diff -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,
16693diff -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.
16721diff -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
16776diff -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
16813diff -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
16859diff -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
16887diff -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
16923diff -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
16957diff -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
17016diff -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.
17048diff -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
17085diff -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:
17133diff -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
17161diff -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
17188diff -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.
17217diff -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
17246diff -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.
17275diff -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.
17304diff -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.
17342diff -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
17441diff -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.
17511diff -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),
17834diff -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),
17894diff -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:
17958diff -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
17992diff -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
18014diff -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
18031diff -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
18113diff -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
18145diff -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.
18173diff -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
18248diff -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
18276diff -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
18332diff -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 .\"#
18409diff -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
18568diff -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.
18794diff -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
18858diff -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
19031diff -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
19247diff -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@
19299diff -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 $*
19339diff -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,
19529diff -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
19617diff -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 "$*"
19641diff -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"
20826diff -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 }
20989diff -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
21013diff -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) > $@
21085diff -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 }
21180diff -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))
21219diff -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+}
21299diff -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 }
21326diff -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 }
21541diff -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 }
21681diff -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 }
21702diff -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
21770diff -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 }
21938diff -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);
22068diff -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) {
22095diff -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 */
22894diff -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;
22920diff -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 }
22989diff -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 }
23099diff -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;
23176diff -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 /*
23341diff -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 }
23367diff -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,
23395diff -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);
23466diff -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 ||
23552diff -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 }
23681diff -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 }
23752diff -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];
23773diff -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 *);
24123diff -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
26528diff -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
29823diff -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
29876diff -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
29898diff -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)
29955diff -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);
30038diff -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));
30093diff -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)) {
30140diff -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++;
30342diff -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
30408diff -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;
30598diff -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)
30633diff -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
30651diff -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-}
31000diff -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));
31046diff -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
31089diff -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';
31661diff -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) {
31700diff -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);
31744diff -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);
31799diff -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
31959diff -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 */
31994diff -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 }
32074diff -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);
32139diff -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 *)
32317diff -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)
32372diff -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+}
32441diff -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 /*
32469diff -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 }
32582diff -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)
32839diff -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 }
32860diff -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
32889diff -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 }
33279diff -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+}
33360diff -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;
33427diff -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);
33514diff -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);
33621diff -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+}
33771diff -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 }
33829diff -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 {
33857diff -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;
33887diff -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@
33948diff -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 "/*";
33973diff -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
34091diff -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;
34141diff -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 }
34223diff -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
34511diff -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 }
34591diff -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 */
34704diff -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) \
34761diff -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
34816diff -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"
34950diff -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
35562diff -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
36378diff -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>
36394diff -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
36497diff -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 \\
39883diff -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 \\
40204diff -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
40458diff -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
40757diff -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
40816diff -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
40893diff -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
40930diff -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
41336diff -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 */
41357diff -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.
41374diff -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 ' '
41395diff -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
41617diff -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+}
41783diff -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 }
41802diff -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 */
41818diff -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
41977diff -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)
42031diff -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");
42954diff -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;
42973diff -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
43023diff -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 */
43175diff -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";
43191diff -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[])
43206diff -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);
diff --git a/meta/packages/ncurses/ncurses/configure.patch b/meta/packages/ncurses/ncurses/configure.patch
new file mode 100644
index 0000000000..992e81008f
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/configure.patch
@@ -0,0 +1,193 @@
1
2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6--- ncurses-5.3/./configure.in~configure
7+++ ncurses-5.3/./configure.in
8@@ -34,9 +34,10 @@
9 dnl See http://invisible-island.net/autoconf/ for additional information.
10 dnl
11 dnl ---------------------------------------------------------------------------
12-AC_PREREQ(2.13.20020210)
13+AC_PREREQ(2.57)
14 AC_REVISION($Revision: 1.297 $)
15-AC_INIT(ncurses/base/lib_initscr.c)
16+AC_INIT
17+AC_CONFIG_SRCDIR([ncurses/base/lib_initscr.c])
18 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
19
20 CF_SUBST_NCURSES_VERSION
21@@ -45,7 +46,7 @@
22 [AC_MSG_WARN(overriding ABI version to $withval)
23 cf_cv_abi_version=$withval])
24
25-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
26+CF_CHECK_CACHE([AC_CANONICAL_TARGET([])])
27 AC_ARG_WITH(system-type,
28 [ --with-system-type=XXX test: override derived host system-type],
29 [AC_MSG_WARN(overriding system type to $withval)
30@@ -110,7 +111,7 @@
31 CF_GXX_VERSION
32 case $GXX_VERSION in
33 1*|2.[[0-6]]*)
34- GXX=""; CXX=""; ac_cv_prog_gxx=no
35+ GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
36 cf_cxx_library=no
37 AC_MSG_WARN(templates do not work)
38 ;;
39@@ -370,7 +371,7 @@
40 if test "$CC_SHARED_OPTS" = "unknown"; then
41 for model in $cf_list_models; do
42 if test "$model" = "shared"; then
43- AC_ERROR(Shared libraries are not supported in this version)
44+ AC_MSG_ERROR([Shared libraries are not supported in this version])
45 fi
46 done
47 fi
48@@ -457,7 +458,7 @@
49 AC_ARG_ENABLE(big-core,
50 [ --disable-big-core assume machine has little memory],
51 [with_big_core=$enableval],
52- [AC_TRY_RUN([
53+ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
54 #include <stdlib.h>
55 #include <string.h>
56 int main() {
57@@ -466,10 +467,7 @@
58 if (s != 0)
59 s[0] = s[n-1] = 0;
60 exit(s == 0);
61-}],
62- [with_big_core=yes],
63- [with_big_core=no],
64- [with_big_core=no])])
65+}]])],[with_big_core=yes],[with_big_core=no],[with_big_core=no])])
66 AC_MSG_RESULT($with_big_core)
67 test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
68
69@@ -484,7 +482,7 @@
70 if test "$with_termcap" != "yes" ; then
71 if test "$use_database" = no ; then
72 if test -z "$with_fallback" ; then
73- AC_ERROR(You have disabled the database w/o specifying fallbacks)
74+ AC_MSG_ERROR([You have disabled the database w/o specifying fallbacks])
75 fi
76 fi
77 AC_DEFINE(PURE_TERMINFO)
78@@ -903,7 +901,7 @@
79 AC_SUBST(MATH_LIB)
80
81 ### Checks for header files.
82-AC_STDC_HEADERS
83+AC_HEADER_STDC([])
84 AC_HEADER_DIRENT
85 AC_HEADER_TIME
86 CF_REGEX
87@@ -937,7 +935,7 @@
88 CF_SYS_TIME_SELECT
89
90 ### checks for compiler characteristics
91-AC_LANG_C
92+AC_LANG([C])
93 AC_C_CONST
94 AC_C_INLINE
95 test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
96@@ -1012,7 +1010,7 @@
97
98 # Check for C++ compiler characteristics (and ensure that it's there!)
99 if test -n "$CXX" ; then
100- AC_LANG_CPLUSPLUS
101+ AC_LANG([C++])
102 CF_STDCPP_LIBRARY
103
104 case $GXX_VERSION in
105@@ -1286,15 +1284,16 @@
106
107 ################################################################################
108 test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
109-AC_OUTPUT( \
110+AC_CONFIG_FILES([\
111 include/MKterm.h.awk \
112 include/curses.head:include/curses.h.in \
113 include/termcap.h \
114 include/unctrl.h \
115 $SUB_MAKEFILES \
116- Makefile,[
117+ Makefile])
118+AC_CONFIG_COMMANDS([default],[[
119 CF_LIB_RULES
120-],[
121+]],[[
122 ### Special initialization commands, used to pass information from the
123 ### configuration-run into config.status
124
125@@ -1324,5 +1323,6 @@
126 cf_with_cxx_binding="$cf_with_cxx_binding"
127 host="$host"
128
129-],cat)dnl
130+]])
131+AC_OUTPUTdnl
132 ${MAKE-make} preinstall
133--- ncurses-5.3/./test/configure.in~configure
134+++ ncurses-5.3/./test/configure.in
135@@ -38,8 +38,9 @@
136 dnl
137 dnl See http://invisible-island.net/autoconf/ for additional information.
138 dnl ---------------------------------------------------------------------------
139-AC_PREREQ(2.13.20020210)
140-AC_INIT(ncurses.c)
141+AC_PREREQ(2.57)
142+AC_INIT
143+AC_CONFIG_SRCDIR([ncurses.c])
144 AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
145
146 CF_INHERIT_SCRIPT(config.guess)
147@@ -129,7 +130,7 @@
148
149 AC_TYPE_SIGNAL
150
151-AC_STDC_HEADERS
152+AC_HEADER_STDC([])
153 AC_HEADER_TIME
154 AC_CHECK_HEADERS( \
155 form.h \
156@@ -160,9 +161,8 @@
157 wresize \
158 )
159
160-AC_TRY_LINK([
161-#include <${cf_cv_ncurses_header-curses.h}>],
162-[
163+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
164+#include <${cf_cv_ncurses_header-curses.h}>]], [[
165 (void) assume_default_colors (0, 0);
166 (void) curses_version ();
167 (void) define_key (0, 0);
168@@ -175,7 +175,7 @@
169 (void) use_default_colors ();
170 (void) use_extended_names (0);
171 (void) wresize (0, 0, 0);
172- ],[AC_DEFINE(NCURSES_EXT_FUNCS)])
173+ ]])],[AC_DEFINE(NCURSES_EXT_FUNCS)],[])
174
175 CF_SYS_TIME_SELECT
176 CF_FUNC_CURSES_VERSION
177@@ -186,7 +186,8 @@
178
179 dnl ---------------------------------------------------------------------------
180
181-AC_OUTPUT(Makefile,[
182+AC_CONFIG_FILES([Makefile])
183+AC_CONFIG_COMMANDS([default],[[
184 cat >>Makefile <<TEST_EOF
185
186 # These rules are generated so we do not rely on suffix rules, which do not
187@@ -204,4 +205,5 @@
188 @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) $N.c
189 TEST_EOF
190 done
191-],[],sort)
192+]],[[]])
193+AC_OUTPUT
diff --git a/meta/packages/ncurses/ncurses/mk_shared_lib.patch b/meta/packages/ncurses/ncurses/mk_shared_lib.patch
new file mode 100644
index 0000000000..1e2ea6a028
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/mk_shared_lib.patch
@@ -0,0 +1,27 @@
1
2#
3# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6--- ncurses-4.2/aclocal.m4~mk_sharedlib
7+++ ncurses-4.2/aclocal.m4
8@@ -1201,7 +1201,7 @@
9 linux*)
10 # tested with Linux 2.0.29 and gcc 2.7.2 (ELF)
11 CC_SHARED_OPTS='-fPIC'
12- MK_SHARED_LIB='gcc -o $[@].$(REL_VERSION) -L../lib -L\$(libdir) -shared -Wl,-soname,`basename $[@].$(ABI_VERSION)`,-stats,$(SHLIB_LIST)-lc'
13+ MK_SHARED_LIB='$(CC) -o $[@].$(REL_VERSION) -L../lib -shared -Wl,-soname,`basename $[@].$(ABI_VERSION)`,-stats,$(SHLIB_LIST)-lc'
14 test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
15 if test $DFT_LWR_MODEL = "shared" ; then
16 LOCAL_LDFLAGS='-Wl,-rpath,../lib'
17--- ncurses-4.2/configure~mk_sharedlib
18+++ ncurses-4.2/configure
19@@ -2216,7 +2216,7 @@
20 linux*)
21 # tested with Linux 2.0.29 and gcc 2.7.2 (ELF)
22 CC_SHARED_OPTS='-fPIC'
23- MK_SHARED_LIB='gcc -o $@.$(REL_VERSION) -L../lib -L\$(libdir) -shared -Wl,-soname,`basename $@.$(ABI_VERSION)`,-stats,$(SHLIB_LIST)-lc'
24+ MK_SHARED_LIB='$(CC) -o $@.$(REL_VERSION) -L../lib -shared -Wl,-soname,`basename $@.$(ABI_VERSION)`,-stats,$(SHLIB_LIST)-lc'
25 test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
26 if test $DFT_LWR_MODEL = "shared" ; then
27 LOCAL_LDFLAGS='-Wl,-rpath,../lib'
diff --git a/meta/packages/ncurses/ncurses/run_tic.patch b/meta/packages/ncurses/ncurses/run_tic.patch
new file mode 100644
index 0000000000..bebf8d4018
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/run_tic.patch
@@ -0,0 +1,23 @@
1
2#
3# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6--- ncurses-4.2/misc/run_tic.sh~run_tic
7+++ ncurses-4.2/misc/run_tic.sh
8@@ -108,7 +108,14 @@
9 SRC=$TMP
10 fi
11
12-if ( $srcdir/shlib tic -s $SRC )
13+if [ "$HOSTCC" != "$CC" ]
14+then
15+ SHLIB=""
16+else
17+ SHLIB="$srcdir/shlib"
18+fi
19+
20+if ( ${SHLIB} tic -s $SRC )
21 then
22 echo '** built new '$TERMINFO
23 else
diff --git a/meta/packages/ncurses/ncurses/tic.patch b/meta/packages/ncurses/ncurses/tic.patch
new file mode 100644
index 0000000000..b09da4cd0c
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/tic.patch
@@ -0,0 +1,19 @@
1--- ncurses-5.2/misc/run_tic.in Mon Oct 9 16:57:35 2000
2+++ ncurses-5.2/misc/run_tic.in.new Thu Mar 14 17:13:20 2002
3@@ -105,7 +105,15 @@
4 problems for older ncurses applications.
5
6 EOF
7-if ( $srcdir/shlib tic$suffix -s -o $TERMINFO $source )
8+
9+if [ "$BUILD_CC" != "$CC" ]
10+then
11+ SHLIB=""
12+else
13+ SHLIB="$srcdir/shlib"
14+fi
15+
16+if ( ${SHLIB} tic$suffix -s -o $TERMINFO $source )
17 then
18 echo '** built new '$TERMINFO
19 else
diff --git a/meta/packages/ncurses/ncurses/visibility.patch b/meta/packages/ncurses/ncurses/visibility.patch
new file mode 100644
index 0000000000..29cac5f1b8
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/visibility.patch
@@ -0,0 +1,4904 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- ncurses-5.4/ncurses/Makefile.in~visibility.patch
7+++ ncurses-5.4/ncurses/Makefile.in
8@@ -107,7 +107,7 @@
9 CFLAGS_NORMAL = $(CCFLAGS)
10 CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
11 CFLAGS_PROFILE = $(CCFLAGS) -pg
12-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
13+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
14
15 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
16
17--- ncurses-5.4/panel/Makefile.in~visibility.patch
18+++ ncurses-5.4/panel/Makefile.in
19@@ -88,7 +88,7 @@
20 CFLAGS_NORMAL = $(CCFLAGS)
21 CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
22 CFLAGS_PROFILE = $(CCFLAGS) -pg
23-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
24+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
25
26 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
27
28--- ncurses-5.4/menu/Makefile.in~visibility.patch
29+++ ncurses-5.4/menu/Makefile.in
30@@ -87,7 +87,7 @@
31 CFLAGS_NORMAL = $(CCFLAGS)
32 CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
33 CFLAGS_PROFILE = $(CCFLAGS) -pg
34-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
35+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
36
37 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
38
39--- ncurses-5.4/c++/Makefile.in~visibility.patch
40+++ ncurses-5.4/c++/Makefile.in
41@@ -80,7 +80,7 @@
42 CFLAGS_NORMAL = $(CCFLAGS)
43 CFLAGS_DEBUG = $(CCFLAGS) @CXX_G_OPT@ -DTRACE
44 CFLAGS_PROFILE = $(CCFLAGS) -pg
45-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
46+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
47
48 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
49
50--- ncurses-5.4/form/Makefile.in~visibility.patch
51+++ ncurses-5.4/form/Makefile.in
52@@ -88,7 +88,7 @@
53 CFLAGS_NORMAL = $(CCFLAGS)
54 CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
55 CFLAGS_PROFILE = $(CCFLAGS) -pg
56-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
57+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
58
59 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
60
61--- ncurses-5.4/configure.in~visibility.patch
62+++ ncurses-5.4/configure.in
63@@ -34,17 +34,20 @@
64 dnl See http://invisible-island.net/autoconf/ for additional information.
65 dnl
66 dnl ---------------------------------------------------------------------------
67-AC_PREREQ(2.13.20020210)
68+AC_PREREQ(2.59)
69 AC_REVISION($Revision: 1.312 $)
70-AC_INIT(ncurses/base/lib_initscr.c)
71+AC_INIT
72+AC_CONFIG_SRCDIR([ncurses/base/lib_initscr.c])
73 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
74
75+m4_include([m4/templates.m4])
76+
77 CF_SUBST_NCURSES_VERSION
78
79 CF_WITH_REL_VERSION(NCURSES)
80 CF_WITH_ABI_VERSION
81
82-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
83+CF_CHECK_CACHE([AC_CANONICAL_TARGET([])])
84 AC_ARG_WITH(system-type,
85 [ --with-system-type=XXX test: override derived host system-type],
86 [AC_MSG_WARN(overriding system type to $withval)
87@@ -100,7 +103,7 @@
88 CF_GXX_VERSION
89 case $GXX_VERSION in
90 1*|2.[[0-6]]*)
91- GXX=""; CXX=""; ac_cv_prog_gxx=no
92+ GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
93 cf_cxx_library=no
94 AC_MSG_WARN(templates do not work)
95 ;;
96@@ -176,7 +179,6 @@
97 AC_SUBST(DESTDIR)
98
99 ###############################################################################
100-CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:)
101 # If we're cross-compiling, allow the user to override the tools and their
102 # options. The configure script is oriented toward identifying the host
103 # compiler, etc., but we need a build compiler to generate parts of the source.
104@@ -213,7 +215,6 @@
105 AC_SUBST(BUILD_EXEEXT)
106
107 ###############################################################################
108-CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
109
110 ### Options to allow the user to specify the set of libraries which are used.
111 ### Use "--without-normal --with-shared" to allow the default model to be
112@@ -343,11 +344,11 @@
113
114 AC_MSG_CHECKING(for default loader flags)
115 case $DFT_LWR_MODEL in
116-libtool) LD_MODEL='' ;;
117+libtool) LD_MODEL=''; LIBOPTS="-DNCURSES_DLL" ;;
118 normal) LD_MODEL='' ;;
119 debug) LD_MODEL=$CC_G_OPT ;;
120 profile) LD_MODEL='-pg';;
121-shared) LD_MODEL='' ;;
122+shared) LD_MODEL=''; LIBOPTS="-DNCURSES_DLL" ;;
123 esac
124 AC_SUBST(LD_MODEL)dnl the type of link (e.g., -g or -pg)
125 AC_MSG_RESULT($LD_MODEL)
126@@ -363,14 +364,14 @@
127 if test "$CC_SHARED_OPTS" = "unknown"; then
128 for model in $cf_list_models; do
129 if test "$model" = "shared"; then
130- AC_ERROR(Shared libraries are not supported in this version)
131+ AC_MSG_ERROR([Shared libraries are not supported in this version])
132 fi
133 done
134 fi
135
136-###############################################################################
137-CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
138+AC_SUBST(LIBOPTS)
139
140+###############################################################################
141 ### use option --disable-overwrite to leave out the link to -lcurses
142 AC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
143 AC_ARG_ENABLE(overwrite,
144@@ -450,7 +451,7 @@
145 AC_ARG_ENABLE(big-core,
146 [ --disable-big-core assume machine has little memory],
147 [with_big_core=$enableval],
148- [AC_TRY_RUN([
149+ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
150 #include <stdlib.h>
151 #include <string.h>
152 int main() {
153@@ -459,10 +460,7 @@
154 if (s != 0)
155 s[0] = s[n-1] = 0;
156 exit(s == 0);
157-}],
158- [with_big_core=yes],
159- [with_big_core=no],
160- [with_big_core=no])])
161+}]])],[with_big_core=yes],[with_big_core=no],[with_big_core=no])])
162 AC_MSG_RESULT($with_big_core)
163 test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
164
165@@ -477,7 +475,7 @@
166 if test "$with_termcap" != "yes" ; then
167 if test "$use_database" = no ; then
168 if test -z "$with_fallback" ; then
169- AC_ERROR(You have disabled the database w/o specifying fallbacks)
170+ AC_MSG_ERROR([You have disabled the database w/o specifying fallbacks])
171 fi
172 fi
173 AC_DEFINE(PURE_TERMINFO)
174@@ -614,10 +612,10 @@
175 test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
176
177 ###############################################################################
178+
179 CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
180
181 ###############################################################################
182-CF_HELP_MESSAGE(Extensions:)
183
184 ### Note that some functions (such as const) are normally disabled anyway.
185 AC_MSG_CHECKING(if you want to build with function extensions)
186@@ -683,7 +681,6 @@
187
188 ###############################################################################
189 # These options are relatively safe to experiment with.
190-CF_HELP_MESSAGE(Development Code:)
191 AC_MSG_CHECKING(if you want all development code)
192 AC_ARG_WITH(develop,
193 [ --with-develop enable all development options],
194@@ -719,7 +716,6 @@
195
196 ###############################################################################
197 # These are just experimental, probably should not be in a package:
198-CF_HELP_MESSAGE(Experimental Code:)
199
200 AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
201 AC_ARG_ENABLE(assumed-color,
202@@ -828,7 +824,6 @@
203 AC_SUBST(TERMINFO_CAPS)
204
205 ###############################################################################
206-CF_HELP_MESSAGE(Testing/development Options:)
207
208 ### use option --disable-echo to suppress full display compiling commands
209 AC_MSG_CHECKING(if you want to display full commands during build)
210@@ -931,7 +926,7 @@
211 AC_SUBST(MATH_LIB)
212
213 ### Checks for header files.
214-AC_STDC_HEADERS
215+AC_HEADER_STDC([])
216 AC_HEADER_DIRENT
217 AC_HEADER_TIME
218 CF_REGEX
219@@ -965,7 +960,7 @@
220 CF_SYS_TIME_SELECT
221
222 ### checks for compiler characteristics
223-AC_LANG_C
224+AC_LANG([C])
225 AC_C_CONST
226 AC_C_INLINE
227 test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
228@@ -1040,7 +1035,7 @@
229
230 # Check for C++ compiler characteristics (and ensure that it's there!)
231 if test -n "$CXX" ; then
232- AC_LANG_CPLUSPLUS
233+ AC_LANG([C++])
234 CF_STDCPP_LIBRARY
235
236 case $GXX_VERSION in
237@@ -1135,7 +1130,6 @@
238 fi
239 AC_SUBST(USE_CXX_BOOL)
240
241-CF_HELP_MESSAGE(Ada95 Binding Options:)
242
243 dnl Check for availability of GNU Ada Translator (GNAT).
244 dnl At the moment we support no other Ada95 compiler.
245@@ -1309,15 +1303,16 @@
246
247 ################################################################################
248 test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
249-AC_OUTPUT( \
250+AC_CONFIG_FILES([\
251 include/MKterm.h.awk \
252 include/curses.head:include/curses.h.in \
253 include/termcap.h \
254 include/unctrl.h \
255 $SUB_MAKEFILES \
256- Makefile,[
257+ Makefile])
258+AC_CONFIG_COMMANDS([default],[
259 CF_LIB_RULES
260-],[
261+],[[
262 ### Special initialization commands, used to pass information from the
263 ### configuration-run into config.status
264
265@@ -1348,5 +1343,6 @@
266 host="$host"
267 target="$target"
268
269-],cat)dnl
270+]])
271+AC_OUTPUT
272 ${MAKE-make} preinstall
273--- ncurses-5.4/include/ncurses_dll.h~visibility.patch
274+++ ncurses-5.4/include/ncurses_dll.h
275@@ -7,8 +7,8 @@
276 /* but this structure may be useful at some point for an MSVC build */
277 /* so, for now unconditionally define the important flags */
278 /* "the right way" for proper static and dll+auto-import behavior */
279-#undef NCURSES_DLL
280-#define NCURSES_STATIC
281+//#undef NCURSES_DLL
282+//#define NCURSES_STATIC
283
284 #if defined(__CYGWIN__)
285 # if defined(NCURSES_DLL)
286@@ -32,12 +32,20 @@
287 # endif
288 # define NCURSES_API __cdecl
289 # define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
290-# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
291+# define NCURSES_EXPORT_VAR(var) var NCURSES_IMPEXP
292 #endif
293
294 /* Take care of non-cygwin platforms */
295 #if !defined(NCURSES_IMPEXP)
296-# define NCURSES_IMPEXP /* nothing */
297+# if defined(GCC_HASCLASSVISIBILITY)
298+# if defined(NCURSES_DLL)
299+# define NCURSES_IMPEXP __attribute__ ((visibility("default")))
300+# else
301+# define NCURSES_IMPEXP /* nothing */
302+# endif
303+# else
304+# define NCURSES_IMPEXP /* nothing */
305+# endif
306 #endif
307 #if !defined(NCURSES_API)
308 # define NCURSES_API /* nothing */
309@@ -46,7 +54,7 @@
310 # define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
311 #endif
312 #if !defined(NCURSES_EXPORT_VAR)
313-# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
314+# define NCURSES_EXPORT_VAR(var) var NCURSES_IMPEXP
315 #endif
316
317 #endif /* NCURSES_DLL_H_incl */
318--- ncurses-5.4/form/fty_alnum.c~visibility.patch
319+++ ncurses-5.4/form/fty_alnum.c
320@@ -132,6 +132,6 @@
321 NULL
322 };
323
324-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALNUM = &typeALNUM;
325+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ALNUM) = &typeALNUM;
326
327 /* fty_alnum.c ends here */
328--- ncurses-5.4/form/fty_alpha.c~visibility.patch
329+++ ncurses-5.4/form/fty_alpha.c
330@@ -133,6 +133,6 @@
331 NULL
332 };
333
334-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALPHA = &typeALPHA;
335+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ALPHA) = &typeALPHA;
336
337 /* fty_alpha.c ends here */
338--- ncurses-5.4/form/fld_newftyp.c~visibility.patch
339+++ ncurses-5.4/form/fld_newftyp.c
340@@ -48,7 +48,7 @@
341 NULL /* enumerate previous function */
342 };
343
344-NCURSES_EXPORT_VAR(const FIELDTYPE*) _nc_Default_FieldType = &default_fieldtype;
345+const FIELDTYPE* NCURSES_EXPORT_VAR(_nc_Default_FieldType) = &default_fieldtype;
346
347 /*---------------------------------------------------------------------------
348 | Facility : libnform
349--- ncurses-5.4/form/form.h~visibility.patch
350+++ ncurses-5.4/form/form.h
351@@ -248,24 +248,24 @@
352 /*************************
353 * standard field types *
354 *************************/
355-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALPHA;
356-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALNUM;
357-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ENUM;
358-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_INTEGER;
359-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC;
360-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP;
361+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ALPHA);
362+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ALNUM);
363+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ENUM);
364+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_INTEGER);
365+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_NUMERIC);
366+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_REGEXP);
367
368 /************************************
369 * built-in additional field types *
370 * They are not defined in SVr4 *
371 ************************************/
372-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Version 4 address */
373+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_IPV4); /* Internet IP Version 4 address */
374
375 /***********************
376 * Default objects *
377 ***********************/
378-extern NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form;
379-extern NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field;
380+extern FORM * NCURSES_EXPORT_VAR(_nc_Default_Form);
381+extern FIELD * NCURSES_EXPORT_VAR(_nc_Default_Field);
382
383
384 /***********************
385--- ncurses-5.4/form/fty_int.c~visibility.patch
386+++ ncurses-5.4/form/fty_int.c
387@@ -155,6 +155,6 @@
388 NULL
389 };
390
391-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_INTEGER = &typeINTEGER;
392+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_INTEGER) = &typeINTEGER;
393
394 /* fty_int.c ends here */
395--- ncurses-5.4/form/fty_num.c~visibility.patch
396+++ ncurses-5.4/form/fty_num.c
397@@ -190,6 +190,6 @@
398 NULL
399 };
400
401-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_NUMERIC = &typeNUMERIC;
402+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_NUMERIC) = &typeNUMERIC;
403
404 /* fty_num.c ends here */
405--- ncurses-5.4/form/fty_regex.c~visibility.patch
406+++ ncurses-5.4/form/fty_regex.c
407@@ -252,6 +252,6 @@
408 NULL
409 };
410
411-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_REGEXP = &typeREGEXP;
412+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_REGEXP) = &typeREGEXP;
413
414 /* fty_regex.c ends here */
415--- ncurses-5.4/form/frm_def.c~visibility.patch
416+++ ncurses-5.4/form/frm_def.c
417@@ -60,7 +60,7 @@
418 NULL /* fieldterm */
419 };
420
421-NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form = &default_form;
422+FORM * NCURSES_EXPORT_VAR(_nc_Default_Form) = &default_form;
423
424 /*---------------------------------------------------------------------------
425 | Facility : libnform
426--- ncurses-5.4/form/fld_def.c~visibility.patch
427+++ ncurses-5.4/form/fld_def.c
428@@ -63,7 +63,7 @@
429 (char *)0 /* usrptr */
430 };
431
432-NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field = &default_field;
433+FIELD * NCURSES_EXPORT_VAR(_nc_Default_Field) = &default_field;
434
435 /*---------------------------------------------------------------------------
436 | Facility : libnform
437--- ncurses-5.4/form/fty_enum.c~visibility.patch
438+++ ncurses-5.4/form/fty_enum.c
439@@ -290,6 +290,6 @@
440 Previous_Enum
441 };
442
443-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ENUM = &typeENUM;
444+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ENUM) = &typeENUM;
445
446 /* fty_enum.c ends here */
447--- ncurses-5.4/form/fty_ipv4.c~visibility.patch
448+++ ncurses-5.4/form/fty_ipv4.c
449@@ -76,6 +76,6 @@
450 NULL
451 };
452
453-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_IPV4 = &typeIPV4;
454+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_IPV4) = &typeIPV4;
455
456 /* fty_ipv4.c ends here */
457--- ncurses-5.4/form/form.priv.h~visibility.patch
458+++ ncurses-5.4/form/form.priv.h
459@@ -112,7 +112,7 @@
460 #define C_BLANK ' '
461 #define is_blank(c) ((c)==C_BLANK)
462
463-extern NCURSES_EXPORT_VAR(const FIELDTYPE *) _nc_Default_FieldType;
464+extern const FIELDTYPE * NCURSES_EXPORT_VAR(_nc_Default_FieldType);
465
466 extern NCURSES_EXPORT(TypeArgument *) _nc_Make_Argument (const FIELDTYPE*,va_list*,int*);
467 extern NCURSES_EXPORT(TypeArgument *) _nc_Copy_Argument (const FIELDTYPE*,const TypeArgument*, int*);
468--- ncurses-5.4/include/tic.h~visibility.patch
469+++ ncurses-5.4/include/tic.h
470@@ -117,7 +117,7 @@
471 #define DEBUG(n, a) /*nothing*/
472 #endif
473
474-extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
475+extern unsigned NCURSES_EXPORT_VAR(_nc_tracing);
476 extern NCURSES_EXPORT(void) _nc_tracef (char *, ...) GCC_PRINTFLIKE(1,2);
477 extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
478 extern NCURSES_EXPORT(const char *) _nc_visbuf2 (int, const char *);
479@@ -151,7 +151,7 @@
480 char *tk_valstring; /* value of capability (if a string) */
481 };
482
483-extern NCURSES_EXPORT_VAR(struct token) _nc_curr_token;
484+extern struct token NCURSES_EXPORT_VAR(_nc_curr_token);
485
486 /*
487 * List of keynames with their corresponding code.
488@@ -161,7 +161,7 @@
489 int code;
490 };
491
492-extern NCURSES_EXPORT_VAR(const struct kn) _nc_key_names[];
493+extern const struct kn NCURSES_EXPORT_VAR(_nc_key_names[]);
494
495 /*
496 * Offsets to string capabilities, with the corresponding functionkey
497@@ -179,7 +179,7 @@
498
499 #else
500
501-extern NCURSES_EXPORT_VAR(struct tinfo_fkeys) _nc_tinfo_fkeys[];
502+extern struct tinfo_fkeys NCURSES_EXPORT_VAR(_nc_tinfo_fkeys[]);
503
504 #endif
505
506@@ -204,11 +204,11 @@
507 const char *source;
508 };
509
510-extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[];
511-extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[];
512+extern const struct name_table_entry * const NCURSES_EXPORT_VAR(_nc_info_hash_table[]);
513+extern const struct name_table_entry * const NCURSES_EXPORT_VAR(_nc_cap_hash_table[]);
514
515-extern NCURSES_EXPORT_VAR(const struct alias) _nc_capalias_table[];
516-extern NCURSES_EXPORT_VAR(const struct alias) _nc_infoalias_table[];
517+extern const struct alias NCURSES_EXPORT_VAR(_nc_capalias_table[]);
518+extern const struct alias NCURSES_EXPORT_VAR(_nc_infoalias_table[]);
519
520 extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool);
521 extern NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool);
522@@ -255,13 +255,13 @@
523 extern NCURSES_EXPORT(void) _nc_panic_mode (char);
524 extern NCURSES_EXPORT(void) _nc_push_token (int);
525 extern NCURSES_EXPORT(void) _nc_reset_input (FILE *, char *);
526-extern NCURSES_EXPORT_VAR(int) _nc_curr_col;
527-extern NCURSES_EXPORT_VAR(int) _nc_curr_line;
528-extern NCURSES_EXPORT_VAR(int) _nc_syntax;
529-extern NCURSES_EXPORT_VAR(long) _nc_comment_end;
530-extern NCURSES_EXPORT_VAR(long) _nc_comment_start;
531-extern NCURSES_EXPORT_VAR(long) _nc_curr_file_pos;
532-extern NCURSES_EXPORT_VAR(long) _nc_start_line;
533+extern int NCURSES_EXPORT_VAR(_nc_curr_col);
534+extern int NCURSES_EXPORT_VAR(_nc_curr_line);
535+extern int NCURSES_EXPORT_VAR(_nc_syntax);
536+extern long NCURSES_EXPORT_VAR(_nc_comment_end);
537+extern long NCURSES_EXPORT_VAR(_nc_comment_start);
538+extern long NCURSES_EXPORT_VAR(_nc_curr_file_pos);
539+extern long NCURSES_EXPORT_VAR(_nc_start_line);
540 #define SYN_TERMINFO 0
541 #define SYN_TERMCAP 1
542
543@@ -272,7 +272,7 @@
544 extern NCURSES_EXPORT(void) _nc_syserr_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
545 extern NCURSES_EXPORT(void) _nc_err_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
546 extern NCURSES_EXPORT(void) _nc_warning (const char *const,...) GCC_PRINTFLIKE(1,2);
547-extern NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings;
548+extern bool NCURSES_EXPORT_VAR(_nc_suppress_warnings);
549
550 /* comp_expand.c: expand string into readable form */
551 extern NCURSES_EXPORT(char *) _nc_tic_expand (const char *, bool, int);
552@@ -287,12 +287,12 @@
553 /* lib_tparm.c */
554 #define NUM_PARM 9
555
556-extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
557+extern int NCURSES_EXPORT_VAR(_nc_tparm_err);
558
559 extern NCURSES_EXPORT(int) _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount);
560
561 /* lib_tputs.c */
562-extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent; /* Add one for every null sent */
563+extern int NCURSES_EXPORT_VAR(_nc_nulls_sent); /* Add one for every null sent */
564
565 /* comp_main.c: compiler main */
566 extern const char * _nc_progname;
567--- ncurses-5.4/include/MKterm.h.awk.in~visibility.patch
568+++ ncurses-5.4/include/MKterm.h.awk.in
569@@ -228,9 +228,9 @@
570 print " char * _termname; /* used for termname() */"
571 print "} TERMINAL;"
572 print ""
573- print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
574+ print "extern TERMINAL * NCURSES_EXPORT_VAR(cur_term);"
575 print ""
576- print "#if BROKEN_LINKER"
577+ print "#if defined(BROKEN_LINKER)"
578 print "#define boolnames _nc_boolnames()"
579 print "#define boolcodes _nc_boolcodes()"
580 print "#define boolfnames _nc_boolfnames()"
581@@ -253,15 +253,15 @@
582 print ""
583 print "#else"
584 print ""
585- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
586- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
587- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
588- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
589- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
590- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
591- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
592- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
593- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
594+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(boolnames[]);"
595+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(boolcodes[]);"
596+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(boolfnames[]);"
597+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(numnames[]);"
598+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(numcodes[]);"
599+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(numfnames[]);"
600+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(strnames[]);"
601+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(strcodes[]);"
602+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(strfnames[]);"
603 print ""
604 print "#endif"
605 print ""
606@@ -287,7 +287,7 @@
607 print "#if !defined(__NCURSES_H)"
608 print "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
609 print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);"
610- print "extern NCURSES_EXPORT_VAR(char) ttytype[];"
611+ print "extern char NCURSES_EXPORT_VAR(ttytype[]);"
612 print "extern NCURSES_EXPORT(int) putp (const char *);"
613 print "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
614 print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
615--- ncurses-5.4/include/termcap.h.in~visibility.patch
616+++ ncurses-5.4/include/termcap.h.in
617@@ -54,10 +54,10 @@
618 #undef NCURSES_OSPEED
619 #define NCURSES_OSPEED @NCURSES_OSPEED@
620
621-extern NCURSES_EXPORT_VAR(char) PC;
622-extern NCURSES_EXPORT_VAR(char *) UP;
623-extern NCURSES_EXPORT_VAR(char *) BC;
624-extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed;
625+extern char NCURSES_EXPORT_VAR(PC);
626+extern char * NCURSES_EXPORT_VAR(UP);
627+extern char * NCURSES_EXPORT_VAR(BC);
628+extern NCURSES_OSPEED NCURSES_EXPORT_VAR(ospeed);
629
630 #if !defined(NCURSES_TERM_H_incl)
631 extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
632--- ncurses-5.4/include/term_entry.h~visibility.patch
633+++ ncurses-5.4/include/term_entry.h
634@@ -90,8 +90,8 @@
635 #define ExtNumname(tp,i,names) EXT_NAMES(tp, i, NUMCOUNT, (i - (tp->num_Numbers - tp->ext_Numbers)) + tp->ext_Booleans, names)
636 #define ExtStrname(tp,i,names) EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_Strings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names)
637
638-extern NCURSES_EXPORT_VAR(ENTRY *) _nc_head;
639-extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail;
640+extern ENTRY * NCURSES_EXPORT_VAR(_nc_head);
641+extern ENTRY * NCURSES_EXPORT_VAR(_nc_tail);
642 #define for_entry_list(qp) for (qp = _nc_head; qp; qp = qp->next)
643
644 #define MAX_LINE 132
645@@ -135,8 +135,8 @@
646
647 /* parse_entry.c: entry-parsing code */
648 #if NCURSES_XNAMES
649-extern NCURSES_EXPORT_VAR(bool) _nc_user_definable;
650-extern NCURSES_EXPORT_VAR(bool) _nc_disable_period;
651+extern bool NCURSES_EXPORT_VAR(_nc_user_definable);
652+extern bool NCURSES_EXPORT_VAR(_nc_disable_period);
653 #endif
654 extern NCURSES_EXPORT(int) _nc_parse_entry (ENTRY *, int, bool);
655 extern NCURSES_EXPORT(int) _nc_capcmp (const char *, const char *);
656--- ncurses-5.4/include/curses.h.in~visibility.patch
657+++ ncurses-5.4/include/curses.h.in
658@@ -171,8 +171,8 @@
659 #define WA_VERTICAL A_VERTICAL
660
661 /* colors */
662-extern NCURSES_EXPORT_VAR(int) COLORS;
663-extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
664+extern int NCURSES_EXPORT_VAR(COLORS);
665+extern int NCURSES_EXPORT_VAR(COLOR_PAIRS);
666
667 #define COLOR_BLACK 0
668 #define COLOR_RED 1
669@@ -186,10 +186,10 @@
670 /* line graphics */
671
672 #if @BROKEN_LINKER@
673-extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void);
674+extern chtype* NCURSES_EXPORT_VAR(_nc_acs_map)(void);
675 #define acs_map (_nc_acs_map())
676 #else
677-extern NCURSES_EXPORT_VAR(chtype) acs_map[];
678+extern chtype NCURSES_EXPORT_VAR(acs_map[]);
679 #endif
680
681 #define NCURSES_ACS(c) (acs_map[(unsigned char)c])
682@@ -369,20 +369,20 @@
683 #endif
684 };
685
686-extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
687-extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
688-extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
689+extern WINDOW * NCURSES_EXPORT_VAR(stdscr);
690+extern WINDOW * NCURSES_EXPORT_VAR(curscr);
691+extern WINDOW * NCURSES_EXPORT_VAR(newscr);
692
693-extern NCURSES_EXPORT_VAR(int) LINES;
694-extern NCURSES_EXPORT_VAR(int) COLS;
695-extern NCURSES_EXPORT_VAR(int) TABSIZE;
696+extern int NCURSES_EXPORT_VAR(LINES);
697+extern int NCURSES_EXPORT_VAR(COLS);
698+extern int NCURSES_EXPORT_VAR(TABSIZE);
699
700 /*
701 * This global was an undocumented feature under AIX curses.
702 */
703-extern NCURSES_EXPORT_VAR(int) ESCDELAY; /* ESC expire time in milliseconds */
704+extern int NCURSES_EXPORT_VAR(ESCDELAY); /* ESC expire time in milliseconds */
705
706-extern NCURSES_EXPORT_VAR(char) ttytype[]; /* needed for backward compatibility */
707+extern char NCURSES_EXPORT_VAR(ttytype[]); /* needed for backward compatibility */
708
709 /*
710 * These functions are extensions - not in XSI Curses.
711--- ncurses-5.4/include/curses.tail~visibility.patch
712+++ ncurses-5.4/include/curses.tail
713@@ -110,7 +110,7 @@
714 #define TRACE_MAXIMUM ((1 << TRACE_SHIFT) - 1) /* maximum trace level */
715
716 #if defined(TRACE) || defined(NCURSES_TEST)
717-extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable; /* enable optimizations */
718+extern int NCURSES_EXPORT_VAR(_nc_optimize_enable); /* enable optimizations */
719 #ifdef _XOPEN_SOURCE_EXTENDED
720 extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *);
721 #endif
722--- ncurses-5.4/include/curses.wide~visibility.patch
723+++ ncurses-5.4/include/curses.wide
724@@ -3,7 +3,7 @@
725
726 /* $Id: curses.wide,v 1.28 2004/01/03 20:35:14 tom Exp $ */
727
728-extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
729+extern cchar_t * NCURSES_EXPORT_VAR(_nc_wacs);
730
731 #define NCURSES_WACS(c) (&_nc_wacs[(unsigned char)c])
732
733--- ncurses-5.4/menu/menu.priv.h~visibility.patch
734+++ ncurses-5.4/menu/menu.priv.h
735@@ -49,8 +49,8 @@
736 /* Backspace code */
737 #define BS (8)
738
739-extern NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item;
740-extern NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu;
741+extern ITEM NCURSES_EXPORT_VAR(_nc_Default_Item);
742+extern MENU NCURSES_EXPORT_VAR(_nc_Default_Menu);
743
744 /* Normalize item to default if none was given */
745 #define Normalize_Item( item ) ((item)=(item)?(item):&_nc_Default_Item)
746--- ncurses-5.4/menu/m_global.c~visibility.patch
747+++ ncurses-5.4/menu/m_global.c
748@@ -41,7 +41,7 @@
749
750 static char mark[] = "-";
751
752-NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu = {
753+MENU NCURSES_EXPORT_VAR(_nc_Default_Menu) = {
754 16, /* Nr. of chars high */
755 1, /* Nr. of chars wide */
756 16, /* Nr. of items high */
757@@ -80,7 +80,7 @@
758 0 /* status */
759 };
760
761-NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item = {
762+ITEM NCURSES_EXPORT_VAR(_nc_Default_Item) = {
763 { (char *)0, 0 }, /* name */
764 { (char *)0, 0 }, /* description */
765 (MENU *)0, /* Pointer to parent menu */
766--- ncurses-5.4/ncurses/tty/lib_mvcur.c~visibility.patch
767+++ ncurses-5.4/ncurses/tty/lib_mvcur.c
768@@ -937,7 +937,7 @@
769 }
770
771 #if defined(TRACE) || defined(NCURSES_TEST)
772-NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL;
773+int NCURSES_EXPORT_VAR(_nc_optimize_enable) = OPTIMIZE_ALL;
774 #endif
775
776 #if defined(MAIN) || defined(NCURSES_TEST)
777@@ -950,7 +950,7 @@
778 #include <tic.h>
779 #include <dump_entry.h>
780
781-NCURSES_EXPORT_VAR(const char *) _nc_progname = "mvcur";
782+const char * NCURSES_EXPORT_VAR(_nc_progname) = "mvcur";
783
784 static unsigned long xmits;
785
786--- ncurses-5.4/ncurses/tty/hardscroll.c~visibility.patch
787+++ ncurses-5.4/ncurses/tty/hardscroll.c
788@@ -151,8 +151,7 @@
789
790 # undef screen_lines
791 # define screen_lines MAXLINES
792-NCURSES_EXPORT_VAR(int)
793-oldnums[MAXLINES];
794+int NCURSES_EXPORT_VAR(oldnums[MAXLINES]);
795 # define OLDNUM(n) oldnums[n]
796 # define _tracef printf
797 # undef TR
798@@ -163,8 +162,7 @@
799 /* OLDNUM(n) indicates which line will be shifted to the position n.
800 if OLDNUM(n) == _NEWINDEX, then the line n in new, not shifted from
801 somewhere. */
802-NCURSES_EXPORT_VAR(int *)
803-_nc_oldnums = 0;
804+int * NCURSES_EXPORT_VAR(_nc_oldnums) = 0;
805
806 # if USE_HASHMAP
807 static int oldnums_allocated = 0;
808--- ncurses-5.4/ncurses/base/lib_getch.c~visibility.patch
809+++ ncurses-5.4/ncurses/base/lib_getch.c
810@@ -44,8 +44,7 @@
811
812 #include <fifo_defs.h>
813
814-NCURSES_EXPORT_VAR(int)
815-ESCDELAY = 1000; /* max interval betw. chars in funkeys, in millisecs */
816+int NCURSES_EXPORT_VAR(ESCDELAY) = 1000; /* max interval betw. chars in funkeys, in millisecs */
817
818 #ifdef NCURSES_WGETCH_EVENTS
819 #define TWAIT_MASK 7
820--- ncurses-5.4/ncurses/base/lib_slk.c~visibility.patch
821+++ ncurses-5.4/ncurses/base/lib_slk.c
822@@ -47,8 +47,7 @@
823 * We'd like to move these into the screen context structure, but cannot,
824 * because slk_init() is called before initscr()/newterm().
825 */
826-NCURSES_EXPORT_VAR(int)
827-_nc_slk_format = 0; /* one more than format specified in slk_init() */
828+int NCURSES_EXPORT_VAR(_nc_slk_format) = 0; /* one more than format specified in slk_init() */
829
830 /*
831 * Paint the info line for the PC style SLK emulation.
832--- ncurses-5.4/ncurses/base/lib_color.c~visibility.patch
833+++ ncurses-5.4/ncurses/base/lib_color.c
834@@ -48,8 +48,8 @@
835 * historical reasons. So we assign them in start_color() and also in
836 * set_term()'s screen-switching logic.
837 */
838-NCURSES_EXPORT_VAR(int) COLOR_PAIRS = 0;
839-NCURSES_EXPORT_VAR(int) COLORS = 0;
840+int NCURSES_EXPORT_VAR(COLOR_PAIRS) = 0;
841+int NCURSES_EXPORT_VAR(COLORS) = 0;
842
843 #define DATA(r,g,b) {r,g,b, 0,0,0, 0}
844
845--- ncurses-5.4/ncurses/tinfo/lib_termcap.c~visibility.patch
846+++ ncurses-5.4/ncurses/tinfo/lib_termcap.c
847@@ -50,8 +50,8 @@
848 #define L_BRACK '['
849 #define SHIFT_OUT 017 /* ^N */
850
851-NCURSES_EXPORT_VAR(char *) UP = 0;
852-NCURSES_EXPORT_VAR(char *) BC = 0;
853+char * NCURSES_EXPORT_VAR(UP) = 0;
854+char * NCURSES_EXPORT_VAR(BC) = 0;
855
856 static char *fix_me = 0;
857
858--- ncurses-5.4/ncurses/tinfo/lib_cur_term.c~visibility.patch
859+++ ncurses-5.4/ncurses/tinfo/lib_cur_term.c
860@@ -42,7 +42,7 @@
861
862 MODULE_ID("$Id: lib_cur_term.c,v 1.13 2003/12/27 18:21:30 tom Exp $")
863
864-NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0;
865+TERMINAL * NCURSES_EXPORT_VAR(cur_term) = 0;
866
867 NCURSES_EXPORT(TERMINAL *)
868 set_curterm(TERMINAL * termp)
869--- ncurses-5.4/ncurses/tinfo/lib_setup.c~visibility.patch
870+++ ncurses-5.4/ncurses/tinfo/lib_setup.c
871@@ -91,10 +91,10 @@
872 # endif
873 #endif
874
875-NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
876-NCURSES_EXPORT_VAR(int) LINES = 0;
877-NCURSES_EXPORT_VAR(int) COLS = 0;
878-NCURSES_EXPORT_VAR(int) TABSIZE = 0;
879+char NCURSES_EXPORT_VAR(ttytype[NAMESIZE]) = "";
880+int NCURSES_EXPORT_VAR(LINES) = 0;
881+int NCURSES_EXPORT_VAR(COLS) = 0;
882+int NCURSES_EXPORT_VAR(TABSIZE) = 0;
883
884 static int _use_env = TRUE;
885
886--- ncurses-5.4/ncurses/tinfo/MKnames.awk~visibility.patch
887+++ ncurses-5.4/ncurses/tinfo/MKnames.awk
888@@ -10,7 +10,7 @@
889 print "#include <term.h>" > "namehdr"
890 print "#define DCL(it) static IT data##it[]" > "namehdr"
891 print "#else" > "namehdr"
892- print "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]" > "namehdr"
893+ print "#define DCL(it) IT NCURSES_EXPORT_VAR(it[])" > "namehdr"
894 print "#endif" > "namehdr"
895 print "" > "namehdr"
896 print "/*" > "boolnames"
897--- ncurses-5.4/ncurses/tinfo/lib_tparm.c~visibility.patch
898+++ ncurses-5.4/ncurses/tinfo/lib_tparm.c
899@@ -115,7 +115,7 @@
900 bool num_type;
901 } stack_frame;
902
903-NCURSES_EXPORT_VAR(int) _nc_tparm_err = 0;
904+int NCURSES_EXPORT_VAR(_nc_tparm_err) = 0;
905
906 static stack_frame stack[STACKSIZE];
907 static int stack_ptr;
908--- ncurses-5.4/ncurses/tinfo/lib_tputs.c~visibility.patch
909+++ ncurses-5.4/ncurses/tinfo/lib_tputs.c
910@@ -47,10 +47,10 @@
911
912 MODULE_ID("$Id: lib_tputs.c,v 1.62 2003/08/23 21:39:20 tom Exp $")
913
914-NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */
915-NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */
916+char NCURSES_EXPORT_VAR(PC) = 0; /* used by termcap library */
917+NCURSES_OSPEED NCURSES_EXPORT_VAR(ospeed) = 0; /* used by termcap library */
918
919-NCURSES_EXPORT_VAR(int) _nc_nulls_sent = 0; /* used by 'tack' program */
920+int NCURSES_EXPORT_VAR(_nc_nulls_sent) = 0; /* used by 'tack' program */
921
922 static int (*my_outch) (int c) = _nc_outch;
923
924--- ncurses-5.4/ncurses/tinfo/comp_error.c~visibility.patch
925+++ ncurses-5.4/ncurses/tinfo/comp_error.c
926@@ -42,9 +42,9 @@
927
928 MODULE_ID("$Id: comp_error.c,v 1.25 2002/09/07 20:05:07 tom Exp $")
929
930-NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings = FALSE;
931-NCURSES_EXPORT_VAR(int) _nc_curr_line = 0; /* current line # in input */
932-NCURSES_EXPORT_VAR(int) _nc_curr_col = 0; /* current column # in input */
933+bool NCURSES_EXPORT_VAR(_nc_suppress_warnings) = FALSE;
934+int NCURSES_EXPORT_VAR(_nc_curr_line) = 0; /* current line # in input */
935+int NCURSES_EXPORT_VAR(_nc_curr_col) = 0; /* current column # in input */
936
937 static const char *sourcename;
938 static char *termtype;
939--- ncurses-5.4/ncurses/tinfo/free_ttype.c~visibility.patch
940+++ ncurses-5.4/ncurses/tinfo/free_ttype.c
941@@ -92,7 +92,7 @@
942 }
943
944 #if NCURSES_XNAMES
945-NCURSES_EXPORT_VAR(bool) _nc_user_definable = TRUE;
946+bool NCURSES_EXPORT_VAR(_nc_user_definable) = TRUE;
947
948 NCURSES_EXPORT(int)
949 use_extended_names(bool flag)
950--- ncurses-5.4/ncurses/tinfo/comp_parse.c~visibility.patch
951+++ ncurses-5.4/ncurses/tinfo/comp_parse.c
952@@ -78,8 +78,8 @@
953 * _nc_head _nc_tail
954 */
955
956-NCURSES_EXPORT_VAR(ENTRY *) _nc_head = 0;
957-NCURSES_EXPORT_VAR(ENTRY *) _nc_tail = 0;
958+ENTRY * NCURSES_EXPORT_VAR(_nc_head) = 0;
959+ENTRY * NCURSES_EXPORT_VAR(_nc_tail) = 0;
960
961 static void
962 enqueue(ENTRY * ep)
963--- ncurses-5.4/ncurses/tinfo/comp_scan.c~visibility.patch
964+++ ncurses-5.4/ncurses/tinfo/comp_scan.c
965@@ -60,19 +60,13 @@
966
967 #define iswhite(ch) (ch == ' ' || ch == '\t')
968
969-NCURSES_EXPORT_VAR(int)
970-_nc_syntax = 0; /* termcap or terminfo? */
971-NCURSES_EXPORT_VAR(long)
972-_nc_curr_file_pos = 0; /* file offset of current line */
973-NCURSES_EXPORT_VAR(long)
974-_nc_comment_start = 0; /* start of comment range before name */
975-NCURSES_EXPORT_VAR(long)
976-_nc_comment_end = 0; /* end of comment range before name */
977-NCURSES_EXPORT_VAR(long)
978-_nc_start_line = 0; /* start line of current entry */
979+int NCURSES_EXPORT_VAR(_nc_syntax) = 0; /* termcap or terminfo? */
980+long NCURSES_EXPORT_VAR(_nc_curr_file_pos) = 0; /* file offset of current line */
981+long NCURSES_EXPORT_VAR(_nc_comment_start) = 0; /* start of comment range before name */
982+long NCURSES_EXPORT_VAR(_nc_comment_end) = 0; /* end of comment range before name */
983+long NCURSES_EXPORT_VAR(_nc_start_line) = 0; /* start line of current entry */
984
985-NCURSES_EXPORT_VAR(struct token)
986-_nc_curr_token =
987+struct token NCURSES_EXPORT_VAR(_nc_curr_token) =
988 {
989 0, 0, 0
990 };
991@@ -90,8 +84,7 @@
992 static char *pushname;
993
994 #if NCURSES_EXT_FUNCS
995-NCURSES_EXPORT_VAR(bool)
996-_nc_disable_period = FALSE; /* used by tic -a option */
997+bool NCURSES_EXPORT_VAR(_nc_disable_period) = FALSE; /* used by tic -a option */
998 #endif
999
1000 static bool end_of_stream(void);
1001--- ncurses-5.4/ncurses/tinfo/lib_acs.c~visibility.patch
1002+++ ncurses-5.4/ncurses/tinfo/lib_acs.c
1003@@ -37,8 +37,7 @@
1004 MODULE_ID("$Id: lib_acs.c,v 1.25 2002/12/28 16:26:46 tom Exp $")
1005
1006 #if BROKEN_LINKER
1007-NCURSES_EXPORT_VAR(chtype *)
1008-_nc_acs_map(void)
1009+chtype * NCURSES_EXPORT_VAR(_nc_acs_map)(void)
1010 {
1011 static chtype *the_map = 0;
1012 if (the_map == 0)
1013@@ -46,7 +45,7 @@
1014 return the_map;
1015 }
1016 #else
1017-NCURSES_EXPORT_VAR(chtype) acs_map[ACS_LEN] =
1018+chtype NCURSES_EXPORT_VAR(acs_map[ACS_LEN]) =
1019 {
1020 0
1021 };
1022--- ncurses-5.4/ncurses/tinfo/lib_data.c~visibility.patch
1023+++ ncurses-5.4/ncurses/tinfo/lib_data.c
1024@@ -46,14 +46,11 @@
1025 * OS/2's native linker complains if we don't initialize public data when
1026 * constructing a dll (reported by J.J.G.Ripoll).
1027 */
1028-NCURSES_EXPORT_VAR(WINDOW *)
1029-stdscr = 0;
1030-NCURSES_EXPORT_VAR(WINDOW *)
1031-curscr = 0;
1032-NCURSES_EXPORT_VAR(WINDOW *)
1033-newscr = 0;
1034+WINDOW * NCURSES_EXPORT_VAR(stdscr) = 0;
1035+WINDOW * NCURSES_EXPORT_VAR(curscr) = 0;
1036+WINDOW * NCURSES_EXPORT_VAR(newscr) = 0;
1037
1038-NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain = 0;
1039+SCREEN * NCURSES_EXPORT_VAR(_nc_screen_chain) = 0;
1040
1041 /*
1042 * The variable 'SP' will be defined as a function on systems that cannot link
1043@@ -87,5 +84,5 @@
1044 }
1045
1046 #else
1047-NCURSES_EXPORT_VAR(SCREEN *) SP = NULL; /* Some linkers require initialized data... */
1048+SCREEN * NCURSES_EXPORT_VAR(SP) = NULL; /* Some linkers require initialized data... */
1049 #endif
1050--- ncurses-5.4/ncurses/trace/lib_trace.c~visibility.patch
1051+++ ncurses-5.4/ncurses/trace/lib_trace.c
1052@@ -42,11 +42,11 @@
1053
1054 MODULE_ID("$Id: lib_trace.c,v 1.53 2003/11/23 00:39:30 tom Exp $")
1055
1056-NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
1057+unsigned NCURSES_EXPORT_VAR(_nc_tracing) = 0; /* always define this */
1058
1059 #ifdef TRACE
1060-NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace = "";
1061-NCURSES_EXPORT_VAR(long) _nc_outchars = 0;
1062+const char * NCURSES_EXPORT_VAR(_nc_tputs_trace) = "";
1063+long NCURSES_EXPORT_VAR(_nc_outchars) = 0;
1064
1065 static FILE *tracefp = 0; /* default to writing to stderr */
1066
1067--- ncurses-5.4/ncurses/curses.priv.h~visibility.patch
1068+++ ncurses-5.4/ncurses/curses.priv.h
1069@@ -498,7 +498,7 @@
1070 #endif
1071 };
1072
1073-extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain;
1074+extern SCREEN * NCURSES_EXPORT_VAR(_nc_screen_chain);
1075
1076 #if NCURSES_NOMACROS
1077 #include <nomacros.h>
1078@@ -752,9 +752,9 @@
1079 extern NCURSES_EXPORT(int) _nc_retrace_int (int);
1080 extern NCURSES_EXPORT(unsigned) _nc_retrace_unsigned (unsigned);
1081 extern NCURSES_EXPORT(void) _nc_fifo_dump (void);
1082-extern NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace;
1083-extern NCURSES_EXPORT_VAR(long) _nc_outchars;
1084-extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
1085+extern const char * NCURSES_EXPORT_VAR(_nc_tputs_trace);
1086+extern long NCURSES_EXPORT_VAR(_nc_outchars);
1087+extern unsigned NCURSES_EXPORT_VAR(_nc_tracing);
1088
1089 #if USE_WIDEC_SUPPORT
1090 extern NCURSES_EXPORT(const char *) _nc_viswbuf2 (int, const wchar_t *);
1091@@ -1055,7 +1055,7 @@
1092 #endif
1093
1094 /* scroll indices */
1095-extern NCURSES_EXPORT_VAR(int *) _nc_oldnums;
1096+extern int * NCURSES_EXPORT_VAR(_nc_oldnums);
1097
1098 #define USE_SETBUF_0 0
1099
1100@@ -1074,7 +1074,7 @@
1101 extern NCURSES_EXPORT(void) _nc_set_screen (SCREEN *);
1102 #else
1103 /* current screen is private data; avoid possible linking conflicts too */
1104-extern NCURSES_EXPORT_VAR(SCREEN *) SP;
1105+extern SCREEN * NCURSES_EXPORT_VAR(SP);
1106 #define _nc_alloc_screen() ((SP = typeCalloc(SCREEN, 1)) != 0)
1107 #define _nc_set_screen(sp) SP = sp
1108 #endif
1109@@ -1087,7 +1087,7 @@
1110 #define screen_lines SP->_lines
1111 #define screen_columns SP->_columns
1112
1113-extern NCURSES_EXPORT_VAR(int) _nc_slk_format; /* != 0 if slk_init() called */
1114+extern int NCURSES_EXPORT_VAR(_nc_slk_format); /* != 0 if slk_init() called */
1115 extern NCURSES_EXPORT(int) _nc_slk_initialize (WINDOW *, int);
1116
1117 /*
1118--- /dev/null
1119+++ ncurses-5.4/m4/cf.m4
1120@@ -0,0 +1,3703 @@
1121+dnl***************************************************************************
1122+dnl Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
1123+dnl *
1124+dnl Permission is hereby granted, free of charge, to any person obtaining a *
1125+dnl copy of this software and associated documentation files (the *
1126+dnl "Software"), to deal in the Software without restriction, including *
1127+dnl without limitation the rights to use, copy, modify, merge, publish, *
1128+dnl distribute, distribute with modifications, sublicense, and/or sell *
1129+dnl copies of the Software, and to permit persons to whom the Software is *
1130+dnl furnished to do so, subject to the following conditions: *
1131+dnl *
1132+dnl The above copyright notice and this permission notice shall be included *
1133+dnl in all copies or substantial portions of the Software. *
1134+dnl *
1135+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
1136+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
1137+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
1138+dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
1139+dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
1140+dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
1141+dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
1142+dnl *
1143+dnl Except as contained in this notice, the name(s) of the above copyright *
1144+dnl holders shall not be used in advertising or otherwise to promote the *
1145+dnl sale, use or other dealings in this Software without prior written *
1146+dnl authorization. *
1147+dnl***************************************************************************
1148+dnl
1149+dnl Author: Thomas E. Dickey 1995-2003
1150+dnl
1151+dnl $Id: aclocal.m4,v 1.333 2004/01/30 20:59:56 tom Exp $
1152+dnl Macros used in NCURSES auto-configuration script.
1153+dnl
1154+dnl See http://invisible-island.net/autoconf/ for additional information.
1155+dnl
1156+dnl ---------------------------------------------------------------------------
1157+dnl ---------------------------------------------------------------------------
1158+dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
1159+dnl -------------------
1160+dnl Construct the list of include-options for the C programs in the Ada95
1161+dnl binding.
1162+AC_DEFUN([CF_ADA_INCLUDE_DIRS],
1163+[
1164+ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
1165+if test "$srcdir" != "."; then
1166+ ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS"
1167+fi
1168+if test "$GCC" != yes; then
1169+ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
1170+elif test "$includedir" != "/usr/include"; then
1171+ if test "$includedir" = '${prefix}/include' ; then
1172+ if test $prefix != /usr ; then
1173+ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
1174+ fi
1175+ else
1176+ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
1177+ fi
1178+fi
1179+AC_SUBST(ACPPFLAGS)
1180+])dnl
1181+dnl ---------------------------------------------------------------------------
1182+dnl CF_ADD_CFLAGS version: 5 updated: 2002/12/01 00:12:15
1183+dnl -------------
1184+dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
1185+dnl The second parameter if given makes this macro verbose.
1186+AC_DEFUN([CF_ADD_CFLAGS],
1187+[
1188+cf_new_cflags=
1189+cf_new_cppflags=
1190+for cf_add_cflags in $1
1191+do
1192+ case $cf_add_cflags in #(vi
1193+ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
1194+ case "$CPPFLAGS" in
1195+ *$cf_add_cflags) #(vi
1196+ ;;
1197+ *) #(vi
1198+ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
1199+ ;;
1200+ esac
1201+ ;;
1202+ *)
1203+ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
1204+ ;;
1205+ esac
1206+done
1207+
1208+if test -n "$cf_new_cflags" ; then
1209+ ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
1210+ CFLAGS="$CFLAGS $cf_new_cflags"
1211+fi
1212+
1213+if test -n "$cf_new_cppflags" ; then
1214+ ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
1215+ CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
1216+fi
1217+
1218+])dnl
1219+dnl ---------------------------------------------------------------------------
1220+dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
1221+dnl ----------------
1222+dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
1223+dnl in the sharutils 4.2 distribution.
1224+AC_DEFUN([CF_ANSI_CC_CHECK],
1225+[
1226+AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[
1227+cf_cv_ansi_cc=no
1228+cf_save_CFLAGS="$CFLAGS"
1229+cf_save_CPPFLAGS="$CPPFLAGS"
1230+# Don't try gcc -ansi; that turns off useful extensions and
1231+# breaks some systems' header files.
1232+# AIX -qlanglvl=ansi
1233+# Ultrix and OSF/1 -std1
1234+# HP-UX -Aa -D_HPUX_SOURCE
1235+# SVR4 -Xc
1236+# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
1237+for cf_arg in "-DCC_HAS_PROTOS" \
1238+ "" \
1239+ -qlanglvl=ansi \
1240+ -std1 \
1241+ -Ae \
1242+ "-Aa -D_HPUX_SOURCE" \
1243+ -Xc
1244+do
1245+ CF_ADD_CFLAGS($cf_arg)
1246+ AC_TRY_COMPILE(
1247+[
1248+#ifndef CC_HAS_PROTOS
1249+#if !defined(__STDC__) || (__STDC__ != 1)
1250+choke me
1251+#endif
1252+#endif
1253+],[
1254+ int test (int i, double x);
1255+ struct s1 {int (*f) (int a);};
1256+ struct s2 {int (*f) (double a);};],
1257+ [cf_cv_ansi_cc="$cf_arg"; break])
1258+done
1259+CFLAGS="$cf_save_CFLAGS"
1260+CPPFLAGS="$cf_save_CPPFLAGS"
1261+])
1262+
1263+if test "$cf_cv_ansi_cc" != "no"; then
1264+if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
1265+ CF_ADD_CFLAGS($cf_cv_ansi_cc)
1266+else
1267+ AC_DEFINE(CC_HAS_PROTOS)
1268+fi
1269+fi
1270+])dnl
1271+dnl ---------------------------------------------------------------------------
1272+dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44
1273+dnl ---------------
1274+dnl For programs that must use an ANSI compiler, obtain compiler options that
1275+dnl will make it recognize prototypes. We'll do preprocessor checks in other
1276+dnl macros, since tools such as unproto can fake prototypes, but only part of
1277+dnl the preprocessor.
1278+AC_DEFUN([CF_ANSI_CC_REQD],
1279+[AC_REQUIRE([CF_ANSI_CC_CHECK])
1280+if test "$cf_cv_ansi_cc" = "no"; then
1281+ AC_ERROR(
1282+[Your compiler does not appear to recognize prototypes.
1283+You have the following choices:
1284+ a. adjust your compiler options
1285+ b. get an up-to-date compiler
1286+ c. use a wrapper such as unproto])
1287+fi
1288+])dnl
1289+dnl ---------------------------------------------------------------------------
1290+dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
1291+dnl ------------
1292+dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
1293+dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
1294+dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
1295+dnl
1296+dnl Treat the configuration-variable specially here, since we're directly
1297+dnl substituting its value (i.e., 1/0).
1298+dnl
1299+dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
1300+AC_DEFUN([CF_BOOL_DECL],
1301+[
1302+AC_MSG_CHECKING(if we should include stdbool.h)
1303+
1304+AC_CACHE_VAL(cf_cv_header_stdbool_h,[
1305+ AC_TRY_COMPILE([],[bool foo = false],
1306+ [cf_cv_header_stdbool_h=0],
1307+ [AC_TRY_COMPILE([
1308+#ifndef __BEOS__
1309+#include <stdbool.h>
1310+#endif
1311+],[bool foo = false],
1312+ [cf_cv_header_stdbool_h=1],
1313+ [cf_cv_header_stdbool_h=0])])])
1314+
1315+if test "$cf_cv_header_stdbool_h" = 1
1316+then AC_MSG_RESULT(yes)
1317+else AC_MSG_RESULT(no)
1318+fi
1319+
1320+AC_MSG_CHECKING([for builtin bool type])
1321+
1322+AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
1323+ AC_TRY_COMPILE([
1324+#include <stdio.h>
1325+#include <sys/types.h>
1326+],[bool x = false],
1327+ [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
1328+ [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
1329+ ])
1330+
1331+if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
1332+then AC_MSG_RESULT(yes)
1333+else AC_MSG_RESULT(no)
1334+fi
1335+])dnl
1336+dnl ---------------------------------------------------------------------------
1337+dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31
1338+dnl ------------
1339+dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
1340+dnl Don't bother looking for bool.h, since it's been deprecated.
1341+dnl
1342+dnl If the current compiler is C rather than C++, we get the bool definition
1343+dnl from <stdbool.h>.
1344+AC_DEFUN([CF_BOOL_SIZE],
1345+[
1346+AC_MSG_CHECKING([for size of bool])
1347+AC_CACHE_VAL(cf_cv_type_of_bool,[
1348+ rm -f cf_test.out
1349+ AC_TRY_RUN([
1350+#include <stdlib.h>
1351+#include <stdio.h>
1352+
1353+#if defined(__cplusplus)
1354+
1355+#ifdef HAVE_GXX_BUILTIN_H
1356+#include <g++/builtin.h>
1357+#elif HAVE_GPP_BUILTIN_H
1358+#include <gpp/builtin.h>
1359+#elif HAVE_BUILTIN_H
1360+#include <builtin.h>
1361+#endif
1362+
1363+#else
1364+
1365+#if $cf_cv_header_stdbool_h
1366+#include <stdbool.h>
1367+#endif
1368+
1369+#endif
1370+
1371+main()
1372+{
1373+ FILE *fp = fopen("cf_test.out", "w");
1374+ if (fp != 0) {
1375+ bool x = true;
1376+ if ((bool)(-x) >= 0)
1377+ fputs("unsigned ", fp);
1378+ if (sizeof(x) == sizeof(int)) fputs("int", fp);
1379+ else if (sizeof(x) == sizeof(char)) fputs("char", fp);
1380+ else if (sizeof(x) == sizeof(short))fputs("short",fp);
1381+ else if (sizeof(x) == sizeof(long)) fputs("long", fp);
1382+ fclose(fp);
1383+ }
1384+ exit(0);
1385+}
1386+ ],
1387+ [cf_cv_type_of_bool=`cat cf_test.out`
1388+ if test -z "$cf_cv_type_of_bool"; then
1389+ cf_cv_type_of_bool=unknown
1390+ fi],
1391+ [cf_cv_type_of_bool=unknown],
1392+ [cf_cv_type_of_bool=unknown])
1393+ ])
1394+ rm -f cf_test.out
1395+AC_MSG_RESULT($cf_cv_type_of_bool)
1396+if test "$cf_cv_type_of_bool" = unknown ; then
1397+ case .$NCURSES_BOOL in #(vi
1398+ .auto|.) NCURSES_BOOL=unsigned;;
1399+ esac
1400+ AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
1401+ cf_cv_type_of_bool=$NCURSES_BOOL
1402+fi
1403+])dnl
1404+dnl ---------------------------------------------------------------------------
1405+dnl CF_CFG_DEFAULTS version: 6 updated: 2003/07/12 15:15:19
1406+dnl ---------------
1407+dnl Determine the default configuration into which we'll install ncurses. This
1408+dnl can be overridden by the user's command-line options. There's two items to
1409+dnl look for:
1410+dnl 1. the prefix (e.g., /usr)
1411+dnl 2. the header files (e.g., /usr/include/ncurses)
1412+dnl We'll look for a previous installation of ncurses and use the same defaults.
1413+dnl
1414+dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
1415+dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
1416+dnl programs from a vendor's.
1417+AC_DEFUN([CF_CFG_DEFAULTS],
1418+[
1419+AC_MSG_CHECKING(for prefix)
1420+if test "x$prefix" = "xNONE" ; then
1421+ case "$cf_cv_system_name" in
1422+ # non-vendor systems don't have a conflict
1423+ openbsd*|netbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
1424+ prefix=/usr
1425+ ;;
1426+ *) prefix=$ac_default_prefix
1427+ ;;
1428+ esac
1429+fi
1430+AC_MSG_RESULT($prefix)
1431+
1432+if test "x$prefix" = "xNONE" ; then
1433+AC_MSG_CHECKING(for default include-directory)
1434+test -n "$verbose" && echo 1>&AC_FD_MSG
1435+for cf_symbol in \
1436+ $includedir \
1437+ $includedir/ncurses \
1438+ $prefix/include \
1439+ $prefix/include/ncurses \
1440+ /usr/local/include \
1441+ /usr/local/include/ncurses \
1442+ /usr/include \
1443+ /usr/include/ncurses
1444+do
1445+ cf_dir=`eval echo $cf_symbol`
1446+ if test -f $cf_dir/curses.h ; then
1447+ if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
1448+ includedir="$cf_symbol"
1449+ test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
1450+ break
1451+ fi
1452+ fi
1453+ test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
1454+done
1455+AC_MSG_RESULT($includedir)
1456+fi
1457+])dnl
1458+dnl ---------------------------------------------------------------------------
1459+dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
1460+dnl ----------
1461+dnl Check if the terminal-capability database functions are available. If not,
1462+dnl ncurses has a much-reduced version.
1463+AC_DEFUN([CF_CGETENT],[
1464+AC_MSG_CHECKING(for terminal-capability database functions)
1465+AC_CACHE_VAL(cf_cv_cgetent,[
1466+AC_TRY_LINK([
1467+#include <stdlib.h>],[
1468+ char temp[128];
1469+ char *buf = temp;
1470+ char *db_array = temp;
1471+ cgetent(&buf, /* int *, */ &db_array, "vt100");
1472+ cgetcap(buf, "tc", '=');
1473+ cgetmatch(buf, "tc");
1474+ ],
1475+ [cf_cv_cgetent=yes],
1476+ [cf_cv_cgetent=no])
1477+])
1478+AC_MSG_RESULT($cf_cv_cgetent)
1479+test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
1480+])dnl
1481+dnl ---------------------------------------------------------------------------
1482+dnl CF_CHECK_CACHE version: 9 updated: 2004/01/30 15:59:13
1483+dnl --------------
1484+dnl Check if we're accidentally using a cache from a different machine.
1485+dnl Derive the system name, as a check for reusing the autoconf cache.
1486+dnl
1487+dnl If we've packaged config.guess and config.sub, run that (since it does a
1488+dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
1489+dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
1490+dnl which is useful in cross-compiles.
1491+dnl
1492+dnl Note: we would use $ac_config_sub, but that is one of the places where
1493+dnl autoconf 2.5x broke compatibility with autoconf 2.13
1494+AC_DEFUN([CF_CHECK_CACHE],
1495+[
1496+if test -f $srcdir/config.guess ; then
1497+ ifelse([$1],,[AC_CANONICAL_HOST],[$1])
1498+ system_name="$host_os"
1499+else
1500+ system_name="`(uname -s -r) 2>/dev/null`"
1501+ if test -z "$system_name" ; then
1502+ system_name="`(hostname) 2>/dev/null`"
1503+ fi
1504+fi
1505+test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
1506+AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
1507+
1508+test -z "$system_name" && system_name="$cf_cv_system_name"
1509+test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
1510+
1511+if test ".$system_name" != ".$cf_cv_system_name" ; then
1512+ AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
1513+ AC_ERROR("Please remove config.cache and try again.")
1514+fi
1515+])dnl
1516+dnl ---------------------------------------------------------------------------
1517+dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23
1518+dnl --------------
1519+dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
1520+dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
1521+dnl ourselves.
1522+dnl
1523+dnl $1 = the name to check
1524+AC_DEFUN([CF_CHECK_ERRNO],
1525+[
1526+AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
1527+ AC_TRY_COMPILE([
1528+#ifdef HAVE_STDLIB_H
1529+#include <stdlib.h>
1530+#endif
1531+#include <stdio.h>
1532+#include <sys/types.h>
1533+#include <errno.h> ],
1534+ [long x = (long) $1],
1535+ [cf_cv_dcl_$1=yes],
1536+ [cf_cv_dcl_$1=no])
1537+])
1538+
1539+if test "$cf_cv_dcl_$1" = no ; then
1540+ CF_UPPER(cf_result,decl_$1)
1541+ AC_DEFINE_UNQUOTED($cf_result)
1542+fi
1543+
1544+# It's possible (for near-UNIX clones) that the data doesn't exist
1545+CF_CHECK_EXTERN_DATA($1,int)
1546+])dnl
1547+dnl ---------------------------------------------------------------------------
1548+dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
1549+dnl --------------------
1550+dnl Check for existence of external data in the current set of libraries. If
1551+dnl we can modify it, it's real enough.
1552+dnl $1 = the name to check
1553+dnl $2 = its type
1554+AC_DEFUN([CF_CHECK_EXTERN_DATA],
1555+[
1556+AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
1557+ AC_TRY_LINK([
1558+#undef $1
1559+extern $2 $1;
1560+],
1561+ [$1 = 2],
1562+ [cf_cv_have_$1=yes],
1563+ [cf_cv_have_$1=no])
1564+])
1565+
1566+if test "$cf_cv_have_$1" = yes ; then
1567+ CF_UPPER(cf_result,have_$1)
1568+ AC_DEFINE_UNQUOTED($cf_result)
1569+fi
1570+
1571+])dnl
1572+dnl ---------------------------------------------------------------------------
1573+dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
1574+dnl -----------------
1575+dnl Check if the C++ compiler accepts duplicate parameter initialization. This
1576+dnl is a late feature for the standard and is not in some recent compilers
1577+dnl (1999/9/11).
1578+AC_DEFUN([CF_CPP_PARAM_INIT],
1579+[
1580+if test -n "$CXX"; then
1581+AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
1582+ AC_LANG_SAVE
1583+ AC_LANG_CPLUSPLUS
1584+ AC_TRY_RUN([
1585+class TEST {
1586+private:
1587+ int value;
1588+public:
1589+ TEST(int x = 1);
1590+ ~TEST();
1591+};
1592+
1593+TEST::TEST(int x = 1) // some compilers do not like second initializer
1594+{
1595+ value = x;
1596+}
1597+void main() { }
1598+],
1599+ [cf_cv_cpp_param_init=yes],
1600+ [cf_cv_cpp_param_init=no],
1601+ [cf_cv_cpp_param_init=unknown])
1602+ AC_LANG_RESTORE
1603+])
1604+fi
1605+test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
1606+])dnl
1607+dnl ---------------------------------------------------------------------------
1608+dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28
1609+dnl -----------------
1610+dnl Check if the g++ compiler supports vscan function (not a standard feature).
1611+AC_DEFUN([CF_CPP_VSCAN_FUNC],
1612+[
1613+if test -n "$CXX"; then
1614+
1615+AC_LANG_SAVE
1616+AC_LANG_CPLUSPLUS
1617+AC_CHECK_HEADERS(strstream.h)
1618+
1619+AC_CACHE_CHECK(if $CXX supports vscan function,cf_cv_cpp_vscan_func,[
1620+ for cf_vscan_func in strstream strstream_cast stdio
1621+ do
1622+ case $cf_vscan_func in #(vi
1623+ stdio) cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi
1624+ strstream) cf_vscan_defs=USE_STRSTREAM_VSCAN ;;
1625+ strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;;
1626+ esac
1627+ AC_TRY_LINK([
1628+#include <stdio.h>
1629+#include <stdarg.h>
1630+#define $cf_vscan_defs 1
1631+#if defined(USE_STDIO_VSCAN)
1632+#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN)
1633+#include <strstream.h>
1634+#endif
1635+
1636+int scanw(const char* fmt, ...)
1637+{
1638+ int result = -1;
1639+ char buf[BUFSIZ];
1640+
1641+ va_list args;
1642+ va_start(args, fmt);
1643+#if defined(USE_STDIO_VSCAN)
1644+ if (::vsscanf(buf, fmt, args) != -1)
1645+ result = 0;
1646+#elif defined(USE_STRSTREAM_VSCAN)
1647+ strstreambuf ss(buf, sizeof(buf));
1648+ if (ss.vscan(fmt, args) != -1)
1649+ result = 0;
1650+#elif defined(USE_STRSTREAM_VSCAN_CAST)
1651+ strstreambuf ss(buf, sizeof(buf));
1652+ if (ss.vscan(fmt, (_IO_va_list)args) != -1)
1653+ result = 0;
1654+#else
1655+#error case $cf_vscan_func failed
1656+#endif
1657+ va_end(args);
1658+ return result;
1659+}
1660+],[int tmp, foo = scanw("%d", &tmp)],
1661+ [cf_cv_cpp_vscan_func=$cf_vscan_func; break],
1662+ [cf_cv_cpp_vscan_func=no])
1663+ test "$cf_cv_cpp_vscan_func" != no && break
1664+ done
1665+])
1666+
1667+AC_LANG_RESTORE
1668+fi
1669+
1670+case $cf_cv_cpp_vscan_func in #(vi
1671+stdio) #(vi
1672+ AC_DEFINE(CPP_HAS_VSCAN_FUNC)
1673+ AC_DEFINE(USE_STDIO_VSCAN)
1674+ ;;
1675+strstream)
1676+ AC_DEFINE(CPP_HAS_VSCAN_FUNC)
1677+ AC_DEFINE(USE_STRSTREAM_VSCAN)
1678+ ;;
1679+strstream_cast)
1680+ AC_DEFINE(CPP_HAS_VSCAN_FUNC)
1681+ AC_DEFINE(USE_STRSTREAM_VSCAN_CAST)
1682+ ;;
1683+esac
1684+])dnl
1685+dnl ---------------------------------------------------------------------------
1686+dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
1687+dnl ----------
1688+dnl "dirname" is not portable, so we fake it with a shell script.
1689+AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
1690+dnl ---------------------------------------------------------------------------
1691+dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
1692+dnl ---------------
1693+AC_DEFUN([CF_DIRS_TO_MAKE],
1694+[
1695+DIRS_TO_MAKE="lib"
1696+for cf_item in $cf_list_models
1697+do
1698+ CF_OBJ_SUBDIR($cf_item,cf_subdir)
1699+ for cf_item2 in $DIRS_TO_MAKE
1700+ do
1701+ test $cf_item2 = $cf_subdir && break
1702+ done
1703+ test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
1704+done
1705+for cf_dir in $DIRS_TO_MAKE
1706+do
1707+ test ! -d $cf_dir && mkdir $cf_dir
1708+done
1709+AC_SUBST(DIRS_TO_MAKE)
1710+])dnl
1711+dnl ---------------------------------------------------------------------------
1712+dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
1713+dnl --------
1714+dnl Check if 'errno' is declared in <errno.h>
1715+AC_DEFUN([CF_ERRNO],
1716+[
1717+CF_CHECK_ERRNO(errno)
1718+])dnl
1719+dnl ---------------------------------------------------------------------------
1720+dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
1721+dnl ---------------
1722+dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
1723+dnl math.h and builtin.h, only for ncurses
1724+AC_DEFUN([CF_ETIP_DEFINES],
1725+[
1726+AC_MSG_CHECKING(for special defines needed for etip.h)
1727+cf_save_CXXFLAGS="$CXXFLAGS"
1728+cf_result="none"
1729+for cf_math in "" MATH_H
1730+do
1731+for cf_excp in "" MATH_EXCEPTION
1732+do
1733+ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
1734+ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
1735+ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
1736+AC_TRY_COMPILE([
1737+#include <etip.h.in>
1738+],[],[
1739+ test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
1740+ test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
1741+ cf_result="$cf_math $cf_excp"
1742+ break
1743+],[])
1744+done
1745+done
1746+AC_MSG_RESULT($cf_result)
1747+CXXFLAGS="$cf_save_CXXFLAGS"
1748+])
1749+dnl ---------------------------------------------------------------------------
1750+dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52
1751+dnl ---------------
1752+dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
1753+dnl is found, add our own version of memmove to the list of objects.
1754+AC_DEFUN([CF_FUNC_MEMMOVE],
1755+[
1756+AC_CHECK_FUNC(memmove,,[
1757+AC_CHECK_FUNC(bcopy,[
1758+ AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
1759+ AC_TRY_RUN([
1760+int main() {
1761+ static char data[] = "abcdefghijklmnopqrstuwwxyz";
1762+ char temp[40];
1763+ bcopy(data, temp, sizeof(data));
1764+ bcopy(temp+10, temp, 15);
1765+ bcopy(temp+5, temp+15, 10);
1766+ exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
1767+}
1768+ ],
1769+ [cf_cv_good_bcopy=yes],
1770+ [cf_cv_good_bcopy=no],
1771+ [cf_cv_good_bcopy=unknown])
1772+ ])
1773+ ],[cf_cv_good_bcopy=no])
1774+ if test "$cf_cv_good_bcopy" = yes ; then
1775+ AC_DEFINE(USE_OK_BCOPY)
1776+ else
1777+ AC_DEFINE(USE_MY_MEMMOVE)
1778+ fi
1779+])])dnl
1780+dnl ---------------------------------------------------------------------------
1781+dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04
1782+dnl ------------
1783+dnl See if the poll function really works. Some platforms have poll(), but
1784+dnl it does not work for terminals or files.
1785+AC_DEFUN([CF_FUNC_POLL],[
1786+AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
1787+AC_TRY_RUN([
1788+#include <stdio.h>
1789+#ifdef HAVE_POLL_H
1790+#include <poll.h>
1791+#else
1792+#include <sys/poll.h>
1793+#endif
1794+int main() {
1795+ struct pollfd myfds;
1796+ int ret;
1797+
1798+ myfds.fd = 0;
1799+ myfds.events = POLLIN;
1800+
1801+ ret = poll(&myfds, 1, 100);
1802+ exit(ret != 0);
1803+}],
1804+ [cf_cv_working_poll=yes],
1805+ [cf_cv_working_poll=no],
1806+ [cf_cv_working_poll=unknown])])
1807+test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
1808+])dnl
1809+dnl ---------------------------------------------------------------------------
1810+dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
1811+dnl ---------------
1812+dnl Some old/broken variations define tcgetattr() only as a macro in
1813+dnl termio(s).h
1814+AC_DEFUN([CF_FUNC_TERMIOS],[
1815+AC_REQUIRE([CF_STRUCT_TERMIOS])
1816+AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
1817+AC_TRY_LINK([
1818+#include <sys/types.h>
1819+#ifdef HAVE_UNISTD_H
1820+#include <unistd.h>
1821+#endif
1822+#ifdef HAVE_TERMIOS_H
1823+#include <termios.h>
1824+#define TTY struct termios
1825+#else
1826+#ifdef HAVE_TERMIO_H
1827+#include <termio.h>
1828+#define TTY struct termio
1829+#endif
1830+#endif
1831+],[
1832+TTY foo;
1833+tcgetattr(1, &foo);],
1834+[cf_cv_have_tcgetattr=yes],
1835+[cf_cv_have_tcgetattr=no])])
1836+test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
1837+])dnl
1838+dnl ---------------------------------------------------------------------------
1839+dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
1840+dnl ---------------
1841+dnl Check for vsscanf() function, which is in c9x but generally not in earlier
1842+dnl versions of C. It is in the GNU C library, and can often be simulated by
1843+dnl other functions.
1844+AC_DEFUN([CF_FUNC_VSSCANF],
1845+[
1846+AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
1847+AC_TRY_LINK([
1848+#include <stdarg.h>
1849+#include <stdio.h>],[
1850+ va_list ap;
1851+ vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
1852+AC_TRY_LINK([
1853+#include <stdarg.h>
1854+#include <stdio.h>],[
1855+ FILE strbuf;
1856+ char *str = "from";
1857+
1858+ strbuf._flag = _IOREAD;
1859+ strbuf._ptr = strbuf._base = (unsigned char *) str;
1860+ strbuf._cnt = strlen(str);
1861+ strbuf._file = _NFILE;
1862+ return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
1863+AC_TRY_LINK([
1864+#include <stdarg.h>
1865+#include <stdio.h>],[
1866+ FILE strbuf;
1867+ char *str = "from";
1868+
1869+ strbuf._flag = _IOREAD;
1870+ strbuf._ptr = strbuf._base = (unsigned char *) str;
1871+ strbuf._cnt = strlen(str);
1872+ strbuf._file = _NFILE;
1873+ return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
1874+cf_cv_func_vsscanf=no])])])])
1875+
1876+case $cf_cv_func_vsscanf in #(vi
1877+vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
1878+vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
1879+_doscan) AC_DEFINE(HAVE__DOSCAN);;
1880+esac
1881+
1882+])dnl
1883+dnl ---------------------------------------------------------------------------
1884+dnl CF_GCC_ATTRIBUTES version: 9 updated: 2002/12/21 19:25:52
1885+dnl -----------------
1886+dnl Test for availability of useful gcc __attribute__ directives to quiet
1887+dnl compiler warnings. Though useful, not all are supported -- and contrary
1888+dnl to documentation, unrecognized directives cause older compilers to barf.
1889+AC_DEFUN([CF_GCC_ATTRIBUTES],
1890+[
1891+if test "$GCC" = yes
1892+then
1893+cat > conftest.i <<EOF
1894+#ifndef GCC_PRINTF
1895+#define GCC_PRINTF 0
1896+#endif
1897+#ifndef GCC_SCANF
1898+#define GCC_SCANF 0
1899+#endif
1900+#ifndef GCC_NORETURN
1901+#define GCC_NORETURN /* nothing */
1902+#endif
1903+#ifndef GCC_UNUSED
1904+#define GCC_UNUSED /* nothing */
1905+#endif
1906+EOF
1907+if test "$GCC" = yes
1908+then
1909+ AC_CHECKING([for $CC __attribute__ directives])
1910+cat > conftest.$ac_ext <<EOF
1911+#line __oline__ "configure"
1912+#include "confdefs.h"
1913+#include "conftest.h"
1914+#include "conftest.i"
1915+#if GCC_PRINTF
1916+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1917+#else
1918+#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1919+#endif
1920+#if GCC_SCANF
1921+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1922+#else
1923+#define GCC_SCANFLIKE(fmt,var) /*nothing*/
1924+#endif
1925+extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1926+extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1927+extern void foo(void) GCC_NORETURN;
1928+int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1929+EOF
1930+ for cf_attribute in scanf printf unused noreturn
1931+ do
1932+ CF_UPPER(CF_ATTRIBUTE,$cf_attribute)
1933+ cf_directive="__attribute__(($cf_attribute))"
1934+ echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1935+ case $cf_attribute in
1936+ scanf|printf)
1937+ cat >conftest.h <<EOF
1938+#define GCC_$CF_ATTRIBUTE 1
1939+EOF
1940+ ;;
1941+ *)
1942+ cat >conftest.h <<EOF
1943+#define GCC_$CF_ATTRIBUTE $cf_directive
1944+EOF
1945+ ;;
1946+ esac
1947+ if AC_TRY_EVAL(ac_compile); then
1948+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1949+ cat conftest.h >>confdefs.h
1950+ fi
1951+ done
1952+else
1953+ fgrep define conftest.i >>confdefs.h
1954+fi
1955+rm -rf conftest*
1956+fi
1957+])dnl
1958+dnl ---------------------------------------------------------------------------
1959+dnl CF_GCC_VERSION version: 3 updated: 2003/09/06 19:16:57
1960+dnl --------------
1961+dnl Find version of gcc
1962+AC_DEFUN([CF_GCC_VERSION],[
1963+AC_REQUIRE([AC_PROG_CC])
1964+GCC_VERSION=none
1965+if test "$GCC" = yes ; then
1966+ AC_MSG_CHECKING(version of $CC)
1967+ GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1968+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
1969+ AC_MSG_RESULT($GCC_VERSION)
1970+fi
1971+])dnl
1972+dnl ---------------------------------------------------------------------------
1973+dnl CF_GCC_WARNINGS version: 15 updated: 2003/07/05 18:42:30
1974+dnl ---------------
1975+dnl Check if the compiler supports useful warning options. There's a few that
1976+dnl we don't use, simply because they're too noisy:
1977+dnl
1978+dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1979+dnl -Wredundant-decls (system headers make this too noisy)
1980+dnl -Wtraditional (combines too many unrelated messages, only a few useful)
1981+dnl -Wwrite-strings (too noisy, but should review occasionally). This
1982+dnl is enabled for ncurses using "--enable-const".
1983+dnl -pedantic
1984+dnl
1985+AC_DEFUN([CF_GCC_WARNINGS],
1986+[
1987+AC_REQUIRE([CF_GCC_VERSION])
1988+if test "$GCC" = yes
1989+then
1990+ cat > conftest.$ac_ext <<EOF
1991+#line __oline__ "configure"
1992+int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1993+EOF
1994+ AC_CHECKING([for $CC warning options])
1995+ cf_save_CFLAGS="$CFLAGS"
1996+ EXTRA_CFLAGS="-W -Wall"
1997+ cf_warn_CONST=""
1998+ test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
1999+ for cf_opt in \
2000+ Wbad-function-cast \
2001+ Wcast-align \
2002+ Wcast-qual \
2003+ Winline \
2004+ Wmissing-declarations \
2005+ Wmissing-prototypes \
2006+ Wnested-externs \
2007+ Wpointer-arith \
2008+ Wshadow \
2009+ Wstrict-prototypes \
2010+ Wundef $cf_warn_CONST
2011+ do
2012+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
2013+ if AC_TRY_EVAL(ac_compile); then
2014+ test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2015+ case $cf_opt in #(vi
2016+ Wcast-qual) #(vi
2017+ CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
2018+ ;;
2019+ Winline) #(vi
2020+ case $GCC_VERSION in
2021+ 3.3*)
2022+ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
2023+ continue;;
2024+ esac
2025+ ;;
2026+ esac
2027+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
2028+ fi
2029+ done
2030+ rm -f conftest*
2031+ CFLAGS="$cf_save_CFLAGS"
2032+fi
2033+AC_SUBST(EXTRA_CFLAGS)
2034+])dnl
2035+dnl ---------------------------------------------------------------------------
2036+dnl CF_GNAT_TRY_RUN version: 2 updated: 1998/07/19 00:25:18
2037+dnl ---------------
2038+dnl Verify that a test program compiles and runs with GNAT
2039+dnl $cf_ada_make is set to the program that compiles/links
2040+AC_DEFUN([CF_GNAT_TRY_RUN],
2041+[
2042+rm -f conftest*
2043+cat >>conftest.ads <<CF_EOF
2044+$1
2045+CF_EOF
2046+cat >>conftest.adb <<CF_EOF
2047+$2
2048+CF_EOF
2049+if ( $cf_ada_make conftest 1>&AC_FD_CC 2>&1 ) ; then
2050+ if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
2051+ifelse($3,, :,[ $3])
2052+ifelse($4,,,[ else
2053+ $4])
2054+ fi
2055+ifelse($4,,,[else
2056+ $4])
2057+fi
2058+rm -f conftest*
2059+])dnl
2060+dnl ---------------------------------------------------------------------------
2061+dnl CF_GNAT_VERSION version: 11 updated: 2003/09/06 19:42:09
2062+dnl ---------------
2063+dnl Verify version of GNAT.
2064+AC_DEFUN([CF_GNAT_VERSION],
2065+[
2066+AC_MSG_CHECKING(for gnat version)
2067+cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
2068+ sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
2069+AC_MSG_RESULT($cf_gnat_version)
2070+
2071+case $cf_gnat_version in
2072+ 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
2073+ cf_cv_prog_gnat_correct=yes
2074+ ;;
2075+ *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
2076+ cf_cv_prog_gnat_correct=no
2077+ ;;
2078+esac
2079+case $cf_gnat_version in
2080+ 3.[[1-9]]*|[[4-9]].*)
2081+ cf_compile_generics=generics
2082+ cf_generic_objects="\$(GENOBJS)"
2083+ ;;
2084+ *) cf_compile_generics=
2085+ cf_generic_objects=
2086+ ;;
2087+esac
2088+])
2089+dnl ---------------------------------------------------------------------------
2090+dnl CF_GNU_SOURCE version: 3 updated: 2000/10/29 23:30:53
2091+dnl -------------
2092+dnl Check if we must define _GNU_SOURCE to get a reasonable value for
2093+dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
2094+dnl (or misfeature) of glibc2, which breaks portability of many applications,
2095+dnl since it is interwoven with GNU extensions.
2096+dnl
2097+dnl Well, yes we could work around it...
2098+AC_DEFUN([CF_GNU_SOURCE],
2099+[
2100+AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
2101+AC_TRY_COMPILE([#include <sys/types.h>],[
2102+#ifndef _XOPEN_SOURCE
2103+make an error
2104+#endif],
2105+ [cf_cv_gnu_source=no],
2106+ [cf_save="$CPPFLAGS"
2107+ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2108+ AC_TRY_COMPILE([#include <sys/types.h>],[
2109+#ifdef _XOPEN_SOURCE
2110+make an error
2111+#endif],
2112+ [cf_cv_gnu_source=no],
2113+ [cf_cv_gnu_source=yes])
2114+ CPPFLAGS="$cf_save"
2115+ ])
2116+])
2117+test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2118+])dnl
2119+dnl ---------------------------------------------------------------------------
2120+dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46
2121+dnl --------------
2122+dnl If we're trying to use g++, test if libg++ is installed (a rather common
2123+dnl problem :-). If we have the compiler but no library, we'll be able to
2124+dnl configure, but won't be able to build the c++ demo program.
2125+AC_DEFUN([CF_GPP_LIBRARY],
2126+[
2127+cf_cxx_library=unknown
2128+case $cf_cv_system_name in #(vi
2129+os2*) #(vi
2130+ cf_gpp_libname=gpp
2131+ ;;
2132+*)
2133+ cf_gpp_libname=g++
2134+ ;;
2135+esac
2136+if test "$GXX" = yes; then
2137+ AC_MSG_CHECKING([for lib$cf_gpp_libname])
2138+ cf_save="$LIBS"
2139+ LIBS="$LIBS -l$cf_gpp_libname"
2140+ AC_TRY_LINK([
2141+#include <$cf_gpp_libname/builtin.h>
2142+ ],
2143+ [two_arg_error_handler_t foo2 = lib_error_handler],
2144+ [cf_cxx_library=yes
2145+ CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
2146+ if test "$cf_gpp_libname" = cpp ; then
2147+ AC_DEFINE(HAVE_GPP_BUILTIN_H)
2148+ else
2149+ AC_DEFINE(HAVE_GXX_BUILTIN_H)
2150+ fi],
2151+ [AC_TRY_LINK([
2152+#include <builtin.h>
2153+ ],
2154+ [two_arg_error_handler_t foo2 = lib_error_handler],
2155+ [cf_cxx_library=yes
2156+ CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
2157+ AC_DEFINE(HAVE_BUILTIN_H)],
2158+ [cf_cxx_library=no])])
2159+ LIBS="$cf_save"
2160+ AC_MSG_RESULT($cf_cxx_library)
2161+fi
2162+])dnl
2163+dnl ---------------------------------------------------------------------------
2164+dnl CF_GXX_VERSION version: 3 updated: 2003/09/06 19:16:21
2165+dnl --------------
2166+dnl Check for version of g++
2167+AC_DEFUN([CF_GXX_VERSION],[
2168+AC_REQUIRE([AC_PROG_CPP])
2169+GXX_VERSION=none
2170+if test "$GXX" = yes; then
2171+ AC_MSG_CHECKING(version of g++)
2172+ GXX_VERSION="`${CXX-g++} --version|sed -e '2,$d'`"
2173+ AC_MSG_RESULT($GXX_VERSION)
2174+fi
2175+])dnl
2176+dnl ---------------------------------------------------------------------------
2177+dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
2178+dnl ---------------
2179+dnl Construct the list of include-options according to whether we're building
2180+dnl in the source directory or using '--srcdir=DIR' option. If we're building
2181+dnl with gcc, don't append the includedir if it happens to be /usr/include,
2182+dnl since that usually breaks gcc's shadow-includes.
2183+AC_DEFUN([CF_INCLUDE_DIRS],
2184+[
2185+CPPFLAGS="-I. -I../include $CPPFLAGS"
2186+if test "$srcdir" != "."; then
2187+ CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
2188+fi
2189+if test "$GCC" != yes; then
2190+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
2191+elif test "$includedir" != "/usr/include"; then
2192+ if test "$includedir" = '${prefix}/include' ; then
2193+ if test $prefix != /usr ; then
2194+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
2195+ fi
2196+ else
2197+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
2198+ fi
2199+fi
2200+AC_SUBST(CPPFLAGS)
2201+])dnl
2202+dnl ---------------------------------------------------------------------------
2203+dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
2204+dnl ----------
2205+dnl Check if we have either a function or macro for 'isascii()'.
2206+AC_DEFUN([CF_ISASCII],
2207+[
2208+AC_MSG_CHECKING(for isascii)
2209+AC_CACHE_VAL(cf_cv_have_isascii,[
2210+ AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
2211+ [cf_cv_have_isascii=yes],
2212+ [cf_cv_have_isascii=no])
2213+])dnl
2214+AC_MSG_RESULT($cf_cv_have_isascii)
2215+test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
2216+])dnl
2217+dnl ---------------------------------------------------------------------------
2218+dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
2219+dnl ----------
2220+dnl Check for libutf8
2221+AC_DEFUN([CF_LIBUTF8],
2222+[
2223+AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
2224+ cf_save_LIBS="$LIBS"
2225+ LIBS="-lutf8 $LIBS"
2226+AC_TRY_LINK([
2227+#include <libutf8.h>],[putwc(0,0);],
2228+ [cf_cv_libutf8=yes],
2229+ [cf_cv_libutf8=no])
2230+ LIBS="$cf_save_LIBS"
2231+])
2232+
2233+if test "$cf_cv_libutf8" = yes ; then
2234+ AC_DEFINE(HAVE_LIBUTF8_H)
2235+ LIBS="-lutf8 $LIBS"
2236+fi
2237+])dnl
2238+dnl ---------------------------------------------------------------------------
2239+dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48
2240+dnl -------------
2241+dnl Compute the library-prefix for the given host system
2242+dnl $1 = variable to set
2243+AC_DEFUN([CF_LIB_PREFIX],
2244+[
2245+ case $cf_cv_system_name in
2246+ OS/2*) LIB_PREFIX='' ;;
2247+ os2*) LIB_PREFIX='' ;;
2248+ *) LIB_PREFIX='lib' ;;
2249+ esac
2250+ifelse($1,,,[$1=$LIB_PREFIX])
2251+ AC_SUBST(LIB_PREFIX)
2252+])dnl
2253+dnl ---------------------------------------------------------------------------
2254+dnl CF_LIB_RULES version: 30 updated: 2004/01/10 15:50:50
2255+dnl ------------
2256+dnl Append definitions and rules for the given models to the subdirectory
2257+dnl Makefiles, and the recursion rule for the top-level Makefile. If the
2258+dnl subdirectory is a library-source directory, modify the LIBRARIES list in
2259+dnl the corresponding makefile to list the models that we'll generate.
2260+dnl
2261+dnl For shared libraries, make a list of symbolic links to construct when
2262+dnl generating each library. The convention used for Linux is the simplest
2263+dnl one:
2264+dnl lib<name>.so ->
2265+dnl lib<name>.so.<major> ->
2266+dnl lib<name>.so.<maj>.<minor>
2267+AC_DEFUN([CF_LIB_RULES],
2268+[
2269+CF_LIB_PREFIX(cf_prefix)
2270+AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
2271+for cf_dir in $SRC_SUBDIRS
2272+do
2273+ if test -f $srcdir/$cf_dir/modules; then
2274+
2275+ IMPORT_LIB=
2276+ SHARED_LIB=
2277+ LIBS_TO_MAKE=
2278+ for cf_item in $CF_LIST_MODELS
2279+ do
2280+ CF_LIB_SUFFIX($cf_item,cf_suffix)
2281+ if test $cf_item = shared ; then
2282+ if test "$cf_cv_do_symlinks" = yes ; then
2283+ case "$cf_cv_shlib_version" in #(vi
2284+ rel) #(vi
2285+ case "$cf_cv_system_name" in #(vi
2286+ darwin*) cf_suffix='.$(REL_VERSION)'"$cf_suffix" ;; #(vi
2287+ *) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;;
2288+ esac
2289+ ;;
2290+ abi)
2291+ case "$cf_cv_system_name" in #(vi
2292+ darwin*) cf_suffix='.$(ABI_VERSION)'"$cf_suffix" ;; #(vi
2293+ *) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
2294+ esac
2295+ ;;
2296+ esac
2297+ fi
2298+ # cygwin needs import library, and has unique naming convention
2299+ # use autodetected ${cf_prefix} for import lib and static lib, but
2300+ # use 'cyg' prefix for shared lib.
2301+ if test $cf_cv_shlib_version = cygdll ; then
2302+ SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll"
2303+ IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a"
2304+ LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)"
2305+ continue
2306+ fi
2307+ fi
2308+ LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
2309+ done
2310+
2311+ if test $cf_dir = ncurses ; then
2312+ cf_subsets="$LIB_SUBSETS"
2313+ cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'`
2314+ if test "$cf_termlib" != "$cf_subsets" ; then
2315+ cf_item=`echo $LIBS_TO_MAKE |sed -e s%$LIB_NAME%$TINFO_NAME%g`
2316+ LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
2317+ fi
2318+ else
2319+ cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
2320+ fi
2321+
2322+ sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
2323+ -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \
2324+ -e "s%@SHARED_LIB@%$SHARED_LIB%" \
2325+ $cf_dir/Makefile >$cf_dir/Makefile.out
2326+ mv $cf_dir/Makefile.out $cf_dir/Makefile
2327+
2328+ $AWK -f $srcdir/mk-0th.awk \
2329+ libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
2330+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2331+
2332+ for cf_subset in $cf_subsets
2333+ do
2334+ cf_subdirs=
2335+ for cf_item in $CF_LIST_MODELS
2336+ do
2337+ echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
2338+ CF_UPPER(CF_ITEM,$cf_item)
2339+ CF_LIB_SUFFIX($cf_item,cf_suffix)
2340+ CF_OBJ_SUBDIR($cf_item,cf_subdir)
2341+
2342+ # These dependencies really are for development, not
2343+ # builds, but they are useful in porting, too.
2344+ cf_depend="../include/ncurses_cfg.h"
2345+ if test "$srcdir" = "."; then
2346+ cf_reldir="."
2347+ else
2348+ cf_reldir="\$(srcdir)"
2349+ fi
2350+
2351+ if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
2352+ cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
2353+ elif test -f $srcdir/$cf_dir/curses.priv.h; then
2354+ cf_depend="$cf_depend $cf_reldir/curses.priv.h"
2355+ fi
2356+
2357+ $AWK -f $srcdir/mk-1st.awk \
2358+ name=$cf_dir \
2359+ traces=$LIB_TRACING \
2360+ MODEL=$CF_ITEM \
2361+ model=$cf_subdir \
2362+ prefix=$cf_prefix \
2363+ suffix=$cf_suffix \
2364+ subset=$cf_subset \
2365+ ShlibVer=$cf_cv_shlib_version \
2366+ ShlibVerInfix=$cf_cv_shlib_version_infix \
2367+ DoLinks=$cf_cv_do_symlinks \
2368+ rmSoLocs=$cf_cv_rm_so_locs \
2369+ ldconfig="$LDCONFIG" \
2370+ overwrite=$WITH_OVERWRITE \
2371+ depend="$cf_depend" \
2372+ host="$host" \
2373+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2374+ for cf_subdir2 in $cf_subdirs lib
2375+ do
2376+ test $cf_subdir = $cf_subdir2 && break
2377+ done
2378+ test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
2379+ $AWK -f $srcdir/mk-2nd.awk \
2380+ name=$cf_dir \
2381+ traces=$LIB_TRACING \
2382+ MODEL=$CF_ITEM \
2383+ model=$cf_subdir \
2384+ subset=$cf_subset \
2385+ srcdir=$srcdir \
2386+ echo=$WITH_ECHO \
2387+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2388+ cf_subdirs="$cf_subdirs $cf_subdir"
2389+ done
2390+ done
2391+ fi
2392+
2393+ echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >>Makefile
2394+done
2395+
2396+for cf_dir in $SRC_SUBDIRS
2397+do
2398+ if test -f $cf_dir/Makefile ; then
2399+ case "$cf_dir" in
2400+ Ada95) #(vi
2401+ echo 'libs \' >> Makefile
2402+ echo 'install.libs \' >> Makefile
2403+ echo 'uninstall.libs ::' >> Makefile
2404+ echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >> Makefile
2405+ ;;
2406+ esac
2407+ fi
2408+
2409+ if test -f $srcdir/$cf_dir/modules; then
2410+ echo >> Makefile
2411+ if test -f $srcdir/$cf_dir/headers; then
2412+cat >> Makefile <<CF_EOF
2413+install.includes \\
2414+uninstall.includes \\
2415+CF_EOF
2416+ fi
2417+if test "$cf_dir" != "c++" ; then
2418+echo 'lint \' >> Makefile
2419+fi
2420+cat >> Makefile <<CF_EOF
2421+libs \\
2422+lintlib \\
2423+install.libs \\
2424+uninstall.libs \\
2425+install.$cf_dir \\
2426+uninstall.$cf_dir ::
2427+ cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
2428+CF_EOF
2429+ elif test -f $srcdir/$cf_dir/headers; then
2430+cat >> Makefile <<CF_EOF
2431+
2432+libs \\
2433+install.libs \\
2434+uninstall.libs \\
2435+install.includes \\
2436+uninstall.includes ::
2437+ cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
2438+CF_EOF
2439+fi
2440+done
2441+
2442+cat >> Makefile <<CF_EOF
2443+
2444+install.data \\
2445+uninstall.data ::
2446+$MAKE_TERMINFO cd misc && \$(MAKE) \$(CF_MFLAGS) \[$]@
2447+
2448+install.man \\
2449+uninstall.man ::
2450+ cd man && \$(MAKE) \$(CF_MFLAGS) \[$]@
2451+
2452+distclean ::
2453+ rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
2454+ rm -f headers.sh headers.sed
2455+ rm -rf \$(DIRS_TO_MAKE)
2456+CF_EOF
2457+
2458+# Special case: tack's manpage lives in its own directory.
2459+if test -d tack ; then
2460+if test -f $srcdir/$tack.h; then
2461+cat >> Makefile <<CF_EOF
2462+
2463+install.man \\
2464+uninstall.man ::
2465+ cd tack && \$(MAKE) \$(CF_MFLAGS) \[$]@
2466+CF_EOF
2467+fi
2468+fi
2469+
2470+dnl If we're installing into a subdirectory of /usr/include, etc., we should
2471+dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
2472+dnl anything, and will make it more standardized. It's awkward to decide this
2473+dnl at configuration because of quoting, so we'll simply make all headers
2474+dnl installed via a script that can do the right thing.
2475+
2476+rm -f headers.sed headers.sh
2477+
2478+dnl ( generating this script makes the makefiles a little tidier :-)
2479+echo creating headers.sh
2480+cat >headers.sh <<CF_EOF
2481+#! /bin/sh
2482+# This shell script is generated by the 'configure' script. It is invoked in a
2483+# subdirectory of the build tree. It generates a sed-script in the parent
2484+# directory that is used to adjust includes for header files that reside in a
2485+# subdirectory of /usr/include, etc.
2486+PRG=""
2487+while test \[$]# != 3
2488+do
2489+PRG="\$PRG \[$]1"; shift
2490+done
2491+DST=\[$]1
2492+REF=\[$]2
2493+SRC=\[$]3
2494+TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
2495+TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
2496+echo installing \$SRC in \$DST
2497+CF_EOF
2498+if test $WITH_CURSES_H = yes; then
2499+ cat >>headers.sh <<CF_EOF
2500+case \$DST in
2501+/*/include/*)
2502+ END=\`basename \$DST\`
2503+ for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
2504+ do
2505+ NAME=\`basename \$i\`
2506+ echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
2507+ done
2508+ ;;
2509+*)
2510+ echo "" >> \$TMPSED
2511+ ;;
2512+esac
2513+CF_EOF
2514+else
2515+ cat >>headers.sh <<CF_EOF
2516+case \$DST in
2517+/*/include/*)
2518+ END=\`basename \$DST\`
2519+ for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
2520+ do
2521+ NAME=\`basename \$i\`
2522+ if test "\$NAME" = "curses.h"
2523+ then
2524+ echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
2525+ NAME=ncurses.h
2526+ fi
2527+ echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
2528+ done
2529+ ;;
2530+*)
2531+ echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
2532+ ;;
2533+esac
2534+CF_EOF
2535+fi
2536+cat >>headers.sh <<CF_EOF
2537+rm -f \$TMPSRC
2538+sed -f \$TMPSED \$SRC > \$TMPSRC
2539+NAME=\`basename \$SRC\`
2540+CF_EOF
2541+if test $WITH_CURSES_H != yes; then
2542+ cat >>headers.sh <<CF_EOF
2543+test "\$NAME" = "curses.h" && NAME=ncurses.h
2544+CF_EOF
2545+fi
2546+cat >>headers.sh <<CF_EOF
2547+# Just in case someone gzip'd manpages, remove the conflicting copy.
2548+test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
2549+
2550+eval \$PRG \$TMPSRC \$DST/\$NAME
2551+rm -f \$TMPSRC \$TMPSED
2552+CF_EOF
2553+
2554+chmod 0755 headers.sh
2555+
2556+for cf_dir in $SRC_SUBDIRS
2557+do
2558+ if test -f $srcdir/$cf_dir/headers; then
2559+ cat >>$cf_dir/Makefile <<CF_EOF
2560+\$(DESTDIR)\$(includedir) :
2561+ sh \$(srcdir)/../mkinstalldirs \[$]@
2562+
2563+install \\
2564+install.libs \\
2565+install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
2566+CF_EOF
2567+ j=""
2568+ for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
2569+ do
2570+ test -n "$j" && echo " $j \\" >>$cf_dir/Makefile
2571+ j=$i
2572+ done
2573+ echo " $j" >>$cf_dir/Makefile
2574+ for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
2575+ do
2576+ echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
2577+ test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
2578+ done
2579+
2580+ cat >>$cf_dir/Makefile <<CF_EOF
2581+
2582+uninstall \\
2583+uninstall.libs \\
2584+uninstall.includes ::
2585+CF_EOF
2586+ for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
2587+ do
2588+ i=`basename $i`
2589+ echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
2590+ test $i = curses.h && echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
2591+ done
2592+ fi
2593+
2594+ if test -f $srcdir/$cf_dir/modules; then
2595+ if test "$cf_dir" != "c++" ; then
2596+ cat >>$cf_dir/Makefile <<"CF_EOF"
2597+depend : $(AUTO_SRC)
2598+ makedepend -- $(CPPFLAGS) -- $(C_SRC)
2599+
2600+# DO NOT DELETE THIS LINE -- make depend depends on it.
2601+CF_EOF
2602+ fi
2603+ fi
2604+done
2605+
2606+])dnl
2607+dnl ---------------------------------------------------------------------------
2608+dnl CF_LIB_SUFFIX version: 13 updated: 2003/11/01 16:09:07
2609+dnl -------------
2610+dnl Compute the library file-suffix from the given model name
2611+dnl $1 = model name
2612+dnl $2 = variable to set
2613+dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
2614+AC_DEFUN([CF_LIB_SUFFIX],
2615+[
2616+ AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
2617+ case $1 in
2618+ libtool) $2='.la' ;;
2619+ normal) $2='.a' ;;
2620+ debug) $2='_g.a' ;;
2621+ profile) $2='_p.a' ;;
2622+ shared)
2623+ case $cf_cv_system_name in
2624+ cygwin*) $2='.dll' ;;
2625+ darwin*) $2='.dylib' ;;
2626+ hpux*)
2627+ case $target in
2628+ ia64*) $2='.so' ;;
2629+ *) $2='.sl' ;;
2630+ esac
2631+ ;;
2632+ *) $2='.so' ;;
2633+ esac
2634+ esac
2635+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
2636+])dnl
2637+dnl ---------------------------------------------------------------------------
2638+dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
2639+dnl -----------
2640+dnl Compute the string to append to -library from the given model name
2641+dnl $1 = model name
2642+dnl $2 = variable to set
2643+dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
2644+AC_DEFUN([CF_LIB_TYPE],
2645+[
2646+ case $1 in
2647+ libtool) $2='' ;;
2648+ normal) $2='' ;;
2649+ debug) $2='_g' ;;
2650+ profile) $2='_p' ;;
2651+ shared) $2='' ;;
2652+ esac
2653+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
2654+])dnl
2655+dnl ---------------------------------------------------------------------------
2656+dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46
2657+dnl ----------------
2658+dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
2659+dnl only data (i.e., no functions), for example NeXT. On those systems we'll
2660+dnl have to provide wrappers for global tables to ensure they're linked
2661+dnl properly.
2662+AC_DEFUN([CF_LINK_DATAONLY],
2663+[
2664+AC_MSG_CHECKING([if data-only library module links])
2665+AC_CACHE_VAL(cf_cv_link_dataonly,[
2666+ rm -f conftest.a
2667+ cat >conftest.$ac_ext <<EOF
2668+#line __oline__ "configure"
2669+int testdata[[3]] = { 123, 456, 789 };
2670+EOF
2671+ if AC_TRY_EVAL(ac_compile) ; then
2672+ mv conftest.o data.o && \
2673+ ( $AR $AR_OPTS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
2674+ fi
2675+ rm -f conftest.$ac_ext data.o
2676+ cat >conftest.$ac_ext <<EOF
2677+#line __oline__ "configure"
2678+int testfunc()
2679+{
2680+#if defined(NeXT)
2681+ exit(1); /* I'm told this linker is broken */
2682+#else
2683+ extern int testdata[[3]];
2684+ return testdata[[0]] == 123
2685+ && testdata[[1]] == 456
2686+ && testdata[[2]] == 789;
2687+#endif
2688+}
2689+EOF
2690+ if AC_TRY_EVAL(ac_compile); then
2691+ mv conftest.o func.o && \
2692+ ( $AR $AR_OPTS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
2693+ fi
2694+ rm -f conftest.$ac_ext func.o
2695+ ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
2696+ cf_saveLIBS="$LIBS"
2697+ LIBS="conftest.a $LIBS"
2698+ AC_TRY_RUN([
2699+ int main()
2700+ {
2701+ extern int testfunc();
2702+ exit (!testfunc());
2703+ }
2704+ ],
2705+ [cf_cv_link_dataonly=yes],
2706+ [cf_cv_link_dataonly=no],
2707+ [cf_cv_link_dataonly=unknown])
2708+ LIBS="$cf_saveLIBS"
2709+ ])
2710+AC_MSG_RESULT($cf_cv_link_dataonly)
2711+
2712+if test "$cf_cv_link_dataonly" = no ; then
2713+ AC_DEFINE(BROKEN_LINKER)
2714+ BROKEN_LINKER=1
2715+fi
2716+
2717+])dnl
2718+dnl ---------------------------------------------------------------------------
2719+dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46
2720+dnl -------------
2721+dnl Most Unix systems have both link and symlink, a few don't have symlink.
2722+dnl A few non-Unix systems implement symlink, but not link.
2723+dnl A few non-systems implement neither (or have nonfunctional versions).
2724+AC_DEFUN([CF_LINK_FUNCS],
2725+[
2726+AC_CHECK_FUNCS( \
2727+ remove \
2728+ unlink )
2729+
2730+if test "$cross_compiling" = yes ; then
2731+ AC_CHECK_FUNCS( \
2732+ link \
2733+ symlink )
2734+else
2735+ AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
2736+ cf_cv_link_funcs=
2737+ for cf_func in link symlink ; do
2738+ AC_TRY_RUN([
2739+#include <sys/types.h>
2740+#include <sys/stat.h>
2741+#ifdef HAVE_UNISTD_H
2742+#include <unistd.h>
2743+#endif
2744+int main()
2745+{
2746+ int fail = 0;
2747+ char *src = "config.log";
2748+ char *dst = "conftest.chk";
2749+ struct stat src_sb;
2750+ struct stat dst_sb;
2751+
2752+ stat(src, &src_sb);
2753+ fail = ($cf_func("config.log", "conftest.chk") < 0)
2754+ || (stat(dst, &dst_sb) < 0)
2755+ || (dst_sb.st_mtime != src_sb.st_mtime);
2756+#ifdef HAVE_UNLINK
2757+ unlink(dst);
2758+#else
2759+ remove(dst);
2760+#endif
2761+ exit (fail);
2762+}
2763+ ],[
2764+ cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
2765+ eval 'ac_cv_func_'$cf_func'=yes'],[
2766+ eval 'ac_cv_func_'$cf_func'=no'],[
2767+ eval 'ac_cv_func_'$cf_func'=error'])
2768+ done
2769+ test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
2770+ ])
2771+ test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
2772+ test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
2773+fi
2774+])dnl
2775+dnl ---------------------------------------------------------------------------
2776+dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27
2777+dnl ------------
2778+dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
2779+dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
2780+dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
2781+dnl $(MAKEFLAGS) variable incompatible because it adds the assignments :-)
2782+AC_DEFUN([CF_MAKEFLAGS],
2783+[
2784+AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
2785+ cf_cv_makeflags=''
2786+ for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)'
2787+ do
2788+ cat >cf_makeflags.tmp <<CF_EOF
2789+SHELL = /bin/sh
2790+all :
2791+ @ echo '.$cf_option'
2792+CF_EOF
2793+ cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null`
2794+ case "$cf_result" in
2795+ .*k)
2796+ cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
2797+ case "$cf_result" in
2798+ .*CC=*) cf_cv_makeflags=
2799+ ;;
2800+ *) cf_cv_makeflags=$cf_option
2801+ ;;
2802+ esac
2803+ break
2804+ ;;
2805+ *) echo no match "$cf_result"
2806+ ;;
2807+ esac
2808+ done
2809+ rm -f cf_makeflags.tmp
2810+])
2811+
2812+AC_SUBST(cf_cv_makeflags)
2813+])dnl
2814+dnl ---------------------------------------------------------------------------
2815+dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40
2816+dnl ------------
2817+dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
2818+dnl a monocase filesystem.
2819+AC_DEFUN([CF_MAKE_TAGS],[
2820+AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
2821+AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no)
2822+
2823+if test "$cf_cv_mixedcase" = yes ; then
2824+ AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no)
2825+else
2826+ MAKE_UPPER_TAGS=no
2827+fi
2828+
2829+if test "$MAKE_UPPER_TAGS" = yes ; then
2830+ MAKE_UPPER_TAGS=
2831+else
2832+ MAKE_UPPER_TAGS="#"
2833+fi
2834+AC_SUBST(MAKE_UPPER_TAGS)
2835+
2836+if test "$MAKE_LOWER_TAGS" = yes ; then
2837+ MAKE_LOWER_TAGS=
2838+else
2839+ MAKE_LOWER_TAGS="#"
2840+fi
2841+AC_SUBST(MAKE_LOWER_TAGS)
2842+])dnl
2843+dnl ---------------------------------------------------------------------------
2844+dnl CF_MANPAGE_FORMAT version: 7 updated: 2003/12/20 19:30:34
2845+dnl -----------------
2846+dnl Option to allow user to override automatic configuration of manpage format.
2847+dnl There are several special cases:
2848+dnl
2849+dnl gzip - man checks for, can display gzip'd files
2850+dnl compress - man checks for, can display compressed files
2851+dnl BSDI - files in the cat-directories are suffixed ".0"
2852+dnl formatted - installer should format (put files in cat-directory)
2853+dnl catonly - installer should only format, e.g., for a turnkey system.
2854+dnl
2855+dnl There are other configurations which this macro does not test, e.g., HPUX's
2856+dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
2857+dnl convention would not match our use).
2858+AC_DEFUN([CF_MANPAGE_FORMAT],
2859+[
2860+AC_REQUIRE([CF_PATHSEP])
2861+AC_MSG_CHECKING(format of man-pages)
2862+
2863+AC_ARG_WITH(manpage-format,
2864+ [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
2865+ optionally formatted/catonly, e.g., gzip,formatted],
2866+ [MANPAGE_FORMAT=$withval],
2867+ [MANPAGE_FORMAT=unknown])
2868+
2869+test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
2870+MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
2871+
2872+cf_unknown=
2873+
2874+case $MANPAGE_FORMAT in
2875+unknown)
2876+ if test -z "$MANPATH" ; then
2877+ MANPATH="/usr/man:/usr/share/man"
2878+ fi
2879+
2880+ # look for the 'date' man-page (it's most likely to be installed!)
2881+ MANPAGE_FORMAT=
2882+ cf_preform=no
2883+ cf_catonly=yes
2884+ cf_example=date
2885+
2886+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}"
2887+ for cf_dir in $MANPATH; do
2888+ test -z "$cf_dir" && cf_dir=/usr/man
2889+ for cf_name in $cf_dir/man*/$cf_example.[[01]]* $cf_dir/cat*/$cf_example.[[01]]* $cf_dir/man*/$cf_example $cf_dir/cat*/$cf_example
2890+ do
2891+ cf_test=`echo $cf_name | sed -e 's/*//'`
2892+ if test "x$cf_test" = "x$cf_name" ; then
2893+
2894+ case "$cf_name" in
2895+ *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
2896+ *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
2897+ *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
2898+ *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
2899+ esac
2900+
2901+ case "$cf_name" in
2902+ $cf_dir/man*)
2903+ cf_catonly=no
2904+ ;;
2905+ $cf_dir/cat*)
2906+ cf_preform=yes
2907+ ;;
2908+ esac
2909+ break
2910+ fi
2911+
2912+ # if we found a match in either man* or cat*, stop looking
2913+ if test -n "$MANPAGE_FORMAT" ; then
2914+ cf_found=no
2915+ test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
2916+ test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
2917+ case "$cf_name" in
2918+ $cf_dir/cat*)
2919+ cf_found=yes
2920+ ;;
2921+ esac
2922+ test $cf_found=yes && break
2923+ fi
2924+ done
2925+ # only check the first directory in $MANPATH where we find manpages
2926+ if test -n "$MANPAGE_FORMAT" ; then
2927+ break
2928+ fi
2929+ done
2930+ # if we did not find the example, just assume it is normal
2931+ test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
2932+ IFS="$ac_save_ifs"
2933+ ;;
2934+*)
2935+ for cf_option in $MANPAGE_FORMAT; do
2936+ case $cf_option in #(vi
2937+ gzip|compress|BSDI|normal|formatted|catonly)
2938+ ;;
2939+ *)
2940+ cf_unknown="$cf_unknown $cf_option"
2941+ ;;
2942+ esac
2943+ done
2944+ ;;
2945+esac
2946+
2947+AC_MSG_RESULT($MANPAGE_FORMAT)
2948+if test -n "$cf_unknown" ; then
2949+ AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
2950+fi
2951+])dnl
2952+dnl ---------------------------------------------------------------------------
2953+dnl CF_MANPAGE_RENAMES version: 6 updated: 2002/01/19 22:51:32
2954+dnl ------------------
2955+dnl The Debian people have their own naming convention for manpages. This
2956+dnl option lets us override the name of the file containing renaming, or
2957+dnl disable it altogether.
2958+AC_DEFUN([CF_MANPAGE_RENAMES],
2959+[
2960+AC_MSG_CHECKING(for manpage renaming)
2961+
2962+AC_ARG_WITH(manpage-renames,
2963+ [ --with-manpage-renames specify manpage-renaming],
2964+ [MANPAGE_RENAMES=$withval],
2965+ [MANPAGE_RENAMES=yes])
2966+
2967+case ".$MANPAGE_RENAMES" in #(vi
2968+.no) #(vi
2969+ ;;
2970+.|.yes)
2971+ # Debian 'man' program?
2972+ if test -f /etc/debian_version ; then
2973+ MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
2974+ else
2975+ MANPAGE_RENAMES=no
2976+ fi
2977+ ;;
2978+esac
2979+
2980+if test "$MANPAGE_RENAMES" != no ; then
2981+ if test -f $srcdir/man/$MANPAGE_RENAMES ; then
2982+ MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
2983+ elif test ! -f $MANPAGE_RENAMES ; then
2984+ AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
2985+ fi
2986+
2987+ test ! -d man && mkdir man
2988+
2989+ # Construct a sed-script to perform renaming within man-pages
2990+ if test -n "$MANPAGE_RENAMES" ; then
2991+ test ! -d man && mkdir man
2992+ sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >man/edit_man.sed
2993+ fi
2994+fi
2995+
2996+AC_MSG_RESULT($MANPAGE_RENAMES)
2997+AC_SUBST(MANPAGE_RENAMES)
2998+])dnl
2999+dnl ---------------------------------------------------------------------------
3000+dnl CF_MANPAGE_SYMLINKS version: 4 updated: 2003/12/13 18:01:58
3001+dnl -------------------
3002+dnl Some people expect each tool to make all aliases for manpages in the
3003+dnl man-directory. This accommodates the older, less-capable implementations
3004+dnl of 'man', and is optional.
3005+AC_DEFUN([CF_MANPAGE_SYMLINKS],
3006+[
3007+AC_MSG_CHECKING(if manpage aliases will be installed)
3008+
3009+AC_ARG_WITH(manpage-aliases,
3010+ [ --with-manpage-aliases specify manpage-aliases using .so],
3011+ [MANPAGE_ALIASES=$withval],
3012+ [MANPAGE_ALIASES=yes])
3013+
3014+AC_MSG_RESULT($MANPAGE_ALIASES)
3015+
3016+if test "$LN_S" = "ln -s"; then
3017+ cf_use_symlinks=yes
3018+else
3019+ cf_use_symlinks=no
3020+fi
3021+
3022+MANPAGE_SYMLINKS=no
3023+if test "$MANPAGE_ALIASES" = yes ; then
3024+AC_MSG_CHECKING(if manpage symlinks should be used)
3025+
3026+AC_ARG_WITH(manpage-symlinks,
3027+ [ --with-manpage-symlinks specify manpage-aliases using symlinks],
3028+ [MANPAGE_SYMLINKS=$withval],
3029+ [MANPAGE_SYMLINKS=$cf_use_symlinks])
3030+
3031+if test "$$cf_use_symlinks" = no; then
3032+if test "$MANPAGE_SYMLINKS" = yes ; then
3033+ AC_MSG_WARN(cannot make symlinks, will use .so files)
3034+ MANPAGE_SYMLINKS=no
3035+fi
3036+fi
3037+
3038+AC_MSG_RESULT($MANPAGE_SYMLINKS)
3039+fi
3040+
3041+])dnl
3042+dnl ---------------------------------------------------------------------------
3043+dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
3044+dnl --------------
3045+dnl This option causes manpages to be run through tbl(1) to generate tables
3046+dnl correctly.
3047+AC_DEFUN([CF_MANPAGE_TBL],
3048+[
3049+AC_MSG_CHECKING(for manpage tbl)
3050+
3051+AC_ARG_WITH(manpage-tbl,
3052+ [ --with-manpage-tbl specify manpage processing with tbl],
3053+ [MANPAGE_TBL=$withval],
3054+ [MANPAGE_TBL=no])
3055+
3056+AC_MSG_RESULT($MANPAGE_TBL)
3057+])dnl
3058+dnl ---------------------------------------------------------------------------
3059+dnl CF_MAN_PAGES version: 27 updated: 2003/12/20 20:39:45
3060+dnl ------------
3061+dnl Try to determine if the man-pages on the system are compressed, and if
3062+dnl so, what format is used. Use this information to construct a script that
3063+dnl will install man-pages.
3064+AC_DEFUN([CF_MAN_PAGES],
3065+[
3066+CF_MANPAGE_FORMAT
3067+CF_MANPAGE_RENAMES
3068+CF_MANPAGE_SYMLINKS
3069+CF_MANPAGE_TBL
3070+
3071+ if test "$prefix" = "NONE" ; then
3072+ cf_prefix="$ac_default_prefix"
3073+ else
3074+ cf_prefix="$prefix"
3075+ fi
3076+
3077+ case "$MANPAGE_FORMAT" in # (vi
3078+ *catonly*) # (vi
3079+ cf_format=yes
3080+ cf_inboth=no
3081+ ;;
3082+ *formatted*) # (vi
3083+ cf_format=yes
3084+ cf_inboth=yes
3085+ ;;
3086+ *)
3087+ cf_format=no
3088+ cf_inboth=no
3089+ ;;
3090+ esac
3091+
3092+test ! -d man && mkdir man
3093+
3094+cf_so_strip=
3095+cf_compress=
3096+case "$MANPAGE_FORMAT" in #(vi
3097+*compress*) #(vi
3098+ cf_so_strip="Z"
3099+ cf_compress=compress
3100+ ;;
3101+*gzip*) #(vi
3102+ cf_so_strip="gz"
3103+ cf_compress=gzip
3104+ ;;
3105+esac
3106+
3107+cf_edit_man=man/edit_man.sh
3108+
3109+cat >$cf_edit_man <<CF_EOF
3110+#! /bin/sh
3111+# this script is generated by the configure-script CF_MAN_PAGES macro.
3112+prefix="$cf_prefix"
3113+datadir="$datadir"
3114+NCURSES_OSPEED="$NCURSES_OSPEED"
3115+TERMINFO="$TERMINFO"
3116+MKDIRS="sh `cd $srcdir && pwd`/mkinstalldirs"
3117+INSTALL="$INSTALL"
3118+INSTALL_DATA="$INSTALL_DATA"
3119+transform="$program_transform_name"
3120+
3121+TMP=\${TMPDIR-/tmp}/man\$\$
3122+trap "rm -f \$TMP" 0 1 2 5 15
3123+
3124+form=\[$]1
3125+shift || exit 1
3126+
3127+verb=\[$]1
3128+shift || exit 1
3129+
3130+mandir=\[$]1
3131+shift || exit 1
3132+
3133+srcdir=\[$]1
3134+shift || exit 1
3135+
3136+if test "\$form" = normal ; then
3137+ if test "$cf_format" = yes ; then
3138+ if test "$cf_inboth" = no ; then
3139+ sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
3140+ exit $?
3141+ fi
3142+ fi
3143+ cf_subdir=\$mandir/man
3144+ cf_tables=$MANPAGE_TBL
3145+else
3146+ cf_subdir=\$mandir/cat
3147+ cf_tables=yes
3148+fi
3149+
3150+# process the list of source-files
3151+for i in \[$]* ; do
3152+case \$i in #(vi
3153+*.orig|*.rej) ;; #(vi
3154+*.[[0-9]]*)
3155+ section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
3156+ if test \$verb = installing ; then
3157+ if test ! -d \$cf_subdir\${section} ; then
3158+ \$MKDIRS \$cf_subdir\$section
3159+ fi
3160+ fi
3161+ aliases=
3162+ source=\`basename \$i\`
3163+ inalias=\$source
3164+ test ! -f \$inalias && inalias="\$srcdir/\$inalias"
3165+ if test ! -f \$inalias ; then
3166+ echo .. skipped \$source
3167+ continue
3168+ fi
3169+CF_EOF
3170+
3171+if test "$MANPAGE_ALIASES" != no ; then
3172+cat >>$cf_edit_man <<CF_EOF
3173+ aliases=\`sed -f \$srcdir/manlinks.sed \$inalias | sort -u\`
3174+CF_EOF
3175+fi
3176+
3177+if test "$MANPAGE_RENAMES" = no ; then
3178+cat >>$cf_edit_man <<CF_EOF
3179+ # perform program transformations for section 1 man pages
3180+ if test \$section = 1 ; then
3181+ target=\$cf_subdir\${section}/\`echo \$source|sed "\${transform}"\`
3182+ else
3183+ target=\$cf_subdir\${section}/\$source
3184+ fi
3185+CF_EOF
3186+else
3187+cat >>$cf_edit_man <<CF_EOF
3188+ target=\`grep "^\$source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
3189+ if test -z "\$target" ; then
3190+ echo '? missing rename for '\$source
3191+ target="\$source"
3192+ fi
3193+ target="\$cf_subdir\${section}/\${target}"
3194+CF_EOF
3195+fi
3196+
3197+ # replace variables in man page
3198+ ifelse($1,,,[
3199+ for cf_name in $1
3200+ do
3201+cat >>$cf_edit_man <<CF_EOF
3202+ prog_$cf_name=\`echo $cf_name|sed "\${transform}"\`
3203+CF_EOF
3204+ done
3205+ ])
3206+cat >>$cf_edit_man <<CF_EOF
3207+ sed -e "s,@DATADIR@,\$datadir," \\
3208+ -e "s,@TERMINFO@,\$TERMINFO," \\
3209+ -e "s,@NCURSES_OSPEED@,\$NCURSES_OSPEED," \\
3210+CF_EOF
3211+
3212+ ifelse($1,,,[
3213+ for cf_name in $1
3214+ do
3215+ cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
3216+cat >>$cf_edit_man <<CF_EOF
3217+ -e "s,@$cf_NAME@,\$prog_$cf_name," \\
3218+CF_EOF
3219+ done
3220+ ])
3221+
3222+if test -f $MANPAGE_RENAMES ; then
3223+cat >>$cf_edit_man <<CF_EOF
3224+ < \$i | sed -f $srcdir/edit_man.sed >\$TMP
3225+CF_EOF
3226+else
3227+cat >>$cf_edit_man <<CF_EOF
3228+ < \$i >\$TMP
3229+CF_EOF
3230+fi
3231+
3232+cat >>$cf_edit_man <<CF_EOF
3233+if test \$cf_tables = yes ; then
3234+ tbl \$TMP >\$TMP.out
3235+ mv \$TMP.out \$TMP
3236+fi
3237+CF_EOF
3238+
3239+if test $with_curses_h != yes ; then
3240+cat >>$cf_edit_man <<CF_EOF
3241+ sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
3242+ mv \$TMP.out \$TMP
3243+CF_EOF
3244+fi
3245+
3246+cat >>$cf_edit_man <<CF_EOF
3247+ if test \$form = format ; then
3248+ nroff -man \$TMP >\$TMP.out
3249+ mv \$TMP.out \$TMP
3250+ fi
3251+CF_EOF
3252+
3253+if test -n "$cf_compress" ; then
3254+cat >>$cf_edit_man <<CF_EOF
3255+ if test \$verb = installing ; then
3256+ if ( $cf_compress -f \$TMP )
3257+ then
3258+ mv \$TMP.$cf_so_strip \$TMP
3259+ fi
3260+ fi
3261+ target="\$target.$cf_so_strip"
3262+CF_EOF
3263+fi
3264+
3265+case "$MANPAGE_FORMAT" in #(vi
3266+*BSDI*)
3267+cat >>$cf_edit_man <<CF_EOF
3268+ if test \$form = format ; then
3269+ # BSDI installs only .0 suffixes in the cat directories
3270+ target="\`echo \$target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
3271+ fi
3272+CF_EOF
3273+ ;;
3274+esac
3275+
3276+cat >>$cf_edit_man <<CF_EOF
3277+ suffix=\`basename \$target | sed -e 's%^[[^.]]*%%'\`
3278+ if test \$verb = installing ; then
3279+ echo \$verb \$target
3280+ \$INSTALL_DATA \$TMP \$target
3281+ test -n "\$aliases" && (
3282+ cd \$cf_subdir\${section} && (
3283+ source=\`echo \$target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
3284+ test -n "$cf_so_strip" && source=\`echo \$source |sed -e 's%\.$cf_so_strip\$%%'\`
3285+ target=\`basename \$target\`
3286+ for cf_alias in \$aliases
3287+ do
3288+ if test \$section = 1 ; then
3289+ cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
3290+ fi
3291+
3292+ if test "$MANPAGE_SYMLINKS" = yes ; then
3293+ if test -f \$cf_alias\${suffix} ; then
3294+ if ( cmp -s \$target \$cf_alias\${suffix} )
3295+ then
3296+ continue
3297+ fi
3298+ fi
3299+ echo .. \$verb alias \$cf_alias\${suffix}
3300+ rm -f \$cf_alias\${suffix}
3301+ $LN_S \$target \$cf_alias\${suffix}
3302+ elif test "\$target" != "\$cf_alias\${suffix}" ; then
3303+ echo ".so \$source" >\$TMP
3304+CF_EOF
3305+if test -n "$cf_compress" ; then
3306+cat >>$cf_edit_man <<CF_EOF
3307+ if test -n "$cf_so_strip" ; then
3308+ $cf_compress -f \$TMP
3309+ mv \$TMP.$cf_so_strip \$TMP
3310+ fi
3311+CF_EOF
3312+fi
3313+cat >>$cf_edit_man <<CF_EOF
3314+ echo .. \$verb alias \$cf_alias\${suffix}
3315+ rm -f \$cf_alias\${suffix}
3316+ \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
3317+ fi
3318+ done
3319+ )
3320+ )
3321+ elif test \$verb = removing ; then
3322+ echo \$verb \$target
3323+ rm -f \$target
3324+ test -n "\$aliases" && (
3325+ cd \$cf_subdir\${section} && (
3326+ for cf_alias in \$aliases
3327+ do
3328+ if test \$section = 1 ; then
3329+ cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
3330+ fi
3331+
3332+ echo .. \$verb alias \$cf_alias\${suffix}
3333+ rm -f \$cf_alias\${suffix}
3334+ done
3335+ )
3336+ )
3337+ else
3338+# echo ".hy 0"
3339+ cat \$TMP
3340+ fi
3341+ ;;
3342+esac
3343+done
3344+
3345+if test $cf_inboth = yes ; then
3346+if test \$form != format ; then
3347+ sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
3348+fi
3349+fi
3350+
3351+exit 0
3352+CF_EOF
3353+chmod 755 $cf_edit_man
3354+
3355+])dnl
3356+dnl ---------------------------------------------------------------------------
3357+dnl CF_MATH_LIB version: 5 updated: 2000/05/28 01:39:10
3358+dnl -----------
3359+dnl Checks for libraries. At least one UNIX system, Apple Macintosh
3360+dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
3361+dnl AC_CHECK_LIB(m,sin), because that fails for C++.
3362+AC_DEFUN([CF_MATH_LIB],
3363+[
3364+AC_CACHE_CHECK(if -lm needed for math functions,
3365+ cf_cv_need_libm,[
3366+ AC_TRY_LINK([
3367+ #include <stdio.h>
3368+ #include <math.h>
3369+ ],
3370+ [double x = rand(); printf("result = %g\n", ]ifelse($2,,sin(x),$2)[)],
3371+ [cf_cv_need_libm=no],
3372+ [cf_cv_need_libm=yes])])
3373+if test "$cf_cv_need_libm" = yes
3374+then
3375+ifelse($1,,[
3376+ LIBS="$LIBS -lm"
3377+],[$1=-lm])
3378+fi
3379+])
3380+dnl ---------------------------------------------------------------------------
3381+dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
3382+dnl ----------------------
3383+dnl Check if the file-system supports mixed-case filenames. If we're able to
3384+dnl create a lowercase name and see it as uppercase, it doesn't support that.
3385+AC_DEFUN([CF_MIXEDCASE_FILENAMES],
3386+[
3387+AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
3388+if test "$cross_compiling" = yes ; then
3389+ case $target_alias in #(vi
3390+ *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
3391+ cf_cv_mixedcase=no
3392+ ;;
3393+ *)
3394+ cf_cv_mixedcase=yes
3395+ ;;
3396+ esac
3397+else
3398+ rm -f conftest CONFTEST
3399+ echo test >conftest
3400+ if test -f CONFTEST ; then
3401+ cf_cv_mixedcase=no
3402+ else
3403+ cf_cv_mixedcase=yes
3404+ fi
3405+ rm -f conftest CONFTEST
3406+fi
3407+])
3408+test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
3409+])dnl
3410+dnl ---------------------------------------------------------------------------
3411+dnl CF_MKSTEMP version: 3 updated: 2001/11/08 20:59:59
3412+dnl ----------
3413+dnl Check for a working mkstemp. This creates two files, checks that they are
3414+dnl successfully created and distinct (AmigaOS apparently fails on the last).
3415+AC_DEFUN([CF_MKSTEMP],[
3416+AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
3417+rm -f conftest*
3418+AC_TRY_RUN([
3419+#include <sys/types.h>
3420+#include <stdlib.h>
3421+#include <stdio.h>
3422+#include <string.h>
3423+#include <sys/stat.h>
3424+int main()
3425+{
3426+ char *tmpl = "conftestXXXXXX";
3427+ char name[2][80];
3428+ int n;
3429+ int result = 0;
3430+ int fd;
3431+ struct stat sb;
3432+
3433+ umask(077);
3434+ for (n = 0; n < 2; ++n) {
3435+ strcpy(name[n], tmpl);
3436+ if ((fd = mkstemp(name[n])) >= 0) {
3437+ if (!strcmp(name[n], tmpl)
3438+ || stat(name[n], &sb) != 0
3439+ || (sb.st_mode & S_IFMT) != S_IFREG
3440+ || (sb.st_mode & 077) != 0) {
3441+ result = 1;
3442+ }
3443+ close(fd);
3444+ }
3445+ }
3446+ if (result == 0
3447+ && !strcmp(name[0], name[1]))
3448+ result = 1;
3449+ exit(result);
3450+}
3451+],[cf_cv_func_mkstemp=yes
3452+],[cf_cv_func_mkstemp=no
3453+],[AC_CHECK_FUNC(mkstemp)
3454+])
3455+])
3456+if test "$cf_cv_func_mkstemp" = yes ; then
3457+ AC_DEFINE(HAVE_MKSTEMP)
3458+fi
3459+])dnl
3460+dnl ---------------------------------------------------------------------------
3461+dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
3462+dnl ----------------
3463+dnl Check if the given variable is a number. If not, report an error.
3464+dnl $1 is the variable
3465+dnl $2 is the message
3466+AC_DEFUN([CF_NUMBER_SYNTAX],[
3467+if test -n "$1" ; then
3468+ case $1 in #(vi
3469+ [[0-9]]*) #(vi
3470+ ;;
3471+ *)
3472+ AC_MSG_ERROR($2 is not a number: $1)
3473+ ;;
3474+ esac
3475+else
3476+ AC_MSG_ERROR($2 value is empty)
3477+fi
3478+])dnl
3479+dnl ---------------------------------------------------------------------------
3480+dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
3481+dnl -------------
3482+dnl Compute the object-directory name from the given model name
3483+AC_DEFUN([CF_OBJ_SUBDIR],
3484+[
3485+ case $1 in
3486+ libtool) $2='obj_lo' ;;
3487+ normal) $2='objects' ;;
3488+ debug) $2='obj_g' ;;
3489+ profile) $2='obj_p' ;;
3490+ shared)
3491+ case $cf_cv_system_name in #(vi
3492+ cygwin) #(vi
3493+ $2='objects' ;;
3494+ *)
3495+ $2='obj_s' ;;
3496+ esac
3497+ esac
3498+])dnl
3499+dnl ---------------------------------------------------------------------------
3500+dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53
3501+dnl ----------
3502+dnl Provide a value for the $PATH and similar separator
3503+AC_DEFUN([CF_PATHSEP],
3504+[
3505+ case $cf_cv_system_name in
3506+ os2*) PATHSEP=';' ;;
3507+ *) PATHSEP=':' ;;
3508+ esac
3509+ifelse($1,,,[$1=$PATHSEP])
3510+ AC_SUBST(PATHSEP)
3511+])dnl
3512+dnl ---------------------------------------------------------------------------
3513+dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
3514+dnl --------------
3515+dnl Check the argument to see that it looks like a pathname. Rewrite it if it
3516+dnl begins with one of the prefix/exec_prefix variables, and then again if the
3517+dnl result begins with 'NONE'. This is necessary to work around autoconf's
3518+dnl delayed evaluation of those symbols.
3519+AC_DEFUN([CF_PATH_SYNTAX],[
3520+case ".[$]$1" in #(vi
3521+.\[$]\(*\)*|.\'*\'*) #(vi
3522+ ;;
3523+..|./*|.\\*) #(vi
3524+ ;;
3525+.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
3526+ ;;
3527+.\[$]{*prefix}*) #(vi
3528+ eval $1="[$]$1"
3529+ case ".[$]$1" in #(vi
3530+ .NONE/*)
3531+ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
3532+ ;;
3533+ esac
3534+ ;; #(vi
3535+.NONE/*)
3536+ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
3537+ ;;
3538+*)
3539+ ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
3540+ ;;
3541+esac
3542+])dnl
3543+dnl ---------------------------------------------------------------------------
3544+dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56
3545+dnl ------------
3546+dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
3547+dnl
3548+dnl $1 = symbol to test
3549+dnl $2 = value (if any) to use for a predefinition
3550+AC_DEFUN([CF_PREDEFINE],
3551+[
3552+AC_MSG_CHECKING(if we must define $1)
3553+AC_TRY_COMPILE([#include <sys/types.h>
3554+],[
3555+#ifndef $1
3556+make an error
3557+#endif],[cf_result=no],[cf_result=yes])
3558+AC_MSG_RESULT($cf_result)
3559+
3560+if test "$cf_result" = yes ; then
3561+ CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])"
3562+elif test "x$2" != "x" ; then
3563+ AC_MSG_CHECKING(checking for compatible value versus $2)
3564+ AC_TRY_COMPILE([#include <sys/types.h>
3565+],[
3566+#if $1-$2 < 0
3567+make an error
3568+#endif],[cf_result=yes],[cf_result=no])
3569+ AC_MSG_RESULT($cf_result)
3570+ if test "$cf_result" = no ; then
3571+ # perhaps we can override it - try...
3572+ CPPFLAGS="$CPPFLAGS -D$1=$2"
3573+ fi
3574+fi
3575+])dnl
3576+dnl ---------------------------------------------------------------------------
3577+dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
3578+dnl -----------
3579+dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
3580+AC_DEFUN([CF_PROG_EXT],
3581+[
3582+AC_REQUIRE([CF_CHECK_CACHE])
3583+case $cf_cv_system_name in
3584+os2*)
3585+ CFLAGS="$CFLAGS -Zmt"
3586+ CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
3587+ CXXFLAGS="$CXXFLAGS -Zmt"
3588+ # autoconf's macro sets -Zexe and suffix both, which conflict:w
3589+ LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
3590+ ac_cv_exeext=.exe
3591+ ;;
3592+esac
3593+
3594+AC_EXEEXT
3595+AC_OBJEXT
3596+
3597+PROG_EXT="$EXEEXT"
3598+AC_SUBST(PROG_EXT)
3599+test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
3600+])dnl
3601+dnl ---------------------------------------------------------------------------
3602+dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
3603+dnl ---------------
3604+dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
3605+dnl misc/tabset install won't work properly. Usually this happens only when
3606+dnl using the fallback mkinstalldirs script
3607+AC_DEFUN([CF_PROG_INSTALL],
3608+[AC_PROG_INSTALL
3609+case $INSTALL in
3610+/*)
3611+ ;;
3612+*)
3613+ CF_DIRNAME(cf_dir,$INSTALL)
3614+ test -z "$cf_dir" && cf_dir=.
3615+ INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
3616+ ;;
3617+esac
3618+])dnl
3619+dnl ---------------------------------------------------------------------------
3620+dnl CF_PROG_LDCONFIG version: 1 updated: 2003/09/20 17:07:55
3621+dnl ----------------
3622+dnl Check for ldconfig, needed to fixup shared libraries that would be built
3623+dnl and then used in the install.
3624+AC_DEFUN([CF_PROG_LDCONFIG],[
3625+if test "$cross_compiling" = yes ; then
3626+ LDCONFIG=:
3627+else
3628+case "$cf_cv_system_name" in #(vi
3629+freebsd*) #(vi
3630+ test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
3631+ ;;
3632+*) LDPATH=$PATH:/sbin:/usr/sbin
3633+ AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
3634+ ;;
3635+esac
3636+fi
3637+AC_SUBST(LDCONFIG)
3638+])dnl
3639+dnl ---------------------------------------------------------------------------
3640+dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01
3641+dnl --------
3642+dnl Attempt to determine if we've got one of the flavors of regular-expression
3643+dnl code that we can support.
3644+AC_DEFUN([CF_REGEX],
3645+[
3646+AC_MSG_CHECKING([for regular-expression headers])
3647+AC_CACHE_VAL(cf_cv_regex,[
3648+AC_TRY_LINK([#include <sys/types.h>
3649+#include <regex.h>],[
3650+ regex_t *p;
3651+ int x = regcomp(p, "", 0);
3652+ int y = regexec(p, "", 0, 0, 0);
3653+ regfree(p);
3654+ ],[cf_cv_regex="regex.h"],[
3655+ AC_TRY_LINK([#include <regexp.h>],[
3656+ char *p = compile("", "", "", 0);
3657+ int x = step("", "");
3658+ ],[cf_cv_regex="regexp.h"],[
3659+ cf_save_LIBS="$LIBS"
3660+ LIBS="-lgen $LIBS"
3661+ AC_TRY_LINK([#include <regexpr.h>],[
3662+ char *p = compile("", "", "");
3663+ int x = step("", "");
3664+ ],[cf_cv_regex="regexpr.h"],[LIBS="$cf_save_LIBS"])])])
3665+])
3666+AC_MSG_RESULT($cf_cv_regex)
3667+case $cf_cv_regex in
3668+ regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;;
3669+ regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;;
3670+ regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
3671+esac
3672+])dnl
3673+dnl ---------------------------------------------------------------------------
3674+dnl CF_SHARED_OPTS version: 30 updated: 2003/12/27 20:48:07
3675+dnl --------------
3676+dnl Attempt to determine the appropriate CC/LD options for creating a shared
3677+dnl library.
3678+dnl
3679+dnl Note: $(LOCAL_LDFLAGS) is used to link executables that will run within the
3680+dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
3681+dnl We avoid compiling-in a ../lib path for the shared library since that can
3682+dnl lead to unexpected results at runtime.
3683+dnl $(LOCAL_LDFLAGS2) has the same intention but assumes that the shared libraries
3684+dnl are compiled in ../../lib
3685+dnl
3686+dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
3687+dnl to install symbolic links to the rel/abi versions of shared libraries.
3688+dnl
3689+dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
3690+dnl version when making symbolic links.
3691+dnl
3692+dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
3693+dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
3694+dnl (ex: libncurses.so.<ver>).
3695+dnl
3696+dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
3697+AC_DEFUN([CF_SHARED_OPTS],
3698+[
3699+ AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
3700+ LOCAL_LDFLAGS=
3701+ LOCAL_LDFLAGS2=
3702+ LD_SHARED_OPTS=
3703+ INSTALL_LIB="-m 644"
3704+
3705+ cf_cv_do_symlinks=no
3706+
3707+ AC_MSG_CHECKING(if release/abi version should be used for shared libs)
3708+ AC_ARG_WITH(shlib-version,
3709+ [ --with-shlib-version=X Specify rel or abi version for shared libs],
3710+ [test -z "$withval" && withval=auto
3711+ case $withval in #(vi
3712+ yes) #(vi
3713+ cf_cv_shlib_version=auto
3714+ ;;
3715+ rel|abi|auto|no) #(vi
3716+ cf_cv_shlib_version=$withval
3717+ ;;
3718+ *)
3719+ AC_ERROR([option value must be one of: rel, abi, auto or no])
3720+ ;;
3721+ esac
3722+ ],[cf_cv_shlib_version=auto])
3723+ AC_MSG_RESULT($cf_cv_shlib_version)
3724+
3725+ cf_cv_rm_so_locs=no
3726+
3727+ # Some less-capable ports of gcc support only -fpic
3728+ CC_SHARED_OPTS=
3729+ if test "$GCC" = yes
3730+ then
3731+ AC_MSG_CHECKING(which $CC option to use)
3732+ cf_save_CFLAGS="$CFLAGS"
3733+ for CC_SHARED_OPTS in -fPIC -fpic ''
3734+ do
3735+ CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
3736+ AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
3737+ done
3738+ AC_MSG_RESULT($CC_SHARED_OPTS)
3739+ CFLAGS="$cf_save_CFLAGS"
3740+ fi
3741+
3742+ cf_cv_shlib_version_infix=no
3743+
3744+ case $cf_cv_system_name in
3745+ beos*)
3746+ MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
3747+ ;;
3748+ cygwin*)
3749+ CC_SHARED_OPTS=
3750+ MK_SHARED_LIB='$(CC) -shared -Wl,--out-implib=$(IMPORT_LIB) -Wl,--export-all-symbols -o $(SHARED_LIB)'
3751+ cf_cv_shlib_version=cygdll
3752+ cf_cv_shlib_version_infix=cygdll
3753+ ;;
3754+ darwin*)
3755+ EXTRA_CFLAGS="-no-cpp-precomp"
3756+ CC_SHARED_OPTS="-dynamic"
3757+ MK_SHARED_LIB='$(CC) -dynamiclib -install_name $(DESTDIR)$(libdir)/`basename $[@]` -compatibility_version $(ABI_VERSION) -current_version $(ABI_VERSION) -o $[@]'
3758+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
3759+ cf_cv_shlib_version_infix=yes
3760+ ;;
3761+ hpux*)
3762+ # (tested with gcc 2.7.2 -- I don't have c89)
3763+ if test "$GCC" = yes; then
3764+ LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
3765+ else
3766+ CC_SHARED_OPTS='+Z'
3767+ LD_SHARED_OPTS='-Wl,+b,$(libdir)'
3768+ fi
3769+ MK_SHARED_LIB='$(LD) +b $(libdir) -b -o $[@]'
3770+ # HP-UX shared libraries must be executable, and should be
3771+ # readonly to exploit a quirk in the memory manager.
3772+ INSTALL_LIB="-m 555"
3773+ ;;
3774+ irix*)
3775+ if test "$cf_cv_ld_rpath" = yes ; then
3776+ cf_ld_rpath_opt="-Wl,-rpath,"
3777+ EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
3778+ fi
3779+ # tested with IRIX 5.2 and 'cc'.
3780+ if test "$GCC" != yes; then
3781+ CC_SHARED_OPTS='-KPIC'
3782+ fi
3783+ MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
3784+ cf_cv_rm_so_locs=yes
3785+ ;;
3786+ linux*|gnu*|k*bsd*-gnu)
3787+ if test "$DFT_LWR_MODEL" = "shared" ; then
3788+ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
3789+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3790+ fi
3791+ if test "$cf_cv_ld_rpath" = yes ; then
3792+ cf_ld_rpath_opt="-Wl,-rpath,"
3793+ EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
3794+ fi
3795+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3796+ MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]'
3797+ ;;
3798+ openbsd2*)
3799+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3800+ MK_SHARED_LIB='$(LD) -Bshareable -soname,`basename $[@].$(ABI_VERSION)` -o $[@]'
3801+ ;;
3802+ freebsd[[45]]*)
3803+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3804+ MK_SHARED_LIB='$(LD) -Bshareable -soname=`basename $[@]` -o $[@]'
3805+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3806+
3807+# This doesn't work - I keep getting spurious references to needing
3808+# libncurses.so.5.3 when ldd says it's resolved. LOCAL_LDFLAGS2 seems to be
3809+# no longer used anyway. And the rpath logic isn't relative - so I have to
3810+# add the local and install lib-directories:
3811+#
3812+# if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
3813+# LOCAL_LDFLAGS="-rpath `pwd`/lib"
3814+# LOCAL_LDFLAGS2="-rpath \$(libdir) $LOCAL_LDFLAGS"
3815+# cf_ld_rpath_opt="-rpath "
3816+# EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
3817+# fi
3818+ ;;
3819+ openbsd*|freebsd*)
3820+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3821+ MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
3822+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3823+ ;;
3824+ netbsd*)
3825+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3826+ test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath,"
3827+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
3828+ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
3829+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3830+ EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
3831+ MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
3832+ if test "$cf_cv_shlib_version" = auto; then
3833+ if test ! -f /usr/libexec/ld.elf_so; then
3834+ cf_cv_shlib_version=rel
3835+ fi
3836+ fi
3837+ else
3838+ MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
3839+ fi
3840+ ;;
3841+ osf*|mls+*)
3842+ # tested with OSF/1 V3.2 and 'cc'
3843+ # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
3844+ # link with shared libs).
3845+ MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $[@]`'
3846+ case $host_os in
3847+ osf4*)
3848+ MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
3849+ ;;
3850+ esac
3851+ MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
3852+ if test "$DFT_LWR_MODEL" = "shared" ; then
3853+ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
3854+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3855+ fi
3856+ if test "$cf_cv_ld_rpath" = yes ; then
3857+ cf_ld_rpath_opt="-rpath"
3858+ # EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
3859+ fi
3860+ cf_cv_rm_so_locs=yes
3861+ ;;
3862+ sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98
3863+ # tested with osr5.0.5
3864+ if test "$GCC" != yes; then
3865+ CC_SHARED_OPTS='-belf -KPIC'
3866+ fi
3867+ MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@'
3868+ if test "$cf_cv_ld_rpath" = yes ; then
3869+ # only way is to set LD_RUN_PATH but no switch for it
3870+ RUN_PATH=$libdir
3871+ fi
3872+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3873+ LINK_PROGS='LD_RUN_PATH=$(libdir)'
3874+ LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
3875+ ;;
3876+ sunos4*)
3877+ # tested with SunOS 4.1.1 and gcc 2.7.0
3878+ if test "$GCC" != yes; then
3879+ CC_SHARED_OPTS='-KPIC'
3880+ fi
3881+ MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
3882+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3883+ ;;
3884+ solaris2*)
3885+ # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
3886+ if test "$GCC" != yes; then
3887+ CC_SHARED_OPTS='-KPIC'
3888+ fi
3889+ MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
3890+ if test "$DFT_LWR_MODEL" = "shared" ; then
3891+ LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)"
3892+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3893+ fi
3894+ if test "$cf_cv_ld_rpath" = yes ; then
3895+ cf_ld_rpath_opt="-R"
3896+ EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
3897+ fi
3898+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3899+ ;;
3900+ sysv5uw7*|unix_sv*)
3901+ # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
3902+ if test "$GCC" != yes; then
3903+ CC_SHARED_OPTS='-KPIC'
3904+ fi
3905+ MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
3906+ ;;
3907+ *)
3908+ CC_SHARED_OPTS='unknown'
3909+ MK_SHARED_LIB='echo unknown'
3910+ ;;
3911+ esac
3912+
3913+ # This works if the last tokens in $MK_SHARED_LIB are the -o target.
3914+ case "$cf_cv_shlib_version" in #(vi
3915+ rel|abi)
3916+ case "$MK_SHARED_LIB" in #(vi
3917+ *'-o $[@]')
3918+ test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
3919+ ;;
3920+ *)
3921+ AC_MSG_WARN(ignored --with-shlib-version)
3922+ ;;
3923+ esac
3924+ ;;
3925+ esac
3926+
3927+ if test -n "$cf_ld_rpath_opt" ; then
3928+ AC_MSG_CHECKING(if we need a space after rpath option)
3929+ cf_save_LIBS="$LIBS"
3930+ LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
3931+ AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
3932+ LIBS="$cf_save_LIBS"
3933+ AC_MSG_RESULT($cf_rpath_space)
3934+ test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
3935+ MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
3936+ fi
3937+
3938+ AC_SUBST(CC_SHARED_OPTS)
3939+ AC_SUBST(LD_SHARED_OPTS)
3940+ AC_SUBST(MK_SHARED_LIB)
3941+ AC_SUBST(LINK_PROGS)
3942+ AC_SUBST(LINK_TESTS)
3943+ AC_SUBST(EXTRA_LDFLAGS)
3944+ AC_SUBST(LOCAL_LDFLAGS)
3945+ AC_SUBST(LOCAL_LDFLAGS2)
3946+ AC_SUBST(INSTALL_LIB)
3947+])dnl
3948+dnl ---------------------------------------------------------------------------
3949+dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
3950+dnl -------------
3951+dnl Check for definitions & structures needed for window size-changing
3952+dnl FIXME: check that this works with "snake" (HP-UX 10.x)
3953+AC_DEFUN([CF_SIZECHANGE],
3954+[
3955+AC_REQUIRE([CF_STRUCT_TERMIOS])
3956+AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
3957+ cf_cv_sizechange=unknown
3958+ cf_save_CPPFLAGS="$CPPFLAGS"
3959+
3960+for cf_opts in "" "NEED_PTEM_H"
3961+do
3962+
3963+ CPPFLAGS="$cf_save_CPPFLAGS"
3964+ test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
3965+ AC_TRY_COMPILE([#include <sys/types.h>
3966+#ifdef HAVE_TERMIOS_H
3967+#include <termios.h>
3968+#else
3969+#ifdef HAVE_TERMIO_H
3970+#include <termio.h>
3971+#endif
3972+#endif
3973+#ifdef NEED_PTEM_H
3974+/* This is a workaround for SCO: they neglected to define struct winsize in
3975+ * termios.h -- it's only in termio.h and ptem.h
3976+ */
3977+#include <sys/stream.h>
3978+#include <sys/ptem.h>
3979+#endif
3980+#if !defined(sun) || !defined(HAVE_TERMIOS_H)
3981+#include <sys/ioctl.h>
3982+#endif
3983+],[
3984+#ifdef TIOCGSIZE
3985+ struct ttysize win; /* FIXME: what system is this? */
3986+ int y = win.ts_lines;
3987+ int x = win.ts_cols;
3988+#else
3989+#ifdef TIOCGWINSZ
3990+ struct winsize win;
3991+ int y = win.ws_row;
3992+ int x = win.ws_col;
3993+#else
3994+ no TIOCGSIZE or TIOCGWINSZ
3995+#endif /* TIOCGWINSZ */
3996+#endif /* TIOCGSIZE */
3997+ ],
3998+ [cf_cv_sizechange=yes],
3999+ [cf_cv_sizechange=no])
4000+
4001+ CPPFLAGS="$cf_save_CPPFLAGS"
4002+ if test "$cf_cv_sizechange" = yes ; then
4003+ echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
4004+ test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
4005+ break
4006+ fi
4007+done
4008+])
4009+if test "$cf_cv_sizechange" != no ; then
4010+ AC_DEFINE(HAVE_SIZECHANGE)
4011+ case $cf_cv_sizechange in #(vi
4012+ NEED*)
4013+ AC_DEFINE_UNQUOTED($cf_cv_sizechange )
4014+ ;;
4015+ esac
4016+fi
4017+])dnl
4018+dnl ---------------------------------------------------------------------------
4019+dnl CF_SRC_MODULES version: 15 updated: 2004/01/10 16:05:16
4020+dnl --------------
4021+dnl For each parameter, test if the source-directory exists, and if it contains
4022+dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
4023+dnl use in CF_LIB_RULES.
4024+dnl
4025+dnl This uses the configured value to make the lists SRC_SUBDIRS and
4026+dnl SUB_MAKEFILES which are used in the makefile-generation scheme.
4027+AC_DEFUN([CF_SRC_MODULES],
4028+[
4029+AC_MSG_CHECKING(for src modules)
4030+
4031+# dependencies and linker-arguments for test-programs
4032+TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
4033+if test "$DFT_LWR_MODEL" = "libtool"; then
4034+ TEST_ARGS="${TEST_DEPS}"
4035+else
4036+ TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
4037+fi
4038+
4039+# dependencies and linker-arguments for utility-programs
4040+test "$with_termlib" != yes && PROG_ARGS="$TEST_ARGS"
4041+
4042+cf_cv_src_modules=
4043+for cf_dir in $1
4044+do
4045+ if test -f $srcdir/$cf_dir/modules; then
4046+
4047+ # We may/may not have tack in the distribution, though the
4048+ # makefile is.
4049+ if test $cf_dir = tack ; then
4050+ if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then
4051+ continue
4052+ fi
4053+ fi
4054+
4055+ if test -z "$cf_cv_src_modules"; then
4056+ cf_cv_src_modules=$cf_dir
4057+ else
4058+ cf_cv_src_modules="$cf_cv_src_modules $cf_dir"
4059+ fi
4060+
4061+ # Make the ncurses_cfg.h file record the library interface files as
4062+ # well. These are header files that are the same name as their
4063+ # directory. Ncurses is the only library that does not follow
4064+ # that pattern.
4065+ if test $cf_dir = tack ; then
4066+ continue
4067+ elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
4068+ CF_UPPER(cf_have_include,$cf_dir)
4069+ AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
4070+ AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
4071+ TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
4072+ if test "$DFT_LWR_MODEL" = "libtool"; then
4073+ TEST_ARGS="${TEST_DEPS}"
4074+ else
4075+ TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
4076+ fi
4077+ fi
4078+ fi
4079+done
4080+AC_MSG_RESULT($cf_cv_src_modules)
4081+TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
4082+AC_SUBST(TEST_DEPS)
4083+AC_SUBST(TEST_ARGS)
4084+
4085+PROG_ARGS="-L${LIB_DIR} $PROG_ARGS"
4086+AC_SUBST(PROG_ARGS)
4087+
4088+SRC_SUBDIRS="man include"
4089+for cf_dir in $cf_cv_src_modules
4090+do
4091+ SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
4092+done
4093+SRC_SUBDIRS="$SRC_SUBDIRS test"
4094+test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
4095+test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
4096+
4097+ADA_SUBDIRS=
4098+if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
4099+ SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
4100+ ADA_SUBDIRS="gen src samples"
4101+fi
4102+
4103+SUB_MAKEFILES=
4104+for cf_dir in $SRC_SUBDIRS
4105+do
4106+ SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile"
4107+done
4108+
4109+if test -n "$ADA_SUBDIRS"; then
4110+ for cf_dir in $ADA_SUBDIRS
4111+ do
4112+ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
4113+ done
4114+ AC_SUBST(ADA_SUBDIRS)
4115+fi
4116+])dnl
4117+dnl ---------------------------------------------------------------------------
4118+dnl CF_STDCPP_LIBRARY version: 5 updated: 2000/08/12 23:18:52
4119+dnl -----------------
4120+dnl Check for -lstdc++, which is GNU's standard C++ library.
4121+AC_DEFUN([CF_STDCPP_LIBRARY],
4122+[
4123+if test -n "$GXX" ; then
4124+case $cf_cv_system_name in #(vi
4125+os2*) #(vi
4126+ cf_stdcpp_libname=stdcpp
4127+ ;;
4128+*)
4129+ cf_stdcpp_libname=stdc++
4130+ ;;
4131+esac
4132+AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
4133+ cf_save="$LIBS"
4134+ LIBS="$LIBS -l$cf_stdcpp_libname"
4135+AC_TRY_LINK([
4136+#include <strstream.h>],[
4137+char buf[80];
4138+strstreambuf foo(buf, sizeof(buf))
4139+],
4140+ [cf_cv_libstdcpp=yes],
4141+ [cf_cv_libstdcpp=no])
4142+ LIBS="$cf_save"
4143+])
4144+test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
4145+fi
4146+])dnl
4147+dnl ---------------------------------------------------------------------------
4148+dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
4149+dnl --------------
4150+dnl Remove "-g" option from the compiler options
4151+AC_DEFUN([CF_STRIP_G_OPT],
4152+[$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
4153+dnl ---------------------------------------------------------------------------
4154+dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52
4155+dnl -------------------
4156+dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only
4157+dnl do this if we've found the sigaction function.
4158+dnl
4159+dnl If needed, define SVR4_ACTION.
4160+AC_DEFUN([CF_STRUCT_SIGACTION],[
4161+if test "$ac_cv_func_sigaction" = yes; then
4162+AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
4163+AC_TRY_COMPILE([
4164+#include <sys/types.h>
4165+#include <signal.h>],
4166+ [struct sigaction act],
4167+ [sigact_bad=no],
4168+ [
4169+AC_TRY_COMPILE([
4170+#define _POSIX_SOURCE
4171+#include <sys/types.h>
4172+#include <signal.h>],
4173+ [struct sigaction act],
4174+ [sigact_bad=yes
4175+ AC_DEFINE(SVR4_ACTION)],
4176+ [sigact_bad=unknown])])
4177+AC_MSG_RESULT($sigact_bad)
4178+fi
4179+])dnl
4180+dnl ---------------------------------------------------------------------------
4181+dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46
4182+dnl -----------------
4183+dnl Some machines require _POSIX_SOURCE to completely define struct termios.
4184+dnl If so, define SVR4_TERMIO
4185+AC_DEFUN([CF_STRUCT_TERMIOS],[
4186+AC_CHECK_HEADERS( \
4187+termio.h \
4188+termios.h \
4189+unistd.h \
4190+)
4191+if test "$ISC" = yes ; then
4192+ AC_CHECK_HEADERS( sys/termio.h )
4193+fi
4194+if test "$ac_cv_header_termios_h" = yes ; then
4195+ case "$CFLAGS $CPPFLAGS" in
4196+ *-D_POSIX_SOURCE*)
4197+ termios_bad=dunno ;;
4198+ *) termios_bad=maybe ;;
4199+ esac
4200+ if test "$termios_bad" = maybe ; then
4201+ AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
4202+ AC_TRY_COMPILE([#include <termios.h>],
4203+ [struct termios foo; int x = foo.c_iflag],
4204+ termios_bad=no, [
4205+ AC_TRY_COMPILE([
4206+#define _POSIX_SOURCE
4207+#include <termios.h>],
4208+ [struct termios foo; int x = foo.c_iflag],
4209+ termios_bad=unknown,
4210+ termios_bad=yes AC_DEFINE(SVR4_TERMIO))
4211+ ])
4212+ AC_MSG_RESULT($termios_bad)
4213+ fi
4214+fi
4215+])dnl
4216+dnl ---------------------------------------------------------------------------
4217+dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28
4218+dnl --------
4219+dnl Shorthand macro for substituting things that the user may override
4220+dnl with an environment variable.
4221+dnl
4222+dnl $1 = long/descriptive name
4223+dnl $2 = environment variable
4224+dnl $3 = default value
4225+AC_DEFUN([CF_SUBST],
4226+[AC_CACHE_VAL(cf_cv_subst_$2,[
4227+AC_MSG_CHECKING(for $1 (symbol $2))
4228+test -z "[$]$2" && $2=$3
4229+AC_MSG_RESULT([$]$2)
4230+AC_SUBST($2)
4231+cf_cv_subst_$2=[$]$2])
4232+$2=${cf_cv_subst_$2}
4233+])dnl
4234+dnl ---------------------------------------------------------------------------
4235+dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51
4236+dnl ------------------------
4237+dnl Get the version-number for use in shared-library naming, etc.
4238+AC_DEFUN([CF_SUBST_NCURSES_VERSION],
4239+[
4240+NCURSES_MAJOR="`egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
4241+NCURSES_MINOR="`egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
4242+NCURSES_PATCH="`egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
4243+cf_cv_abi_version=${NCURSES_MAJOR}
4244+cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
4245+dnl Show the computed version, for logging
4246+cf_cv_timestamp=`date`
4247+AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
4248+dnl We need these values in the generated headers
4249+AC_SUBST(NCURSES_MAJOR)
4250+AC_SUBST(NCURSES_MINOR)
4251+AC_SUBST(NCURSES_PATCH)
4252+dnl We need these values in the generated makefiles
4253+AC_SUBST(cf_cv_rel_version)
4254+AC_SUBST(cf_cv_abi_version)
4255+AC_SUBST(cf_cv_builtin_bool)
4256+AC_SUBST(cf_cv_header_stdbool_h)
4257+AC_SUBST(cf_cv_type_of_bool)dnl
4258+])dnl
4259+dnl ---------------------------------------------------------------------------
4260+dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
4261+dnl ------------------
4262+dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
4263+dnl older SCO configurations.
4264+AC_DEFUN([CF_SYS_TIME_SELECT],
4265+[
4266+AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
4267+AC_CACHE_VAL(cf_cv_sys_time_select,[
4268+AC_TRY_COMPILE([
4269+#include <sys/types.h>
4270+#ifdef HAVE_SYS_TIME_H
4271+#include <sys/time.h>
4272+#endif
4273+#ifdef HAVE_SYS_SELECT_H
4274+#include <sys/select.h>
4275+#endif
4276+],[],[cf_cv_sys_time_select=yes],
4277+ [cf_cv_sys_time_select=no])
4278+ ])
4279+AC_MSG_RESULT($cf_cv_sys_time_select)
4280+test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
4281+])dnl
4282+dnl ---------------------------------------------------------------------------
4283+dnl CF_TYPEOF_CHTYPE version: 4 updated: 2000/10/04 09:18:40
4284+dnl ----------------
4285+dnl Determine the type we should use for chtype (and attr_t, which is treated
4286+dnl as the same thing). We want around 32 bits, so on most machines want a
4287+dnl long, but on newer 64-bit machines, probably want an int. If we're using
4288+dnl wide characters, we have to have a type compatible with that, as well.
4289+AC_DEFUN([CF_TYPEOF_CHTYPE],
4290+[
4291+AC_REQUIRE([CF_UNSIGNED_LITERALS])
4292+AC_MSG_CHECKING([for type of chtype])
4293+AC_CACHE_VAL(cf_cv_typeof_chtype,[
4294+ AC_TRY_RUN([
4295+#ifdef USE_WIDEC_SUPPORT
4296+#include <stddef.h> /* we want wchar_t */
4297+#define WANT_BITS 39
4298+#else
4299+#define WANT_BITS 31
4300+#endif
4301+#include <stdio.h>
4302+int main()
4303+{
4304+ FILE *fp = fopen("cf_test.out", "w");
4305+ if (fp != 0) {
4306+ char *result = "long";
4307+#ifdef USE_WIDEC_SUPPORT
4308+ /*
4309+ * If wchar_t is smaller than a long, it must be an int or a
4310+ * short. We prefer not to use a short anyway.
4311+ */
4312+ if (sizeof(unsigned long) > sizeof(wchar_t))
4313+ result = "int";
4314+#endif
4315+ if (sizeof(unsigned long) > sizeof(unsigned int)) {
4316+ int n;
4317+ unsigned int x;
4318+ for (n = 0; n < WANT_BITS; n++) {
4319+ unsigned int y = (x >> n);
4320+ if (y != 1 || x == 0) {
4321+ x = 0;
4322+ break;
4323+ }
4324+ }
4325+ /*
4326+ * If x is nonzero, an int is big enough for the bits
4327+ * that we want.
4328+ */
4329+ result = (x != 0) ? "int" : "long";
4330+ }
4331+ fputs(result, fp);
4332+ fclose(fp);
4333+ }
4334+ exit(0);
4335+}
4336+ ],
4337+ [cf_cv_typeof_chtype=`cat cf_test.out`],
4338+ [cf_cv_typeof_chtype=long],
4339+ [cf_cv_typeof_chtype=long])
4340+ rm -f cf_test.out
4341+ ])
4342+AC_MSG_RESULT($cf_cv_typeof_chtype)
4343+
4344+AC_SUBST(cf_cv_typeof_chtype)
4345+AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype)
4346+
4347+cf_cv_1UL="1"
4348+test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U"
4349+test "$cf_cv_typeof_chtype" = long && cf_cv_1UL="${cf_cv_1UL}L"
4350+AC_SUBST(cf_cv_1UL)
4351+
4352+])dnl
4353+dnl ---------------------------------------------------------------------------
4354+dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
4355+dnl -----------------
4356+dnl
4357+AC_DEFUN([CF_TYPE_SIGACTION],
4358+[
4359+AC_MSG_CHECKING([for type sigaction_t])
4360+AC_CACHE_VAL(cf_cv_type_sigaction,[
4361+ AC_TRY_COMPILE([
4362+#include <signal.h>],
4363+ [sigaction_t x],
4364+ [cf_cv_type_sigaction=yes],
4365+ [cf_cv_type_sigaction=no])])
4366+AC_MSG_RESULT($cf_cv_type_sigaction)
4367+test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
4368+])dnl
4369+dnl ---------------------------------------------------------------------------
4370+dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
4371+dnl --------------------
4372+dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers
4373+dnl won't, but they're still there.
4374+AC_DEFUN([CF_UNSIGNED_LITERALS],
4375+[
4376+AC_MSG_CHECKING([if unsigned literals are legal])
4377+AC_CACHE_VAL(cf_cv_unsigned_literals,[
4378+ AC_TRY_COMPILE([],[long x = 1L + 1UL + 1U + 1],
4379+ [cf_cv_unsigned_literals=yes],
4380+ [cf_cv_unsigned_literals=no])
4381+ ])
4382+AC_MSG_RESULT($cf_cv_unsigned_literals)
4383+])dnl
4384+dnl ---------------------------------------------------------------------------
4385+dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
4386+dnl --------
4387+dnl Make an uppercase version of a variable
4388+dnl $1=uppercase($2)
4389+AC_DEFUN([CF_UPPER],
4390+[
4391+$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
4392+])dnl
4393+dnl ---------------------------------------------------------------------------
4394+dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
4395+dnl ----------
4396+dnl Use AC_VERBOSE w/o the warnings
4397+AC_DEFUN([CF_VERBOSE],
4398+[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
4399+])dnl
4400+dnl ---------------------------------------------------------------------------
4401+dnl CF_WCHAR_TYPE version: 2 updated: 2004/01/17 19:18:20
4402+dnl -------------
4403+dnl Check if type wide-character type $1 is declared, and if so, which header
4404+dnl file is needed. The second parameter is used to set a shell variable when
4405+dnl the type is not found. The first parameter sets a shell variable for the
4406+dnl opposite sense.
4407+AC_DEFUN([CF_WCHAR_TYPE],
4408+[
4409+# This is needed on Tru64 5.0 to declare $1
4410+AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
4411+AC_TRY_COMPILE([
4412+#include <stdlib.h>
4413+#include <stdarg.h>
4414+#include <stdio.h>
4415+#ifdef HAVE_LIBUTF8_H
4416+#include <libutf8.h>
4417+#endif],
4418+ [$1 state],
4419+ [cf_cv_$1=no],
4420+ [AC_TRY_COMPILE([
4421+#include <stdlib.h>
4422+#include <stdarg.h>
4423+#include <stdio.h>
4424+#include <wchar.h>
4425+#ifdef HAVE_LIBUTF8_H
4426+#include <libutf8.h>
4427+#endif],
4428+ [$1 value],
4429+ [cf_cv_$1=yes],
4430+ [cf_cv_$1=unknown])])])
4431+
4432+if test "$cf_cv_$1" = yes ; then
4433+ AC_DEFINE(NEED_WCHAR_H)
4434+ NEED_WCHAR_H=1
4435+fi
4436+
4437+ifelse($2,,,[
4438+# if we do not find $1 in either place, use substitution to provide a fallback.
4439+if test "$cf_cv_$1" = unknown ; then
4440+ $2=1
4441+fi
4442+])
4443+ifelse($3,,,[
4444+# if we find $1 in either place, use substitution to provide a fallback.
4445+if test "$cf_cv_$1" != unknown ; then
4446+ $3=1
4447+fi
4448+])
4449+])dnl
4450+dnl ---------------------------------------------------------------------------
4451+dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
4452+dnl -------------------
4453+dnl Allow library's ABI to be overridden. Generally this happens when a
4454+dnl packager has incremented the ABI past that used in the original package,
4455+dnl and wishes to keep doing this.
4456+dnl
4457+dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
4458+dnl symbol.
4459+AC_DEFUN([CF_WITH_ABI_VERSION],[
4460+test -z "$cf_cv_abi_version" && cf_cv_abi_version=0
4461+AC_ARG_WITH(abi-version,
4462+[ --with-abi-version=XXX override derived ABI version],
4463+[AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval)
4464+ cf_cv_abi_version=$withval])
4465+ CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version)
4466+ifelse($1,,,[
4467+$1_ABI=$cf_cv_abi_version
4468+])
4469+])dnl
4470+dnl ---------------------------------------------------------------------------
4471+dnl CF_WITH_DBMALLOC version: 2 updated: 2002/12/29 21:11:45
4472+dnl ----------------
4473+dnl Configure-option for dbmalloc
4474+AC_DEFUN([CF_WITH_DBMALLOC],[
4475+AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
4476+AC_ARG_WITH(dbmalloc,
4477+ [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
4478+ [with_dbmalloc=$withval],
4479+ [with_dbmalloc=no])
4480+AC_MSG_RESULT($with_dbmalloc)
4481+if test $with_dbmalloc = yes ; then
4482+ AC_CHECK_LIB(dbmalloc,debug_malloc)
4483+fi
4484+])dnl
4485+dnl ---------------------------------------------------------------------------
4486+dnl CF_WITH_DMALLOC version: 2 updated: 2002/12/29 21:11:45
4487+dnl ---------------
4488+dnl Configure-option for dmalloc
4489+AC_DEFUN([CF_WITH_DMALLOC],[
4490+AC_MSG_CHECKING(if you want to link with dmalloc for testing)
4491+AC_ARG_WITH(dmalloc,
4492+ [ --with-dmalloc test: use Gray Watson's dmalloc library],
4493+ [with_dmalloc=$withval],
4494+ [with_dmalloc=no])
4495+AC_MSG_RESULT($with_dmalloc)
4496+if test $with_dmalloc = yes ; then
4497+ AC_CHECK_LIB(dmalloc,dmalloc_debug)
4498+fi
4499+])dnl
4500+dnl ---------------------------------------------------------------------------
4501+dnl CF_WITH_LIBTOOL version: 9 updated: 2004/01/16 14:55:37
4502+dnl ---------------
4503+dnl Provide a configure option to incorporate libtool. Define several useful
4504+dnl symbols for the makefile rules.
4505+dnl
4506+dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses
4507+dnl macros from libtool.m4 which is in the aclocal directory of automake.
4508+dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro.
4509+dnl But that still does not work properly since the macro is expanded outside
4510+dnl the CF_WITH_LIBTOOL macro:
4511+dnl
4512+dnl #!/bin/sh
4513+dnl ACLOCAL=`aclocal --print-ac-dir`
4514+dnl if test -z "$ACLOCAL" ; then
4515+dnl echo cannot find aclocal directory
4516+dnl exit 1
4517+dnl elif test ! -f $ACLOCAL/libtool.m4 ; then
4518+dnl echo cannot find libtool.m4 file
4519+dnl exit 1
4520+dnl fi
4521+dnl
4522+dnl LOCAL=aclocal.m4
4523+dnl ORIG=aclocal.m4.orig
4524+dnl
4525+dnl trap "mv $ORIG $LOCAL" 0 1 2 5 15
4526+dnl rm -f $ORIG
4527+dnl mv $LOCAL $ORIG
4528+dnl
4529+dnl # sed the LIBTOOL= assignment to omit the current directory?
4530+dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
4531+dnl cat $ORIG >>$LOCAL
4532+dnl
4533+dnl autoconf-257 $*
4534+dnl
4535+AC_DEFUN([CF_WITH_LIBTOOL],
4536+[
4537+ifdef([AC_PROG_LIBTOOL],,[
4538+LIBTOOL=
4539+])
4540+# common library maintenance symbols that are convenient for libtool scripts:
4541+LIB_CREATE='$(AR) -cr'
4542+LIB_OBJECT='$(OBJECTS)'
4543+LIB_SUFFIX=.a
4544+LIB_PREP="$RANLIB"
4545+
4546+# symbols used to prop libtool up to enable it to determine what it should be
4547+# doing:
4548+LIB_CLEAN=
4549+LIB_COMPILE=
4550+LIB_LINK=
4551+LIB_INSTALL=
4552+LIB_UNINSTALL=
4553+
4554+AC_MSG_CHECKING(if you want to build libraries with libtool)
4555+AC_ARG_WITH(libtool,
4556+ [ --with-libtool generate libraries with libtool],
4557+ [with_libtool=$withval],
4558+ [with_libtool=no])
4559+AC_MSG_RESULT($with_libtool)
4560+if test "$with_libtool" != "no"; then
4561+ifdef([AC_PROG_LIBTOOL],[
4562+ # missing_content_AC_PROG_LIBTOOL{{
4563+ AC_PROG_LIBTOOL
4564+ # missing_content_AC_PROG_LIBTOOL}}
4565+],[
4566+ if test "$with_libtool" != "yes" ; then
4567+ CF_PATH_SYNTAX(with_libtool)
4568+ LIBTOOL=$with_libtool
4569+ else
4570+ AC_PATH_PROG(LIBTOOL,libtool)
4571+ fi
4572+ if test -z "$LIBTOOL" ; then
4573+ AC_MSG_ERROR(Cannot find libtool)
4574+ fi
4575+])dnl
4576+ LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o'
4577+ LIB_OBJECT='$(OBJECTS:.o=.lo)'
4578+ LIB_SUFFIX=.la
4579+ LIB_CLEAN='$(LIBTOOL) --mode=clean'
4580+ LIB_COMPILE='$(LIBTOOL) --mode=compile'
4581+ LIB_LINK='$(LIBTOOL) --mode=link'
4582+ LIB_INSTALL='$(LIBTOOL) --mode=install'
4583+ LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
4584+ LIB_PREP=:
4585+
4586+ # Show the version of libtool
4587+ AC_MSG_CHECKING(version of libtool)
4588+
4589+ # Save the version in a cache variable - this is not entirely a good
4590+ # thing, but the version string from libtool is very ugly, and for
4591+ # bug reports it might be useful to have the original string.
4592+ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
4593+ AC_MSG_RESULT($cf_cv_libtool_version)
4594+ if test -z "$cf_cv_libtool_version" ; then
4595+ AC_MSG_ERROR(This is not libtool)
4596+ fi
4597+
4598+ # special hack to add --tag option for C++ compiler
4599+ case $cf_cv_libtool_version in
4600+ 1.[[5-9]]*|[[2-9]]*)
4601+ LIBTOOL_CXX="$LIBTOOL --tag=CXX"
4602+ ;;
4603+ *)
4604+ LIBTOOL_CXX="$LIBTOOL"
4605+ ;;
4606+ esac
4607+else
4608+ LIBTOOL=""
4609+ LIBTOOL_CXX=""
4610+fi
4611+
4612+test -z "$LIBTOOL" && ECHO_LT=
4613+
4614+AC_SUBST(LIBTOOL)
4615+AC_SUBST(LIBTOOL_CXX)
4616+
4617+AC_SUBST(LIB_CREATE)
4618+AC_SUBST(LIB_OBJECT)
4619+AC_SUBST(LIB_SUFFIX)
4620+AC_SUBST(LIB_PREP)
4621+
4622+AC_SUBST(LIB_CLEAN)
4623+AC_SUBST(LIB_COMPILE)
4624+AC_SUBST(LIB_LINK)
4625+AC_SUBST(LIB_INSTALL)
4626+AC_SUBST(LIB_UNINSTALL)
4627+
4628+])dnl
4629+dnl ---------------------------------------------------------------------------
4630+dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17
4631+dnl ------------
4632+dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
4633+dnl defaulting to yes/no.
4634+dnl
4635+dnl $1 = option name
4636+dnl $2 = help-text
4637+dnl $3 = environment variable to set
4638+dnl $4 = default value, shown in the help-message, must be a constant
4639+dnl $5 = default value, if it's an expression & cannot be in the help-message
4640+dnl
4641+AC_DEFUN([CF_WITH_PATH],
4642+[AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
4643+ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl
4644+CF_PATH_SYNTAX(withval)
4645+eval $3="$withval"
4646+AC_SUBST($3)dnl
4647+])dnl
4648+dnl ---------------------------------------------------------------------------
4649+dnl CF_WITH_PATHLIST version: 5 updated: 2001/12/10 01:28:30
4650+dnl ----------------
4651+dnl Process an option specifying a list of colon-separated paths.
4652+dnl
4653+dnl $1 = option name
4654+dnl $2 = help-text
4655+dnl $3 = environment variable to set
4656+dnl $4 = default value, shown in the help-message, must be a constant
4657+dnl $5 = default value, if it's an expression & cannot be in the help-message
4658+dnl $6 = flag to tell if we want to define or substitute
4659+dnl
4660+AC_DEFUN([CF_WITH_PATHLIST],[
4661+AC_REQUIRE([CF_PATHSEP])
4662+AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
4663+ifelse($4,,[withval=${$3}],[withval=${$3-ifelse($5,,$4,$5)}]))dnl
4664+
4665+IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${PATHSEP}"
4666+cf_dst_path=
4667+for cf_src_path in $withval
4668+do
4669+ CF_PATH_SYNTAX(cf_src_path)
4670+ test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
4671+ cf_dst_path="${cf_dst_path}${cf_src_path}"
4672+done
4673+IFS="$ac_save_ifs"
4674+
4675+ifelse($6,define,[
4676+# Strip single quotes from the value, e.g., when it was supplied as a literal
4677+# for $4 or $5.
4678+case $cf_dst_path in #(vi
4679+\'*)
4680+ cf_dst_path=`echo $cf_dst_path |sed -e s/\'// -e s/\'\$//`
4681+ ;;
4682+esac
4683+cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
4684+])
4685+
4686+eval '$3="$cf_dst_path"'
4687+AC_SUBST($3)dnl
4688+
4689+])dnl
4690+dnl ---------------------------------------------------------------------------
4691+dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49
4692+dnl -------------------
4693+dnl Allow library's release-version to be overridden. Generally this happens when a
4694+dnl packager has incremented the release-version past that used in the original package,
4695+dnl and wishes to keep doing this.
4696+dnl
4697+dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR
4698+dnl and {package}_MINOR symbols
4699+dnl symbol.
4700+AC_DEFUN([CF_WITH_REL_VERSION],[
4701+test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
4702+AC_ARG_WITH(rel-version,
4703+[ --with-rel-version=XXX override derived release version],
4704+[AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval)
4705+ cf_cv_rel_version=$withval])
4706+ifelse($1,,[
4707+ CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version)
4708+],[
4709+ $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'`
4710+ $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'`
4711+ CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version)
4712+ CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version)
4713+])
4714+])dnl
4715+dnl ---------------------------------------------------------------------------
4716+dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
4717+dnl ----------------
4718+dnl If we can compile with sysmouse, make it available unless it is not wanted.
4719+AC_DEFUN([CF_WITH_SYSMOUSE],[
4720+# not everyone has "test -c"
4721+if test -c /dev/sysmouse 2>/dev/null ; then
4722+AC_MSG_CHECKING(if you want to use sysmouse)
4723+AC_ARG_WITH(sysmouse,
4724+ [ --with-sysmouse use sysmouse (FreeBSD console)],
4725+ [cf_with_sysmouse=$withval],
4726+ [cf_with_sysmouse=maybe])
4727+ if test "$cf_with_sysmouse" != no ; then
4728+ AC_TRY_COMPILE([
4729+#include <osreldate.h>
4730+#if (__FreeBSD_version >= 400017)
4731+#include <sys/consio.h>
4732+#include <sys/fbio.h>
4733+#else
4734+#include <machine/console.h>
4735+#endif
4736+],[
4737+ struct mouse_info the_mouse;
4738+ ioctl(0, CONS_MOUSECTL, &the_mouse);
4739+],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
4740+ fi
4741+AC_MSG_RESULT($cf_with_sysmouse)
4742+test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
4743+fi
4744+])dnl
4745+dnl ---------------------------------------------------------------------------
4746+dnl CF_XOPEN_SOURCE version: 11 updated: 2004/01/26 20:58:41
4747+dnl ---------------
4748+dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
4749+dnl or adapt to the vendor's definitions to get equivalent functionality.
4750+AC_DEFUN([CF_XOPEN_SOURCE],[
4751+case $host_os in #(vi
4752+freebsd*) #(vi
4753+ CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600"
4754+ ;;
4755+hpux*) #(vi
4756+ CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
4757+ ;;
4758+irix6.*) #(vi
4759+ CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
4760+ ;;
4761+linux*) #(vi
4762+ CF_GNU_SOURCE
4763+ ;;
4764+mirbsd*) #(vi
4765+ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
4766+ ;;
4767+netbsd*) #(vi
4768+ # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
4769+ ;;
4770+openbsd*) #(vi
4771+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
4772+ ;;
4773+osf[[45]]*) #(vi
4774+ CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE"
4775+ ;;
4776+sco*) #(vi
4777+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
4778+ ;;
4779+solaris*) #(vi
4780+ CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__"
4781+ ;;
4782+*)
4783+ AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
4784+ AC_TRY_COMPILE([#include <sys/types.h>],[
4785+#ifndef _XOPEN_SOURCE
4786+make an error
4787+#endif],
4788+ [cf_cv_xopen_source=no],
4789+ [cf_save="$CPPFLAGS"
4790+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
4791+ AC_TRY_COMPILE([#include <sys/types.h>],[
4792+#ifdef _XOPEN_SOURCE
4793+make an error
4794+#endif],
4795+ [cf_cv_xopen_source=no],
4796+ [cf_cv_xopen_source=yes])
4797+ CPPFLAGS="$cf_save"
4798+ ])
4799+])
4800+test "$cf_cv_xopen_source" = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
4801+
4802+ # FreeBSD 5.x headers demand this...
4803+ AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_xopen_source,[
4804+ AC_TRY_COMPILE([#include <sys/types.h>],[
4805+#ifndef _POSIX_C_SOURCE
4806+make an error
4807+#endif],
4808+ [cf_cv_xopen_source=no],
4809+ [cf_save="$CPPFLAGS"
4810+ CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE"
4811+ AC_TRY_COMPILE([#include <sys/types.h>],[
4812+#ifdef _POSIX_C_SOURCE
4813+make an error
4814+#endif],
4815+ [cf_cv_xopen_source=no],
4816+ [cf_cv_xopen_source=yes])
4817+ CPPFLAGS="$cf_save"
4818+ ])
4819+])
4820+test "$cf_cv_xopen_source" = yes && CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE"
4821+ ;;
4822+esac
4823+])
4824--- /dev/null
4825+++ ncurses-5.4/m4/templates.m4
4826@@ -0,0 +1,78 @@
4827+AH_TEMPLATE([BROKEN_LINKER], [too lazy to enter descriptions])
4828+AH_TEMPLATE([BSD_TPUTS], [too lazy to enter descriptions])
4829+AH_TEMPLATE([CC_HAS_INLINE_FUNCS], [too lazy to enter descriptions])
4830+AH_TEMPLATE([CC_HAS_PROTOS], [too lazy to enter descriptions])
4831+AH_TEMPLATE([CPP_HAS_PARAM_INIT], [too lazy to enter descriptions])
4832+AH_TEMPLATE([CPP_HAS_VSCAN_FUNC], [too lazy to enter descriptions])
4833+AH_TEMPLATE([HAVE_BIG_CORE], [too lazy to enter descriptions])
4834+AH_TEMPLATE([HAVE_BSD_CGETENT], [too lazy to enter descriptions])
4835+AH_TEMPLATE([HAVE_BUILTIN_H], [too lazy to enter descriptions])
4836+AH_TEMPLATE([HAVE_CURSES_VERSION], [too lazy to enter descriptions])
4837+AH_TEMPLATE([HAVE_GETTIMEOFDAY], [too lazy to enter descriptions])
4838+AH_TEMPLATE([HAVE_GPP_BUILTIN_H], [too lazy to enter descriptions])
4839+AH_TEMPLATE([HAVE_GXX_BUILTIN_H], [too lazy to enter descriptions])
4840+AH_TEMPLATE([HAVE_HAS_KEY], [too lazy to enter descriptions])
4841+AH_TEMPLATE([HAVE_ISASCII], [too lazy to enter descriptions])
4842+AH_TEMPLATE([HAVE_LIBGPM], [too lazy to enter descriptions])
4843+AH_TEMPLATE([HAVE_LIBUTF8_H], [too lazy to enter descriptions])
4844+AH_TEMPLATE([HAVE_MKSTEMP], [too lazy to enter descriptions])
4845+AH_TEMPLATE([HAVE_NC_ALLOC_H], [too lazy to enter descriptions])
4846+AH_TEMPLATE([HAVE_REGEXPR_H_FUNCS], [too lazy to enter descriptions])
4847+AH_TEMPLATE([HAVE_REGEXP_H_FUNCS], [too lazy to enter descriptions])
4848+AH_TEMPLATE([HAVE_REGEX_H_FUNCS], [too lazy to enter descriptions])
4849+AH_TEMPLATE([HAVE_RESIZETERM], [too lazy to enter descriptions])
4850+AH_TEMPLATE([HAVE_RESIZE_TERM], [too lazy to enter descriptions])
4851+AH_TEMPLATE([HAVE_SIZECHANGE], [too lazy to enter descriptions])
4852+AH_TEMPLATE([HAVE_SLK_COLOR], [too lazy to enter descriptions])
4853+AH_TEMPLATE([HAVE_SYS_TIME_SELECT], [too lazy to enter descriptions])
4854+AH_TEMPLATE([HAVE_TCGETATTR], [too lazy to enter descriptions])
4855+AH_TEMPLATE([HAVE_TYPE_SIGACTION], [too lazy to enter descriptions])
4856+AH_TEMPLATE([HAVE_USE_DEFAULT_COLORS], [too lazy to enter descriptions])
4857+AH_TEMPLATE([HAVE_VFSCANF], [too lazy to enter descriptions])
4858+AH_TEMPLATE([HAVE_VSSCANF], [too lazy to enter descriptions])
4859+AH_TEMPLATE([HAVE_WORKING_POLL], [too lazy to enter descriptions])
4860+AH_TEMPLATE([HAVE_WRESIZE], [too lazy to enter descriptions])
4861+AH_TEMPLATE([HAVE__DOSCAN], [too lazy to enter descriptions])
4862+AH_TEMPLATE([MIXEDCASE_FILENAMES], [too lazy to enter descriptions])
4863+AH_TEMPLATE([NCURSES_EXPANDED], [too lazy to enter descriptions])
4864+AH_TEMPLATE([NCURSES_EXT_FUNCS], [too lazy to enter descriptions])
4865+AH_TEMPLATE([NCURSES_NOMACROS], [too lazy to enter descriptions])
4866+AH_TEMPLATE([NCURSES_NO_PADDING], [too lazy to enter descriptions])
4867+AH_TEMPLATE([NCURSES_PATHSEP], [too lazy to enter descriptions])
4868+AH_TEMPLATE([NCURSES_VERSION_STRING], [too lazy to enter descriptions])
4869+AH_TEMPLATE([NDEBUG], [too lazy to enter descriptions])
4870+AH_TEMPLATE([NEED_WCHAR_H], [too lazy to enter descriptions])
4871+AH_TEMPLATE([NO_LEAKS], [too lazy to enter descriptions])
4872+AH_TEMPLATE([PROG_EXT], [too lazy to enter descriptions])
4873+AH_TEMPLATE([PURE_TERMINFO], [too lazy to enter descriptions])
4874+AH_TEMPLATE([SVR4_ACTION], [too lazy to enter descriptions])
4875+AH_TEMPLATE([SVR4_TERMIO], [too lazy to enter descriptions])
4876+AH_TEMPLATE([SYSTEM_NAME], [too lazy to enter descriptions])
4877+AH_TEMPLATE([TERMINFO], [too lazy to enter descriptions])
4878+AH_TEMPLATE([TERMINFO_DIRS], [too lazy to enter descriptions])
4879+AH_TEMPLATE([TERMPATH], [too lazy to enter descriptions])
4880+AH_TEMPLATE([TYPEOF_CHTYPE], [too lazy to enter descriptions])
4881+AH_TEMPLATE([USE_ASSUMED_COLOR], [too lazy to enter descriptions])
4882+AH_TEMPLATE([USE_COLORFGBG], [too lazy to enter descriptions])
4883+AH_TEMPLATE([USE_DATABASE], [too lazy to enter descriptions])
4884+AH_TEMPLATE([USE_GETCAP], [too lazy to enter descriptions])
4885+AH_TEMPLATE([USE_GETCAP_CACHE], [too lazy to enter descriptions])
4886+AH_TEMPLATE([USE_HARD_TABS], [too lazy to enter descriptions])
4887+AH_TEMPLATE([USE_HASHMAP], [too lazy to enter descriptions])
4888+AH_TEMPLATE([USE_HOME_TERMINFO], [too lazy to enter descriptions])
4889+AH_TEMPLATE([USE_LINKS], [too lazy to enter descriptions])
4890+AH_TEMPLATE([USE_MY_MEMMOVE], [too lazy to enter descriptions])
4891+AH_TEMPLATE([USE_OK_BCOPY], [too lazy to enter descriptions])
4892+AH_TEMPLATE([USE_RCS_IDS], [too lazy to enter descriptions])
4893+AH_TEMPLATE([USE_ROOT_ENVIRON], [too lazy to enter descriptions])
4894+AH_TEMPLATE([USE_SAFE_SPRINTF], [too lazy to enter descriptions])
4895+AH_TEMPLATE([USE_SCROLL_HINTS], [too lazy to enter descriptions])
4896+AH_TEMPLATE([USE_SIGWINCH], [too lazy to enter descriptions])
4897+AH_TEMPLATE([USE_STDIO_VSCAN], [too lazy to enter descriptions])
4898+AH_TEMPLATE([USE_STRSTREAM_VSCAN], [too lazy to enter descriptions])
4899+AH_TEMPLATE([USE_STRSTREAM_VSCAN_CAST], [too lazy to enter descriptions])
4900+AH_TEMPLATE([USE_SYMLINKS], [too lazy to enter descriptions])
4901+AH_TEMPLATE([USE_SYSMOUSE], [too lazy to enter descriptions])
4902+AH_TEMPLATE([USE_TERMCAP], [too lazy to enter descriptions])
4903+AH_TEMPLATE([USE_WIDEC_SUPPORT], [too lazy to enter descriptions])
4904+AH_TEMPLATE([USE_XMC_SUPPORT], [too lazy to enter descriptions])
diff --git a/meta/packages/ncurses/ncurses_5.4.bb b/meta/packages/ncurses/ncurses_5.4.bb
new file mode 100644
index 0000000000..5b03eaaeed
--- /dev/null
+++ b/meta/packages/ncurses/ncurses_5.4.bb
@@ -0,0 +1,7 @@
1PR = "r8"
2
3SRC_URI = "${GNU_MIRROR}/ncurses/ncurses-${PV}.tar.gz \
4 file://visibility.patch;patch=1"
5S = "${WORKDIR}/ncurses-${PV}"
6
7include ncurses.inc